开源AI助手平台

Wordmark是一个客户端AI聊天平台,支持OpenAI/xAI API及本地LM Studio或Ollama服务器,提供工具调用、TTS、主题和完全本地存储功能。

  • by h1ddenpr0cess20
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 h1ddenpr0cess20/wordmark

使用说明

Wordmark

An open source AI assistant platform

Overview

Wordmark is a client-side AI chat for OpenAI/xAI Responses APIs and local LM Studio or Ollama servers. It supports tool/function calling, TTS, themes, and fully local storage — no backend required.

Screenshots

Desktop chat with streaming replies, a collapsible reasoning panel, and inline code — Aurora theme, running locally on google/gemma-4-12b-qat via LM Studio.

Configure everything from the settings panel — provider and model, tool calling, personality, and themes:

Model Tools Theme

Fully responsive on mobile, with a range of built-in color schemes:

Nebula Ember Forest

Docs:

Features

  • Providers — OpenAI Responses (hosted), xAI Grok (Responses-compatible), and local LM Studio or Ollama servers (Services & Models)
  • Tool calling — built-in weather, provider web + X search, Code Interpreter, image generation, optional file search over vector stores (OpenAI), and custom MCP servers (Tool Calling)
  • Documents — attach files or folders in any text/code format plus PDF, Office, OpenDocument, and ebooks; hosted providers take the file itself, local providers extract and search it in-browser with embeddings so nothing leaves your machine (Documents & Attachments)
  • Skills — uploadable SKILL.md instruction packages the assistant loads on demand to specialize for a task; ships with example skills (Skills)
  • Streaming & reasoning — dedicated reasoning panel, rich tool timelines, inline code previews, automatic image capture (Streaming)
  • Party mode — autonomous multi-character group chat over your chosen provider; build a cast and scenario, then interject any time without pausing (Party Mode)
  • Prompt queuing — type while a response is still streaming and the message reaches the assistant mid-answer: the reply in flight is interrupted and resumed with your message added, keeping every word already written (UI and UX)
  • Autonomous work — opt in and a message becomes a goal: the assistant queues its own next steps and keeps taking turns until the work is done, inside a turn budget you set, with pause/resume/stop controls (Autonomous Work)
  • TTS — OpenAI (13 voices) and xAI (5 voices) providers, optional autoplay, per-message controls, audio cached locally
  • UX — themes, responsive layout, syntax highlighting, markdown, image gallery (UI & UX)
  • Local-only storage — conversations, images, and audio via IndexedDB; keys stay in the browser (Storage)
  • Memory — local, FIFO-limited memories appended to the system prompt (Memory)

Quick Start

git clone https://github.com/h1ddenpr0cess20/Wordmark.git
cd Wordmark
npm install
npm run dev          # dev server on http://localhost:3000
# npm run dev:https  # HTTPS — needed for some APIs, TTS, and geolocation

Wordmark builds with Vite. Use npm run dev for development or npm run build to produce a static bundle in dist/ (serve it with npm run preview). Opening index.html straight from the filesystem no longer works — the app must be served by the dev server or built first. See Getting Started.

  1. In Settings → API Keys, add your OpenAI/xAI keys. Keys and URLs are stored locally.
  2. Choose a provider and model in Settings → Model.
  3. Type a message and send.

Local Models

  • LM Studio — run the server (default http://localhost:1234), set the base URL in Settings → API Keys, then select LM Studio in Settings → Model (LM Studio guide)
  • Ollama — run the server (default http://localhost:11434), set the base URL in Settings → API Keys, then select Ollama in Settings → Model
  • Both take an optional API key in the same settings block, for a server started behind one; leave it blank and requests stay unauthenticated

Note: Chrome may prompt you to allow local network access. This is only used to connect to local LM Studio/Ollama servers.

HTTPS & Docker

HTTPS is recommended for full functionality — quick steps in Getting Started. Full Docker/Compose instructions and SSL options in the Docker guide.

# Pull from Docker Hub and run
docker run --rm -p 8080:80 h1ddenpr0cess20/wordmark:latest

Or build from source:

docker build -t wordmark:latest .
docker run --rm -p 8080:80 wordmark:latest

Architecture & Development

Common tasks:

  • Add tools — register tool metadata in src/ts/services/api/staticTools.ts, implement handlers (see src/ts/services/weather.ts), and tune provider quirks in src/ts/services/providers.ts — Tool Calling
  • Adjust models/providers — edit src/config/config.ts — Services & Models
  • Themes and styling — src/css/themes/**, src/css/components/**

Usage

  • Enable Tools in Settings to allow function calls for weather, web search, file attachments, and any MCP servers you connect (Tool Calling)
  • Manage conversations, images, and audio locally via History and Gallery
  • Use TTS for spoken responses — configure provider and voice in Settings → TTS

Policies & Notes

License

MIT — see LICENSE


© 2025 Dustin Whyte | Released under the MIT License