* docs: revamp README for readability, route detail to docs.openviking.ai The README had grown to ~850 lines, 60% of it provider-config JSON that duplicates the deployed configuration guide. Rewritten to ~253 lines: - Lead with what the product is, a Studio screenshot, and five feature bullets, each outlinked to docs.openviking.ai - Move benchmarks (LoCoMo, tau2-bench, HotpotQA) above the fold; drop two derived tables in favor of one-sentence summaries + ./benchmark links - Collapse install to the init/doctor golden path; all provider JSON, ov.conf templates, env vars, and Windows setup now route to the configuration guide (verified live) - Add the previously missing "Use it with your agent" section linking all 10 integration docs - README_CN (zh docs links) and README_JA (en docs links; ja docs not deployed) rewritten to mirror section-for-section - New hero screenshot docs/images/studio-playground.png from openviking.ai/studio All 76 external URLs and every repo-relative link verified. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn * docs: fix review findings — restore uncovered detail, drop false pointers Adversarial review of the revamp found four claims pointing at coverage that does not exist: - Restore `cargo install --git ... ov_cli` build-from-source path (was deleted with no docs destination; docset has no cargo install anywhere) - Restore `ov reindex` mode documentation (vectors_only / semantic_and_vectors / prune_orphans / --dry-run / no alias warning) — covered by no linked doc - Remove "per-agent breakdown is in ./benchmark" (benchmark/ holds reproduction scripts, not result tables) - Remove "Reproduce it from ./benchmark" on the 5-dataset RAG summary (adapters exist for only 3 of 5 datasets) Also: EN/JA quick-start grep example now targets docs/en instead of docs/zh. Applied identically to README.md, README_CN.md, README_JA.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn * docs: apply review feedback — blog philosophy link, deployed doc links, drop dead widgets - Link the design-philosophy essay (The Database Paradigm for Context Engineering, blog.openviking.ai) from the Why section so the old README's design narrative has a durable home; add Blog to community - Switch remaining ./docs about-us links (header + community, incl. QR anchors) to docs.openviking.ai; zh anchors verified against deployed page ids (#飞书群 / #微信群) - Remove the star-history chart (service currently renders nothing) and the stale "May 2026 Update" banner line - Caption now states the Studio link is a live demo, no install needed Applied identically to README.md, README_CN.md, README_JA.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn * docs: benchmark charts, easier quick start, logo padding - Replace the three benchmark tables with one theme-aware SVG chart (light/dark via <picture>): LoCoMo and tau2-bench as grouped bars, gray = without OpenViking, blue = with. HotpotQA leaves the README; full results link to the benchmark report on blog.openviking.ai. Hand-written SVG, exact numbers from the tables — no generated images. - Rework Quick start reading flow: nohup folds into the install block, note that pip install already ships the ov client CLI, close with a two-link "Next steps" (CLI setup, Deployment). ov reindex modes and the cargo source install move to the CLI setup doc (en+zh) so the README stays an easy entry. - Shrink logo artwork to 0.7 inside the same 842x842 canvas for breathing room. Applied to README.md, README_CN.md, README_JA.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn * docs: enlarge logo artwork 1.1x within same canvas Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4oDxmJojygyomsz9BBhhn --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
13 KiB
OpenViking: The Context Database for AI Agents
Website · Live Demo · GitHub · Issues · Docs
👋 Join our Community
📱 Lark Group · WeChat · Discord · X
What is OpenViking
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. Full introduction: Getting started.
The OpenViking Studio playground — a live demo you can open in the browser, no installation required.
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. → Viking URI · Context types - 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. → Context layers
- 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. → Retrieval
- Observable retrieval. Each query preserves its directory-browsing trajectory. When a result looks wrong, you can see exactly which path produced it. → Retrieval
- Sessions become memory. After a session commits, OpenViking asynchronously extracts user preferences and agent experience into long-term memory. → Session
How the pieces fit together: Architecture. The thinking behind the design: The Database Paradigm for Context Engineering.
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.
Each directory carries its own L0/L1 layers, so relevance can be judged before any full file is read:
viking://resources/my_project/
├── .abstract # L0: ~100 tokens - quick relevance check
├── .overview # L1: ~2k tokens - structure and key points
└── docs/
├── .abstract
├── .overview
└── api/
├── auth.md # L2: full content, loaded on demand
└── endpoints.md
Proof it works
OpenViking 0.3.22 has been evaluated on long-conversation user memory (LoCoMo) and multi-turn agent tasks (tau2-bench). Full results and setup details, including knowledge-base QA, are in the benchmark report; reproduction scripts live in ./benchmark.
- 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
💡 Want to see it in action first? Try OpenViking Studio — a live hosted instance with a context playground, semantic search, and a multi-agent hub. No installation required.
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 &)
init walks you through provider setup and writes ~/.openviking/ov.conf. It supports Volcengine, OpenAI, Codex OAuth, Kimi, GLM, and local Ollama — for Ollama it can detect and install the runtime and pull models suited to your hardware. doctor checks the config file, Python version, provider connectivity, and disk space without a running server. Manual ov.conf templates, per-provider examples, environment variables, and Windows setup: Configuration guide · Quick start docs.
The install already includes the ov client CLI. With the server running:
ov status
ov add-resource https://github.com/volcengine/OpenViking # --wait
ov ls viking://resources/
ov tree viking://resources/volcengine -L 2
# wait some time for semantic processing if not --wait
ov find "what is openviking"
ov grep "openviking" --uri viking://resources/volcengine/OpenViking/docs/en
Next steps:
- Client configuration (
ov config), standalone CLI installs (npm / cargo), and advanced usage such as index rebuilding: CLI setup - Docker and production deployment: Deployment guide
Use it with your agent
Integrations inject OpenViking recall into your agent's context and auto-commit session memory:
Setup instructions for each agent: Agent integrations overview.
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.
Download:
VikingBot
VikingBot is an AI agent framework built on top of OpenViking:
pip install "openviking[bot]"
openviking-server --with-bot
ov chat # in another terminal
The official Docker image bundles VikingBot and starts it by default alongside the server and console UI. Details: VikingBot guide.
Deploy in production
For production, run OpenViking as a standalone HTTP service — see Server deployment and the Deployment guide.
Prefer not to operate it yourself? OpenViking Personal is officially hosted and ready to use, scales far beyond local hardware with VikingDB, and includes a free trial for up to 50 files; existing open-source users can move over with the migration tool. → openviking.ai
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. 📄 Read the paper on arXiv
Community & contributing
OpenViking is still in its early stages, and there is plenty left to build.
- Docs: docs.openviking.ai · FAQ
- Blog: blog.openviking.ai
- Team: About us
- Chat: 📱 Lark Group · 💬 WeChat · 🎮 Discord · 🐦 X
- Contribute: bug fixes and new features are both welcome — see CONTRIBUTING.md
Security and privacy
This project takes security seriously. For vulnerability reporting and supported versions, see SECURITY.md
License
The OpenViking project uses different licenses for different components:
