Skip to main content
OpenViking

OpenViking: The Context Database for AI Agents

English / 中文 / 日本語

Website · Live Demo · GitHub · Issues · Docs

release stars issues contributors license last commit

Deploy on Railway

Lark Lark · WeChat WeChat · Discord Discord · X X

volcengine%2FOpenViking | Trendshift


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.

OpenViking Studio: browse context and try semantic search

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

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.

Semantically processed directories carry L0/L1 summaries, so agents can judge relevance before reading full files:

viking://resources/my_project/
├── .abstract.md           # L0: quick relevance check
├── .overview.md           # L1: structure and key points
└── docs/
    ├── .abstract.md
    ├── .overview.md
    └── 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.

The memory evaluation used Doubao 2.0 Pro as the VLM and Doubao-embedding-vision-251215 as the embedding model.

Benchmark results. LoCoMo accuracy: OpenClaw 24.20% native vs 82.08% with OpenViking; Hermes 33.38% vs 82.86%; Claude Code 57.21% vs 80.32%. tau2-bench task success: Retail 70.94% vs 77.81%; Airline 54.38% vs 66.25%.
  • 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+ and access to an embedding model and a VLM (cloud or local).

pip install openviking --upgrade
openviking-server init      # configure providers and models
openviking-server doctor    # check configuration and connectivity
openviking-server           # start the server

init writes ~/.openviking/ov.conf. Supported options include Volcengine, OpenAI, Codex OAuth, Kimi, GLM, and local Ollama. See the configuration guide for provider setup and the quick start docs for platform instructions.

The package includes the ov CLI. In another terminal, import a repository and search it:

ov status
ov add-resource https://github.com/volcengine/OpenViking
# Replace TASK_ID with the returned task_id; repeat until status is completed
ov task status TASK_ID
ov ls viking://resources/
ov tree viking://resources/volcengine -L 2
ov find "what is openviking"
ov grep "openviking" --uri viking://resources/volcengine/OpenViking/docs/en

ov find returns 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 agent to OpenViking for cross-session memory. Choose a native integration for automatic recall and session capture, or use MCP to give your agent memory and context tools.


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.

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:

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

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

☁️ 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

🏢 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.

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. Presented at VLDB 2026 in September.
📄 Read the paper on arXiv · Read PDF

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.

Directory-Aware Query and Maintenance in Vector Databases
Mengzhao Wang, Zheng Gong, Jingpei Hu, Jiajie Fu, Maojia Sheng, Junwen Chen, and Yifan Zhu.
arXiv:2606.16903, 2026. Accepted by ICDE.
📄 Read the paper on arXiv · Read PDF

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.

VikingRAG: Accurate and Token-efficient Retrieval-augmented Generation over Structured Documents
Peiyuan Gao, Gaoyuan Zhang, Haojie Qin, Yahui Sun, Qianyi Zhang, Yunhao Zhang, Zeyu Wang, and Wei Lu.
arXiv:2609.11390, 2026. Submitted.
📄 Read the paper on arXiv · Read PDF

Partner Projects

  • deer-flow - Open-source long-horizon SuperAgent harness
  • NoKV - AI native distributed file system
  • loopx - Lightweight loop engineering state kernel
  • Hermes Agent - The agent that grows with you

To propose a partnership, open an issue.

Community & Contributing

OpenViking contributors

Security and privacy

For vulnerability reporting and supported versions, see SECURITY.md

License

The OpenViking project uses different licenses for different components:

  • Main Project: AGPLv3 - see the LICENSE file for details
  • crates/ov_cli: Apache 2.0 - see the LICENSE for details
  • examples: Apache 2.0 - see the LICENSE for details. The Hermes plugin in examples/hermes-plugin retains its MIT license.
  • third_party: Respective original licenses of third-party projects

Metadata

Release files for openviking 0.4.22

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openviking 0.4.22
File Size Uploaded
openviking-0.4.22.tar.gz 43.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for openviking 0.4.22
File
openviking-0.4.22-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
openviking-0.4.22-cp310-abi3-manylinux_2_31_x86_64.whl CPython 3.10 abi3 Linux glibc 2.31+ x86-64 Details
openviking-0.4.22-cp310-abi3-manylinux_2_31_aarch64.whl CPython 3.10 abi3 Linux glibc 2.31+ ARM64 Details
openviking-0.4.22-cp310-abi3-macosx_15_0_x86_64.whl CPython 3.10 abi3 macOS 15.0+ x86-64 Details
openviking-0.4.22-cp310-abi3-macosx_14_0_arm64.whl CPython 3.10 abi3 macOS 14.0+ ARM64 Details

