Codync
免费开源的 1:1 Grok Bot 与 Muse 替代方案。可在 iPhone、Mac 或 Linux 桌面上将 Claude 代码、Codex、Cursor 以及 40 多个编码代理作为持久机器人使用。支持群组聊天、线程、应用。
AI 翻译
Local, private dictation for developers on Apple Silicon Macs
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Formerly Dev Whisper. Local, private dictation for developers on Apple Silicon. Hold a hotkey,
talk, and the text lands at your cursor, formatted for the app you're in:
prose in Slack, commands and @file tags in a terminal coding agent,
snake_case when you ask for it. Speech recognition (whisper.cpp on
Metal) and optional cleanup (Ollama) both run on your Mac; nothing is sent
anywhere.
Website: jfinchy.github.io/mouthpiece
Dictation that fits where you're typing
@file tags
and line breaks in Claude Code, Cursor and your terminal.Speaks developer
kubectl,
JSON and Hammerspoon come out right. Your list is also passed to the
LLM so it doesn't "fix" them.error_response_handler.
Camel, Pascal, kebab and screaming case work too.Local and private
Hands-free, if you want it
Meetings
Built for automation
open mouthpiece://start-recording (and stop- and toggle-).The full, detailed list is in FEATURES.md.
FEATURES.mdROADMAP.md, BACKLOG.md,
PRODUCT_SPEC.mdTESTING.mdRELEASING.mdDownload Mouthpiece for Mac (Apple Silicon): open it and drag Mouthpiece into Applications. Always the newest version; older ones are on the Releases page. The app isn't notarized yet, so macOS blocks the first launch: open it once, then go to System Settings → Privacy & Security, scroll down and click Open Anyway (on macOS 14 and earlier, right-click the app → Open instead).
Two ways to skip that step:
curl aren't flagged, so macOS doesn't prompt. The script is
site/install.sh.
curl -fsSL https://jfinchy.github.io/mouthpiece/install.sh | sh
xcode-select --install):
git clone https://github.com/JFinchy/mouthpiece && cd mouthpiece
bun install
bun run tauri build --bundles app --config '{"bundle":{"createUpdaterArtifacts":false}}'
ditto "src-tauri/target/release/bundle/macos/Mouthpiece.app" "/Applications/Mouthpiece.app"
(The config flag skips the signed update package, which needs the
project's private key.)On first launch, Settings shows a setup checklist until everything's in place:
Updates install themselves: the app checks GitHub on launch, shows a dot on the widget's gear when a new version is out, and Settings → About installs it. Update packages are signature-checked.
bun install
./scripts/download-model.sh # Whisper base.en into src-tauri/models (checksum-verified)
bun run tauri dev # the app, with hot reload
bun run dev:mock # just the UI in a browser, on a fake backend (http://localhost:1430/?window=settings)
bun run test # typecheck + Rust tests + UI e2e
dev:mock runs the React UI against the in-memory backend in
src/testing/mockBackend.ts, so UI work doesn't need a Rust rebuild.
Append ?window=widget or ?window=settings to pick the window.
macOS ties Accessibility and Input Monitoring grants to an app's code
signature, and every cargo build is signed with a new ad-hoc one, so
each rebuild used to lose those grants. .cargo/config.toml runs
scripts/dev-sign-runner.sh, which re-signs the dev binary with a fixed
local identity before launching it. One-time setup, in your own Terminal
(the trust step asks for your Mac password):
./scripts/setup-dev-signing.sh
Then run bun run tauri dev, click Always Allow if codesign asks to
use the key, and grant Accessibility to the dev app one last time.
Without the certificate the runner launches unsigned and says so. If signing stalls on a keychain prompt, it gives up after 20 seconds and launches unsigned rather than hanging.
| Path | What's there |
|---|---|
src-tauri/src/recording.rs | The dictation flow: record → transcribe → format → deliver |
src-tauri/src/pipeline.rs | Text formatting, pure and testable (lists, punctuation, backtrack, commands, modes, LLM) |
src-tauri/src/readiness.rs | Setup checklist |
src-tauri/src/{audio,stt,llm,paste}.rs | Mic capture, Whisper, Ollama, paste |
src-tauri/src/ambient.rs | Hands-free "Mouthpiece, …" listening |
src/WidgetView.tsx | The floating widget |
src/SettingsView.tsx, src/settings/ | Settings window, one file per page |
e2e/ | Playwright UI tests |
src-tauri/tests/fixtures/ | Golden dictation cases and real-audio cases |
Logs: ~/Library/Application Support/dev.mouthpiece/app.log (also
Settings → Advanced → Logs).
xattr -dr com.apple.quarantine "/Applications/Mouthpiece.app"
or install 0.3.1 or later.