◆ Muninn · "Memory"

The raven that remembers.

A self-hosted personal AI agent with a living memory

Muninn is a personal assistant you talk to by message, terminal, browser, or voice — and it keeps one shared memory across all of them. It doesn't grow a giant context window; it remembers. Facts are pulled from every conversation, merged, and faded over time, so it holds onto what matters and lets the noise go.

4
surfaces — Matrix, terminal, web, and voice — sharing one mind.
~70%
fewer tool-definition tokens per turn, thanks to the sub-agent design.
0
cloud dependency — runs on local hardware, your data never leaves.
The idea

Small context, deep memory

Instead of stuffing everything into the prompt, Muninn keeps a real memory and pulls in only what's relevant to what you just said.

  1. Extract. After every exchange, a background pass pulls out the durable facts and stores them — quietly, off the critical path.
  2. Consolidate. Similar facts are merged, contradictions are corrected, and a periodic "dream" pass re-reads recent history for higher-order connections.
  3. Decay. Memories fade on a curve unless they're used again — so the store stays sharp instead of drowning in stale detail.
  4. Recall. Each message triggers a hybrid search (keyword + meaning) over the store; a small model then judges which hits are actually relevant before they're injected.
What it can do

One router, many hands

The model in the conversation sees a single tool. Behind it, a sub-agent wields the real toolset — so capabilities grow without bloating context.

▲ Knows who's talking

An identity layer bridges chat handles, voice prints, and devices into one person, with per-person permissions and a careful path for unknown speakers.

▲ Runs the house

Reads and controls the smart home in plain language — lights, climate, scenes — and answers "is anything still on?" Includes an opt-in open-house mode for guests.

▲ Music & a radio DJ

Full multi-room music control, plus an opt-in DJ mode: a voice that speaks a short, language-matched intro over each new song, grounded in real artist facts.

▲ Presence & a family map

Knows who's home and who's together, and feeds a live people layer and custom places to a self-hosted map — without ghosting on a stale GPS fix.

▲ Mail, calendar & contacts

Reads and sends email, keeps a shared calendar with reminders it actually delivers, and resolves "email so-and-so" against an address book.

▲ Deep research

One ask becomes a cited brief: it plans, searches, fetches, compresses, and synthesizes — bounded and runnable in the background.

▲ Sees & speaks

Describes a camera view on request, generates images, and talks back through natural text-to-speech — all on local GPUs.

▲ Resilient & self-aware

A backup brain and load-sharing keep it alive if one model host drops; it logs its own failures and distils them into rules to avoid next time.

The voice door

From a spoken word to an answer

Small satellites around the house listen all the time. A gate on the GPU server decides which sentences are meant for Muninn, and the answer comes back out of the same room it was asked in. The tablets run Bifrost.

IN THE ROOMS each finds speech, then asks the GPU server Linux PCs find speech themselves a voice-assistant client on two PCs Android · Bifrost find speech themselves wall tablets and spare phones running the Bifrost app Older 32-bit tablets can't; stream raw audio too old to run speech detection on the device ON THE GPU SERVER speaker-ID voiceprints speech-to-text Parakeet TDT wake words openWakeWord vad-stream for the old tablets asks raw audio every sentence heard transcript · speaker · loudness · room chime, orb THE GATE · VOICE-HUB is this for Muninn? 1 floors too quiet · the device's own music · TV on · its own voice 2 language guess English or Spanish from the words 3 classify small local model + one-token “for me?” score 4 decide wake word · its name · addressed · conversation · silence 5 coalesce same person on several mics: loudest wins, 0.8 s window Every clip is logged so the gate can be measured. A dropped clip stops here. small classifier model on the GPU server asks log + clips → hand-labelling tool every clip if it's for Muninn device · words · language · speaker MUNINN the brain who? voiceprint → person · below 0.4 confidence → “unknown” where? device → room → that room's speaker how? persona → model → tools, allowed by role Home Assistant Music Assistant timers · photos · speak tools reply text VOICE OUT text-to-speech Spanish → OmniVoice English → Kokoro music ducks while it speaks plays on the same room's speaker
One spoken sentence, from mic to speaker. The sentence only travels down the middle; everything on the right answers a question along the way. All of it runs on local hardware.
the sentence and the reply a lookup on the GPU server the chime sent back on engage
Four ways to reach it

One mind, many doors

Matrix — an end-to-end encrypted chat bot Terminal — a local TUI sharing the same memory Web — a browser surface with sign-in Voice — wake-word-free, hands-free speech