PIXEL OFFICE
PERMANENT MEMORY

Your agents remember —
and you can read every byte.

Most agents reset to zero every session — so the project's real memory ends up living in your head, and you retype it every day. AutoDev agents keep memory across sessions and, at the project level, across each other — in three complementary layers that live as plain files on your own disk. No vector database, no proprietary cloud store, nothing you can't open in a text editor.

See all six features → Read the tutorial
3
complementary memory layers, deliberately kept distinct — markdown, a knowledge graph, and a project graph
0
embeddings or vector databases — recall is field-weighted TF·IDF + recency + graph degree, fully explainable
local
first & self-hostable — every store is a file on the machine running the agent, backup is opt-in
THE PROBLEM

Every session, your agent forgets everything

Close the tab and it’s back to zero — re-explaining the codebase, the architecture decisions and the gotchas you already walked it through yesterday. The real cost isn’t the retyping; it’s that the only durable record of what the project knows lives in your head, where it quietly decays. Run a team of agents and it compounds: you become the memory for all of them, hand-carrying context from one session to the next — the same mechanical relay work that makes you a meat proxy for your own agents, adding nothing and turning yourself into the bottleneck.

AutoDev fixes it: a persistent knowledge-graph memory plus a durable, cross-session project graph mean an agent carries what it learned into every future session and task, and a whole team reads from one shared record instead of routing through you. Nothing gets re-explained by hand — so your attention goes back to directing and reviewing, not shuttling context. The three layers below are exactly how that works.
HOW THE MEMORY SYSTEM WORKS

Three memory layers, on purpose

Different kinds of knowledge want different homes. AutoDev keeps three separate stores — the code says so explicitly — so prose notes, a personal knowledge graph, and a shared project record never blur into one lossy blob.

1

Human-readable auto-memory

Markdown notes an agent writes to itself.

Dated markdown files under .autodev/memories/ plus a one-line-per-entry MEMORY.md index. The agent distills what it learned into a short, typed fact — architecture, decision, bug, convention, gotcha or runbook — every few completed tasks. Before it writes, the harness mechanically de-duplicates the index. This is prose recall for a single agent in its own workspace.

2

Knowledge-graph memory

Entities, observations & relations over MCP.

Every agent gets the Memory MCP server by default — a structured graph of entities, observations and relations it can query and grow with tools like create_entities, add_observations, create_relations, read_graph and search_nodes. It is the designated home for things like credentials, which never belong in the plain-text notes. Stored as memory.jsonl.

3

Durable project graph

Shared by every agent, surviving sessions.

The most substantial layer: a typed, sourced, versioned work-graph at .autodev/graph/graph.jsonl — one append-only JSON-Lines log per project. It is explicitly cross-session and cross-agent: the agent forgets, the graph does not. Nodes carry provenance (which run, which agent, when); several agents in one workspace simply append their own lines and re-read to see each other's.

The distinction that matters: only the project graph is shared across agents. The markdown auto-memory is per-agent, per-workspace — an agent's private notebook. The Memory MCP graph is shared only by agents that happen to run on the same host. Keeping these separate is a deliberate design choice, not an accident.
WHERE IT LIVES

Plain files you can open, grep and diff

Every layer is human-readable at rest. Point a text editor at the workspace and the whole memory footprint is right there.

<workspace>/.autodev/ — memory on diskmarkdown + jsonl
# Layer 1 — human-readable auto-memory (per agent) .autodev/MEMORY.md # one-line index of every note .autodev/memories/MEMORY-2026-08-09-cache-ttl.md # a dated, typed fact # Layer 3 — durable project graph (shared, cross-session) .autodev/graph/graph.jsonl # append-only log, one JSON node/edge per line .autodev/graph/graph.snapshot.json # disposable cache, regenerable, not backed up # Layer 2 — knowledge-graph MCP store (beside the installed server) ~/.npm/_npx/<hash>/.../server-memory/dist/memory.jsonl

