Chisle
코딩 에이전트 플러그인, 20개 실시간 작업에서 기본 모델 52% 활용, 간결한 페르소나와 출력 압축 제공
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
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).
README 전체를 불러오는 중입니다.
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]
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