![]()
A screen-level AI assistant for macOS and Windows: an agentic AI client, plus instant translation, screenshot OCR, and visual Q&A — all one hotkey away, all on your own API keys.
Download · Features · Hotkeys · Quick Start · 中文 · QQ Group: 1104450740
Kivio lives in your tray / menu bar and works at the level of your screen, not just inside its own window. Press a hotkey anywhere to translate what you typed, translate what you selected, translate what you see, or capture any region and ask AI about it. Open the AI client from the tray and you get a full agentic chat app: tool calls, sub-agents, Skills, MCP servers, a knowledge base, a Python sandbox, and side-by-side multi-model answers.
Design principles, as implemented in code:

A provider-agnostic agent runtime with a real tool loop, not a thin chat wrapper.
Ask many models at once. Fan one question out to multiple models and compare the answers in tabs or side-by-side columns. Each answer streams independently; one model failing never blocks the rest, and you choose which answer the conversation continues from.
Native tools (each individually toggleable, file/shell tools ask for per-conversation consent):
| Group | Tools |
|---|---|
| Web | web_search, web_fetch |
| Files | read (files, directories, images), grep, glob, write, edit |
| Shell | bash with tracked background jobs (bash_output, kill_background) |
| Python | run_python — offline Pyodide sandbox, bundled with numpy, pandas, matplotlib, pillow, micropip |
| Knowledge | knowledge_search with [n] citations |
| Memory | memory_read / memory_modify / memory_search long-term memory |
| Agent | agent (sub-agents), todo_write, ask_user, image generation |
Sub-agents. Built-in personas — general-purpose, researcher, coder, reviewer — each with its own tool allow-list; the model can dispatch several in parallel from a single message. You can add your own as markdown files.
Skills. Markdown-defined skills, activated mid-conversation. Bundled: pdf, docx, xlsx, diagram, doc-coauthoring, frontend-design, mcp-builder, skill-creator, himalaya (email). Import your own from folders or ZIPs.
MCP. Connect external Model Context Protocol servers over stdio or streamable HTTP, with persistent sessions, JSON import, and live connection status.
Knowledge base (RAG). Multi-library document retrieval: hybrid search (sqlite-vec vectors + FTS5 BM25, fused by Reciprocal Rank Fusion) with an optional reranker. Ingests txt / csv / markdown / html / docx / xlsx / pdf (text layer), plus images via OCR and web pages via URL import. Answers cite sources as clickable [n] markers.
Connectors. Obsidian (vault injection), Email (IMAP/SMTP via Himalaya), Notion, GitHub, Linear, Sentry, Atlassian, Composio — token or OAuth 2.1 + PKCE.
External CLI agents. Hand a conversation over to an installed terminal agent — Claude Code, codex, cursor, opencode, gemini, kimi, pi, or hermes — with detection, streaming, and session management built in.
Long conversations that keep working. Context compaction runs inside the loop: a cheap "microcompact" pass degrades old tool results first, and an LLM summary kicks in only when needed, with a visible compaction timeline in the UI.
And the rest: projects and sets for organizing conversations, full-text conversation search, file/image attachments, an assistant builder, plan/orchestrate mode with approval policies, agent todo lists, generated-file cards (~/Kivio/outputs/), and per-call token usage statistics.

One hotkey freezes the screen. Drag a region (or, on macOS, click a window), optionally draw red arrows to point at things, then ask. Answers stream in with reasoning shown in a collapsible thinking block, LaTeX rendered by KaTeX, and up to 20 capture+Q&A entries kept in history. Lens can also plan its own web searches (Tavily / Exa / Exa MCP / Ollama / Grok — Exa MCP works keyless at low quota) and show the sources it used. One click sends the screenshot — or the entire multi-turn exchange — into the AI client to continue.

Capture text on screen and work with it in place.

Prompts for each mode are editable ({lang} / {text} placeholders), card width is adjustable, and streaming can be toggled.
Screenshot translation can recognize text three ways, selectable in Settings:
generateContent — each a first-class adapter, so no feature is lost to a compatibility layer.
Settings live inside the AI client window: General, Translate, Screenshot, Lens, Chat, Memory, default-model routing, Kivio Code, external agents, MCP, Skills, Web Search, Connectors, Knowledge Base, Usage, Providers, and About. Highlights: a first-run wizard (provider → web search → hotkeys), settings export/import backup, theme color presets with dark mode, bilingual UI (中文/English), autostart, and a request debug panel that records recent provider calls in memory only — keys masked, copy-as-cURL.
The repo also ships kivio-code, a terminal coding agent (Rust CLI/TUI) built on the same runtime — also reachable as kivio code from the main binary, with its own sessions, MCP setup, and skill staging.
| Action | macOS | Windows |
|---|---|---|
| Quick translator | ⌘⌥T |
Ctrl+Alt+T |
| Screenshot translation | ⌘⇧A |
Ctrl+Shift+A |
| Selected-text translation | ⌘⇧T |
Ctrl+Shift+T |
| Replace translation | ⌘⇧R |
Ctrl+Shift+R |
| Lens capture & ask | ⌘⇧G |
Ctrl+Shift+G |
All hotkeys act as toggles and are remappable in Settings (with conflict detection). The tray menu has: Open AI Client · Show Translator · Settings · Quit.
.dmg · Windows: NSIS -setup.exe.bash
xattr -cr /Applications/Kivio.app
macOS will ask for Accessibility (hotkeys, selected-text capture, paste-back) and Screen Recording (capture) permissions. Screen capture uses ScreenCaptureKit. On Windows, launching manually opens the AI client.Kivio checks GitHub Releases for updates shortly after launch (can be disabled) and can download and install the update in-app.
run_command via PowerShell — shell commands run through PowerShell (pwsh → powershell) with correct quoting and UTF-8 output.Full history: GitHub Releases.
| Layer | Stack |
|---|---|
| Backend | Rust · Tauri v2 |
| Frontend | React 18 · TypeScript · Vite · TailwindCSS v4 |
| OCR | Apple Vision (Swift sidecar) · Windows.Media.Ocr · RapidOCR (ONNX) |
| Python sandbox | Pyodide, bundled offline |
npm install
npm run dev # full app: Rust backend + Vite UI (builds Swift sidecar on macOS)
npm run dev:ui # Vite UI only, no Rust compile
npm run lint # ESLint, zero warnings allowed
npm run typecheck # tsc --noEmit
npm test # Vitest frontend suite
cargo test --manifest-path src-tauri/Cargo.toml # Rust tests
Architecture notes: CLAUDE.md and docs/. Release flow (docs/RELEASE_PACKAGING.md): GitHub Actions builds the macOS Apple Silicon DMG on v* tags; the Windows NSIS .exe is built locally and uploaded to the same release.
GPL-3.0-or-later © ZM. See LICENSE.
macOS / Windows 屏幕级 AI 助手:一个 Agentic AI 客户端,加上即时翻译、截图 OCR、视觉问答 —— 全部一键呼出,全部用你自己的 API Key。
下载 · 功能 · 热键 · 快速开始 · English · QQ 群:1104450740
Kivio 常驻托盘 / 菜单栏,工作在整个屏幕层面,而
$ claude mcp add kivio \
-- python -m otcore.mcp_server <graph>