The three memory layers
Nuggets separates memory into three cooperating layers:| Layer | Best for | Storage |
|---|---|---|
| FHRR facts | Short key-value facts recalled by query | .nugget.json files |
| Note graph | Rich notes with titles, tags, links, and context | ~/.nuggets/graph/graph.json |
| MEMORY.md | Permanent, high-value knowledge | Promoted from the note graph |
All memory is local. No cloud database, no embeddings API — just fast algebraic math and JSON files on your machine.
Key features
FHRR fact memory
Short facts are stored as phase-based complex vectors and recalled algebraically in about a millisecond. No embeddings or vector database required.
Living note graph
Richer memory lives in a Zettelkasten-style graph with titles, content, tags, links, and deterministic FHRR vectors. Graph search uses both text overlap and FHRR similarity.
Autonomous rewriting
The assistant runs a daily cleanup pass that merges near-duplicates, improves tags, adds related links, and archives low-value notes — without any manual intervention.
Multi-channel gateway
Connect Telegram, WhatsApp, and Discord to a single AI backend. The proactive system handles heartbeat follow-ups, cron reminders, and scheduled maintenance.
Backend modes
Choose between Pi, Codex CLI, or a local OpenAI-compatible server (Ollama, MLX). Switch backends without changing your memory data.
Skills
Skills live in a Nuggets-owned registry at
skills/<id>/. Each skill has a skill.json for metadata and a SKILL.md for instructions. Manage sticky skills in chat with /skills, /skill use, and /skill remove.Architecture
How it flows
- You send a message.
- The backend answers and can query Nuggets first.
- Useful facts or notes get stored.
- High-value notes are promoted to
MEMORY.md.
- A heartbeat or cron fires.
- The agent checks if it should message you.
- A silent maintenance job can also trigger
reflectAndCleanMemory.
Get started
Install Nuggets and send your first message in under five minutes.