Skip to main content
株式会社オブライト
AI2026-08-236 min read

OpenViking Explained: Context Database for AI Agents

OpenViking is an open-source context database from Volcano Engine unifying AI agent memory, knowledge, and skills as a filesystem for traceable retrieval.


OpenViking is an open-source "context database for AI agents" published on GitHub by Volcano Engine, the ByteDance-affiliated cloud provider. Its official tagline is "Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills." Rather than treating retrieval as a vector-DB black box, OpenViking manages an agent's memory, knowledge (resources), and skills through a unified filesystem paradigm.

How It Works: viking:// and Tiered Loading

At the core of OpenViking is the viking:// virtual filesystem URI scheme. Project documentation might live at viking://resources/my_project/docs/api/, a user's preferences at viking://user/{user_id}/memories/preferences/, and skills or peer information under .../skills/ or .../peers/. Agents can "browse" these paths with familiar commands such as ls, tree, and find, which makes the search trajectory — which directories were traversed and how the agent arrived at an answer — visible and debuggable.

How OpenViking works: an AI agent queries the OpenViking server, which browses the viking:// virtual filesystem (memories, resources, skills) with find/ls/tree and loads L0 abstract → L1 overview → L2 details only as deep as needed; session memory is auto-committed to memories
viking://resources/volcengine/OpenViking/
├── README.md
├── docs/
│   ├── agent-integrations/
│   └── quickstart/
└── examples/

Content is loaded in three tiers. L0 (Abstract) is a roughly 100-token, one-sentence summary used to check relevance. L1 (Overview) is about 2,000 tokens covering structure and key points, used for planning. Only when truly necessary does the agent load L2 (Details), the full raw data. Directory search similarly drills down progressively starting from the highest-scoring directory, so only the depth actually needed is read — a design meant to conserve tokens. OpenViking also automatically turns session conversations into memories of user preferences and agent experience, a "self-evolving" mechanism.

Why Conventional RAG Falls Short

Conventional vector-DB-based RAG retrieves relevant chunks primarily through embedding similarity search. This approach carries several recurring issues: (1) it can be a black box, making it hard to see which chunk was chosen and why; (2) injecting bundles of related chunks tends to inflate token usage; (3) the retrieval process is difficult for humans or the agent itself to trace; and (4) there is typically little mechanism for reusing and evolving a single retrieval result as memory over time. OpenViking aims to address these issues through a filesystem paradigm that is already familiar to agents, combined with L0/L1/L2 tiered loading.

OpenViking vs. Vector-DB RAG vs. Built-in Agent Memory

AspectOpenVikingConventional Vector-DB RAGBuilt-in Agent Memory
Unit of managementFilesystem-like directories (memory/resources/skills)Vectorized chunksFragments in conversation logs or prompts
Retrieval visibilityTraceable via ls/tree/findBlack-box similarity scoringInternal state often undisclosed
Token efficiencyL0→L1→L2 tiered loading fetches only the depth neededRelated chunks tend to be injected in bulkContext tends to bloat as history accumulates
Memory self-evolutionAuto-memorizes from sessions (self-evolving)Often requires explicit re-indexingDepends on the agent or framework
Skill managementUnified under viking://.../skills/Often managed in a separate systemOften lacks a standardized mechanism

Supported Agents and Models

OpenViking is designed to integrate with a range of agent environments and models. Agent integrations mentioned in the official documentation include MCP clients such as those described in our Claude Code MCP integration guide, Codex, OpenClaw (see our guide to building a RAG knowledge base with OpenClaw), Hermes, Cursor, TRAE, OpenCode, pi, Agent Plugins 1.0, and LangChain/LangGraph, with detailed steps documented in the official docs' Agent integrations section.

- Claude Code
- Codex
- OpenClaw
- Hermes
- Cursor
- TRAE
- OpenCode
- pi
- Agent Plugins 1.0
- MCP clients
- LangChain/LangGraph

The default models are Volcengine Doubao 2.0 Pro (VLM) for reasoning and Doubao-embedding-vision-251215 for embeddings, with support for OpenAI, Codex OAuth, Kimi, GLM, and locally-run Ollama models as well.

Quickstart

Setup follows the steps in the official README:

pip install openviking --upgrade
openviking-server init
openviking-server doctor
openviking-server

Once running, the ov command is used to operate on context:

ov status
ov add-resource https://github.com/volcengine/OpenViking
ov ls viking://resources/
ov tree viking://resources/volcengine -L 2
ov find "what is openviking"

Benchmarks (Vendor-Reported)

The following figures come from the official README for OpenViking 0.3.22; note that all numbers are figures reported by the developer.

MetricBeforeAfter
LoCoMo (OpenClaw)24.20%82.08%
LoCoMo (Hermes)33.38%82.86%
LoCoMo (Claude Code)57.21%80.32%
tau2-bench (Retail)70.94%77.81% (+6.87pt)
tau2-bench (Airline)54.38%66.25% (+11.87pt)

The same README reports a 34.3–91.0% reduction in input tokens and a 58.45–66.10% improvement in query latency.

License and Commercial Use

OpenViking's core is published on GitHub under AGPLv3, while crates/ov_cli and the examples are under Apache 2.0. Anyone embedding it in a commercial SaaS product should pay close attention to AGPL's conditions, including source disclosure obligations. Beyond the open-source release, Volcano Engine offers a managed edition (available in China), a globally available edition planned through BytePlus, and a Self-Managed Edition for BYOC/air-gapped environments. On the research side, the "VikingMem" paper (arXiv 2605.29640) underlying its core memory-management capability has been accepted at VLDB 2026.

Where This Fits for SMBs and Contract Development

In general terms, scenarios where an AI agent references internal company knowledge, or where a long-running support bot needs to accumulate memory from ongoing user interactions, are cases where visible retrieval and depth-limited, tiered context loading can be useful. As document volume grows, vector search noise tends to become more of a problem, so a filesystem-like approach to organizing directories can be a good fit for operations with frequent additions and updates.

Frequently Asked Questions

How is this different from conventional RAG?

Conventional vector-DB RAG performs black-box retrieval based on embedding similarity. OpenViking instead represents memory, knowledge, and skills through a filesystem-like viking:// URI scheme, making the retrieval process visible via commands like ls/tree/find, and it loads only the depth actually needed through L0/L1/L2 tiered loading.

Is it free to use?

The OpenViking core is free, open-source software released under AGPLv3, while crates/ov_cli and the examples are under Apache 2.0. If you embed it in a commercial SaaS product, you need to check AGPL's conditions, including source disclosure obligations. A separate commercial managed edition from Volcano Engine also exists.

How do I use it with Claude Code?

The official Agent integrations documentation describes integration steps for Claude Code and other agents. The basic approach is to inject OpenViking's recall results into the agent's context and automatically commit information gathered during the session back into memory.

Can it handle Japanese-language documents?

The official README and docs do not explicitly mention Japanese-language support. The default embedding model is Doubao-embedding-vision-251215, but OpenAI and Ollama models are also supported, so how well Japanese documents are handled likely depends on the embedding model you choose. It's worth testing against your own documents before adopting it.

Summary

OpenViking is an open-source context database that unifies an AI agent's memory, knowledge, and skills under a filesystem paradigm, aiming to combine visible retrieval with token efficiency through the viking:// URI scheme and L0/L1/L2 tiered loading. Its benchmark figures are vendor-reported, and its AGPLv3 license carries real conditions to understand — but it is a project worth evaluating for how it might fit into your own agent operations.

Feel free to contact us

Contact Us