OpenViking (GitHub Repo)
OpenViking provides a filesystem-based context database for AI agents, allowing them to browse memories and skills deterministically.
Deep dive
- Protocol-based access: Uses the
viking://URI scheme to allow agents to interact with context using commands likels,tree, andfind. - Tiered loading: Automatically generates three abstraction levels per entry to load only relevant data and reduce LLM token consumption.
- Observability: Every query path is traceable, enabling developers to debug why an agent retrieved specific information.
- Integration: Compatible with agent frameworks like Claude Code, Cursor, and LangGraph.
- Memory persistence: Automatically extracts user preferences and agent experiences from session logs for long-term storage.
Decoder
- Vector store: A database optimized for storing and retrieving high-dimensional embeddings based on semantic similarity rather than exact structure.
Original article
OpenViking: The Context Database for AI Agents
OpenViking is an open-source context database for AI agents. It stores memories, resources, and skills as one virtual filesystem under the viking:// protocol, so an agent browses its own context with ls, tree, and find instead of querying a black-box vector store. Content is processed into three tiers — L0 abstract, L1 overview, L2 details — and loaded on demand. Every retrieval leaves a trajectory you can watch and debug.
Why OpenViking
- One filesystem for all context. Memories, resources, and skills each get a
viking://URI. Agents locate and manipulate context deterministically, like a developer working with files. - Tiered loading cuts token spend. Every entry is processed into L0 (abstract), L1 (overview), and L2 (details) on write, then loaded only as deep as the task requires.
- Directory recursive retrieval. Vector search first locates the highest-scoring directory, then drills down layer by layer, so results arrive with their surrounding context intact.
- Observable retrieval. Each query preserves its directory-browsing trajectory. When a result looks wrong, you can see exactly which path produced it.
- Sessions become memory. After a session commits, OpenViking asynchronously extracts user preferences and agent experience into long-term memory.
viking://
├── resources/ # Resources: project docs, repos, web pages, etc.
│ └── my_project/
│ ├── docs/
│ │ ├── api/
│ │ └── tutorials/
│ └── src/
└── user/
└── {user_id}/
├── memories/
│ └── preferences/
│ ├── writing_style
│ └── coding_habits
├── resources/
│ └── private_project/
├── skills/
│ ├── search_code
│ └── analyze_data
└── peers/
└── web-visitor-alice/
The three loading tiers:
- L0 (Abstract): a one-sentence summary for quick relevance checks.
- L1 (Overview): core information and usage scenarios for planning.
- L2 (Details): the full original data, read only when needed.
Proof it works
OpenViking 0.3.22 has been evaluated on long-conversation user memory (LoCoMo) and multi-turn agent tasks (tau2-bench).
- User memory (LoCoMo): with OpenViking, all three agent integrations land at 80–83% accuracy — up from 24–57% on their native memory — while input tokens drop by 34.3–91.0% and query latency by 58.45–66.10%.
- Agent experience (tau2-bench): experience memory lifts task success by +6.87pp (retail) and +11.87pp (airline) over the same LLM without memory.
Quick start
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
OpenViking Helper (Beta)
OpenViking Helper is a desktop console, currently in beta for macOS and Windows x64:
- Visual local agent setup: detects OpenViking CLI, Claude Code, Codex, Cursor, Trae, and OpenCode, then configures supported plugin, MCP, Hook, and CLI integrations.
- Session trace inspection: parses Claude Code, Codex, and Trae sessions to show OpenViking recall, prompt injection, MCP calls, capture, and commit events.
- Local memory and skill management: views local memory / rule files and
SKILL.mdskills, then syncs them to OpenViking.
VikingBot
VikingBot is an AI agent framework built on top of OpenViking:
pip install "openviking[bot]" openviking-server --with-bot ov chat
Commercial editions
The open-source edition is fully open source under AGPLv3: no feature gates, no account required, no activation key.
☁️ Managed SaaS
Officially hosted on Volcano Engine. Nothing to set up, nothing to operate.
- Personal — for individual developers.
- Enterprise — multi-user context management, team collaboration and permissions, enterprise SLA and support.
🏢 Self-Managed
Runs inside your own environment. Data never leaves it.
- Online — deployed into your own cloud account / VPC, BYOC supported, with outbound access for updates and licensing.
- Offline — fully air-gapped environments with no internet access, for regulated industries.
Research
OpenViking open-sources a subset of the core capabilities described in the VikingMem paper:
VikingMem: A Memory Base Management System for Stateful LLM-based Applications Jiajie Fu, Junwen Chen, Mengzhao Wang, Aoxiang He, Maojia Sheng, Xiangyu Ke, Yifan Zhu, and Yunjun Gao. arXiv:2605.29640, 2026. Accepted by VLDB 2026.
Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi