Favicon of OpenViking

OpenViking

OpenViking is an open-source context database for AI agents that unifies memory, RAG, and skills under a viking:// virtual filesystem.

OpenViking website screenshot
OpenViking GitHub repository preview

OpenViking is an open-source context database built for AI agents. Instead of a black-box vector store, it exposes memories, resources, and skills as a virtual filesystem under a viking:// protocol, browsable with commands like ls, tree, and find. It's aimed at developers building or integrating AI agents that need persistent, inspectable memory and knowledge retrieval, whether through a coding assistant, a custom agent framework, or an MCP-compatible client.

Key features

  • Unified viking:// filesystem: memories, resources, and skills each get a URI, so agents locate and manipulate context deterministically instead of relying on opaque similarity scores.
  • Tiered context loading: every entry is processed into L0 (abstract), L1 (overview), and L2 (details) on write, and loaded only as deep as a task requires, which cuts token spend.
  • Directory recursive retrieval: vector search first finds the highest-scoring directory, then drills down layer by layer, so results come back with surrounding context intact.
  • Observable retrieval trajectories: each query preserves the path it browsed, so you can see exactly which directory produced a given result when something looks wrong.
  • Session-to-memory extraction: after a session commits, OpenViking asynchronously pulls user preferences and agent experience into long-term memory.
  • Multi-provider setup: the init wizard supports Volcengine, OpenAI, Codex OAuth, Kimi, GLM, and local Ollama (with hardware-aware model detection).
  • Broad agent integrations: works with Claude Code, Codex, OpenClaw, Hermes, Cursor, TRAE, OpenCode, pi, MCP clients, and LangChain/LangGraph.
  • VikingBot: an included agent framework built on top of the context database for chat-based interaction and testing.

Ideal use cases

OpenViking fits teams building coding agents, research assistants, or multi-session chatbots that need memory to persist and stay debuggable across turns. It's a good match when you want to feed an agent large amounts of documentation or code without blowing the context window, since the tiered L0/L1/L2 loading lets the agent skim abstracts before pulling full detail. It also suits setups where you need to audit why an agent retrieved a particular piece of context, because every query keeps its browsing trajectory.

It's less useful if you just need a simple key-value cache or a one-off vector search with no need for hierarchical structure or session memory. Teams that require a fully managed, zero-ops setup with enterprise SLAs should look at the Volcano Engine managed SaaS option instead of self-hosting. And if AGPLv3 licensing terms are a blocker for your product (for example, closed-source SaaS resale), you'll need to evaluate the self-managed commercial license rather than the open-source repo directly.

Installation

OpenViking 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 &)

The init command walks through provider setup and writes ~/.openviking/ov.conf. The doctor command checks the config file, Python version, provider connectivity, and disk space without needing a running server.

Once the server is running, use the bundled ov CLI client:

ov status
ov add-resource https://github.com/volcengine/OpenViking # --wait
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

To add the VikingBot agent framework on top:

pip install "openviking[bot]"
openviking-server --with-bot
ov chat   # in another terminal

For production, run OpenViking as a standalone HTTP service; the project documents Docker and deployment steps separately. A hosted live demo, OpenViking Studio, is also available for trying the system without installing anything locally.

Frequently asked questions

Share:

Stars
33.3K
Forks
2.5K
Last commit
21 hours ago
Repository age
8 months
License
AGPL-3.0
Self-hosted
No
Activity score
84/100
View Repository
Ad
Favicon

 

  
 

Similar to OpenViking

Favicon

 

  
 
Favicon

 

  
 
Favicon