Kai is a fast, cross-platform terminal built on Tauri 2 + Rust and React 19. Terminal, code editor, file explorer, web preview, and AI agent — in one app, lightweight, zero telemetry.
- Features · Agent Personas · Install · Quick Start · Keyboard Shortcuts · Configuration Guides · Build from Source · Tech Stack
- xterm.js + WebGL rendering, multi-tab with split panes
- Shell integration for bash, zsh, PowerShell, and cmd
- Inline search, smart error detection, autocomplete
- Escape-key streaming interrupt, and a toroidal Conway's Game of Life thinking spinner
- CodeMirror 6 with 44 languages and find & replace
- Side-by-side AI edit diffs with per-hunk approve/reject
- 9 editor themes, Vim mode (
:w/:qEx commands, visual/insert/normal) - Image & PDF preview, plus Open in Live Preview — right-click an HTML file to serve and preview it in-app
- Bring your own key — 12 providers: OpenAI, Anthropic, Google, Groq, xAI, Cerebras, DeepSeek, Mistral, OpenRouter, and direct Z.ai (GLM), plus any OpenAI-compatible endpoint
- Local models via LM Studio or Ollama — vision models receive images automatically (runtime-name detection + a manual Vision override in Settings)
- Paste screenshots straight into chat with
Ctrl+V; attach PDF/DOCX via the + button (text extracted, works on every model) /compact— reset the context in place in the same chat when a session runs long; no new chat needed- Screen access —
look_at_screenshows your displays to the agent (multi-monitor aware, every capture needs your approval) - Universal file extraction — zip, audio, image, and video read locally as text
- Interactive todo toggling with auto-closing completion lists
- Per-model thinking control — a toggle on each reasoning model cycles effort off/low/medium/high
- Multi-step goals with automation, plan mode (queue edits for review as one diff), and sub-agents (explore / code-review / security / research)
- Conversation forking and merging — branch any message into a parallel thread, then merge it back or into another thread
- Generate directly from chat, with inline rendering, lightbox, and download
- Image: OpenAI GPT Image 2 · Google Nano Banana 2 · xAI Grok Imagine · ComfyUI
- Video: Kling 3.0 · Google Veo 3.1 · ByteDance Seedance 2.0 · ComfyUI
- Stage, commit, push, and review diffs from the source-control panel
- Manage branches (list, switch, create, delete) without leaving the panel — new branches publish with one click (
push -usets up tracking) - Open the GitHub/GitLab/Bitbucket pull-request page for the current branch, straight from the panel
- Resolve merge conflicts with conflict counts and per-file line locations, plus one-click "Ask KAI to resolve"
- Optional GPG commit signing (auto-sign or approval modes)
- MCP — connect external tool servers and install from the official registry, or hand the agent a setup URL:
mcp_add_serverregisters it so it shows up live in the MCP Servers UI - File explorer and built-in web preview (with one-tap Stop)
- REST API tester and 8 UI themes
- Voice input — OpenAI whisper-1 transcription with a no-key browser SpeechRecognition fallback
- PDF/DOCX reading, image OCR (tesseract), ZIP/JAR listing, and audio metadata
- Direct PDF export (
convert_to_pdf) from Markdown/Word - YouTube transcript summarization
Kai.mdproject memory, context summarization, and auto-approve modes — plus save/red persistent memory tools the agent can use mid-session- Skills & snippets
- Per-project sandbox (read-only or workspace-only) and a detached-copy workflow — work in an isolated copy, then merge or discard
KAI ships highly specialized built-in agent personas for different kinds of work. Switch between them in the chat pane, customize their prompts, and reset to factory defaults at any time.
- Coder 💻 — general-purpose development: resolves, refactors, and runs tests
- Architect 📐 — tradeoffs, scalability, and multi-option blueprints
- Code Reviewer 🔍 — logic, edge cases, race conditions, and performance cliffs
- Security 🛡️ — threat modeling, input validation, and secure crypto defaults
- Designer 🎨 — UI/UX critique, density, typography, spacing, and modern motion
- Researcher 🛰️ — web search, page browsing, and structured citations
- Assistant ✍️ — brainstorming, copyediting, summaries, and text tasks
Grab the latest installer from Releases — available for Windows (.exe), macOS (.dmg), and Linux (.deb / .rpm / .AppImage).
Auto-update is built in.
- Open Settings → Models
- Add an API key for any provider — or point to a local model
- Press
Ctrl+Ito open the AI agent
Keys are stored in the OS keychain. No account required.
Shortcuts use ⌘ on macOS and Ctrl on Windows/Linux.
| Action | Shortcut |
|---|---|
| Toggle AI agent | ⌘ I |
| Ask AI about selection | ⌘ L |
| Toggle voice input | ⌘ M |
| New tab · private terminal | ⌘ T · ⌘ R |
| New editor · preview tab | ⌘ E · ⌘ P |
| Close tab / pane | ⌘ W |
| Split pane right · down | ⌘ D · ⌘ ⇧ D |
| Next · previous pane | ⌘ ] · ⌘ [ |
| Search files | ⌘ ⇧ F |
| Find · find & replace | ⌘ F · ⌘ H |
| Toggle file explorer | ⌘ B |
| Toggle source panel | ⌘ G |
| Show shortcuts · settings | ⌘ K · ⌘ , |
| Zoom in · out · reset | ⌘ = · ⌘ - · ⌘ 0 |
KAI has full support for local, offline-only development. To use a local GGUF model:
- Open LM Studio and go to the Developer tab.
- Start the local HTTP server and note the base URL (usually
http://localhost:1234/v1). - In KAI, open Settings → Models and enter the base URL and active Model ID (e.g.
qwen3.3-coder-instruct). Click Save. - Select LM Studio (Local) in chat for fully private intelligence.
Extend your AI agent's capabilities with custom tools via the Model Context Protocol:
- Open the left sidebar and switch to the Extensions (puzzle icon) tab.
- Browse or search for official MCP servers (e.g.
Filesystem,PostgreSQL, orGitHub). - Click Install — KAI downloads and connects the server in the background, making its tools immediately available to the active agent.
Define custom guidelines, development standards, architectural context, and preferred workflows on a per-project basis. Create a file named Kai.md at the project root and KAI automatically injects its contents (up to 32KB) into the agent's instruction prompt on every message.
- Case sensitivity — the filename must be exactly
Kai.mdon case-sensitive filesystems (Linux). On Windows/macOS,KAI.md/kai.mdare also recognized. - Zero-write safe — KAI only reads this file; it never writes to it.
- What to include — tech stack, formatting guidelines, database schemas, directory mappings, or preferred test commands.
KAI's built-in AI agent is BYOK — Anthropic models selected in Settings → Models use your Anthropic API key and bill at standard API rates. If you have a Claude Pro/Max subscription and want to use it instead, run Anthropic's official Claude Code CLI in a KAI terminal pane. KAI is a full terminal, so the CLI behaves exactly as it would anywhere else and authenticates against your subscription.
- Install Claude Code —
npm install -g @anthropic-ai/claude-code(or the native installer) — then verify withclaude --version. cdinto your project, runclaude, and log in with your Claude account (Pro/Max) — not an API key. Switch later with/login, and confirm with/status.- Make sure
ANTHROPIC_API_KEYis not set in the shell — if it is, Claude Code may bill the API instead of your subscription. Check withecho $ANTHROPIC_API_KEY. - Give Claude Code its own terminal tab. KAI keeps background PTYs alive across tab switches, so the session keeps running while you work in the editor.
Why the terminal: per Anthropic's terms, Claude subscription auth is only for its official clients (Claude Code, claude.ai). Running the official CLI in a terminal is the supported way to use your subscription; KAI's own AI agent remains API-key based and unaffected.
# Prerequisites: Rust (stable), Node 20+, pnpm, Tauri v2 deps
pnpm install
pnpm tauri dev # development
pnpm tauri build # productionTauri 2 · Rust · React 19 · TypeScript · xterm.js · CodeMirror 6 · Vercel AI SDK · Tailwind v4 · shadcn/ui
Issues and PRs welcome.
