Kiiri is an animated character that lives on your desktop and doubles as a
spatial AI assistant. It reacts to Claude Code, Cursor, Codex and Antigravity
while they work, and any MCP client can make it talk, point or look at your
screen. Drop it onto anything on screen and it understands the region
underneath, then summarizes, solves, explains, translates, or runs a task you
defined. It can talk back out loud, hold a real conversation, generate
documents and spreadsheets, run things on a schedule, and remember what it did.
Free and open source. Bring your own key (Anthropic, OpenAI, Gemini or any
OpenAI-compatible API), or run fully local with Ollama.
All clips below are the real app, recorded offscreen on a mock desktop.
The voice ones have sound on kiiri.app.
Kiri → Kiiri. The project is being renamed. Some menus, folders and the
MCP tool names (kiri_say, ~/Documents/Kiri/) still use the old name and
will keep working.
Features
Watches your coding agents
- Agent monitoring — hooks for Claude Code, Cursor, Codex and Antigravity.
The character perks up when an agent listens, scribbles in a notepad while
it works, and beams when the task is done.
- MCP server — the same bridge, exposed to any MCP client (Claude Code,
Cursor, …) as five tools:
kiri_status, kiri_say, kiri_point,
kiri_react, and kiri_ask_screen (the agent borrows Kiri's eyes: it asks
about the user's screen and gets the answer back, while the user sees it in
the speech bubble). It registers itself while agent monitoring is on (and removes
itself when you turn it off), and runs on Kiri's own bundled Node runtime — no
system node required. Text an agent sends is scrubbed of secrets and
absolute paths before it reaches a speech bubble.
- Control bridge — a local token-guarded HTTP server (
127.0.0.1:23456)
lets external agents/tools drive the pet: report agent state, ask what it can
do (/status), make it /speak, or /point at a screen spot (the pet looks
there and an arrow marks it).
Sees your screen
- Spatial AI — drop the character onto text, a question, code, or an image
and it captures that region, understands it with a vision model, and runs a
task: 📝 summarize, ✅ solve, 💡 explain, 🌐 translate, 📋 extract, or your own.
- Ask about my screen — hold the push-to-talk hotkey (default Ctrl+Alt) and
ask out loud, or right-click → Ask about my screen… and type it. The answer
streams into the speech bubble word by word, pointing at the spot with a 🐾
when it helps. Typed mode needs no OpenAI key, so it works on local Ollama too.
- Ask about a region — right-click → Ask about a region…, drag a box
around exactly what you mean, type your question, and it answers about just
that selection (spotlight overlay, pointing 🐾, spoken reply).
- App awareness — answers know which app you're in (name only, e.g. "VS
Code") so they're sharper. macOS-only, no extra permission; toggle in settings.
Gets things done
- Command agent — "make a 5-slide presentation about X and save it" →
approval card → a real file under
~/Documents/Kiri/, with a 30-second undo.
Generates .pptx, .docx, .xlsx (real formatted spreadsheets), .pdf
reports, .csv, .json, and text/markdown/html. It can search the web first
and shows you the plan and sources before writing. Ships with starter skills
(report table, meeting notes, summary doc, slide deck, CSV) and lets you teach
your own in plain language.
- Computer use — "open TextEdit and type a note": Kiiri looks at the screen,
shows a short plan, and after you approve it drives the mouse and keyboard
while a strip shows every step. It stops and asks before sending, buying,
deleting, typing into a password field, or acting in password managers,
terminals or banking apps, and Esc stops it at any moment. Needs an Anthropic
key.
- Automations — schedule a prompt on an interval or a daily time: a note
the character speaks, or a screen check that looks at your screen and
answers (bubble + 🐾 + spoken). Right-click → Tasks ▸ Automations….
- Knowledge Journal — save what the character solved/explained as flashcards
and review them on an SM-2 spaced-repetition schedule.
Talks with you, and remembers
- Voice commands (STT) — a mic button: click, speak, and the command runs.
- Spoken answers (TTS) — the character reads screen answers aloud, using
OpenAI voices when a key is set or the built-in macOS voice for your language
(offline, keyless). Volume follows the notification-sound slider.
- Chat window — right-click → Chat with Kiri… for a real back-and-forth
conversation that remembers the thread (and the character's memory). Streams,
supports multiple turns, per-character sessions.
- Per-character memory — each character keeps its own history of the work it
did (summaries, screen answers, files it made, chats) in a readable
.md, and
feeds recent entries back as context — so it remembers across restarts. Right-
click → 🧠 Memory to view, edit, or clear it.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