Skip to the collection

agent-native · Memory & State

OpenViking

Listed on The Agent-Native Index

The context database for AI agents

What it does

OpenViking is an open-source context database — a unified filesystem for everything an AI agent needs to know: its own accumulated experience (viking://agent/), user preferences (viking://user/), and external resources (viking://resources/).

Instead of managing memory in one system, resources in a vector store, and skills in another, OpenViking maps all three to a hierarchical viking:// virtual filesystem. Agents navigate it with ls and find — exactly like a developer navigates a project directory. Each node has L0/L1/L2 tiered content: a one-sentence abstract for quick routing, an overview for planning, and full content for deep reasoning — loaded on demand to reduce token cost by up to 91%.

The killer feature: self-evolution. At the end of each session, OpenViking asynchronously extracts agent experience from task execution and writes it to viking://agent/memories/ — the agent accumulates operational knowledge without any human curation.

Benchmark (LoCoMo10, 1540 long-range dialogue cases):

System Task Completion Input Tokens
OpenClaw (baseline) 35.65% 24.6M
OpenClaw + LanceDB 44.55% 51.6M
OpenClaw + OpenViking 52.08% 4.3M

+49% task completion, -83% token cost versus baseline.


Agent-facing interfaces

How agents onboard

Interaction pattern: SDK / REST + MCP

# Install
pip install openviking --upgrade

# Configure (create ~/.openviking/ov.conf with your VLM + embedding keys)
# Then start the server
openviking-server

# Agent connects via MCP (recommended for Claude Code / Cursor)
claude mcp add --transport http openviking http://localhost:8000/mcp

# Or ingest content and query via CLI
ov add ./my-project-docs
ov query "how does the authentication flow work"

See the full onboarding section in the dossier.

Protocol surface

Interface Detail
MCP Server HTTP StreamableHttp at localhost:8000/mcp; tools: query, search, add_resource
Python SDK pip install openviking
Rust CLI curl ... | bash (ov_cli); commands: ov add, ov query, ov find, ov grep, ov ls
HTTP REST Direct API at localhost:8000
OpenClaw Plugin Memory plugin for OpenClaw agents
OpenCode Plugin Memory plugin for OpenCode agents