一句话介绍
OpenViking 是一款由字节跳动火山引擎开源的上下文数据库,让 AI Agent 以 ls、tree、find 的方式浏览和管理自身的记忆、资源和技能,而非面对一个黑盒向量存储。
工具简介
AI Agent 的核心挑战之一是上下文管理:Agent 需要记住之前的对话内容、检索相关文档、调用已有技能,同时不能把所有信息一股脑塞进 prompt。现有的方案要么是独立的向量数据库(黑盒、不可追溯),要么是各框架自建的记忆系统(碎片化、无法互通)。
OpenViking 提出了一个新颖的思路:把上下文当作文件系统来管理。它定义了一个 viking:// 协议,所有记忆、资源、技能都以虚拟文件的形式存在于这个统一的命名空间中。Agent 用熟悉的文件系统命令来操作上下文,同时享受向量语义检索的便利。
- GitHub: https://github.com/volcengine/OpenViking
- 网站: https://www.openviking.ai
- 文档: https://docs.openviking.ai/
- 许可证: AGPLv3(主项目)/ Apache 2.0(CLI 工具)
- 语言: Python 3.10+,Rust(CLI)
- Stars: 29,606+(GitHub Trending 常客)
核心功能
1. 统一虚拟文件系统(viking:// 协议)
OpenViking 的核心抽象是 viking:// URI 命名空间。所有上下文资源——项目文档、用户偏好、Agent 技能——都以文件形式组织在一个虚拟目录树中:
viking://
├── resources/ # 资源:项目文档、仓库、网页等
│ └── my_project/
│ ├── docs/
│ │ └── api/
│ └── src/
└── user/
└── {user_id}/
├── memories/
│ └── preferences/
│ ├── writing_style
│ └── coding_habits
├── resources/
└── skills/
├── search_code
└── analyze_data
Agent 可以用 ls viking://resources/、tree viking://resources/my_project -L 2、find "what is openviking" 等方式浏览和操作上下文,体验如同操作真实文件系统。
2. 三级分层加载(L0 / L1 / L2)
OpenViking 的最大亮点之一是按需加载的三级内容体系。每条内容在写入时自动生成三个层级的摘要:
- L0(摘要):约 100 tokens,一句话概括,用于快速相关性判断
- L1(概览):约 2000 tokens,核心信息和典型使用场景,用于规划
- L2(详情):原始完整内容,仅在需要时才加载
目录本身也携带 L0/L1 层,因此 Agent 可以在不读取完整文件的情况下判断该目录是否相关,大幅减少了 token 消耗。基准测试显示,引入 OpenViking 后输入 token 减少了 34%~91%。
3. 递归目录检索
传统的向量搜索返回扁平的 top-k 文档片段,丢失了上下文关系。OpenViking 采用目录递归检索策略:先用向量搜索定位得分最高的目录,然后逐层向下展开,确保返回的结果自带完整的上下文包围。每个查询都会保留其目录浏览轨迹,结果出错时可以追溯具体是哪条路径产出的。
4. 会话即记忆
OpenViking 会在每次 Agent 会话结束后,异步提取用户偏好和 Agent 经验写入长期记忆。这意味着 Agent 会随着使用时间的增长而变得越来越了解用户——无需手动配置,系统自动学习。
5. 丰富的 Agent 集成
OpenViking 提供了与主流 AI Agent 框架的集成插件,包括 Claude Code、Codex、OpenClaw、Hermes、Cursor、TRAE、OpenCode、LangChain/LangGraph 等。每个集成都会将 OpenViking 的上下文检索能力注入 Agent,并在会话结束时自动提交记忆。
适用人群
适合:
- AI Agent 开发者:正在构建具有长期记忆能力的 Agent 系统,需要高效的上下文管理方案
- 企业级应用工程师:需要管理大量项目文档、知识库,同时保持 Agent 响应速度的团队
- RAG 系统构建者:对传统 RAG 的黑盒检索不满足,需要可追溯、可调试的检索方案
- 个人开发者:希望通过 OpenViking Studio 在线 Playground 快速体验,无需本地部署
不适合:
- 需要离线纯内网部署且不允许任何出站连接的环境(AGPLv3 开源版可部署,但需自行维护)
- 对中文搜索质量有极高要求的场景(目前主要面向英文优化,但中文内容也能正常索引)
与同类工具对比
| 维度 | OpenViking | LangChain Memory | VectorDB + RAG | Mem0 |
|---|---|---|---|---|
| 上下文组织 | 文件系统抽象 | 对话历史/记忆对象 | 向量相似度 | 无结构化记忆 |
| 检索可追溯性 | ✅ 完整目录轨迹 | ❌ 黑盒 | ⚠️ 部分 | ❌ |
| 分层加载 | ✅ L0/L1/L2 按需 | ❌ | ❌ | ❌ |
| token 效率 | 提升 34%~91% | 依赖实现 | 依赖实现 | 无优化 |
| Agent 集成 | 10+ 框架 | 广泛 | 需自行集成 | 有限 |
| 部署难度 | 中等(Docker 支持) | 低 | 高 | 低 |
| 开源程度 | ✅ AGPLv3 | ✅ | ✅ | ✅ |
| 厂商背景 | 字节火山引擎 | 社区 | 各厂商 | Mem0 Inc |
与 Mem0 的区别:Mem0 专注于用户偏好的自动记忆提取,但缺乏文件系统的组织能力和检索可追溯性。OpenViking 在记忆管理的基础上增加了完整的上下文文件系统,更适合需要管理大量项目资源的场景。
与纯向量数据库的区别:传统 RAG 方案(如 Chroma + LlamaIndex)返回的是扁平的文档片段,丢失了上下文关系。OpenViking 通过目录递归检索保留了内容的层次结构,且每次检索都可观测、可调试。
如何使用
方式一:在线 Playground(无需安装)
访问 OpenViking Studio,可以直接在浏览器中体验上下文管理、语义搜索和多 Agent 协作功能,无需安装任何软件。
方式二:本地快速部署
# 安装(需要 Python 3.10+)
pip install openviking --upgrade
# 交互式初始化(配置 AI 提供商、模型等)
openviking-server init
# 验证配置
openviking-server doctor
# 启动服务
openviking-server
初始化过程会引导你选择 AI 提供商(支持火山引擎、OpenAI、Codex OAuth、Kimi、GLM、本地 Ollama 等),并生成 ~/.openviking/ov.conf 配置文件。
方式三:使用 CLI 工具
服务器启动后,可以用 ov CLI 操作上下文:
ov status # 查看服务状态
ov add-resource https://github.com/volcengine/OpenViking # 添加资源
ov ls viking://resources/ # 列出资源目录
ov tree viking://resources/volcengine -L 2 # 查看目录树
ov find "what is openviking" # 语义搜索
ov grep "openviking" --uri viking://resources/ # 内容检索
方式四:集成到 Agent 框架
OpenViking 提供了与主流 Agent 框架的集成。以 Hermes Agent 为例,在配置文件中启用 OpenViking 插件即可自动获得上下文记忆能力。其他集成(Claude Code、Cursor、Codex 等)的详细说明见集成文档。
基准测试结果
OpenViking 在 LoCoMo(长对话用户记忆)和 tau2-bench(多轮 Agent 任务)两个基准上进行了评估:
LoCoMo 用户记忆准确率: - OpenClaw:24.20% → 82.08%(+57.88pp) - Hermes:33.38% → 82.86%(+49.48pp) - Claude Code:57.21% → 80.32%(+23.11pp)
tau2-bench Agent 任务成功率: - Retail:70.94% → 77.81%(+6.87pp) - Airline:54.38% → 66.25%(+11.87pp)
同时,输入 token 减少 34%~91%,查询延迟降低 58%~66%。
总结推荐指数
| 维度 | 评分(满分 5 分) |
|---|---|
| 技术创新性 | ⭐⭐⭐⭐⭐ |
| 实用性 | ⭐⭐⭐⭐ |
| 开源友好度 | ⭐⭐⭐⭐⭐ |
| 部署便利性 | ⭐⭐⭐⭐ |
| 文档完善度 | ⭐⭐⭐⭐ |
| 中文生态 | ⭐⭐⭐ |
总体推荐指数:4.2 / 5.0
OpenViking 是近年来 AI Agent 基础设施领域最令人兴奋的项目之一。它将上下文管理从”黑盒向量检索”提升到了”可观测的文件系统”层次,三级分层加载设计巧妙地平衡了检索质量和 token 成本。
对于正在构建 Agent 系统的开发者,OpenViking 提供了一个经过基准验证的、与主流框架兼容的成熟方案。特别推荐给那些对传统 RAG 检索结果不可追溯感到困扰的团队——OpenViking 的目录递归检索和轨迹保留机制,让每一次上下文检索都有迹可循。
一句话评价:OpenViking 让 AI Agent 的记忆系统从”黑盒”变成了”文件系统”,这可能是上下文工程领域最优雅的范式转变之一。
配置 Agent 时可参考本站 AI 工具评测 中的同类工具对比,找到最适合你工作流的上下文管理方案。