volcengine/OpenViking
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
OpenViking – AI代理人的上下文数据库
是什么 – OpenViking 是一个开源的 上下文存储,允许基于 LLM 的代理将记忆、资源和技能视为虚拟文件系统(viking://)中的文件。与向黑箱存储发送原始向量查询不同,代理可以使用熟悉的命令(ls、tree、find)浏览、列出和搜索层级结构。每个条目都预先处理为三个层级——极简摘要(L0)、中等大小概览(L1)和完整原始数据(L2),因此代理仅加载实际需要的文本,大幅减少令牌使用量和延迟,同时保持检索路径的可观测性。
为何重要
- 确定性、可观测的检索 – 系统遵循的路径会被记录,使得“为什么代理选择了这条信息?”的调试变得简单明了。
- 令牌高效 – L0/L1 层使代理能早期丢弃无关分支,显著降低令牌使用量和延迟(README 提到基准测试中令牌减少 34–91%,延迟降低约 60%)。
- 统一的 URI 方案 – 所有内容都位于
viking://URI 下,提供对记忆、用户偏好、公共资源、私有文件甚至其他代理的单一、类文件系统视图。 - 会话 → 记忆 – 会话结束后,OpenViking 会提取偏好和经验,并将其作为长期记忆存储,供下次会话使用。
核心概念
| 概念 | 作用 |
|---|---|
| Viking URI | 任何上下文类型(资源、记忆、技能、对等体)的统一地址(viking://…) |
| 上下文层级(L0–L2) | L0:一句话摘要(约 100 令牌),用于快速相关性检查。L1:概览(约 2k 令牌),用于规划。L2:完整内容,仅在需要时读取。 |
| 目录递归检索 | 向量搜索首先选择得分最高的目录,然后逐层深入,返回带有周围上下文的结果。 |
| 会话 → 记忆 | 完成的会话异步转换为持久记忆条目(偏好、经验)。 |
如何尝试
- 安装 –
pip install openviking --upgrade(需 Python 3.10+)。 - 初始化 –
openviking-server init运行交互式向导,创建~/.openviking/ov.conf并配置提供者(Volcengine、OpenAI、Ollama 等)。 - 验证 –
openviking-server doctor检查配置、Python 版本、连接性和磁盘空间。 - 运行 –
openviking-server启动 HTTP 服务(或使用nohup … &在后台运行)。 - 使用 CLI – 内置的
ov客户端允许您添加资源、列出目录、搜索和检查任务,例如:ov add-resource https://github.com/volcengine/OpenViking ov ls viking://resources/ ov find "what is openviking" - 无需安装体验 – 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 开源许可证下提供。
相关
- 项目
- 项目
- 项目
- 项目
- 项目