mnemon
Workflow
- Remember:
mnemon remember "<fact>" --cat <cat> --imp <1-5> --entities "e1,e2" --source agent- Only exact content repeats are skipped; distinct content is stored and diff suggestions are advisory.
- To retire a superseded memory, store and verify the new fact, then explicitly run
mnemon forget <old-id>. - Output includes
action(added/skipped),semantic_candidates,causal_candidates.
- Link (evaluate candidates from step 1 — use judgment, not mechanical rules):
- Review
causal_candidates: does a genuine cause-effect relationship exist?causal_signalis regex-based and prone to false positives — only link if the memories are truly causally related. - Review
semantic_candidates: are these memories meaningfully related? Highsimilarityalone is not sufficient — skip candidates that share keywords but discuss unrelated topics. - Syntax:
mnemon link <id> <candidate> --type <causal|semantic> --weight <0-1> [--meta '<json>']
- Review
- Recall:
mnemon recall "<query>" --limit 10
Recall Intent
Keep focused queries and memories in their original language. When the user's
meaning is clear, choose --intent WHY (reasons), --intent WHEN (timing),
--intent ENTITY (what/who), or --intent GENERAL (neutral retrieval).
For example: mnemon recall "<query>" --intent WHY. The override works in any
language; --verbose reports
meta.intent and meta.intent_source (auto or override).
Automatic cues cover some forms in English, Mandarin Chinese (simplified and traditional), Hindi (Devanagari), Spanish, Modern Standard Arabic, French, Bengali (Bengali script), Portuguese, Indonesian (Latin script), Russian (Cyrillic), and German. Unrecognized forms use GENERAL; conflicting cues involving additional languages also use GENERAL. English/Chinese-only scoring is preserved. This is a lexical heuristic, not full language understanding. See the supported forms, script variants, and limits.
Commands
bashmnemon remember "<fact>" --cat <cat> --imp <1-5> --entities "e1,e2" --source agent mnemon link <id1> <id2> --type <type> --weight <0-1> [--meta '<json>'] mnemon recall "<query>" --limit 10 mnemon search "<query>" --limit 10 mnemon import --dry-run <file> mnemon import <file> mnemon forget <id> mnemon related <id> --edge causal mnemon gc --threshold 0.4 mnemon gc --keep <id> mnemon status mnemon log mnemon store list mnemon store create <name> mnemon store set <name> mnemon store remove <name>
Import Historical Chats
When the user asks to import old chats, notes, or exported context, create a
memory_draft.json with schema_version: "1", insights entries containing
content, category, importance, tags, entities, and optional
created_at, plus optional edges using source_index, target_index,
edge_type, weight, and reason. Run mnemon import --dry-run <file>,
then run mnemon import <file> only after validation passes. After import,
verify with mnemon status and a focused mnemon search or mnemon recall.
Check the output errors field because imports can partially succeed.
Guardrails
- Main conversation: never run
rememberorlinkdirectly; delegate to a Task sub-agent. - Memory sub-agent: you are the leaf writer. Run
mnemon rememberand any justifiedmnemon linkcommands directly; do not spawn another sub-agent. - Do not store secrets, passwords, or tokens.
- Categories:
preference·decision·insight·fact·context - Edge types:
temporal·semantic·causal·entity - Max 8,000 chars per insight.


