Skip to content

flagship · 2am cli

Donna

A local-first macOS assistant. Listens, watches, remembers — and compiles 2am idea dumps into structured briefings. No cloud account. No app store.

donna · briefing
$ donna brief
→ pulling #ideas from discord (16 new messages)
→ summarizing with gemini-3.1-pro-preview
→ writing briefing to #briefings

# 2026-05-14 · briefing
## what you're chewing on
- repo-mapper: semantic index for composio agent-orchestrator
- discord-archive: promote-memory MCP command
- donna: terminal demo on the portfolio

## next move
ship terminal demo first — it unblocks the whole hero.
the repo-mapper RFC can wait until the weekend.

done · briefing posted to #briefings

02 · architecture

One pipeline. Four layers.

The same shape Donna shares with Study Buddy, Moodle, and discord-archive: capture → log → compile → consume. Each layer is its own tool. The interfaces between them are just files and text.

01

Capture

Voice prompts, screen frames, Discord drops. High-frequency, lossy by design.

02

Durable log

Discord channels become the append-only source of truth. Nothing else writes them.

03

Compile

Gemini reads the log and emits structured markdown briefings — frontmatter + body.

04

Consume

Hermes (and you) read the briefings. Every claim cites a Discord message id.

voice · screen · discord  →  channels  →  gemini  →  briefings.md  →  hermes
   capture (lossy)         durable log    compile      artifacts      consume

03 · capabilities

Four inputs. One brain.

Voice

Whisper-grade transcription, on-device. Hold a hotkey, talk, release. The transcript lands in your local archive — no API call, no cloud bucket.

Screen

Delta-based screenshot streaming. Donna only sees what changed. Optional OCR pipes the diff into the same archive that holds voice and chat.

Text

A Discord channel per signal — #ideas, #screen-summaries, #email-summaries, #moodle-info. Donna treats Discord as the durable append-only log.

Briefing

Gemini compiles every channel into a single markdown briefing on demand. Frontmatter, citations, memory-type tags. Drop it into any agent as context.

04 · philosophy

“Boring pipelines, durable logs, composable layers.It's boring, which is exactly why it works.”

Read the build log.

How Donna came together — and the bugs that almost broke it.