volcengine / OpenViking
git clone https://github.com/volcengine/OpenViking.git
v0.5.1.1 · 1d ago
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
+32
stars, 24h · #459
+~224
stars, 7 days · #585
+~960
stars, 30 days · #566
41k
★ total · +1% this week
3.3k
forks · 1.0k open issues
Star history (as recorded here)
LanguagePython
LicenseAGPL-3.0
Created2026-01-05 (9mo ago)
Last pushtoday
Watchers113
OwnerOrganization
GitHub topics
agent-contextagent-memoryagent-pluginsagentic-ragcontext-databasedsh-pluginknowledge-basememorymemory-managementself-evolvingvector-database
Links
- GitHub: github.com/volcengine/OpenViking
- Homepage: https://openviking.ai
- Releases · Issues · Hacker News mentions
README excerpt
### The Context Database for AI Agents English / 中文 / 日本語 Website · Live Demo · GitHub · Issues · Docs · Blog Lark · WeChat · Discord · X *** ## 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 - **One filesystem for knowledge, memory, and skills.** Resources hold documents and code; memories retain user preferences and experience; skills define how to perform tasks — not just extracted facts, but the full context, each with a `viking://` URI for browsing and retrieval. → Viking URI · Context types - **Search a directory, not the whole index.** Scope semantic search to a project or memory subtree instead of scanning a flat vector pool. `find` runs a query directly; `search` plans retrieval from session context. → Retrieval - **Read the summary before the source.** Generated directory abstracts (L0) and overviews (L1) let agents judge relevance before opening full content (L2). → Context layers - **Sessions become files you can read.** Committing a session archives the conversation and extracts memories as Markdown you can inspect, edit, and merge. With VikingBot enabled, `ov compile` organizes source material into a wiki, knowledge graph, or report. → Sessions · Context compilation Architecture · Design rationale [code] 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. Semantically processed directories carry L0/L1 summaries, so agents can judge relevance before reading full files: [code] ## 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. - **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 LL