Most “agent memory” is a black box living in someone else’s database. I wanted the opposite: a memory layer I actually own, that lives on my machine as a file I can read, diff, and roll back. So I built Agent Library and we open-sourced it.
Why “Library” Beats “Memory”
It turns out the framing matters - even to the model. “Store this in your library” works better than “remember this.” A library has structure: things are filed, indexed, and retrievable on purpose. “Memory” implies a fuzzy bucket the agent dips into and hopes for the best. Agent Library leans all the way into the library metaphor, and the read/write split that comes with it.
The project actually started as a small Obsidian tool for my own notes before it grew into a general-purpose library for agents.
Local-First by Design
Agent Library is opinionated, and the central opinion is local-first:
- Your knowledge base is a file you own - you can diff it and roll it back like any other source-controlled artifact.
- The whole stack runs locally on SQLite. No remote service required to read or write.
- Retrieval is a real hybrid search pipeline (BM25 for lexical, reciprocal rank fusion to combine signals, and MMR to keep results diverse) rather than a single embedding lookup.
Agent Library vs Arcade
A fair question: how does this relate to Arcade? They solve different halves of the same problem.
- Agent Library is local context: the agent’s personal, owned knowledge base.
- Arcade is remote action and context: secure tool calling, authorization, and the thousands of integrations an agent needs to act in the outside world.
You can use them together - a local library for what the agent knows, Arcade for what the agent can securely do.
Walkthrough
Here’s a walkthrough of the design decisions behind Agent Library:
Read the full writeup on the Arcade blog, and grab the code on the Arcade GitHub.
For more about Arcade check out the website at https://www.arcade.dev/ and the GitHub https://github.com/arcadeai/
Comments