← all repositories
volcengine/OpenViking

Your agent's brain, organized like a filesystem

OpenViking treats memories, skills, and resources as files and directories so agents can retrieve context hierarchically instead of drowning in flat vector soup.

25.3k stars Python AgentsRAG · Search
OpenViking
Velocity · 7d
+164
★ / day
Trend
steady
star history

What it does

OpenViking is a context database for AI agents that abandons the usual fragmented vector-storage approach. It unifies memories, resources, and skills under a filesystem paradigm—complete with directories, recursive retrieval, and tiered loading—so agents can access context the way you’d find a file on disk rather than hoping a similarity search guesses right.

The interesting bit

The L0/L1/L2 three-tier structure loads context on demand, which the project claims significantly cuts token consumption. More unusually, it visualizes the directory retrieval trajectory—turning the typical black-box RAG pipeline into something you can actually debug by watching how the agent “navigates” its own memory tree.

Key highlights

  • Filesystem-style management for agent memories, resources, and skills (not just another vector DB wrapper)
  • Tiered context loading (L0/L1/L2) with on-demand retrieval to limit token burn
  • Recursive directory retrieval combining path-based positioning with semantic search
  • Visualized retrieval trajectories for debugging why an agent fetched what it fetched
  • Automatic session compression that extracts long-term memory from conversations, tool calls, and resource references
  • Python package plus optional Rust CLI; supports Volcengine, OpenAI, Kimi, GLM, and local Ollama models
  • openviking-server init and doctor commands for setup and validation

Caveats

  • Requires both a VLM and an embedding model, with setup varying significantly by provider (the README is thorough but the matrix is complex)
  • Needs Rust toolchain and C++ compiler for building core components from source
  • Benchmark results are referenced but not actually shown in the README excerpt provided

Verdict

Worth a look if you’re building agents that need structured, inspectable, and evolving context rather than one-shot RAG retrieval. Skip it if your use case is simple enough that a basic vector store already does the job.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.