Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ori-Mnemos

Source: github.com/aayoawoyemi/Ori-Mnemos Language: TypeScript | Status: Active (62 stars)

Persistent cognitive memory system for AI agents — knowledge graph with learning layers, identity resources, and adaptive retrieval.

What It Does

Ori-Mnemos treats agent memory as a learning problem, not a lookup problem. It builds a knowledge graph from markdown files (wiki-links + learned co-occurrence edges), runs 4-signal retrieval (semantic + BM25 + PageRank + warmth), and continuously improves via three learning layers that reshape the graph with every interaction.

Agents get persistent identity (goals, methodology, reminders) and a memory system that decays, reinforces, and prunes like biological memory. All local — markdown + SQLite, no cloud dependencies.

Key Features

  • 4-signal RRF fusion: semantic embeddings, BM25, Personalized PageRank, associative warmth
  • 3 learning layers: Q-value reranking, co-occurrence edge learning (Hebbian/NPMI), stage meta-learning (LinUCB)
  • Knowledge graph: wiki-links + learned co-occurrence edges with homeostasis normalization
  • 3 memory zones: identity (slow decay), knowledge (1x), operations (fast decay)
  • Agent identity resources: personality, goals, methodology, daily context, reminders
  • 16 MCP tools + 5 identity resources + 16 CLI commands
  • Local embeddings: all-MiniLM-L6-v2 via Hugging Face transformers
  • Storage: markdown files + SQLite (indexes and learning state)
  • 579+ tests (vitest)

Notable Tools

ToolPurpose
ori_orientDaily briefing — status, reminders, goals, vault health
ori_query_rankedFull retrieval with Q-value reranking + stage meta-learning
ori_exploreRecursive graph exploration with sub-question decomposition
ori_warmthAssociative field showing resonant notes in context
ori_promoteGraduate inbox notes to typed notes with classification
ori_query_fadingLow-vitality candidates for archival

Comparison to kb-mcp

AspectOri-Mnemoskb-mcp
Primary useAgentic memory with learningCurated knowledge base retrieval
LanguageTypeScriptRust
StorageMarkdown + SQLiteMarkdown + memvid-core .mv2
Search4-signal RRF (semantic + BM25 + PageRank + warmth)BM25 + optional vector (memvid-core)
Learning3 layers (Q-value, co-occurrence, stage meta)None — static index
GraphWiki-links + learned edges + PageRankSection hierarchy only
IdentityGoals, methodology, reminders, daily contextNot supported
Decay/vitality3 memory zones with configurable decay ratesNone
Tools16 MCP + 5 resources9 MCP tools
CLI parityYes (dual-mode)Yes (dual-mode)
Auto-reindexIncremental embedding updatesDirectory mtime detection
Recall@590% (HotpotQA multi-hop)Baseline BM25
Latency~120ms (full intelligence)Sub-100ms (BM25)

Relationship: Ori is a superset in ambition — it does everything kb-mcp does (markdown indexing, search, MCP tools) plus graph-based learning, identity management, and adaptive retrieval. kb-mcp is simpler, faster, and Rust-native. They solve overlapping but different problems: kb-mcp is a library you search; Ori is a brain that learns.

Patterns Worth Adopting

  • Q-value learning on retrieval — tracking which search results agents actually use (forward citations, re-recalls, dead-ends) to improve future ranking. Could inform a future kb-mcp relevance layer.
  • Co-occurrence edges — notes retrieved together form stronger associations. Lightweight to implement on top of existing search.
  • Identity resourcesori://identity, ori://goals etc. give agents persistent context. kb-mcp’s kb_context serves a similar purpose but without the identity layer.
  • Memory zones with decay — different decay rates for identity vs operational knowledge. Relevant for kb-mcp’s future Knowledge Keeper.
  • Stage meta-learning — learning to skip expensive retrieval stages when they don’t contribute value. Relevant if kb-mcp adds more retrieval signals beyond BM25.
  • Vault health diagnosticsori_health checks index freshness, orphan notes, dangling links. Could complement kb-mcp’s kb_digest.