Openviking
OpenViking is an open-source context database designed specifically for AI Agents(such as openclaw). OpenViking unifies the management of context (memory, resources, and skills) that Agents need through a file system paradigm, enabling hierarchical context delivery and self-evolving.
Last verified:
What is Openviking?
OpenViking is an open-source context database designed specifically for AI Agents that unifies memories, resources, and skills using a filesystem paradigm. It replaces fragmented vector-only storage with a hierarchical directory structure (viking:// protocol) that organizes context for improved retrieval effectiveness and observability. The tool enables AI agents to have persistent memory, reusable skills, and structured knowledge instead of forgetting everything after each conversation.
Key features include filesystem-based management with familiar commands like ls, find, and grep; tiered context loading with L0 (abstract ~100 tokens), L1 (overview ~2K tokens), and L2 (full content) layers; directory recursive retrieval that combines vector search with hierarchical navigation; visualized retrieval trajectories for debugging; and automatic session management that extracts memories and enables self-evolving agents. It supports both Embedded Mode for local development and Client-Server Mode via HTTP API for multi-tenancy.
OpenViking is for AI agent developers, teams building long-running agent tasks, and anyone working with frameworks like OpenClaw or Hermes who needs better context management. It's built by the same ByteDance/Volcengine team that runs vector search behind TikTok since 2019 and is fully open source under AGPL-3.0 (with some components under Apache 2.0).
Openviking pricing
Pricing model: Freemium
OpenViking is 100% free and open source under AGPL-3.0 license (crates/ov_cli and examples are Apache 2.0). There is no paid tier or subscription - you can use it completely free. The only costs are for external AI model APIs you choose to use (OpenAI, Volcengine, Kimi, GLM, etc.), though OpenViking also supports free local models via Ollama. Volcengine provides a free tier for new users with free tokens upon first activation, sufficient to complete the OpenViking trial experience. You can run OpenViking entirely free using local Ollama models with 16GB+ RAM.
Openviking pros
- Open source under AGPL-3.0 license with no licensing costs
- Filesystem paradigm provides intuitive hierarchical context organization
- Tiered context loading (L0/L1/L2) significantly reduces token consumption
- Directory recursive retrieval improves retrieval effectiveness over flat RAG
- Visualized retrieval trajectories make context debugging observable
- Automatic session management enables self-evolving agents without retraining
- Supported by ByteDance/Volcengine team with TikTok vector search experience
- 25k+ GitHub stars with active community and 170 contributors
- Multiple deployment modes: Embedded, HTTP API, and CLI
- Supports 15+ embedding providers including OpenAI, Volcengine, Ollama, Gemini
- Multiple VLM providers including OpenAI Codex OAuth, Kimi, GLM, Volcengine
- Achieves 82%+ accuracy on LoCoMo benchmark with 91% token reduction
- WebDAV support for file operations through standard protocols
- Python SDK with both sync and async HTTP clients
- Built-in VikingBot AI agent framework included
- Prometheus metrics export for monitoring and observability
- Multi-tenant support with admin APIs for workspace management
- 91% accuracy on HotpotQA knowledge base QA with low 0.23s latency
Openviking cons
- Requires technical setup including Rust toolchain (Cargo) for CLI components
- Needs Python 3.10 or higher and C++ compiler (GCC 9+ or Clang 11+)
- Feels more like infrastructure than end-user SaaS - not plug-and-play
- Requires understanding of context architecture and agent design patterns
- Must configure external embedding and VLM model API keys separately
- Some benchmark results are project-reported without independent validation
- May be too complex for simple chatbot use cases without long-running tasks
- Active development means API may change between versions
- heavier resource requirements compared to simple vector databases
- Learning curve for filesystem paradigm if coming from traditional RAG
Frequently asked questions about Openviking
What is OpenViking?
OpenViking is an open-source context database designed specifically for AI Agents. It unifies the management of context (memory, resources, and skills) that Agents need through a filesystem paradigm, enabling hierarchical context delivery and self-evolving. It replaces fragmented vector-only storage with a viking:// filesystem protocol that organizes memories, resources, and skills into hierarchical directories.
How does the filesystem paradigm work?
OpenViking organizes all context as a virtual filesystem with viking:// URIs. Memories go in viking://user/memories/, skills in viking://agent/skills/, and resources in viking://resources/. You can use familiar commands like ls, find, and grep to navigate context just like a regular filesystem, making context management deterministic and traceable.
What are the three tiered context layers?
OpenViking automatically processes context into three levels: L0 (Abstract) is a one-liner summary (~100 tokens) for quick relevance checking; L1 (Overview) contains important stuff (~2K tokens) for Agent decision-making; L2 (Details) is the full content loaded only when truly needed. The agent skims first and digs deeper only when necessary, saving tokens.
How do I install OpenViking?
Install the Python package with pip install openviking --upgrade --force-reinstall. For the Rust CLI (optional), use npm i -g @openviking/cli or build from source with cargo install --git https://github.com/volcengine/OpenViking ov_cli. Prerequisites include Python 3.10+, Rust Cargo, and GCC 9+ or Clang 11+.
What model providers are supported?
For embedding: volcengine, openai, azure, jina, ollama, voyage, dashscope, minimax, cohere, vikingdb, gemini, litellm, and local. For VLM: volcengine (Doubao), openai, openai-codex (OAuth), kimi (coding subscription), and glm (Z.AI coding plan). You can also run local models via Ollama for completely free operation.
What is directory recursive retrieval?
Directory recursive retrieval is OpenViking's innovative search strategy that first uses vector retrieval to locate a high-score directory, then performs secondary retrieval within that directory, and recursively drills down into subdirectories if they exist. This combines directory positioning with semantic search for precise context acquisition while understanding global context.
Does OpenViking have a web interface?
Yes, OpenViking includes a Web Studio UI that is bundled in pip/pipx installs. The server also has an optional VikingBot interactive chat interface accessible via ov chat command. You can start the server with openviking-server --with-bot to enable the bot, then chat interactively in another terminal.
How does automatic memory extraction work?
At the end of each session, developers can trigger memory extraction which asynchronously analyzes task execution results and user feedback. The system automatically updates User Memory (preferences, habits) and Agent Experience (operational tips, tool usage patterns), making the Agent smarter with use without requiring retraining or manual updates.
What benchmarks does OpenViking perform well on?
On LoCoMo (user memory), OpenViking achieves 82.08% accuracy with OpenClaw (+3.39x improvement) and 91% token reduction. On tau2-bench (agent memory), it reaches 77.81% retail accuracy (+6.87pp) and 66.25% airline accuracy (+11.87pp). On HotpotQA (knowledge base QA), it achieves 91% accuracy with only 0.23s retrieval latency.
How is OpenViking licensed?
The main OpenViking project uses AGPL-3.0 license. The crates/ov_cli component and examples are licensed under Apache 2.0. Third_party components retain their original licenses. The AGPL-3.0 license means you can use it freely but must share modifications if you distribute the software.