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.
Docs:
- Getting Started
- Overview
- Services & Models
- Tool Calling
- Streaming
- Memory
- Security
- Storage
- UI & UX
- Docker
- Troubleshooting
- 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, file search (OpenAI), direct file attachments (xAI), and custom MCP servers (Tool Calling)
- Streaming & reasoning — dedicated reasoning panel, rich tool timelines, inline code previews, automatic image capture (Streaming)
- 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)
git clone https://github.com/h1ddenpr0cess20/Wordmark.git
cd WordmarkOpen index.html directly, or serve over HTTPS for APIs, TTS, and geolocation (see Getting Started).
- In Settings → API Keys, add your OpenAI/xAI keys. Keys and URLs are stored locally.
- Choose a provider and model in Settings → Model.
- Type a message and send.
- 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
Note: Chrome may prompt you to allow local network access. This is only used to connect to local LM Studio/Ollama servers.
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:latestOr build from source:
docker build -t wordmark:latest .
docker run --rm -p 8080:80 wordmark:latest- Architecture — high-level structure
- Security & Storage — data handling
- UI & UX — layout and design
- Development & CONTRIBUTING — developer guide
Common tasks:
- Add tools — extend the catalog in
src/js/services/api/toolManager.jsand implement handlers (seesrc/js/services/weather.js) — Tool Calling - Adjust models/providers — edit
src/config/config.js— Services & Models - Themes and styling —
src/css/themes/**,src/css/components/**
- 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
- Privacy/Security — client-side only; no tracking (Security)
- Troubleshooting — common issues and tips (Troubleshooting)
- Not a Companion — philosophy and boundaries (Not a Companion)
MIT — see LICENSE