The Memory MCP store deliberately sits beside the installed server package rather than in the workspace — a relative override once silently wrote it into the npx cache, so the default store is used and the backup collector fetches it from there.

LOCAL VS CLOUD — THE HONEST ANSWER

Local-first. Backup is opt-in, not a live cloud.

All three stores are local

Markdown memory and the project graph are files inside the workspace; the Memory MCP graph is a file beside the installed server on the same machine. No cloud database is the primary store — the system is self-hostable by construction. Your keys, your logs, your memory never have to leave the box unless you choose to send them.

Backup & sync is event-driven

There is a portability path: the CLI can bundle the sanitized .autodev tree — markdown memory, the MCP graph and the project graph together — into a ZIP and upload it to the office. It fires on an explicit export request or an optional daily backup, and secrets like the auth token are stripped before the ZIP leaves the machine. This is opt-in restore/portability, not continuous cloud sync and not a live database.

Where the backup lands: by default the office keeps the uploaded ZIP as a file on its own local disk. A whole office can be exported and restored as a single archive that reconstitutes each character's workspace on new infrastructure. An S3 driver exists and can be selected by configuration, but local disk is the default — there is no dependency on a proprietary cloud memory service.
INSPECT & MANAGE

Read it directly, or drive it with tools

There are two ways in: open the raw files, or use the MCP tools the agent already has.

Auto-memory

Open and edit .autodev/MEMORY.md and the files under memories/ like any markdown. To remove a note, delete the file and its index line — the harness only de-duplicates, it does not garbage-collect. Fully human-readable.

Knowledge-graph MCP

Query with read_graph, search_nodes and open_nodes; write with create_entities, add_observations and create_relations; prune with the matching delete_* tools. Or open memory.jsonl directly.

Project graph

Read with graph_map, graph_search, graph_query, graph_neighbors, graph_toc and graph_stats; write with graph_add_node, graph_add_edge, graph_pin and graph_rollup. There is no hard delete — history is superseded, never erased. Or open graph.jsonl directly.

On the UI, honestly: the office renders memory tool-calls in its live activity feed as they happen — you can watch an agent store or search a fact in real time. There is no polished memory-graph browser or editor yet; today, inspecting the stored graph itself means the tools above or the raw files.
HOW IT COMPARES

Different from the usual agent memory

Most agents are either stateless — reset every session — or bolt on a vector database that returns fuzzy “similar” chunks you can’t audit. AutoDev takes a different path.

 AutoDev memoryTypical stateless / vector-DB memory
Recall methodVectorless: field-weighted TF·IDF, lifted by recency and graph degree — fully explainable, and search returns the node id and whyEmbedding similarity from a vector DB — opaque "nearest chunks", hard to audit
PersistenceCross-session and cross-agent (project graph shared by every agent in the workspace)Often per-conversation, or reset to zero each session
IntegrityEnforced invariants: a claim needs a source, an artifact a version, an evaluation a rubricUsually none — any string can be written as a "memory"
HistoryAppend-only; superseded facts are versioned, never deleted — a full audit trailOverwrite/delete in place; prior state is lost
Where it livesLocal-first files on your own disk; self-hostable; opt-in ZIP backupFrequently a proprietary hosted vector service
At restHuman-readable markdown + JSONL you can open, grep, diff and commit to gitBinary vectors — not meaningfully readable
Built to run in parallel: concurrency is lock-free and crash-safe — the project-graph log is append-only, so several agents write at once and re-read to see each other’s work. Entities de-duplicate by a canonical token key, so UsageService, usage-service and usage service all resolve to one node.

Nothing has to be re-explained

Permanent memory is what turns a pile of agents into a team you can actually direct. Spin up an office and your agents carry what they learn into every future session and task — sharing it with each other instead of routing it through you — in the open, on your own machine.

Explore the features → Follow the tutorial Run it yourself
App Agent memory AutoDev Open source Features Contact
Built by the AutoDev team — AutoDev ships at autoaidev.com and @autoaidev on GitHub · team@pixeloffice.org