chat-client is a small Starlette web app for chatting with OpenAI-compatible LLM backends such as Ollama, OpenAI, Gemini-compatible endpoints, and similar servers.
Demo: https://chat.10kilobyte.com (demo / demo)
- Server-rendered UI with SQLite storage
- User accounts and chat history
- Prompt management
- Image uploads for vision-capable models
- Attachment uploading for tool usage
- Tool calling through local tools
- Vision, Thinking and tool usage.
See docs/mcp.md for MCP notes.
Install the latest version:
uv tool install git+https://github.com/diversen/chat-client@v2.3.76
Initialize config and data:
chat-clientThis creates data/config.py and the database if they do not already exist. It also prompt you to create the first user.
Edit data/config.py to configure your providers and models. It defaults to all models running on a local ollama server. Then start the app:
chat-client server-devOpen http://localhost:1972.
Run everything:
./run-all-tests.shBackend tests:
python tests/run_all_tests.pyJavaScript helper tests:
npm run test:jsE2E tests:
npm install
npx playwright install
npm run e2eSee tests/README.md for test notes.
The built-in Python tool runs in Docker. Build the image before using it:
sandbox/build_python_tool.shYou can configure its timeout in data/config.py with PYTHON_TOOL_TIMEOUT_SECONDS.
uv tool install git+https://github.com/diversen/chat-client@v2.3.76 --force
MIT © Dennis Iversen
