Skip to content

diversen/chat-client

Repository files navigation

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.

chat-client

Demo: https://chat.10kilobyte.com (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 for MCP notes.

Install

Install the latest version:

uv tool install git+https://github.com/diversen/chat-client@v2.3.76

Initialize config and data:

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:

chat-client server-dev

Open http://localhost:1972.

Tests

Run everything:

./run-all-tests.sh

Backend tests:

python tests/run_all_tests.py

JavaScript helper tests:

npm run test:js

E2E tests:

npm install
npx playwright install
npm run e2e

See tests/README.md for test notes.

Python Tool

The built-in Python tool runs in Docker. Build the image before using it:

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.76 --force

MIT © Dennis Iversen

About

Use the simple `chat-client` to chat with a local or remote LLM.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors