https://github.com/diversen/chat-client
Use the simple `chat-client` to chat with a local or remote LLM.
https://github.com/diversen/chat-client
chat-application llm-client ollama-client vllm-client
Last synced: about 1 month ago
JSON representation
Use the simple `chat-client` to chat with a local or remote LLM.
- Host: GitHub
- URL: https://github.com/diversen/chat-client
- Owner: diversen
- License: mit
- Created: 2025-04-16T19:14:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-06-10T18:42:54.000Z (about 1 month ago)
- Last Synced: 2026-06-10T20:18:02.979Z (about 1 month ago)
- Topics: chat-application, llm-client, ollama-client, vllm-client
- Language: Python
- Homepage:
- Size: 1.65 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# chat-client
`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.
[](docs/screenshot.png)
Demo: (`demo` / `demo`)
## Features
- 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](docs/mcp.md) for MCP notes.
## Install
Install the latest version:
uv tool install git+https://github.com/diversen/chat-client@v2.3.77
Initialize config and data:
```bash
chat-client
```
This 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:
```bash
chat-client server-dev
```
Open .
## Tests
Run everything:
```bash
./run-all-tests.sh
```
Backend tests:
```bash
python tests/run_all_tests.py
```
JavaScript helper tests:
```bash
npm run test:js
```
E2E tests:
```bash
npm install
npx playwright install
npm run e2e
```
See [tests/README.md](tests/README.md) for test notes.
## Python Tool
The built-in Python tool runs in Docker. Build the image before using it:
```bash
sandbox/build_python_tool.sh
```
You can configure its timeout in `data/config.py` with `PYTHON_TOOL_TIMEOUT_SECONDS`.
## Upgrade
uv tool install git+https://github.com/diversen/chat-client@v2.3.77 --force
MIT © [Dennis Iversen](https://github.com/diversen)