Mochi — a tiny AI coding buddy
Mochi is a tiny, big-headed companion who floats in the bottom-left corner of your editor. She faces your code while you type, follows your mouse with her eyes, and tells you in a sweet voice whether your code looks right.

What she does
- Types along with you. While you type she turns to face your code, pulls out a tiny keyboard and taps along, and little
{ } </> ; code bits float up toward your code.
- Checks your code. Pause for a moment and she reads the code on your screen with your Copilot model, then tells you out loud whether it looks right. She points at the line, and clicking her speech bubble jumps there.
- Catches errors. A compiler error makes her worried ("Uh-oh! Line 12: …"); fixing them all makes her celebrate.
- Thinks in style. While the AI is checking she either ponders with a paw on her chin or does a silly little dance. You pick.
- Watches you. Her eyes follow your mouse pointer anywhere on screen. She naps when you're away and waves when you're back.
- Dangles when you carry her. Drag her anywhere and she swings like a held toy, then plops down.
- Talks in a sweet voice that's made right on your Mac, at a natural pace, with her mouth moving in time.

Requirements
|
|
| Floating Mochi |
macOS (Apple Silicon or Intel). On Windows and Linux she lives in a Mochi panel tab instead. |
| Code checks |
GitHub Copilot installed and signed in. Without it Mochi still reacts to compiler errors and keeps you company. |
| Sweet voice |
An Apple Silicon Mac and a one-time 350 MB download (Mochi asks first). Everywhere else she uses your system's voice. |
Getting started
- Install Mochi. She appears in the bottom-left corner of the editor and waves hello.
- Click her once and allow access to your Copilot models when VS Code asks. That lets her check your code.
- On an Apple Silicon Mac she offers to download her sweet voice. Say yes for the full experience, or keep the system voice.
- Right-click her (or run Mochi: Show Menu) to mute her, change her voice, switch her thinking animation, pick an AI model, or hide her.
Using Mochi
| Do this |
Mochi does this |
| Move the mouse |
Her eyes follow the pointer anywhere on screen |
| Type in the editor |
Turns to face your code and types along on a tiny keyboard |
| Stop typing |
The keyboard vanishes and she turns back to you |
| Pause for 1.5 seconds |
Speaks up about errors and checks your new code |
| Save a file |
Checks the code you just changed |
| Click Mochi |
Checks your code right now |
| Click the speech bubble |
Jumps to the line she's talking about (hover it to keep it open) |
| Drag Mochi |
She dangles as you carry her and remembers the new spot |
| Right-click Mochi |
Opens her menu |
| Leave for 10 minutes |
She naps (zZ) and wakes up with a wave when you're back |
| Code for 50 minutes straight |
She suggests a break |
All commands are under Mochi: in the Command Palette.
Settings
| Setting |
Default |
What it does |
mochi.enabled |
true |
Show Mochi. |
mochi.display |
overlay |
overlay floats Mochi over the editor (macOS). panel puts her in a panel tab (any OS). |
mochi.size |
0.85 |
Her size (0.6–1.6). |
mochi.followMouse |
true |
Her eyes follow your mouse pointer. |
mochi.faceYouAfterSeconds |
0.5 |
After you stop typing, when she turns back to you. |
mochi.thinkingAnimation |
ponder |
ponder (paw on chin) or dance while she checks your code. |
mochi.voice.enabled |
true |
Talk out loud. |
mochi.voice.engine |
sweet |
sweet (the neural voice, Apple Silicon) or system. |
mochi.voice.sweetVoice |
heart |
heart, bella, nicole, sky, isabella or lily. Hear them with Mochi: Choose Voice. |
mochi.voice.pitch / rate / volume |
1 / 1 / 0.9 |
Fine-tune her voice. |
mochi.review.auto |
true |
Check code automatically when you pause or save. |
mochi.review.pauseSeconds |
1.5 |
How long a pause triggers a check. |
mochi.review.minIntervalSeconds |
12 |
Minimum time between automatic checks. |
mochi.review.ignoredLanguages |
plaintext, markdown, … |
Languages she won't send for AI checks. |
mochi.ai.model |
(auto) |
Copilot model to use. Empty picks a fast one; Mochi: Choose AI Model shows how fast each has been. |
mochi.chattiness |
normal |
quiet, normal or chatty. Real problems are always reported. |
mochi.breakReminderMinutes |
50 |
Break reminder (0 turns it off). |
Privacy
- No camera, no microphone, no telemetry.
- Code checks send the visible part of the current file (up to 120 lines) and its compiler messages to your Copilot model, the same way Copilot Chat does. Files that look secret (
.env, keys, credentials) are never sent.
- Her voice is made on your Mac. What she says never leaves your computer for speech. The voice model is downloaded once, only if you agree, from the open-source sherpa-onnx releases on GitHub.
- Your mouse pointer is only used to aim her eyes. Nothing is stored or sent.
How it works
On macOS a small native helper (included, written in Swift) draws Mochi in a transparent window pinned to the bottom-left of your VS Code window. The window lets clicks through everywhere except on Mochi herself. The extension and the helper talk over standard input and output, and the helper quits when VS Code does. Her sweet voice is the Kokoro neural voice running locally through sherpa-onnx in a separate process.
Troubleshooting
- Mochi never checks my code: click her once and allow the Copilot access prompt. Make sure GitHub Copilot is installed and signed in.
- She uses a robotic voice: the sweet voice needs an Apple Silicon Mac and the one-time download. Run Mochi: Choose Voice and pick a sweet voice to get it.
- She's in the way: drag her anywhere, make her smaller with
mochi.size, or right-click → Hide Mochi.
- Something's off: open Output → Mochi for her log, and open an issue.
Credits
Mochi's code is MIT licensed. Her voice uses sherpa-onnx (Apache-2.0, which includes espeak-ng under GPL-3.0) and the Kokoro-82M model (Apache-2.0). See THIRD-PARTY-NOTICES.md.
Development
Requirements: Node 20+ on an Apple Silicon Mac with the Xcode command line tools.
npm install
npm test # unit and renderer tests
npm run test:e2e:voice # end-to-end test in a separate VS Code window
npm run package # builds everything and writes mochi-buddy-<version>.vsix
See PUBLISHING.md for releasing a new version.
| |