Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
Open-source macOS voice dictation that keeps your words, with app-aware cleanup, a fidelity guardrail, published evals, and a voice interface for coding agents (Claude Code, Codex, Cursor).
翻訳待ち
Loading the full README.
Read the full README ↗Voice dictation for macOS that keeps your words, and a voice interface for coding agents.
Hold Right Shift, talk, let go: your speech is typed into whatever app has focus. Aloud looks at where you are dictating and cleans the text accordingly. It removes the "um"s, applies "no wait, Friday" corrections and fixes punctuation, but it doesn't rewrite what you said. A spoken question is typed, never answered. Add Right ⌘ to the chord and the sentence becomes a task for a local agent that works in folders you allow, asking before every step that changes something.
It's an open-source, local-first alternative to tools like Wispr Flow and Superwhisper, built for developers who spend their day talking to Claude Code, Codex and Cursor.
| You say, in… | Aloud types |
|---|---|
| Notes: "um so I was thinking that we should uh move the meeting to Thursday because no wait Friday works better" | So I was thinking that we should move the meeting to Friday, because Friday works better. |
| Notes: "grocery list eggs milk two loaves of bread and spinach" | Grocery list:- Eggs- Milk- Two loaves of bread- Spinach |
| Gmail: "hi Sarah just checking in on the contract let me know if you need anything thanks Shekhar" | Hi Sarah,Just checking in on the contract. Let me know if you need anything.Thanks,Shekhar |
| WhatsApp: "lol yeah that works for me see you at 5" | Lol, yeah, that works for me. See you at 5. |
| ChatGPT: "what's the difference between a process and a thread" | What's the difference between a process and a thread? (typed, not answered) |
| Claude Code: a request that asks for several things, no cue needed | Goal / Tasks / Context / Constraints / Done when, in your own sentences, file names in backticks |
| A shell prompt: "git checkout dash b fix slash auth" | git checkout -b fix/auth (typed, not run) |
Measured, not claimed. Every scenario is spoken into a real app, and the harness checks what reached the screen against what was said. Full numbers: BENCHMARKS.md · interactive page: slm-llm-research.github.io/aloud/results
| Before | After | |
|---|---|---|
| Real voice, 27 scenarios in Notes, Gmail, WhatsApp, Claude desktop, Claude Code (same transcripts, before vs after the fixes) | 85.2% passed | 92.6% passed |
| Synthetic voice, all 37 scenarios incl. background noise (text-to-speech → live speech-to-text → the app's cleanup) | 73.0% passed | 83.8% passed |
| Negations ("not", "don't") kept, real voice | 100.0% | 100.0% |
| Layout right for the app (lists, email lines, prompt sections), synthetic | 94.6% | 100.0% |
| Speech-to-text word error rate, real voice | 2.7% | 2.7% |
| Key release to text typed, median | 413 ms | 375 ms |
| Behavior evals, 198 held-out cases: does each app get the right change, and only when it should (prompt vs free speech, lists, self-corrections, chat tone, email, shell, misheard words) | 84% passed | 92% passed |
| Self-corrections applied (held-out) | 56% | 85% |
| Coding agents: Claude Code requests laid out, free speech left alone (held-out) | 82% | 100% |
Behavior evals: 660 labelled dictations (positives and hard negatives per app), split train / dev / held-out test; method, every breakdown and the tuning log in bench/results/BEHAVIOR.md.
By app, real voice, current code: Notes 100.0% · Gmail (Chrome) 100.0% · WhatsApp 75.0% · Claude Code (Terminal) 75.0% · Claude desktop 100.0%.
flowchart LR
K[Right Shift held] --> M[Mic, 16 kHz]
M --> S1[ElevenLabs Scribe v2<br>realtime, streaming]
M --> S2[Parakeet TDT 0.6B<br>on-device fallback]
S1 --> R{Mode router<br>app + spoken cue}
S2 --> R
R --> P[Rules: stutters,<br>fillers, hyphens]
P --> L[Groq gpt-oss-120b<br>then Claude Haiku]
L --> G{Fidelity guardrail}
G -- keeps your words --> T[Typed into the app]
G -- reworded / dropped a 'not' --> F[Rule-cleaned text]
F --> T
K2[Right Shift + Right ⌘] --> A[agentd: Claude agent<br>with per-step approvals]
This is the beginning of the README. Read the rest at the original. Read the full README ↗