Introducing Actrone Memory: open-source, local-first memory for AI agents
We open-sourced the memory layer every agent needs: two-tier recall, sensitivity-tagged facts and nothing to run to start. What it does, and what it does not.
Founder and CEO, Apocalypse Technologies
4 min read
Updated 1 October 2026. The first version gave the release date as 3 September and described the hosted platform, which has not launched, in the present tense. Both are corrected. The post now also names Postgres, pgvector and Valkey, says that fact extraction is opt-in, and quotes the benchmark as it runs today.
Every agent demo looks the same after the second exchange. Say your name, get a friendly reply, refresh the page, and the agent has no idea who you are. Most frameworks hand an agent a context window, not a memory: kill the process and it forgets everything it learned. We kept rebuilding the same missing layer across project after project, so we built it once, properly, and today we are giving it away.
Two tiers, not one big bucket
Actrone Memory splits memory the way a person recalls things: a hot tier for what just happened in this session, and a semantic tier for everything the agent has learned over time. Retrieval fuses dense embeddings, keyword search and recency into one ranked list, so an exact keyword match that a vector search would under-rank still surfaces. Context assembly is budget-aware: hand it a token budget and it fits what it returns to that budget, instead of blowing your context window or truncating blindly.
Every fact carries a sensitivity
Most memory libraries treat every remembered fact the same. Ours tags each one as none, low, personally identifiable information (PII) or sensitive.
When you turn on fact extraction, which is opt-in because every extraction is a model call, the extractor classifies each fact as it distils it from the conversation. Facts you write yourself with inject_memory carry the sensitivity you give them. That is the piece we think nobody else frames this way: memory that already knows what kind of data it is holding, before it ever reaches a compliance review.
Nothing to run by default
The default backend is local and in-process: an in-memory store and a local embedder, so there is nothing to run and no API key to get. When you are ready to scale, two independent switches take you to durable stores you may already run (Redis, Valkey or Postgres for recent turns, and Qdrant or Postgres with pgvector for long-term memory) and to a real embedding provider, local or cloud, your choice.
What it is not
We would rather say this plainly than have you find out later:
- No bitemporal knowledge graph and no self-editing memory blocks. Those belong to the hosted platform, which has not launched, not to this library.
- The Python adapters (LangChain, LangGraph, CrewAI and the rest) go deeper than the TypeScript ones today. We are not pretending otherwise.
- We have not published a head-to-head benchmark against Mem0, Zep, Letta or Cognee. The Python library ships its own quality eval that runs offline with one command,
python -m actrone_memory.benchmark, and CI fails if recall drops below 0.85. On its 14 bundled questions, with the keyword-only default embedder, it scores recall@5 of 1.0 today. That is a small set, so treat it as a regression gate rather than a leaderboard number. Comparative numbers will follow once we have actually run them, including the places we expect to lose.
A privacy caveat
Actrone Memory is local-first by default, and also cloud-capable: point it at any OpenAI-compatible model. Your data stays on your machine only while the models do too. Point it at a cloud provider and the raw text, including anything tagged as PII, is sent there; the library does not tokenize it first.
Our hosted platform, when it launches, will tokenize PII before inference, but that is a different product and a different promise. We would rather you know the line than assume it is already drawn for you.
Why we are giving it away
There is a larger governed-agent platform behind this, and we are not launching it today. This library stands entirely on its own, and it always will: MIT licensed, free, no account, no key required to start. Memory is infrastructure every agent needs. It should not be something every team rebuilds alone, or something you have to trust a black box to hold.
Install it with pip install actrone-memory or npm install actrone-memory. The quickstart runs in under five minutes with nothing else to set up. Star the repo, break it, file an issue; we read all of them: actrone-memory-py and actrone-memory-ts.