# Blurt (口喷鸡) > The keyboard for the agent era. The fastest way to work with your agents, by text, voice, screenshot or screen recording. Runs locally. Free and open source. A menu-bar app for macOS that works next to the agents you already use (Claude Code, Codex, Cursor, Claude, ChatGPT). It has no agent of its own and does not replace yours. Website: https://blurt.work/en/ (English), https://blurt.work/ (Chinese) Source: https://github.com/AGIHunt/blurt User guide: https://github.com/AGIHunt/blurt/blob/main/docs/guide.md Download (macOS): https://github.com/AGIHunt/blurt/releases/latest/download/Blurt.dmg (the latest release) Or have your agent install it: `curl -fsSL https://blurt.work/install.sh | sh` (downloads the latest release, checks it is signed and notarized, puts Blurt.app in Applications and opens it; the user turns on the microphone and Accessibility in the setup window). Agents: the full steps, including connecting Blurt to yourself, are under "Install" at the end of this file. Film (1:42, English voice-over, Chinese and English subtitles): https://blurt.work/assets/promo.mp4 ## Facts - Name: Blurt; Chinese name 口喷鸡. License: MIT. Made by AGI Hunt. Price: free, no word limit, no account. - Platform: Mac only today (macOS 13 or later). Dictation and the recommended speech models need Apple silicon. Windows and Linux are coming soon. No phone app. - There is no Blurt server. ## Dictation (Fn) - Tap Fn to start and tap again to stop. The words are typed where your cursor is. Works in every app (never in password fields). - Double-tap Fn instead of the stopping tap: the dictation stops, the text goes in and Return is pressed (send). You can also stop, check, then double-tap. - Hold to talk also works: hold Fn while you talk and let go to stop (a press over about 0.3 s counts as a hold). - Live text: the words show under the notch while you talk, about a second behind; the part that can still change is grey. On Macs under 16 GB there is no live grey text; words appear after each pause. - ⇧ is a switch while you talk: tap it for Structured (a self-correction keeps only what you settled on, and points you list become a numbered list), tap it again to go back to Light. While Structured is on, the notch shows a list mark next to the time. ⌥L re-formats the last dictation (Light, Structured, Verbatim), with Undo. - Light, the default, removes fillers and stutters and adds punctuation. It does not rewrite, summarise or make lists. If polish adds or drops content, the raw transcript is typed instead. - Words: a list of names and terms the speech model listens for. A word you fix twice is learned, with Undo. Words are hints, never replacements. - In terminals and code editors the text stays on one line, so Claude Code doesn't fold it into "[Pasted N lines]". Password fields are never read or typed into. - Works in the first minute: on macOS 26 dictation uses macOS's own speech recognition, so there is no model to download (if macOS hasn't got its speech files yet, it fetches them once, about 400 MB, kept by macOS). On macOS 13–15, Blurt downloads a local model first. Two optional upgrades: one AI-service key (fixes misheard names and punctuation, and powers translation and the cloud second reading of copied text) and the local models below. - Translate while you talk: tap ⌘ (either side) while dictating; speak Chinese and English is typed, or the other way round (Settings → Dictation → Translate into also offers Japanese, Korean, French, German, Spanish, Portuguese, Italian, Russian and Traditional Chinese). The notch shows the translate mark and still shows what you said. With an AI-service key the cloud model translates, about 1 s after you let go (median, own test); without one, the local polish model does, about 0.2 s, rougher. With neither, ⌘ only says how to set one up. - Local models: speech recognition runs on your Mac; after a one-time model download no internet is needed (not yet tested with the network switched off). Open-source models: Qwen3-ASR 0.6B for speech (the 1.7B is an option), Gemma 4 E2B for polish (Gemma 3 1B on 8 GB Macs); about 4.4 GB to download, nothing until you press Download. One speech model serves dictation, voice notes and recordings in Chinese and English. In use they take about 2.8 GB of memory (4.2 GB with the 1.7B; measured on an M1 Max). Idle models unload after 10 minutes, sooner when memory runs short. ## Measured (Blurt's own tests on one Apple M5 Max, 128 GB, with speech from macOS `say` as the microphone) - Talk for a minute, stop, until it's done: 0.39 s after 60 s of speech (median of three takes; the figure on the website). Shorter takes: 0.29 s after a 3 s sentence, 0.52–0.54 s after 30 s. Long takes with live text on (42–54 s): 0.51–1.55 s, median 0.64 s over 12 takes. - First live words about 0.6 s after you start (three 42–54 s takes); live text lags 0.9–1.3 s on average. - Chinese and mixed Chinese–English, Qwen3-ASR 1.7B (the larger optional model): CER 2.7% on 20 clips with product names; 90–97% of product names right. On a harder set (6 voices, room noise): CER 26.7%, 38% of names. - English: WER 1.9% for the speech model alone (7 sentences, 2 voices). - Next to others (checked 2026-10-25): end of speech to text at the cursor, Wispr Flow about 1.5 s and Typeless about 3.0 s, both from a VoiceDash comparison (https://voicedash.ai/wispr-flow-vs-typeless/; VoiceDash is a competing vendor). Typeless and Wispr Flow transcribe in the cloud; Blurt on your Mac. Blurt is free with no word limit; Typeless Pro is $12/month billed yearly. None of Typeless, Wispr Flow, Superwhisper or Aqua Voice offers snap or voice-note cards for agents, or turns screen recordings into items. - Real microphones and accents were not measured; latency was measured on the one test Mac. Other products' published numbers come from different methods and are not directly comparable. ## Copy Text from Screen (⌥C) and Translate Text from Screen (⌥T) - ⌥C: drag over any text you can't select (a screenshot, a video, a shared screen, a locked page, a terminal). Let go and it is on the clipboard in about 0.1–0.2 s, laid out as if you had copied it: a half line the edge cut is left out, wrapped lines are joined, lists, tables (tabs) and code (indentation) are kept. If the cursor is in a text field it is typed in too. Nothing is saved, no card. - It reads with macOS's own text recognition (Vision), so nothing is downloaded; layout is rebuilt from geometry. An optional second reading by a small model (PaddleOCR-VL, 720 MB on the Mac, or the user's cloud model) fixes misread characters. - Measured on 18 Retina test crops (characters wrong): Vision's lines as they come 15.8%, Blurt 0.70% with nothing downloaded (18 of 18 laid out right), 0.16% with the local second reading. - ⌥T does the same, into the same language; the translation shows under the notch and is on the clipboard. ## Snap (⌥A) and Voice Note (⌥V) - ⌥A: drag an area; the picture freezes. Draw on it: drag for freehand, ⇧ for a box, ⌥ for an ellipse; rest half a second at the end of a stroke to straighten it; ⌘Z takes a stroke back. Say or type a note; ⏎ (or Done) saves it, Tab takes the words heard into the note to edit, typing replaces them. - ⌥V: a voice note, up to 10 minutes; pausing to think doesn't end it. - Snaps and voice notes wait under the notch as cards; several can hang there at once. Drag it into Claude, ChatGPT, Slack, Notion, Feishu/Lark or WeChat: the picture goes in as an attachment, then the note in the same message box. Into a terminal running Claude Code or Codex: the paths of the picture and a Markdown note; nothing runs in the shell. Into Cursor or VS Code: the picture, with the note on the clipboard. Click a card to copy it. Cards you dragged out stay findable for 7 days. ## Record (⌥R) into items - Record your screen while you talk; hold ⌃ to circle things. Your own coding agent turns the recording into items: issues with repro steps and the code most likely involved, ideas, notes and to-dos, each with a frame. Review with the keyboard (A keeps, X discards, J/K move). - Recordings made with the app are transcribed while you record, so a recording is ready about a minute after you stop: in a test from the README, a 5-minute recording became 12 items, ready to review 51 s after Finish. A teammate's 5-minute walkthrough became 52 items, each with the quote and the timestamp (time to review not recorded). A 14-minute recording was transcribed locally in 12 s and became 23 items for about $2.6 of agent tokens at API prices. ## Hand off (⌘↩) - Runs Claude Code or Codex on this Mac, in Blurt's terminal and the project folder: one session per item or several in one, optionally one git worktree per item. Review the changes, then merge. - Agents report through Blurt's MCP server: In progress, then To verify. MCP tools: search_items, get_item, get_transcript, update_item, mark_fixed, bundle_items. - Teams: pack the items into one hand-off bundle (.zip: a summary, every item and its screenshots, relative paths only) and send it to a teammate, or ask your agent to post it wherever the team works ("Bundle the checkout issues and post them to #web in Slack"). No connectors by design: the agent sends them with the tools it already has. ## Privacy - On the Mac: recognition and polish for dictation, snap notes and voice notes. About 500 characters around the cursor help get names right. Dictation History keeps each dictation's text, audio and that cursor text for 30 days (adjustable; the audio can be turned off). - Leaves the Mac only for: model downloads and update checks; a cloud speech key you add yourself (Settings → Models); cloud polish if the user turns it on (the dictated text, never the recording, goes to DeepSeek or their own OpenAI- or Anthropic-compatible API); cloud translation if on (the text); the cloud second reading of Copy Text from Screen if chosen (the picture of the dragged area); when your agent organises a recording, the transcript and a few frames go to that agent's provider; and Send Feedback, which sends only the dictations the user checks to Blurt's private storage (developers only, deleted within 14 days). ## Install - People: download https://github.com/AGIHunt/blurt/releases/latest/download/Blurt.dmg, open it and drag Blurt into Applications. Updates arrive inside the app. - Agents (Claude Code, Codex, any agent with a shell), when the user asks to install Blurt (口喷鸡): 1. Check it is a Mac with macOS 13 or later (`sw_vers -productVersion`); dictation and the recommended speech models need Apple silicon. 2. Run `curl -fsSL https://blurt.work/install.sh | sh`. It downloads the latest release, checks that it is signed and notarized, replaces an older copy (/Applications, else ~/Applications), and opens Blurt. Nothing else to install: Blurt sets up its own tools. 3. Tell the user to finish Blurt's setup window: Microphone and Accessibility are switched on by the user in System Settings; an agent can't do it. Screen Recording is asked the first time they snap or record. 4. To use Blurt from the agent (start a recording by asking, find and update items), the Blurt skill and MCP server go into the agent. The user can click Settings → Agents → Connect… in Blurt (it shows what changes first). Or, with the user's OK, after the setup window is done: `uv run ~/.blurt/skill/scripts/agents.py install --dry-run` lists the changes; the same without `--dry-run` makes them. : claude (Claude Code), codex, gemini, kimi, opencode, grok, codebuddy (CodeBuddy Code), workbuddy (WorkBuddy), cursor. It links the skill folder (~/.claude/skills/blurt, ~/.agents/skills/blurt, …) and registers the MCP server `blurt` (`claude mcp add`, `codex mcp add`, or the agent's MCP JSON file). 5. Tell the user to start a new session of the agent: agents load skills and MCP servers when a session starts. - Then say "start blurt" or "开始口喷" (or "录屏提 bug"). Claude Code also takes `/blurt`; Codex takes `$blurt` (Codex has no slash command for skills). With the app installed, the agent starts the recording in Blurt (`open blurt://record`, one click in the notch), so no other app needs Screen Recording permission. - What needs a restart: Microphone and Accessibility take effect right away. Screen Recording takes effect after Blurt restarts (Settings offers Restart Blurt). A connected agent sees Blurt in its next session. Blurt itself never needs a restart for agents. - Without the app, from source (developers): `npx skills add AGIHunt/blurt -g` (without `-g` it installs into the current project only; add `-a claude-code -a codex` to pick agents), or in Claude Code `/plugin marketplace add AGIHunt/blurt` then `/plugin install blurt@blurt` (the skill is then `/blurt:blurt`). Then "start blurt": the first run builds Blurt into ~/Applications (needs the Xcode Command Line Tools and uv). These install the skill only; `uv run /scripts/agents.py install --mcp` adds the MCP server (the Claude Code plugin adds it itself). A recording started this way runs under the app hosting the agent (Terminal, iTerm…), which needs Screen Recording and a restart after it is switched on.