An open API service indexing awesome lists of open source software.

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.

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.

[![chat-client](docs/screenshot.png)](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)