OpenViking
为 AI Agent 设计的上下文数据库,把记忆、资源和技能统一挂载成 viking:// 虚拟文件系统,支持多层级(L0/L1/L2)按需加载和目录递归检索。相比传统向量库,检索轨迹可观测、可调试,还能从会话中自动沉淀长期记忆。基于 AGPLv3 开源,提供完整 CLI、Docker 部署及 Claude Code、LangChain 等集成,适合做 RAG 和 Agent 记忆层的替代方案。
README
OpenViking: AI Agent 的上下文数据库(Context Database)
官网 · 在线 Demo · GitHub · Issues · 文档
👋 加入我们的社区
什么是 OpenViking
OpenViking 是一个为 AI agent 设计的开源上下文数据库。它将记忆、资源和技能统一存储为一个虚拟文件系统(virtual filesystem),通过 viking:// 协议访问,因此 agent 可以使用 ls、tree、find 来浏览自身上下文,而不是查询黑箱式的向量存储(vector store)。内容会被处理为三个层级——L0 摘要、L1 概览、L2 详情——并按需加载。每次检索都会留下可供查看和调试的轨迹。完整介绍:入门指南。
OpenViking Studio 在线实验场——一个可以在浏览器中直接打开、无需安装的实时演示。
为什么选择 OpenViking
- 统一的上下文文件系统。 记忆、资源和技能各自拥有
viking://URI。Agent 可以像开发者操作文件一样,确定性地定位和操作上下文。 → Viking URI · 上下文类型 - 分层加载降低 token 开销。 每条内容在写入时都会处理为 L0(摘要)、L1(概览)、L2(详情)三层,并仅按任务需要加载到相应深度。 → 上下文层级
- 目录递归检索。 向量搜索(vector search)首先定位得分最高的目录,再逐层向下钻取,因此返回结果时上下文信息保持完整。 → 检索
- 可观测的检索。 每次查询都会保留其目录浏览轨迹。当结果看起来不对时,你可以准确看到是由哪条路径产生的。 → 检索
- 会话沉淀为记忆。 会话提交后,OpenViking 会异步将用户偏好和 agent 经验提取为长期记忆。 → 会话
各模块如何组合:架构。设计背后的思考:上下文工程的数据库范式。
viking://
├── resources/ # 资源:项目文档、代码仓库、网页等
│ └── my_project/
│ ├── docs/
│ │ ├── api/
│ │ └── tutorials/
│ └── src/
└── user/
└── {user_id}/
├── memories/
│ └── preferences/
│ ├── writing_style
│ └── coding_habits
├── resources/
│ └── private_project/
├── skills/
│ ├── search_code
│ └── analyze_data
└── peers/
└── web-visitor-alice/
三个加载层级:
- L0(摘要):一句话摘要,用于快速相关性判断。
- L1(概览):核心信息和适用场景,用于规划。
- L2(详情):完整的原始数据,仅在需要时读取。
每个目录都带有自己的 L0/L1 层,因此在读取任何完整文件之前即可判断相关性:
viking://resources/my_project/
├── .abstract # L0:约 100 token - 快速相关性检查
├── .overview # L1:约 2k token - 结构和要点
└── docs/
├── .abstract
├── .overview
└── api/
├── auth.md # L2:完整内容,按需加载
└── endpoints.md
效果验证
OpenViking 0.3.22 已通过长对话用户记忆(LoCoMo)和多轮 agent 任务(tau2-bench)评估。完整结果与配置细节(包括知识库问答)请参阅基准测试报告;复现脚本位于 ./benchmark。
- 用户记忆(LoCoMo):接入 OpenViking 后,三种 agent 集成的准确率均达到 80–83%——相比其原生记忆的 24–57% 大幅提升——同时输入 token 降低 34.3–91.0%,查询延迟降低 58.45–66.10%。
- Agent 经验(tau2-bench):与不携带记忆的同一 LLM 相比,经验记忆将任务成功率分别提升了 +6.87 个百分点(零售)和 +11.87 个百分点(航空)。
快速开始
💡 想先看看效果? 试试 OpenViking Studio——一个实时托管的实例,包含上下文实验场、语义搜索和多人 agent 中心。无需安装。
需要 Python 3.10 或更高版本。
pip install openviking --upgrade
openviking-server init # 交互式向导:服务商、模型、ov.conf
openviking-server doctor # 验证配置
openviking-server # 启动(后台运行:nohup openviking-server > openviking.log 2>&1 &)
init 会引导你完成服务商配置并写入 ~/.openviking/ov.conf。它支持火山引擎(Volcengine)、OpenAI、Codex OAuth、Kimi、GLM 以及本地 Ollama——对于 Ollama,它可以检测并安装运行时,并根据你的硬件拉取合适模型。doctor 在无需运行服务器的情况下检查配置文件、Python 版本、服务商连通性和磁盘空间。手动配置 ov.conf 模板、各服务商示例、环境变量和 Windows 设置:配置指南 · 快速入门文档。
安装时已包含 ov 客户端 CLI。服务器运行后:
ov status
ov add-resource https://github.com/volcengine/OpenViking # --wait
ov ls viking://resources/
ov tree viking://resources/volcengine -L 2
# 如果未使用 --wait,请等待语义处理完成
ov find "what is openviking"
ov grep "openviking" --uri viking://resources/volcengine/OpenViking/docs/en
后续步骤:
与你的 agent 一起使用
集成方案会将 OpenViking 的召回(recall)注入 agent 上下文,并自动提交会话记忆:
- Claude Code
- Codex
- OpenClaw
- Hermes
- Cursor
- TRAE / TRAE CN / TraeCode CLI 2.0
- OpenCode
- pi
- Agent 插件 1.0
- MCP 客户端
- LangChain / LangGraph
各 agent 的配置说明:Agent 集成概述。
OpenViking Helper(Beta)
OpenViking Helper 是一个桌面控制台,目前处于 macOS 和 Windows x64 的 beta 阶段:
- 可视化本地 agent 配置:检测 OpenViking CLI、Claude Code、Codex、Cursor、Trae 和 OpenCode,并配置受支持的插件、MCP、Hook 和 CLI 集成。
- 会话轨迹查看:解析 Claude Code、Codex 和 Trae 会话,展示 OpenViking 召回、提示注入(prompt injection)、MCP 调用、捕获和提交事件。
- 本地记忆与技能管理:查看本地记忆 / 规则文件和
SKILL.md技能,并将其同步到 OpenViking。
下载:
VikingBot
VikingBot 是基于 OpenViking 构建的 AI agent 框架:
pip install "openviking[bot]"
openviking-server --with-bot
ov chat # 在另一个终端中运行
官方 Docker 镜像内置了 VikingBot,并默认在启动服务器和控制台 UI 的同时启动它。详情:VikingBot 指南。
生产环境部署
在生产环境中,可以将 OpenViking 作为独立的 HTTP 服务运行——参见 服务器部署 和 部署指南。
商业版本
开源版本并非残缺版。 本仓库中的 OpenViking 在 AGPLv3 协议下完全开源:无功能限制、无需账户、无需激活密钥。按照上面的 生产环境部署 即可自行在生产环境运行——这一点将始终如此。
以下两个版本回答的是“谁运营、在哪里运行”,而不是“我能不能用”。
![]() ☁️ 托管 SaaS由火山引擎官方托管。无需任何搭建,无需任何运维。
现有开源用户可通过迁移工具无缝迁移。 针对中国以外地区的全球托管即将在 BytePlus 上线。 |
![]() 🏢 自托管运行在你自己的环境内部。数据不会离开该环境。
在开源版本之上增加了分布式部署和官方支持,通过许可证密钥激活。 |
只想运行开源版本?放心跑——不需要联系任何人。请前往 快速开始。
研究
OpenViking 开源了 VikingMem 论文中描述的核心能力子集:
VikingMem: A Memory Base Management System for Stateful LLM-based Applications Jiajie Fu, Junwen Chen, Mengzhao Wang, Aoxiang He, Maojia Sheng, Xiangyu Ke, Yifan Zhu, and Yunjun Gao. arXiv:2605.29640, 2026. Accepted by VLDB 2026. 📄 在 arXiv 阅读论文
合作项目
OpenViking 欢迎与其他开源项目合作,共同构建上下文数据生态。目前已确认的合作伙伴包括:
- deer-flow - 开源的长周期 SuperAgent 框架
- NoKV - AI 原生分布式文件系统
- loopx - 轻量级循环工程状态内核
- Hermes Agent - 与你一同成长的 agent
有兴趣加入我们的合作伙伴名单?请向社区提交 issue 申请。
社区与贡献
OpenViking 仍处于早期阶段,还有很多工作要做。
- 文档:docs.openviking.ai · FAQ
- 博客:blog.openviking.ai
- 团队:关于我们
- 交流:📱 Lark 群 · 💬 微信群 · 🎮 Discord · 🐦 X
- 贡献:欢迎提交 bug 修复和新功能——参见 CONTRIBUTING.md
安全与隐私
本项目非常重视安全性。 漏洞报告和受支持版本请参见 SECURITY.md
许可证
OpenViking 项目为不同组件采用不同许可证:

