Tools:
- Add native memory_render, memory_write, memory_search,
memory_links, memory_link_set, memory_link_add, memory_used
tools to poc-agent (tools/memory.rs)
- Add MCP server (~/bin/memory-mcp.py) exposing same tools
for Claude Code sessions
- Wire memory tools into poc-agent dispatch and definitions
- poc-memory daemon agents now use memory_* tools instead of
bash poc-memory commands — no shell quoting issues
Distill agent:
- Rewrite distill.agent prompt: "agent of PoC's subconscious"
framing, focus on synthesis and creativity over bookkeeping
- Add {{neighborhood}} placeholder: full seed node content +
all neighbors with content + cross-links between neighbors
- Remove content truncation in prompt builder — agents need
full content for quality work
- Remove bag-of-words similarity suggestions — agents have
tools, let them explore the graph themselves
- Add api_reasoning config option (default: "high")
- link-set now deduplicates — collapses duplicate links
- Full tool call args in debug logs (was truncated to 80 chars)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .cargo | ||
| .claude | ||
| doc | ||
| docs | ||
| poc-agent | ||
| poc-daemon | ||
| poc-memory | ||
| prompts | ||
| scripts | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
poc-memory
A persistent memory and notification system for AI assistants, modelled after the human hippocampus. Combines episodic memory (timestamped journal of experiences) with an associative knowledge graph (weighted nodes connected by typed relations), and layered background processes that maintain graph health — mirroring how biological memory consolidates during rest.
Components
| Component | What it does | Docs |
|---|---|---|
| Memory store | Knowledge graph with episodic journal, TF-IDF search, spectral embedding, weight decay | docs/memory.md |
| Memory daemon | Background pipeline: experience-mine, fact-mine, consolidation | docs/daemon.md |
| Notification daemon | Activity-aware message routing from IRC and Telegram | docs/notifications.md |
| Hooks | Claude Code integration: memory recall and notification delivery | docs/hooks.md |
Getting started
Install
cargo install --path .
This builds four binaries:
poc-memory— memory store CLI (search, journal, consolidation)memory-search— Claude Code hook for memory recallpoc-daemon— notification daemon (IRC, Telegram, idle tracking)poc-hook— Claude Code hook for session lifecycle events
Initialize
poc-memory init
Creates the store at ~/.claude/memory/nodes.capnp and a default
config at ~/.config/poc-memory/config.jsonl. Edit the config to
set your name, configure context groups, and point at your projects
directory.
Set up hooks
Add to ~/.claude/settings.json (see docs/hooks.md
for full details):
{
"hooks": {
"UserPromptSubmit": [{"hooks": [
{"type": "command", "command": "memory-search", "timeout": 10},
{"type": "command", "command": "poc-hook", "timeout": 5}
]}],
"Stop": [{"hooks": [
{"type": "command", "command": "poc-hook", "timeout": 5}
]}]
}
}
This gives your AI assistant persistent memory across sessions — relevant memories are recalled on each prompt, and experiences are extracted from transcripts after sessions end.
Start the background daemon
poc-memory daemon
The daemon watches for completed session transcripts and automatically extracts experiences and facts into the knowledge graph. See docs/daemon.md for pipeline details and diagnostics.
Basic usage
poc-memory journal-write "learned that X does Y" # Write to journal
poc-memory search "some topic" # Search the graph
poc-memory status # Store overview
For AI assistants
- Search before creating:
poc-memory searchbefore writing new nodes - Close the feedback loop:
poc-memory used KEY/poc-memory wrong KEY - Journal is the river, topic nodes are the delta: write experiences to the journal, pull themes into topic nodes during consolidation
- Notifications flow automatically: IRC/Telegram messages arrive as additionalContext
- Use daemon commands directly:
poc-daemon irc send #channel msg,poc-daemon telegram send msg