Releases: ArgentAIOS/xoome
Release list
v0.1.2 — Per-app source picker + Generate buttons
What's new
Per-app audio source picker
- New menu in the recording view lets you scope the system-audio capture to a single running app (Brave, Chrome, Zoom, Teams, Slack, etc.) instead of the whole system. Useful when you only want the meeting audio and not your music or notifications.
- Built on
SCContentFilter(display:including:exceptingWindows:)— no virtual audio device needed.
Generate buttons on the Transcript tab
- Three buttons live below "Copy transcript": Generate Notes, Generate Summary, Generate Action Items. Each switches to the relevant tab and runs the AI generation in-flight, so you don't have to hop tabs first.
- New AI-generated Notes with a structured prompt (Discussed / Decisions / Open questions / Next steps). Result lands in the Notes tab and is still hand-editable afterward.
- Notes tab labels the model + timestamp when AI-generated.
Build
- Signed with Developer ID and notarized + stapled by Apple notarytool.
- arm64-only macOS build.
Install
- Download
XooMe.dmgbelow. - Open it, drag XooMe to Applications.
- First launch: grant Screen Recording permission (required for system audio capture). Microphone permission is optional but recommended.
Configuration
Open Settings (gear icon in sidebar) and add:
- Deepgram API key — required for transcription.
- Anthropic API key or a custom OpenAI-compatible endpoint — required for AI notes/summary/action items.
Pendant integration (Limitless/Omi) ships off by default; toggle it on in Settings if you have one.
v0.1.1 — Pendant opt-in, drag-drop upload, permission UX
What's new in v0.1.1
This is a course-correction release. Real-world use revealed the v0.1.0 build was over-tuned toward the pendant flow at the expense of the primary use case (capturing meetings at the Mac).
Pendant is now opt-in
The pendant integration is off by default. No stealth Bluetooth prompts for users who never asked for it.
- Enable in Settings → Pendant (optional)
- When enabled, real-time streaming over BLE is also off by default — the pendant just connects quietly and waits for you to click Sync now in Lifelog. (The "live transcribe over BLE" mode is mostly a debug feature; when you're at your Mac, the system-audio + mic capture already there is the better experience.)
- Pendant recordings live exclusively in the Lifelog view now. They no longer pollute the main Transcripts list.
Drag-and-drop upload (regression fix from Electron build)
- Drag any audio file (
.m4a/.mp3/.mp4/.wav/.ogg/.flac/.webm/.aac) onto the Transcripts view to transcribe it via Deepgram's pre-recorded REST API - "Upload audio" button in the Transcripts toolbar opens the standard macOS file picker; multi-select supported
- Uploaded files are copied into XooMe's recordings dir so the Detail view's audio player has a stable playback path
System-audio permission UX
The "mic captured but system audio was silent" failure mode (which hits whenever a fresh-bundle-ID install resets ScreenCaptureKit permissions) now surfaces clearly:
RecordingControllerrunsCGPreflightScreenCaptureAccess()before starting capture- If permission is missing, recording bails immediately with a clear status message and opens System Settings → Privacy & Security → Screen Recording so you can grant access
- After granting, quit and relaunch (macOS requires this for Screen Recording to take effect)
Other
- Build script is unchanged; libopus still bundled via Frameworks/
- Apple-notarized DMG; Gatekeeper accepts on first launch with no quarantine prompt
- MIT licensed
Upgrade
Drop the DMG below into /Applications, replacing the prior install. Your existing transcripts at `~/Library/Application Support/XooMe/` are preserved.
If you had pendant integration working in v0.1.0, you'll need to re-enable it in Settings → Pendant (optional) since the default is now off.
v0.1.0 — First public release
XooMe v0.1.0
First public release. Native macOS app for audio capture, transcription, and AI-summarized memory bank — for meetings, calls, and the Limitless Pendant.
What's in the box
System audio + mic
- ScreenCaptureKit-based system audio capture (no BlackHole or virtual loopback driver needed)
- Mic mixing with per-source gain sliders + level meters
- Audio file recorded as 16 kHz mono AAC alongside the transcript
Pendant integration (Limitless / Omi)
- One-tap BLE pairing (TimeSync triggers the macOS pair dialog)
- Auto-reconnect when pendant comes back into range
- NAND sync — pulls stored audio pages, ACKs them so the device frees flash storage
- libopus decoder (Apple's built-in Opus produced static for CELT mode; libopus handles every mode)
- Time-gap encounter clustering in the Lifelog view (recordings within 5 min group into one card)
- Firmware-flag-driven session boundaries (`did_start_recording` / `did_stop_recording`)
Transcription + AI
- Deepgram WebSocket streaming for live transcription with diarization (Nova-2)
- Anthropic Claude for summary + structured action items (Haiku 4.5 / Sonnet 4.6 / Opus 4.7)
- Bring your own LLM via any OpenAI-compatible endpoint (Ollama, vLLM, OpenRouter)
Privacy
- All data stored locally in `~/Library/Application Support/XooMe/`
- One JSON per transcript, one M4A per recording — easy to back up, easy to inspect
- No telemetry, no analytics, no remote logging
- Apple-notarized, hardened runtime, signed with Developer ID
Install
Download `XooMe.dmg` below, mount it, drag XooMe.app into `/Applications/`. First launch will prompt for Microphone, Screen Recording, and (if you use a pendant) Bluetooth permissions — approve in System Settings → Privacy & Security and relaunch.
Open Settings (⌘,) and paste your Deepgram and Anthropic API keys.
Known limitations in this release
- Apple Silicon only in the prebuilt DMG. Build from source for Intel Macs.
- Encounter clustering is time-gap only — speaker / topic / setting clustering land in 0.2.x.
- No "Ask XooMe AI" yet — the cross-transcript chat memory bank is scaffolded but not wired up.
- Integrations are placeholders — Google Calendar, Obsidian, Cursor, etc. are stubbed in the UI.
- Audio playback in Detail view is a basic AVPlayerView. No transcript-synchronized scrubbing yet.
- Speaker rename UI isn't ported from the Electron prototype yet.
Built with
Swift 5.9 · SwiftUI + AppKit · ScreenCaptureKit · AVAudioEngine · CoreBluetooth · libopus · Deepgram · Anthropic Claude
License
MIT