Skip to content

ezraphm/trove

Repository files navigation

Trove Memory Provider

Markdown-vault hybrid memory provider for Hermes Agent.

Hybrid architecture: episodic journal + semantic markdown pages + FTS5 search + dreaming consolidation + L1 injection.

Install

hermes plugins install ezraphm/trove
hermes plugins enable trove
hermes gateway restart

Inspired by Aside Memory Architecture — hybrid markdown-vault design, episodic journal, dreaming consolidation. Adapted for the Hermes plugin system.

Directory Layout

$HERMES_HOME/trove/
├── MEMORY.md        ← L1: agent rules (injected into prompt)
├── USER.md          ← L1: user profile (injected into prompt)
├── episodic/        ← Append-only journal YYYY-MM-DD.md
├── concepts/        ← Semantic knowledge pages
├── projects/        ← Project context pages
├── sites/           ← Site-specific knowledge
├── people/          ← People facts
├── companies/       ← Company knowledge
├── corrections/     ← Corrections (rank-boosted in search)
├── index.db         ← FTS5 search index (SQLite FTS5)
└── .dream-state.json

Tools (16)

Tool Description
trove_remember Write fact to semantic page (auto-category)
trove_recall Search memory (FTS5 + alias expansion + KG)
trove_forget Move fact from semantic to episodic
trove_episodic_write Append entry to journal (optional priority)
trove_episodic_read Read journal by date
trove_episodic_list List journal dates
trove_page_read Read semantic page
trove_page_update Update semantic page
trove_page_create Create new semantic page
trove_page_list List pages by category
trove_dream Run consolidation now
trove_dream_status Check dreaming state
trove_search Full-text search across all pages
trove_diff Show changes since last dream
trove_export Export to JSON
trove_import Import from JSON

Benchmark Results (Reference)

Zero-dep FTS5-only, session-level, evaluated on a MacBook Pro (Apple Silicon).

Benchmark Metric Score Notes
LongMemEval oracle recall@10 0.734 500 instances, filtered sessions
LongMemEval s recall@10 0.397 500 instances, full filler (paper-comparable)
BEAM 100K recall@10 0.907 170 docs, 400 queries
LoCoMo 10 recall@10 0.893 272 docs, 1540 queries
BrainBench world-v1 R@5 0.939 240 pages, 446 queries
Ingest throughput ~1,380 sessions/sec 19K sessions in 13.9s
Search latency (p50/p99) 60/130 ms 19K session corpus

Trove also bundles optional vector search (pip install trove[vector]) via sqlite-vec + BGE-small-EN + multi-query expansion + KG triple expansion, available through dream() consolidation. Not benchmarked.

Config

Only required field: hermes_home (auto-detected from Hermes).

Optional trove-memory.json:

{
  "episodicRetentionDays": 30,
  "dreamingMinHours": 24,
  "dreamingMinSessions": 5,
  "aliases": {
    "js": "javascript",
    "ts": "typescript"
  }
}

Page Frontmatter

Every semantic page stores auto-generated metadata:

  • importance {score, level, reasons} — critical/high/normal/low/trivial heuristic
  • confidence — explicit/implied/inferred/speculative via regex
  • status — active/superseded/archived
  • sources[date#slug, ...] for provenance tracking

Category Detection

trove_remember auto-classifies content into: concepts, projects, sites, people, companies, corrections. Keywords per category in tools.py._auto_category().

Corrections results get +1 rank boost in search.

About

Markdown-vault hybrid memory provider for Hermes Agent

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages