DBDelve
Dive deep into your data. A fast, native, multi-engine database client written in Rust. Free and open source, no telemetry.
翻訳待ち
Memory that knows when facts change: atomic memories extracted from conversation, contradictions caught, stale facts superseded — history kept. Served from a single SQLite file to agents like Claude C
翻訳待ち
開発ツールJavaScript · CSSGitHub @arun-dev-desオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Self-hosted memory engine for AI agents that knows when facts change (80% on LongMemEval).
翻訳待ち
Loading the full README.
Read the full README ↗Self-hosted memory for AI agents. Extracts facts, detects contradictions, builds user profiles. Bring your own LLM. Your data never leaves your server.
▶ Live demo — greymemory.vercel.app — the full story with interactive exhibits, ending in a real LongMemEval memory graph served live from SQLite: hover to read memories, click to light a retrieval neighborhood, and run a one-click memory.search() against the live database. (npm · llms.txt)
Why the name? Named after Grey Matter from Ben 10 — the tiniest alien in the universe, but the smartest being in existence. Also a nod to grey matter in the brain, where intelligence actually lives. Small footprint. Quietly powerful.
Every AI agent forgets everything when the conversation ends.
The obvious fix is memory. But every solution — Supermemory, Mem0 — stores your data on their cloud. You're trading one problem for another.
greymemory runs entirely on your server:
Your data → your machine → your LLM → stays with you. Always.
Hospitals, banks, factories, defence — entire industries are locked out of AI memory because every solution requires trusting a third party with their most sensitive data. greymemory is built for them.
Tested against LongMemEval — the standard benchmark for long-term memory systems. 90 questions across 6 categories, compared against Supermemory (funded startup, cloud infrastructure).
| Category | greymemory | Supermemory | Gap |
|---|---|---|---|
| single-session-user | 93.3% | 97.1% | -3.8% |
| single-session-assistant | 93.3% | 96.4% | -3.1% |
| knowledge-update | 80.0% | 88.5% | -8.5% |
| temporal-reasoning | 73.3% | 76.7% | -3.4% |
| single-session-preference | 66.7% | 70.0% | -3.3% |
| multi-session | 66.7% | 71.4% | -4.7% |
| Overall | 80.0% | 83.4% | -3.4% |
96% of a funded startup's accuracy. Zero cloud dependency. $0.013 per session ingestion cost. SQLite on your own machine.
greymemory (this package) — the full memory engine. Contradictions are resolved at write time: an LLM classifier detects UPDATES / EXTENDS relationships, supersedes stale facts, and keeps full version history for time-travel queries, profiles, and derivations.greymemory-lite — the LongMemEval paper's recommended design and nothing else: ~1,600 lines, one dependency (better-sqlite3), zero LLM calls at read time. Contradictions are resolved at read time — results arrive chronologically sorted and a Chain-of-Note reading prompt tells the answering model that the latest same-topic item wins. Pick it when you want the simplest design that benchmarks in the same band as far heavier systems.claude-greymemory — a Claude Code plugin (in progress) that gives Claude persistent, self-hosted memory: hooks capture every conversation into a per-project greymemory database and inject relevant memories back at session start, plus an MCP server (grey_search / grey_add / grey_profile) and /grey-search, /grey-save, /grey-forget slash commands.The two libraries' databases are not interchangeable — lite refuses to open a database it didn't create. See the feature comparison in the lite README.
event_date values, sorts chronologically, and injects into the answering context. Improved temporal-reasoning by 13.3% (60% → 73.3%).document_date instead of the ingestion timestamp. Critical for temporal queries and asOf time-travel.memory.search() accepts an asOf parameter to query memory state at any point in time. End-of-day rounding ensures same-day sessions are visible.source_role (user vs assistant) as a first-class field. Enables filtering by who said what.The bundled greymemory-console renders your memory graph live over the same SQLite — nodes coloured by type (fact / preference / episode / raw chunk), edges by relation (EXTENDS, UPDATES, DERIVES, source-chunk), plus a time scrubber and live hybrid search. The capture above is a real 218-memory container from a LongMemEval run.
A hosted instance runs at greymemory.vercel.app (static client on Vercel, graph API + SQLite on Railway, serving four real LongMemEval users), or run it locally over your own database:
cd greymemory-console && npm run install:all && npm run dev
# → http://localhost:5173
npm install greymemory
npx greymemory init
The CLI asks a few questions and generates a ready-to-use config file:
This is the beginning of the README. Read the rest at the original. Read the full README ↗