Total release size: 176.4 MB

Release files / openviking-0.4.22.tar.gz

Download URL openviking-0.4.22.tar.gz
Size 43.5 MB
Tags Source
SHA-256 checksum
How to use checksums
b51a0d2455670d9dcf93c7553ec98e81fe85fd7933e90df2d35df54998f42548
BLAKE2b-256 checksum
How to use checksums
8554286712cd48b73dd92d92aa26c46e5856f1004eb20237f5c7336bd4158c70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / openviking-0.4.22-cp310-abi3-win_amd64.whl

Download URL openviking-0.4.22-cp310-abi3-win_amd64.whl
Size 29.4 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
cad1f3e4ea843c47178a8d5056df733b1e3f49d4e902b6f803b9e192320bb89b
BLAKE2b-256 checksum
How to use checksums
3f26e0d259f1a9fb53d02b99487f232265f79965fefb9b956563612c7acf5ae5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / openviking-0.4.22-cp310-abi3-manylinux_2_31_x86_64.whl

Download URL openviking-0.4.22-cp310-abi3-manylinux_2_31_x86_64.whl
Size 28.8 MB
Tags CPython 3.10 Linux glibc 2.31+ x86-64 abi3
SHA-256 checksum
How to use checksums
fa508fc9c84a32b3206d2f719c415bad5c50e88c1838fb19349881e087da72c8
BLAKE2b-256 checksum
How to use checksums
aa0269642eddcbced2d52dc8489a0e8f618b7ae11e6caede9b02fac0f6f54528
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / openviking-0.4.22-cp310-abi3-manylinux_2_31_aarch64.whl

Download URL openviking-0.4.22-cp310-abi3-manylinux_2_31_aarch64.whl
Size 26.3 MB
Tags CPython 3.10 Linux glibc 2.31+ ARM64 abi3
SHA-256 checksum
How to use checksums
480070405e5c64c0a7d8d1d2afba7e98a55f151a67c785e4e5d0d54320096afc
BLAKE2b-256 checksum
How to use checksums
29ef8bda981fae06066d2c462d051ceb6038043e776cac7b87f723fe65e34f17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / openviking-0.4.22-cp310-abi3-macosx_15_0_x86_64.whl

Download URL openviking-0.4.22-cp310-abi3-macosx_15_0_x86_64.whl
Size 25.5 MB
Tags CPython 3.10 abi3 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
a5a2e3015dce7f219f87c87ea4d77bf6c00a8ee6898fc14d6653b5e3ab0c2362
BLAKE2b-256 checksum
How to use checksums
de92c13d3669ae877119890cc0ffbf087210a75cab4a5a9e51814a8c3d5fad27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / openviking-0.4.22-cp310-abi3-macosx_14_0_arm64.whl

Download URL openviking-0.4.22-cp310-abi3-macosx_14_0_arm64.whl
Size 22.9 MB
Tags CPython 3.10 abi3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
ddfa3d23274cbd9afcdfaf1a1542b0a9e5e8286221a96bb7e40bd63e312d5bae
BLAKE2b-256 checksum
How to use checksums
5cf4222b2eb392a09cf2e13648d4f2f509c6043d16385ebd48a457a453816245
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

6 release files

This release

0.4.22 This release

6 release files

0.4.21

6 release files

0.4.20

6 release files

0.4.17

5 release files

0.4.16

5 release files

0.4.15

5 release files

0.4.14

6 release files

0.4.11

6 release files

0.4.10

6 release files

0.4.9

6 release files

0.4.8

6 release files

0.4.7

6 release files

0.4.6

6 release files

0.4.5

6 release files

0.4.3

6 release files

0.4.2

6 release files

0.4.1

6 release files

0.3.22

6 release files

0.3.21

6 release files

0.3.20

6 release files

0.3.19

6 release files

0.3.18

6 release files

0.3.17

6 release files

0.3.14

6 release files

0.3.13

6 release files

0.3.12

6 release files

0.3.11

1 release file

0.3.10

6 release files

0.3.9

6 release files

0.3.8

6 release files

0.3.6

6 release files

0.3.5

6 release files

0.3.4

6 release files

0.3.3

6 release files

0.3.2

6 release files

0.3.1

6 release files

0.2.15

6 release files

0.2.13

6 release files

0.2.12

6 release files

0.2.11

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page