Skip to Content
Kai

Concepts

How the pieces of Kai fit together.

Instance

One Kai deployment. Its settings live only in the environment (there is no admin page): who may sign up, who may create workspaces, whether private network addresses or local MCP commands are allowed. See Configuration.

There is no instance administrator. The root user (KAI_ROOT_EMAIL) can always sign up and, if you choose, is the only one who can create workspaces. Everything else is decided per workspace.

Workspace

Where a team works. A person can belong to several and switch between them from the menu at the bottom of the sidebar. A workspace has:

  • Members with a role: owner (one per workspace), admin or member.
  • Keys (BYOK): the provider accounts it pays for, and the models switched on for each.
  • MCP servers: the tools it connects.
  • Agents: ready-made setups for chats.
  • Usage: token counts per day, member and model.

Nothing is shared between workspaces. Every row in the database carries its workspace, and Postgres row-level security keeps workspaces apart.

Conversation

A chat. It belongs to one person and is private to them, even from the workspace's owner. A conversation remembers its model, reasoning effort, agent and the tools turned on for it.

Messages form a tree: editing a message or regenerating a reply adds a branch, and arrows switch between them. When a conversation nears the model's context limit, Kai replaces the older part with a summary (compaction).

Model and key

A key (Kai calls it a connection) is one provider account: Anthropic or OpenAI, or a gateway that speaks one of their APIs. Each key has a slug, like anthropic, that conversations use to refer to it. A model is one of the key's models switched on for the workspace, like claude-opus-5-5.

Kai knows each model's context window, output limit, reasoning efforts and features from its library service, and falls back to sensible defaults for models it doesn't know.

Tools

Tools come from MCP servers the workspace adds. A person turns servers (or tool groups) on per conversation, and the model then sees their tools.

Each tool has a permission: ask first (the default), allow, or deny. When Kai asks, the person can allow the call once, for this chat, or always; remembered choices appear under Approvals.

Agent

An agent bundles what a chat starts with: instructions (with variables such as {{user.name}} and {{date}}), and optionally limits on the tools and models the chat may use. Every workspace has a default agent called Kai. Agents can be shared with the workspace or kept private.

Run

When you send a message, Kai starts a run on the server: it calls the model, runs tools, and calls the model again until the reply is done. Runs don't depend on your browser tab. Close it, reload, or open the chat on another device and the reply keeps streaming. A run pauses when it needs you (an approval, a sign-in, a form from a tool) and continues when you answer.

On this page