Self-hosted · Multi-client · Open source
The embeddable AI chat platform you run yourself.
Design a branded chat widget, ground it in your own documents, connect it to your own tools — then embed it on any site with one script tag. Multi-client, self-hosted, no lock-in.
Works with OpenAI · OpenRouter · Ollama · any OpenAI-compatible model
Everything in one platform
A complete chat stack, without the SaaS bill
From the widget your visitors see to the retrieval, tools and guardrails behind it — all managed from a single admin.
Widget Studio
Design a branded widget with a live preview, presets and contrast checks. What you see is what ships.
Knowledge base
Ground answers in your files, an API or a webhook — and cite the sources behind them.
MCP tools
Connect external tools over MCP with per-tool allowlists, OAuth and full call logging.
Any AI provider
OpenAI, OpenRouter, a self-hosted Ollama, or any OpenAI-compatible model. Keys stay encrypted.
Multi-client
Every client is isolated — its own data, domains, theme, limits and roles. One platform, many brands.
Safe by default
Prompt-injection guardrails, layered rate limits, SSRF-guarded calls and signed visitor identity.
Two ways to embed
A floating bubble, or built into the page
The same widget ships two ways — a launcher that pops open in the corner, or an inline block that sits in your content. One script tag, your choice.
A floating launcher, bottom corner
Knowledge base
Answers grounded in your own content
Upload PDFs, Word docs, Markdown and text — or connect a live API or a webhook you push to. Compent embeds it, retrieves the right passages per question, and shows the sources behind every answer.
- Files, API and webhook sources
- Per-client embeddings
- Cited sources in every reply
Conversations & stats
See exactly what your assistant said
Every conversation is saved and searchable, with per-client usage statistics and an activity log. Tool calls are logged right in the transcript, so you can tell how each answer was produced.
- Full transcripts per client
- Usage & token statistics
- Tool calls logged in-line
MCP tools
Give it the tools to actually do things
Connect Model Context Protocol servers over HTTP or SSE. You choose which tools the bot may call, per server — with OAuth, encrypted headers and a hard allowlist.
- Per-tool allowlist
- OAuth 2.1 + encrypted credentials
- Import from Claude Desktop / Codex
Appearance
Matched to the site it lives on
Tune colors, radius, copy and placement in the studio and watch a real widget preview update as you type. Light or dark, popup or inline — with live WCAG contrast checks so it always stays readable.
- Live preview of the real widget
- Light & dark, seven presets
- WCAG contrast checks
Retrieval-augmented answers
Feed it your knowledge, three ways
Every answer is grounded in content you control. Get data in however it lives today — uploaded documents, a live API, or events pushed from your own systems — and the platform keeps it searchable.
Files & folders
Upload PDFs, Word, Excel, PowerPoint, Markdown, text or JSON — one file or a whole folder tree at once.
- Thousands of files per batch
- Re-upload updates, never duplicates
- Email when processing finishes
REST API
Point it at any JSON API and it keeps itself in sync on a schedule — with pagination, field mapping and cleanup of removed items.
- Scheduled refresh
- Cursor, page & offset pagination
- Field mapping with a live test
Webhook push
Push content the moment it changes: your CMS or backend POSTs to a per-source URL and the knowledge base updates in seconds.
- Per-item create, update & delete
- Token-secured endpoint
- Plain text or JSON items
every document becomes clean text
split into ~1,000-character passages
with the model you choose, per client
vectors land in Qdrant for instant search
the bot cites the passages it used
Search runs on Qdrant, the open-source vector database bundled in the compose stack — retrieval stays in single-digit milliseconds whether a client has a hundred passages or a million. Tags link related content (an athlete's schedule to their results), role-based access can fence off parts of the knowledge base, and every answer shows the documents it drew on.
Self-hosted
Runs on your server, not ours
The whole platform is three containers: the app, MongoDB and the Qdrant vector index. No third-party SaaS, no per-seat pricing, and no conversations leaving infrastructure you control. Bring your own models and your own domain.
Put it behind your reverse proxy, point a domain at it, and invite your team. Documents and chunks live in MongoDB (the vector index rebuilds itself from it), so one backup covers everything.
Ready to put an assistant on your site?
Sign in to the admin to create your first client, or clone the repo and run it yourself.