Instant dictation for macOS and Linux.
One hotkey. No window. Text ready on your clipboard.
Speaking is 3–4× faster than typing.
Most dictation tools are heavyweight, cloud-locked, or tied to a specific app.
OneScribe is a background utility: press a hotkey, speak, and the transcription is copied to your clipboard.
Press once to start recording. Press again to stop.
Text is copied to your clipboard.
macOS pastes automatically; Linux leaves it ready for manual paste.
No window. No clicks to transcribe.
On Linux, transcription runs fully on-device via transcribe.cpp (ggml) — and it's streaming: text is transcribed live while you speak, so the transcript is ready the instant you stop, no matter how long you talked.
The cloud backend — whisper-large-v3-turbo via Groq's API — remains a config switch away, and is what macOS uses.
| Component | Role |
|---|---|
HotkeyManager | NSEvent global monitor for Option+Space |
RecordingManager | AVAudioRecorder → .m4a at 16 kHz mono |
GroqTranscriber | URLSession multipart POST, 30s timeout |
AutoPaster | NSPasteboard + CGEvent Cmd+V synthesis |
TranscriptionJournal | Daily .md log in ~/Documents/OneScribe/ |
StatusItemController | Menu bar icon with state badges |
| Module | Role |
|---|---|
hotkey_daemon | Async event loop, XDG GlobalShortcuts portal |
recorder | pw-record → live PCM chunks (local) or ffmpeg Opus/OGG (cloud) |
engine | Streaming transcribe.cpp inference (Nemotron GGUF) or Groq |
groq | Pure request builder + response parser |
transport | reqwest blocking HTTP execution |
platform | Clipboard via wl-copy / xclip / xsel |
tray_app | ksni StatusNotifierItem tray |
Every transcription is appended to a daily file in ~/Documents/OneScribe/. Both platforms produce identical Markdown.
Local transcription is the default — no account, no key, no network, no config file. The model downloads itself on first run.
No window ever opens during normal use.
The tray icon and its badge are the entire interface.
| Idle | Icon in tray — no badge |
| Recording | Red dot badge (macOS) / attention status (Linux) |
| Transcribing | Grey pill badge |
| Done | Completion sound + text copied (and auto-pasted on macOS) |