OpenViking is an open-source context database for AI agents that stores memories, resources, and skills as one virtual filesystem under a viking:// protocol. An agent browses its own context with ls, tree, and find rather than querying an opaque vector store. On write, every entry is processed into three tiers, L0 abstract (about 100 tokens), L1 overview (about 2,000 tokens), and L2 full details, and each directory carries its own L0 and L1 layers so relevance can be judged before any full file is read.
Retrieval is directory-recursive: vector search first locates the highest-scoring directory, then drills down layer by layer so results arrive with their surrounding context. Each query preserves its browsing trajectory, which you can inspect when a result looks wrong. After a session commits, OpenViking asynchronously extracts user preferences and agent experience into long-term memory.
Version 0.3.22 was evaluated on LoCoMo (long-conversation user memory) and tau2-bench (multi-turn agent tasks) using Doubao 2.0 Pro as the VLM and Doubao-embedding-vision-251215 for embeddings. Published results:
| Benchmark | Native | With OpenViking |
|---|---|---|
| LoCoMo accuracy, OpenClaw | 24.20% | 82.08% |
| LoCoMo accuracy, Hermes | 33.38% | 82.86% |
| LoCoMo accuracy, Claude Code | 57.21% | 80.32% |
| tau2-bench retail task success | 70.94% | 77.81% |
| tau2-bench airline task success | 54.38% | 66.25% |
Alongside the accuracy gains, input tokens dropped by 34.3 to 91.0% and query latency by 58.45 to 66.10% on LoCoMo. Python 3.10 or later is required; the server's init wizard supports Volcengine, OpenAI, Codex OAuth, Kimi, GLM, and local Ollama providers.
Features
- Unified context filesystem: memories, resources, and skills each get a viking:// URI and are handled like files
- Tiered loading: L0, L1, and L2 layers loaded only as deep as the task requires
- Directory-recursive retrieval: vector search narrows to a directory, then descends with context intact
- Observable retrieval: every query keeps a visible browsing trajectory for debugging
- Session-to-memory extraction: preferences and experience are committed to long-term memory asynchronously
- Agent integrations: Claude Code, Codex, OpenClaw, Hermes, Cursor, TRAE, OpenCode, pi, MCP clients, and LangChain/LangGraph
- ov client CLI: add-resource, ls, tree, find, and grep against the running server
- OpenViking Helper: a beta desktop console for macOS and Windows that configures local agent integrations, inspects session traces, and syncs local memory and skill files
- VikingBot: an agent framework built on top of the database, bundled in the official Docker image
- Hosted Studio: a browser playground with a context playground, semantic search, and a multi-agent hub
Integrates with
Claude Code
Terminal-based agentic coding tool that reads your codebase and runs tasks through natural-language commands
Codex
Lightweight coding agent that runs in your terminal
Hermes
Self-improving AI agent with a learning loop that creates and refines skills, recalls past sessions, and runs across chat platforms
LangChain
Framework for building LLM applications and agents from interoperable components and a large integrations library
