About this project
Torvian Chatbot is a self-hosted AI workspace aimed at users who want control over their data, model providers and tool execution. You run the server yourself, connect your own LLM setup, and keep humans in the loop for agentic actions.
Key capabilities described in the README:
- Bring your own LLM providers: OpenAI-compatible APIs and local Ollama models.
- Stream model responses in real time, with concurrent responses from different chat sessions.
- Organize long conversations with threaded/branched message flows.
- Tool execution requires approval by default, with optional per-tool auto-approve or auto-deny preferences.
- Restart agentic conversations from any previous message, restoring context and tool state.
- Multi-user access with authentication plus role/permission-based authorization.
- Multi-platform clients for desktop, web (WASM) and Android, all connecting to the same server.
- Tools can run 24/7 on any machine (local, remote, VM), independent of where clients run.
Architecture: a Ktor server provides the core API and orchestration layer for authentication/authorization, chat sessions, message processing, LLM integration, tool lifecycle and persistence (SQLite via Exposed ORM). Compose Multiplatform clients cover Desktop, Web (WASM) and Android. An optional standalone worker process handles MCP tool execution, useful for workspace isolation and always-on availability; the server communicates with workers over WebSocket using a custom JSON protocol.
Project status: active development. Server plus Desktop is described as the most complete and stable combination; Web (WASM) is stable with some limitations; Android is early-stage with known UX limitations.
Getting started: pre-built packages are published on the Releases page (server, worker, desktop client for Windows/Linux, and a static web client). The server can be run via start scripts or a Docker image from ghcr.io; a Docker quick-start command is provided. Default login is admin/admin123 with a forced password change on first login. The worker is required for MCP tool execution, needs an active user account to authenticate, and generates an SSL certificate during setup; trusted signer credentials can be registered via CLI flag or environment variables. Docker is suggested for the worker because it provides better isolation for tool execution.
Building from source requires Git, JDK 21+ and the included Gradle wrapper; separate Gradle tasks build the server, desktop app, web app and worker. Documentation includes LLM configuration, MCP server configuration, trusted signers, and VPS/Docker deployment guides. Tech stack: Kotlin, Compose Multiplatform with Material 3, Ktor, SQLite with Exposed, Koin, Arrow, kotlinx.serialization and Gradle. Licensed under MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.