volcengine/OpenViking

▲ 103 stars today★ 41,114⑂ 3,334

Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.

About volcengine/OpenViking

volcengine/OpenViking is an open-source project on GitHub, mainly written in Python. Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills. It currently holds 41,114 stars and 3,334 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

Git Homed tracks it on the Today's Trending board, currently at rank #59 with 103 new stars today.

GitHub Repository Details

Repository volcengine/OpenViking · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

https://github.com/volcengine/OpenViking/blob/HEAD/OpenViking

The Context Database for AI Agents

English / 中文 / 日本語

Website · Live Demo · GitHub · Issues · Docs · Blog

https://github.com/volcengine/OpenViking/blob/HEAD/release https://github.com/volcengine/OpenViking/blob/HEAD/stars https://github.com/volcengine/OpenViking/blob/HEAD/issues https://github.com/volcengine/OpenViking/blob/HEAD/contributors https://github.com/volcengine/OpenViking/blob/HEAD/license https://github.com/volcengine/OpenViking/blob/HEAD/last commit

https://github.com/volcengine/OpenViking/blob/HEAD/Deploy on Railway

https://github.com/volcengine/OpenViking/blob/HEAD/Lark Lark · https://github.com/volcengine/OpenViking/blob/HEAD/WeChat WeChat · https://github.com/volcengine/OpenViking/blob/HEAD/Discord Discord · https://github.com/volcengine/OpenViking/blob/HEAD/X X

https://github.com/volcengine/OpenViking/blob/HEAD/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.

https://github.com/volcengine/OpenViking/blob/HEAD/OpenViking Studio Filesystem: browse personal memories and resources

Try OpenViking Studio in your browser, no installation required. Self-host Web Studio.

Why OpenViking

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:

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.

To run your own experiments, follow the RAG and Memory evaluation guide for routine VikingBot memory evaluation, published LoCoMo reproduction, separate mem0 prompt comparisons, and RAG evaluation.

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

https://github.com/volcengine/OpenViking/blob/HEAD/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%.

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
Follow this guide to install and start an OpenViking Server for me:

https://docs.openviking.ai/en/getting-started/04-setup-for-agent

Ask me for the model provider, the models, the workspace directory and whether other machines need to reach the server; don't guess. When you ask for the model API key, tell me how to hand it over if I'd rather not paste it into this chat, and never repeat it back.

When it's running, tell me the server's address and whether auth is turned on.

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:

uv tool install openviking --upgrade && openviking-server init

init writes ~/.openviking/ov.conf and 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 openviking package includes the ov CLI. With the server running, 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 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
Install the OpenViking memory plugin and help me start using it. OpenViking is the open-source context database for AI agents from Volcengine (https://github.com/volcengine/OpenViking, AGPL-3.0); the command and link below are from its official docs.

1. Run the official installer. It needs network access and writes to my home directory; if your sandbox blocks that, ask me for approval: curl -fsSL https://openviking.ai/install | bash -s -- --yes --lang en --url <SERVER_URL> --api-key <API_KEY> 2. Once it's installed, read the OpenViking onboarding guide and use it to walk me through setup. The guide has you ask me before choices like importing history or adding a working rule. docs.openviking.ai and docs.openviking.net are the same docs site; use whichever loads: https://docs.openviking.ai/agents/en/onboarding.md

The API key is a user key I created for myself on that server; the installer stores it in ~/.openviking/ovcli.conf on this machine. Use it in the command as it is; there's no need to show it in your replies, and don't write it into any other file or rule. Talk to me in English.

Before you send it, replace <SERVER_URL> with your server's address and <API_KEY> with a user key; a root key can't read or write memories. If the server has auth turned off, use --api-key ''.

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.

curl -fsSL https://openviking.ai/install | bash

AI agents: not sure about running this? The script's header says what it does and how to verify it.

Then restart your agent. The installer ends with the next steps for each tool, for example:

  Claude Code
    Next: restart Claude Code
    ⋮
    Verify: run /openviking-memory:ov in a session

On its first start Codex stops at Hooks need review; choose Trust 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:

https://github.com/volcengine/OpenViking/blob/HEAD/
Claude

Hooks + MCP
https://github.com/volcengine/OpenViking/blob/HEAD/
Codex

Hooks + MCP
https://github.com/volcengine/OpenViking/blob/HEAD/
Cursor

Hooks + MCP
https://github.com/volcengine/OpenViking/blob/HEAD/
TRAE

Hooks + MCP
https://github.com/volcengine/OpenViking/blob/HEAD/
OpenClaw

Context engine
https://github.com/volcengine/OpenViking/blob/HEAD/
Hermes

Built-in
https://github.com/volcengine/OpenViking/blob/HEAD/
OpenCode

Plugin + MCP
https://github.com/volcengine/OpenViking/blob/HEAD/
pi

Native extension
https://github.com/volcengine/OpenViking/blob/HEAD/
DeerFlow

Plugin + MCP
https://github.com/volcengine/OpenViking/blob/HEAD/
DSH

Plugin + MCP
https://github.com/volcengine/OpenViking/blob/HEAD/
Doubao Work

Connector
https://github.com/volcengine/OpenViking/blob/HEAD/
LangChain

Tools + store

General integrations

https://github.com/volcengine/OpenViking/blob/HEAD/
Agent Plugins 1.0
https://github.com/volcengine/OpenViking/blob/HEAD/
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:

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

https://github.com/volcengine/OpenViking/blob/HEAD/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.

https://github.com/volcengine/OpenViking/blob/HEAD/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.

GitHub Stars & Activity

41,114Stars
3,334Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars41,114
Forks3,334
Open issues0
Primary languagePython
License-
Stars gained today103
Created-
Last pushed-

Trending History

Daily boardrank #59 · ▲ 103 stars

Related GitHub Projects

1

github / spec-kit

Python★ 143,807⑂ 12,878▲ 361 stars
→
2

rohitg00 / ai-engineering-from-scratch

Python★ 75,478⑂ 13,273▲ 607 stars
→
3

vectorize-io / hindsight

Python★ 55,916⑂ 6,687▲ 1,352 stars
→
4

HKUDS / DeepTutor

Python★ 49,039⑂ 6,062▲ 1,926 stars
→
5

p-e-w / heretic

Python★ 37,041⑂ 4,210▲ 307 stars
→
6

baidu / Unlimited-OCR

Python★ 29,662⑂ 3,164▲ 429 stars
→
7

AgriciDaniel / claude-seo

Python★ 23,702⑂ 3,184▲ 581 stars
→
8

rlaope / oh-my-hermes

Python★ 4,732⑂ 369▲ 327 stars
→

More Trending Repositories