OpenViking  by volcengine

Context database for AI Agents

Created 1 month ago
3,407 stars

Top 14.0% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

OpenViking addresses AI Agent context management challenges—fragmentation, surging demand, and poor retrieval—by offering an open-source context database. It unifies memories, resources, and skills via a file system paradigm, enabling hierarchical context delivery and self-evolving agent capabilities for developers.

How It Works

The core innovation is a "file system paradigm" that maps agent context (memories, resources, skills) to a viking:// URI structure, treating context like files and directories for unified, deterministic manipulation. It employs tiered context loading (L0 Abstract, L1 Overview, L2 Details) for efficient, on-demand retrieval, significantly reducing token costs. "Directory Recursive Retrieval" combines intent analysis with vector search and hierarchical directory traversal for more globally accurate context acquisition. Automatic session management extracts long-term memories, enabling agents to learn and improve over time.

Quick Start & Requirements

  • Installation: pip install openviking
  • Prerequisites: Python 3.9+, Linux/macOS/Windows, network. Requires VLM and Embedding models (OpenAI, Volcengine Doubao, or compatible APIs).
  • Configuration: An ov.conf file is mandatory, specifying model service endpoints, API keys, provider types, and model names. The OPENVIKING_CONFIG_FILE environment variable must point to this configuration.
  • Example: A Python script demonstrates core functionalities: adding resources, listing, reading, semantic search, and retrieving abstracts/overviews.
  • Documentation: Available via the header "Docs" link and "Full Documentation."

Highlighted Details

  • File System Paradigm: Unifies context management beyond flat RAG into a hierarchical, traceable structure.
  • Tiered Context: L0/L1/L2 layers optimize token usage and retrieval depth.
  • Recursive Retrieval: Enhances context accuracy via hierarchical directory exploration alongside semantic search.
  • Self-Iteration: Automatic memory extraction enables agents to learn and improve.

Maintenance & Community

Developed by ByteDance's Volcengine Viking Team, building on prior VikingDB experience. Described as "still in its early stages." Community channels include Lark, WeChat, Discord, and X.

Licensing & Compatibility

Licensed under the Apache License 2.0, permitting broad commercial use and integration into closed-source projects.

Limitations & Caveats

As an early-stage project, OpenViking may have instability or incomplete features. Setup requires careful configuration of external model service APIs, which may incur costs.

Health Check
Last Commit

6 hours ago

Responsiveness

Inactive

Pull Requests (30d)
194
Issues (30d)
61
Star History
3,520 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.