volcengine/OpenViking
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
What it solves
OpenViking provides a structured way for AI agents to manage and retrieve their long-term memory, resources, and skills. Instead of relying on a "black-box" vector store, it treats context as a virtual filesystem, allowing agents to navigate their knowledge base deterministically using familiar commands like ls, tree, and find.
How it works
The system uses a custom viking:// protocol to organize data into a hierarchical directory structure. To optimize token usage and retrieval speed, it processes content into three tiered layers:
- L0 (Abstract): A one-sentence summary for rapid relevance checks.
- L1 (Overview): Core information and usage scenarios for planning.
- L2 (Details): The full original data, loaded only when specifically needed.
Retrieval begins with a vector search to find the highest-scoring directory, then drills down through these layers. Additionally, the system asynchronously extracts user preferences and agent experiences from completed sessions to build long-term memory.
Who it’s for
Developers building AI agents that require complex, stateful memory management, as well as users of agentic IDEs and tools like Claude Code, Cursor, and Trae who want to persistent, observable context.
Highlights
- Virtual Filesystem: Organizes memories, resources, and skills as a
viking://URI structure. - Tiered Loading: Reduces token spend by loading only the necessary level of detail (L0 $\to$ L1 $\to$ L2).
- Observable Retrieval: Preserves the directory-browsing trajectory of every query for easier debugging.
- Agent Integrations: Native support for a wide range of agents including LangChain, MCP clients, and various AI coding assistants.
- Session-to-Memory: Automatically converts session history into long-term user preferences and agent experience.