fix(compile): 禁止 system 命名空间作为输出目录Fix/system compile to namespace (#6634)
fix(compile): skip snapshots for system skills
fix(compile): 禁止 system 命名空间作为输出目录
Co-authored-by: fujiajie.168 fujiajie.168@bytedance.com Co-authored-by: zhanghe.1216 <@bytedance.com>
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
The Context Database for AI Agents
English / 中文 / 日本語
Website · Live Demo · GitHub · Issues · Docs · Blog
What is OpenViking
OpenViking is an open-source context database for AI agents — one filesystem for everything an agent knows: knowledge, memory, and skills.
Most agent memory is a black box: text goes in, embeddings come out, and nobody can see what was actually stored. OpenViking organizes context as a virtual filesystem under
viking://instead. Agents navigate it like files —ls,tree,read,write,grep— and you can open any directory to inspect and edit what your agent knows. Every directory carries a generated summary, so agents can scan summaries first and decide what to read.Try OpenViking Studio in your browser, no installation required. Self-host Web Studio.
Why OpenViking
viking://URI for browsing and retrieval. → Viking URI · Context typesfindruns a query directly;searchplans retrieval from session context. → Retrievalov compileorganizes source material into a wiki, knowledge graph, or report. → Sessions · Context compilationArchitecture · Design rationale
The three loading tiers:
Semantically processed directories carry L0/L1 summaries, so agents can judge relevance before reading full files:
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.
The memory evaluation used Doubao 2.0 Pro as the VLM and Doubao-embedding-vision-251215 as the embedding model.
Quick start
Set up an OpenViking server first; if you already have one, skip to Use it with your agent. Deploying your own needs uv, Python 3.10+ and a model provider with an embedding model and a VLM.
Let your agent deploy it
Your agent will first ask which model provider to use and for its API key.
Deploy it yourself
Install OpenViking and run the setup wizard, which configures the models:
initwrites~/.openviking/ov.confand supports Volcengine, OpenAI, Codex OAuth, Kimi, GLM and local Ollama; see the configuration guide. The server runs in the foreground, so keep this terminal open.Use OpenViking Service (hosted by Volcengine)
The same OpenViking service, run for you by Volcengine. The first 50 files are free. Activate it on the Volcengine product page, then create an API key in the console under User Management → API Key. The server address is
https://api.vikingdb.cn-beijing.volces.com/openviking; you’ll need it and the API key when you connect your agent.Explore with the CLI
The
openvikingpackage includes theovCLI. With the server running, import a repository and search it:ov findreturns matching context with URIs you can inspect. For client configuration (ov config), standalone CLI installs, and index maintenance, see CLI setup.Build your own integration with the Python, Go, or TypeScript SDK, or the HTTP API.
Use it with your agent
Connect your coding agent to OpenViking for cross-session memory. The memory plugin installer covers Claude Code, Codex, Cursor, TRAE, OpenCode and more, and detects which ones you have.
Let your agent install it
Have your server’s address ready, plus its API key if it has auth turned on.
Install it yourself
Run the installer, then pick the tools and a server when asked: Self-hosted / local for a server on this machine, Volcengine OpenViking Cloud for OpenViking Service, or Custom URL for any other address. If auth is on, enter a user key, not the root key.
Then restart your agent. The installer ends with the next steps for each tool, for example:
On its first start Codex stops at
Hooks need review; chooseTrust all and continue.Try it: ask it to remember one of your preferences, then ask about it in a new session a little later. Memories are processed in the background, so it’s normal not to find one right after you say it.
The installer needs macOS or Linux, Node.js 18+ and curl, no sudo. On Windows, use the desktop app.
Setup guides for each integration:
Claude
Hooks + MCP
Codex
Hooks + MCP
Cursor
Hooks + MCP
TRAE
Hooks + MCP
OpenClaw
Context engine
Hermes
Built-in
OpenCode
Plugin + MCP
pi
Native extension
DeerFlow
Plugin + MCP
DSH
Plugin + MCP
Doubao Work
Connector
LangChain
Tools + store
General integrations
Agent Plugins 1.0
MCP clients
For setup instructions and integration details, see Integrations.
For framework applications, see the LangChain/LangGraph and Microsoft Agent Framework packages, with a guide to adding other adapters.
Desktop App (Beta)
The desktop app is a console for macOS and Windows x64 (beta). It configures supported local agent integrations, inspects recall and capture events in sessions, and syncs local memories and skills to OpenViking.
Download:
VikingBot
VikingBot is an AI agent framework built on top of OpenViking:
The official Docker image bundles VikingBot and starts it by default alongside the server and console UI. Details: VikingBot guide.
Deploy in production
Run the open-source server in your own environment under AGPLv3. It requires no activation key. Start with server setup or the Docker and deployment guide.
The server supports accounts and user isolation and opt-in resource ACLs. Configure authentication before exposing it beyond localhost.
Commercial editions
☁️ Managed SaaS
Volcano Engine hosts and operates OpenViking. Personal and Enterprise plans cover individual and team use, with migration tooling for open-source deployments. See the service documentation for plans and limits. Hosting outside China is planned on BytePlus.
🏢 Self-Managed
Deploy in your own cloud account / VPC (BYOC) or an offline environment. This edition adds distributed deployment and official support, activated by a license key. Contact the team.
Research
Memory that evolves with your agent. VikingMem develops an event-driven approach to extracting, updating, and consolidating long-term memory, giving stateful agents a way to retain useful experience as interactions accumulate. OpenViking open-sources a subset of these core capabilities.
Directory structure as retrieval context. This paper provides the formal foundations, index design, and experimental evidence behind OpenViking’s directory-aware retrieval. It defines directory-scoped query and maintenance operations and introduces TrieHI, which OpenViking integrates to resolve directory scopes before vector ranking. This connects the filesystem paradigm to retrieval: agents can search a project or memory subtree, retain its surrounding context, and reorganize it as knowledge evolves.
Retrieve the evidence you need with fewer tokens. VikingRAG combines semantic search with document structure, exposing relevant directory segments as evidence gaps arise. Its core mechanisms are integrated into OpenViking. The paper further explores reusing retrieval traces and escalating to multi-round retrieval only when needed, reducing repeated exploration while preserving answer quality.
Partner Projects
To propose a partnership, open an issue.
Community & Contributing
Security and privacy
For vulnerability reporting and supported versions, see SECURITY.md
License
Copyright © 2026 Volcano Engine (火山引擎) and the OpenViking contributors.
The OpenViking project uses different licenses for different components:
examples/hermes-pluginretains its MIT license.LICENSE. Their runnable examples retain Apache 2.0; see each package’sexamples/LICENSE.Please also note: any wholesale rewriting and subsequent re-open-sourcing of this project is prohibited; any request to translate all or a substantial portion of the project code into another coding language requires prior written authorization from Volcano Engine. For permission requests, please contact the Volcano Engine team — see Community & Contributing for contact channels.