Skip to main content
OpenViking

OpenViking: The Context Database for AI Agents

English / 中文 / 日本語

Website · Live Demo · GitHub · Issues · Docs

👋 Join our Community

📱 Lark Group · WeChat · Discord · X

volcengine%2FOpenViking | Trendshift


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.

OpenViking Studio playground

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.

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

💡 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.md skills, 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

Managed Services

Volcano Engine (China Region)

Officially hosted on Volcano Engine, available in China.

Coming Soon

  • Global hosting service on BytePlus (for regions outside China)
  • Private distributed enterprise edition (deployed via activation code, supports BYOC)

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

Partner Projects

OpenViking welcomes collaboration with other open-source projects to build the context data ecosystem. Our confirmed partners include:

  • 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
  • heima - Substrate-based EVM-compatible L1 chain

Interested in joining our partner list? Please submit an issue to our community to apply.

Community & contributing

OpenViking is still in its early stages, and there is plenty left to build.

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:

  • 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
  • third_party: Respective original licenses of third-party projects

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openviking-0.4.12.tar.gz (58.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

openviking-0.4.12-cp310-abi3-win_amd64.whl (26.1 MB view details)

Uploaded CPython 3.10+Windows x86-64

openviking-0.4.12-cp310-abi3-manylinux_2_31_x86_64.whl (23.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.31+ x86-64

openviking-0.4.12-cp310-abi3-manylinux_2_31_aarch64.whl (21.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.31+ ARM64

openviking-0.4.12-cp310-abi3-macosx_15_0_x86_64.whl (22.4 MB view details)

Uploaded CPython 3.10+macOS 15.0+ x86-64

openviking-0.4.12-cp310-abi3-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.10+macOS 14.0+ ARM64

File details

Details for the file openviking-0.4.12.tar.gz.

File metadata

  • Download URL: openviking-0.4.12.tar.gz
  • Upload date:
  • Size: 58.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for openviking-0.4.12.tar.gz
Algorithm Hash digest
SHA256 84b545af821d65099fa28be6375405fc113ff56d5bf271ca46be08c5a2fd16eb
MD5 b05267b0a4931cd827c1a483b0840651
BLAKE2b-256 33cdec31c22dd17c5e82ee7e0b712d7d2b0f28218c387fca4c4c30b6e2d2cae3

See more details on using hashes here.

Provenance

The following attestation bundles were made for openviking-0.4.12.tar.gz:

Publisher: release.yml on volcengine/OpenViking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openviking-0.4.12-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: openviking-0.4.12-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 26.1 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for openviking-0.4.12-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 347a81c3c9567937aca93ff4086a2a159e4acf3db46896bba59748738bc5182d
MD5 a186ddbb7b635312cfd684d91e784b05
BLAKE2b-256 b5e86c8cd29d83de5c7ad22c0af7f6066a68df323545a1348f0e5309338190d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for openviking-0.4.12-cp310-abi3-win_amd64.whl:

Publisher: release.yml on volcengine/OpenViking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openviking-0.4.12-cp310-abi3-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for openviking-0.4.12-cp310-abi3-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 06dc8f3fc363cf63e56a6dc7534dec6020439243bca42242642481586f1ace41
MD5 edb8d5c4b95eeb2484708bc87687abf5
BLAKE2b-256 403c9beab37fb67bdff2d0e2f387de7fd03bc781f84ba938c083dd9e90be6807

See more details on using hashes here.

Provenance

The following attestation bundles were made for openviking-0.4.12-cp310-abi3-manylinux_2_31_x86_64.whl:

Publisher: release.yml on volcengine/OpenViking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openviking-0.4.12-cp310-abi3-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for openviking-0.4.12-cp310-abi3-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 3484180ac508ff50760bbeb45bdd83f538db76fe0600921788edc1ddc8eabdcc
MD5 f9817ecf3a938f66ac7b3cf25207c438
BLAKE2b-256 d9a986f225c0da9a9cb22fbd13120cfd7fed93d2981f4fc4e7fb177c21d0e2f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for openviking-0.4.12-cp310-abi3-manylinux_2_31_aarch64.whl:

Publisher: release.yml on volcengine/OpenViking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openviking-0.4.12-cp310-abi3-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for openviking-0.4.12-cp310-abi3-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 14c280a5915cb66bb01fcca803e45ca536250a745fafe9ff29e16d436d1b598f
MD5 32a19b4fbe74b5cae8c74d74c2f7f4d0
BLAKE2b-256 46c8e0eeebb8992b85febd90b8a4446dde45f59771e352d2075cb9a57cfe456d

See more details on using hashes here.

Provenance

The following attestation bundles were made for openviking-0.4.12-cp310-abi3-macosx_15_0_x86_64.whl:

Publisher: release.yml on volcengine/OpenViking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openviking-0.4.12-cp310-abi3-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for openviking-0.4.12-cp310-abi3-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1b29b076e6eb8b564fc1e6badc09df40e2d4c5841b73795af04685109b661451
MD5 170f48496efd10986595a67a18911fb5
BLAKE2b-256 99ba11a87db4c6c644e35180c8744e134d506e811f5bb3f39e99fe198f92a7f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for openviking-0.4.12-cp310-abi3-macosx_14_0_arm64.whl:

Publisher: release.yml on volcengine/OpenViking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page