volcengine/OpenViking

Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.

OpenViking – AI代理人的上下文数据库

是什么 – OpenViking 是一个开源的 上下文存储,允许基于 LLM 的代理将记忆、资源和技能视为虚拟文件系统(viking://)中的文件。与向黑箱存储发送原始向量查询不同,代理可以使用熟悉的命令(lstreefind)浏览、列出和搜索层级结构。每个条目都预先处理为三个层级——极简摘要(L0)、中等大小概览(L1)和完整原始数据(L2),因此代理仅加载实际需要的文本,大幅减少令牌使用量和延迟,同时保持检索路径的可观测性。

为何重要

  • 确定性、可观测的检索 – 系统遵循的路径会被记录,使得“为什么代理选择了这条信息?”的调试变得简单明了。
  • 令牌高效 – L0/L1 层使代理能早期丢弃无关分支,显著降低令牌使用量和延迟(README 提到基准测试中令牌减少 34–91%,延迟降低约 60%)。
  • 统一的 URI 方案 – 所有内容都位于 viking:// URI 下,提供对记忆、用户偏好、公共资源、私有文件甚至其他代理的单一、类文件系统视图。
  • 会话 → 记忆 – 会话结束后,OpenViking 会提取偏好和经验,并将其作为长期记忆存储,供下次会话使用。

核心概念

概念 作用
Viking URI 任何上下文类型(资源、记忆、技能、对等体)的统一地址(viking://…
上下文层级(L0–L2) L0:一句话摘要(约 100 令牌),用于快速相关性检查。L1:概览(约 2k 令牌),用于规划。L2:完整内容,仅在需要时读取。
目录递归检索 向量搜索首先选择得分最高的目录,然后逐层深入,返回带有周围上下文的结果。
会话 → 记忆 完成的会话异步转换为持久记忆条目(偏好、经验)。

如何尝试

  1. 安装pip install openviking --upgrade(需 Python 3.10+)。
  2. 初始化openviking-server init 运行交互式向导,创建 ~/.openviking/ov.conf 并配置提供者(Volcengine、OpenAI、Ollama 等)。
  3. 验证openviking-server doctor 检查配置、Python 版本、连接性和磁盘空间。
  4. 运行openviking-server 启动 HTTP 服务(或使用 nohup … & 在后台运行)。
  5. 使用 CLI – 内置的 ov 客户端允许您添加资源、列出目录、搜索和检查任务,例如:
    ov add-resource https://github.com/volcengine/OpenViking
    ov ls viking://resources/
    ov find "what is openviking"
    
  6. 无需安装体验OpenViking Studio 网页沙盒(https://openviking.ai/studio)提供文件系统、语义搜索和多代理中心的实时演示。

代理集成 – OpenViking 提供了多个流行 LLM 代理框架的即用型适配器,包括 Claude Code、Codex、OpenClaw、Hermes、Cursor、TRAE、LangChain/LangGraph 等。适配器会自动将检索到的上下文注入代理的提示,并将会话记忆提交回存储。

VikingBot – 一个可选的基于 Python 的代理框架,随服务器一起提供(pip install "openviking[bot]")。使用 --with-bot 启动服务器将启动聊天界面(ov chat)。Docker 镜像捆绑了 VikingBot、服务器和控制台 UI,支持一键部署。

部署选项

  • 自托管 – 在自己的云、VPC 或离线空气隔离环境中运行 HTTP 服务。生产指南涵盖 Docker、Kubernetes 和扩展性。
  • 托管 SaaS – Volcano Engine 提供托管版本(最多 50 个文件的免费试用,之后为付费层级)。开源版本无需任何许可证密钥即可完全运行。

性能证据 – 基准测试(LoCoMo 记忆测试和 tau2-bench 多轮任务)显示,当代理使用 OpenViking 时,准确率从 20% 中段跃升至约 80%,同时令牌消耗和延迟显著下降。

许可证 – 核心项目采用 AGPL-v3(完整源码,无功能限制)。CLI crate(crates/ov_cli)和示例代码采用 Apache 2.0。

了解更多

  • 文档与教程https://docs.openviking.ai
  • 基准测试脚本 – 仓库中的 ./benchmark 目录。
  • 研究论文VikingMem: A Memory Base Management System for Stateful LLM-based Applications(arXiv 2605.29640, VLDB 2026)。
  • 社区 – README 中的 Discord、Lark、WeChat、X(Twitter)链接。

TL;DR – OpenViking 用分层、分层感知的文件系统取代了不透明的向量存储,使代理能够探索和调试。它减少了令牌使用,提高了召回准确率,并与广泛的 LLM 代理兼容,所有内容均在 AGPL-v3 开源许可证下提供。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目