agent-memory vs OpenViking
Neo4j Labs' graph-native agent memory: conversations, a POLE+O entity knowledge graph and reasoning traces in one store, with a 16-tool MCP server and hosted or self-hosted backends. — versus — Volcengine's context database: memories, resources and skills as one `viking://` filesystem agents ls, tree and grep — L0/L1/L2 tiers, traceable retrieval, sessions distilled into memory.
Two substrates for agent context: Neo4j Labs' POLE+O entity graph behind a 16-tool MCP server, versus Volcengine's viking:// filesystem an agent can ls, tree and grep. Graph semantics vs shell-native familiarity.
| agent-memory | OpenViking | |
|---|---|---|
| Stars | 486 | 33k |
| Forks | 95 | 2.5k |
| Language | Python | Python |
| License | Apache-2.0 | AGPL-3.0 |
| Last activity | 4 days ago | today |
| Topics | memory, knowledge-graphs | memory, rag, skills |
| Curated connections | 5 | 7 |
agent-memory — the curator's take
The pick when memory has to be queryable as a graph instead of a black box: entities resolve and dedupe, reasoning steps get explicit :TOUCHED audit edges to the entities they used, and you can adopt an existing Neo4j graph as long-term memory rather than re-ingesting. Multi-tenant scoping, buffered writes, consolidation primitives and an eval harness are already in the box, and the hosted NAMS tier lets you start with no database to run. Caveats: Neo4j Labs marks it Experimental and community-supported; extraction stacks spaCy/GLiNER/GLiREL plus an LLM pass, so ingest costs real time and tokens; and if you don't want a graph database in the stack at all, a Postgres- or file-backed layer is far less machinery.
OpenViking — the curator's take
Use it when opaque vector recall has burned you: every query keeps the directory-browsing trajectory that produced it, so a wrong answer is debuggable, and the L0/L1/L2 tiers let an agent judge relevance before paying for full content. It pays off most for long-lived agents with heavy reference material — repos, docs, per-user preferences — and there are documented hooks for Claude Code, Codex, Cursor, OpenCode, LangChain/LangGraph and plain MCP clients. Costs: it's a server plus semantic pre-processing on every write, so ingest is slow and not free; AGPLv3 rules it out of many closed products; and there's an obvious managed-SaaS path on Volcano Engine behind it. Wrong tool if you just want an in-process vector index.