Global hotkey
Cmd+Shift+V anywhere in macOS. Frameless Spotlight-style window drops in, records, drops out. Escape hides.
Voice intelligence · on-device · beta
Record, transcribe, summarise — nothing leaves unless you say so.
Native macOS recorder with Rust audio, streaming transcription, diarized sessions, AI agents for action items and tone. Local whisper.cpp shipped today; cloud providers are opt-in and stream direct from your machine. API keys live in your OS Keychain.
macOS minimum
13+
Sample rate
16 kHz
Local model
ggml-base
Endpointing
300 ms
Global hotkey
⌘⇧V
Tests passing
33
The microphone, the hotkey, the window
A frameless always-on-top window that drops in on Cmd+Shift+V. Rust-side CPAL for the audio path, VAD for live feedback, lossless WAV export for every session. No browser, no Electron wrapper — a real desktop app.
Cmd+Shift+V anywhere in macOS. Frameless Spotlight-style window drops in, records, drops out. Escape hides.
Rust-side audio via CPAL. Device picker across AirPods, USB mics, built-in. Native sample rate resampled to 16 kHz mono in-process — no frontend round-trip.
Energy-threshold VAD with live waveform. Interim transcripts stream while you're still speaking; endpointing at 300 ms.
Every session writes a WAV alongside the transcript. You keep the source audio, not just the text.
From waveform to decision
Transcription is the input, not the output. Diarization separates voices; action-item extraction pulls commitments; tone shifting rewrites drafts; cross-session search finds the meeting you half-remember. Each surface names the model it leans on — Aletheia's rule: never claim accuracy you can't source.
Deepgram Nova-2 streaming, AssemblyAI batch, or local whisper.cpp (ggml-base). Punctuation, smart formatting, interim results. German primary, twelve languages on the translator surface.
Speaker separation on supported backends. Harmonia's rule: if the mic can't tell two voices apart, neither can the model — we tell you which side of that line you're on.
GPT-4o structured extraction. Tasks, commitments, deadlines — typed JSON, not a paragraph to re-read.
Claude Sonnet rewrites a transcript in eight tones — professional, casual, empathetic, assertive, diplomatic, enthusiastic, formal, friendly. Intensity slider 1–10.
Every transcript indexed locally. Find the meeting where someone said the thing. No upload required.
Eisenhower-matrix categorisation for unstructured thought; compassionate letter-to-future-self for reflective journals. Voice-first, not typing-first.
Nothing leaves unless you say so
Nemesis wrote this section. Four promises, each one checkable against the repository. If we break one of these, the product is broken — not just the feature.
API credentials live in the macOS Keychain via Tauri's secure store. Never serialised to disk outside the system vault, never sent to nyxCore, never phoned home. Delete the key — the transport dies with it.
whisper.cpp via whisper-rs, ggml-base model downloaded once from HuggingFace, then air-gapped. Pick it in settings and the network layer never opens. Your audio, your CPU, zero egress.
When you do use a cloud provider, the Rust backend opens a direct WebSocket to Deepgram, AssemblyAI, OpenAI, or Anthropic. nyxCore is not in the path. There is no Aurus.Intel backend to subpoena.
Every session's WAV is written to your local sessions directory. Uploaded? Only what you explicitly invoke. Shared? Only via an endpoint you generate with a token you control.
Threat model
We defend against: nyxCore reading your audio (we can’t — no server), a stolen laptop leaking keys (Keychain protects them), a provider outage blocking transcription (local Whisper path stays up), silent opt-in to new providers (adding one requires a new key you paste). We do not defend against: malware on your Mac, a compromised provider, or you sharing an endpoint with the wrong person. That last one is on you.
What the recorder produces
Every session writes a deterministic JSON alongside the audio. Diarization turns on if the backend supports it; the agents tag what they ran. Everything addressable by session-id, everything local by default.
# aurus record --lang de --diarize --summarise # → writes sessions/2026-04-23T10-14/{session.json, audio.wav} { "session_id": "2026-04-23T10-14-sx7k", "duration_s": 1847, "engine": "deepgram-nova-2", // or "whisper-local" "language": "de", "diarization": true, "audio_path": "./audio.wav", "transcript": [ { "t": 0.42, "speaker": "S1", "text": "Lass uns den Review-Slot verschieben." }, { "t": 3.11, "speaker": "S2", "text": "Freitag 14 Uhr passt mir." } ], "intelligence": { "summary": "Review-Termin von Mittwoch auf Freitag 14:00 verschoben.", "action_items": [ { "owner": "S1", "task": "Kalender-Invite neu versenden", "due": "2026-04-25" } ], "models_used": ["gpt-4o"] }, "share": { "endpoint": null, "uploaded": false } }
share.uploaded is false until you explicitly generate a share endpoint. There is no background sync.
What this is not
Ipcha Mistabra wrote this section. Before you mic up, know where the beta edges are — especially the one between the tagline and the default configuration.
Disclosure
Out of the box, the streaming path goes to Deepgram Nova-2 — because the accuracy gap between Nova-2 and local whisper-base is real, and we won't lie about it. Flip the setting and the network call never happens. But you have to flip it.
Disclosure
The recorder is macOS-universal today. The Tauri chassis will compile elsewhere, but audio-device handling, global hotkeys, and the Keychain bridge are tested only on macOS 13+. Cross-platform parity is on the list, behind the beta polish.
Disclosure
Two people, one AirPod, a noisy café — you'll get one speaker, not two. Diarization is provider-backed and a hard problem. Harmonia's advice: one mic per speaker, or accept the blur. We won't pretend the model fixes acoustics.
Quick start
No DMG in the release channel yet — this is beta and we build from source until the signing story is finished. Rust + pnpm + Xcode CLT. Microphone permission on first run; API keys optional if you stay on local Whisper.
# 1. Prerequisites xcode-select --install # macOS CLT curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh brew install pnpm # 2. Clone and build git clone https://github.com/nyxCore-Systems/aurus-voiceintelligence cd aurus-voiceintelligence && pnpm install pnpm tauri dev # first run: grant mic, download whisper model # 3. Configure (optional — local Whisper works out of the box) # Open Settings → paste keys. Stored in macOS Keychain. # DEEPGRAM_API_KEY — streaming transcription (cloud) # OPENAI_API_KEY — action items, translation # ANTHROPIC_API_KEY — tone shifter
Apple Silicon
Universal binary
Keys live in
macOS Keychain
Telemetry
None. Ever.
Before you rely on it for a client call
Aurus.Intel is in beta. Run a ten-minute test session on your actual microphone before the meeting that matters. Calibrate the VAD threshold if you’re in a quiet room; pick the provider that matches your language priority; decide cloud or local before you press record. Metis’ rule: the first session is a rehearsal, not a deliverable.
33 tests passing · DMG distribution & Windows/Linux parity tracked in the roadmap.