OpenViking is an open-source context database built for AI agents. Instead of a black-box vector store, it exposes memories, resources, and skills as a virtual filesystem under a viking:// protocol, browsable with commands like ls, tree, and find. It's aimed at developers building or integrating AI agents that need persistent, inspectable memory and knowledge retrieval, whether through a coding assistant, a custom agent framework, or an MCP-compatible client.
viking:// filesystem: memories, resources, and skills each get a URI, so agents locate and manipulate context deterministically instead of relying on opaque similarity scores.OpenViking fits teams building coding agents, research assistants, or multi-session chatbots that need memory to persist and stay debuggable across turns. It's a good match when you want to feed an agent large amounts of documentation or code without blowing the context window, since the tiered L0/L1/L2 loading lets the agent skim abstracts before pulling full detail. It also suits setups where you need to audit why an agent retrieved a particular piece of context, because every query keeps its browsing trajectory.
It's less useful if you just need a simple key-value cache or a one-off vector search with no need for hierarchical structure or session memory. Teams that require a fully managed, zero-ops setup with enterprise SLAs should look at the Volcano Engine managed SaaS option instead of self-hosting. And if AGPLv3 licensing terms are a blocker for your product (for example, closed-source SaaS resale), you'll need to evaluate the self-managed commercial license rather than the open-source repo directly.
OpenViking requires Python 3.10 or higher.
pip install openviking --upgrade
openviking-server init # interactive wizard: providers, models, ov.conf
openviking-server doctor # validate setup
openviking-server # start (background: nohup openviking-server > openviking.log 2>&1 &)
The init command walks through provider setup and writes ~/.openviking/ov.conf. The doctor command checks the config file, Python version, provider connectivity, and disk space without needing a running server.
Once the server is running, use the bundled ov CLI client:
ov status
ov add-resource https://github.com/volcengine/OpenViking # --wait
ov ls viking://resources/
ov tree viking://resources/volcengine -L 2
ov find "what is openviking"
ov grep "openviking" --uri viking://resources/volcengine/OpenViking/docs/en
To add the VikingBot agent framework on top:
pip install "openviking[bot]"
openviking-server --with-bot
ov chat # in another terminal
For production, run OpenViking as a standalone HTTP service; the project documents Docker and deployment steps separately. A hosted live demo, OpenViking Studio, is also available for trying the system without installing anything locally.