OpenViking

RAG & Memory 💻 Python ⚖️ AGPL-3.0 🟢 Actively maintained
35.6k stars

OpenViking is an open-source context database for AI agents that stores memories, resources, and skills as a virtual filesystem under the viking:// protocol. It solves the problem of black-box vector stores by letting agents browse context with familiar commands like ls and tree, and it reduces token costs through tiered loading. It is for developers building AI agents that need persistent, observable memory and context management.

✨ Key features

  • Unified filesystem for memories, resources, and skills via viking:// URIs.
  • Tiered content processing: L0 abstract, L1 overview, L2 details.
  • Directory recursive retrieval with surrounding context intact.
  • Observable retrieval with trajectory for debugging.
  • Sessions automatically commit to long-term memory.
  • Integrations with Claude Code, Codex, Cursor, and more.

🎯 Use cases

  • Give AI agents persistent memory across long conversations.
  • Manage project resources and skills in a structured way.
  • Reduce token usage by loading only necessary context layers.
  • Debug agent retrieval by inspecting query trajectories.
  • Build multi-agent systems with shared context.

📦 Installation

🧰 Requirements: Requires Python 3.10 or higher. Supports providers like Volcengine, OpenAI, Kimi, GLM, and local Ollama; API keys may be needed depending on provider.

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

🚀 Usage

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

⚠️ Good to know

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

❓ FAQ

What is the viking:// protocol?

It is a virtual filesystem protocol that organizes memories, resources, and skills as files and directories, allowing agents to browse context with commands like ls and tree.

How does tiered loading reduce token costs?

Content is processed into L0 (abstract), L1 (overview), and L2 (details) on write, and only the depth needed for the task is loaded, cutting token usage.

Can I use OpenViking with my existing AI agent?

Yes, it provides integrations for Claude Code, Codex, OpenClaw, Hermes, Cursor, TRAE, OpenCode, pi, Agent Plugins, MCP clients, and LangChain/LangGraph.

Is the open-source edition fully functional?

Yes, it is fully open source under AGPLv3 with no feature gates, no account required, and no activation key.

📊 Repository

Stars★ 35,636
Forks🍴 2,711
Open issues🐛 627
Last commit🕒 Sep 4, 2026
Created📅 Jan 2026
Language💻 Python
License⚖️ AGPL-3.0

🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.