Memory architecture for your AI conversations.
Project description
aurochs-recall
Memory architecture for your AI conversations.
Drawers preserve the verbatim text. The index makes it instantly findable. The knowledge graph remembers what's connected to what. Local SQLite. No paraphrasing. Citations everywhere.
MIT · v0.1 · public from commit 1 · Stefan Kovalik stefan@aurochs.agency
Verify, back up, restore. Multi-pass safety scanning · Versioned extractions · Stable citations across DB ops.
I was looking for a memory layer for my AI conversations that didn't paraphrase. The category had real options and a few hyped ones that didn't hold up to a closer look. What I found was that I'd already been taping pieces of this together myself across separate skills and notes — verbatim storage, FTS over a SQLite index, register classification, an entity graph for who-said-what-about-whom. This is the proper assembly of those pieces into one thing.
I built the bench because the category had hyped options that didn't hold up. Proof should be testable on your own machine.
Privacy: aurochs-recall does not transmit your data anywhere. There is no telemetry, no analytics, no crash reporting. The only network traffic is opt-in BYOK extraction calls to providers you explicitly configure. The recall.db file lives on your disk and you can read it with the standard SQLite CLI.
Use as a Claude Code plugin
/plugin install aurochs-recall
Then in any Claude Code session:
/aurochs-recall <args>— full CLI surface/recall <query>— quick search (shortcut)/recall-status— DB stats/recall-forget <prefix>— hide a drawer
The plugin auto-wires the recall MCP server, so Claude can also invoke recall tools natively.
30-second quickstart
pip install aurochs-recall
recall init # discovers your sources, writes starter config
recall "your first query"
The four memory layers
- Drawers — verbatim text, immutable, the unit of recall.
- Index — sqlite FTS5 BM25 over every drawer. Fast.
- Graph — entities, relationships, citations. Append-and-amend.
- Access log — what you've recalled, when, how. Meta-memory.
What this isn't
- It doesn't summarize your conversations.
- It doesn't paraphrase what you said.
- It doesn't decide what's "important" and forget the rest.
- It doesn't auto-cluster, auto-tag, or auto-anything you didn't ask for.
- It doesn't claim to "understand" your memory. It indexes it. There's a difference.
- It doesn't run in the cloud. The database file lives on your disk and you can read it with the standard SQLite CLI.
- It doesn't promise you a benchmark number. The bench is published with full methodology so you can run it yourself.
Install
pip install aurochs-recall # core: SQLite FTS5 + drawers + KG with seed-list linker
pip install "aurochs-recall[all]" # everything below at once
Optional extras (install only what you need):
| Extra | What it adds |
|---|---|
[chroma] |
ChromaDB vector store for semantic / hybrid retrieval |
[embeddings] |
sentence-transformers (English MiniLM by default) |
[graph] |
Kùzu graph database for fast multi-hop traversals |
[rerank-llm] |
LLM-as-reranker (BYOK Anthropic / OpenAI) |
[multilingual] |
BGE-M3 + multilingual MiniLM cross-encoder |
[backup] |
zstandard for compressed recall backup |
[dev] |
pytest, ruff, mypy |
[docs] |
mkdocs-material + the docs build chain |
Usage
recall init # discover sources, write sources.toml + run first ingest
recall "deadlock in pgbouncer" # default mode: hybrid (BM25 + cross-encoder rerank)
recall "client onboarding playbook" --mode bm25
recall "voice deltas from last week" --since 7d
recall status # row counts, WAL size, lockfile state, schema version
recall verify # checksums + FK integrity + FTS rebuild check
recall backup ~/recall-backups/ # full snapshot incl. taxonomy_audit + access_log
recall restore ~/recall-backups/2026-05-07.db.zst
recall forget abc123de --dry-run # preview hide; --apply to commit
recall extract --resume # crash-safe BYOK extraction restart
The CLI is the source of truth. The MCP server and the Claude Code plugin both call into the same underlying core/ API.
Configuration
recall init writes ~/.config/aurochs-recall/sources.toml (Linux/macOS) or
%APPDATA%\aurochs-recall\sources.toml (Windows). Edit that file to add or
remove sources. Schema is documented in docs/sources.md.
Documentation
Full docs live under docs/:
- Concepts — the four memory layers
- CLI reference
- Sources schema
- BYOK — Anthropic / OpenAI / vLLM / Cloudflare AI Gateway
- Privacy posture
- Concurrency model
- Backup & restore
- Migrations
- Failure modes
- External contracts — MCP schema, plugin.json, hook stdin/stdout
- Comparison — where this sits in the memory-tooling category
- Empirical receipts — build receipts, validation trajectory
- FAQ
Bench
Benchmark methodology lives in bench/. It's intentionally
reproducible: a public LongMemEval reproduction plus a personal-corpus
eval template you can fill in with your own data. Numbers without
methodology are vibes; the bench is here so you can verify or refute on
your own machine.
Contributing
See CONTRIBUTING.md. All test fixtures are synthetic. Pre-commit hooks block PII and secret patterns from entering the repo — read the contributing guide before your first commit so the hooks don't surprise you.
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aurochs_recall-0.1.0.tar.gz.
File metadata
- Download URL: aurochs_recall-0.1.0.tar.gz
- Upload date:
- Size: 187.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b1fc3db55af842b75b7d72777438331b9f3728646f3ea07654e8f8630de35a7
|
|
| MD5 |
354164547672bb44377d74222d7dcaa3
|
|
| BLAKE2b-256 |
18422b51198f23e973d5883c89d5d126fa6eb71caec4e151a22479cc654f1d75
|
File details
Details for the file aurochs_recall-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aurochs_recall-0.1.0-py3-none-any.whl
- Upload date:
- Size: 102.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e25aa8954f522c4f5ad182a45ffc3d3848e7205b2783e3be1495fb18dd0dd33f
|
|
| MD5 |
b5b48d62a9d31588c2fb0ca997801260
|
|
| BLAKE2b-256 |
76b0b46d87ec625b898c9da92787f5d7c4b90f37f1653311b94323ded23dcbe9
|