开源项目

OpenViking

OpenViking

为 AI Agent 设计的上下文数据库,把记忆、资源和技能统一挂载成 viking:// 虚拟文件系统,支持多层级(L0/L1/L2)按需加载和目录递归检索。相比传统向量库,检索轨迹可观测、可调试,还能从会话中自动沉淀长期记忆。基于 AGPLv3 开源,提供完整 CLI、Docker 部署及 Claude Code、LangChain 等集成,适合做 RAG 和 Agent 记忆层的替代方案。

README

OpenViking

OpenViking: AI Agent 的上下文数据库(Context Database)

English / 中文 / 日本語

官网 · 在线 Demo · GitHub · Issues · 文档

👋 加入我们的社区

📱 Lark 群 · 微信群 · Discord · X

volcengine%2FOpenViking | Trendshift


什么是 OpenViking

OpenViking 是一个为 AI agent 设计的开源上下文数据库。它将记忆、资源和技能统一存储为一个虚拟文件系统(virtual filesystem),通过 viking:// 协议访问,因此 agent 可以使用 ls、tree、find 来浏览自身上下文,而不是查询黑箱式的向量存储(vector store)。内容会被处理为三个层级——L0 摘要、L1 概览、L2 详情——并按需加载。每次检索都会留下可供查看和调试的轨迹。完整介绍:入门指南。

OpenViking Studio playground

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。

Benchmark results. LoCoMo accuracy: OpenClaw 24.20% native vs 82.08% with OpenViking; Hermes 33.38% vs 82.86%; Claude Code 57.21% vs 80.32%. tau2-bench task success: Retail 70.94% vs 77.81%; Airline 54.38% vs 66.25%.
  • 用户记忆(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

后续步骤:

  • 客户端配置(ov config)、独立 CLI 安装(npm / cargo)以及索引重建等高级用法:CLI 配置
  • Docker 和生产环境部署:部署指南

与你的 agent 一起使用

集成方案会将 OpenViking 的召回(recall)注入 agent 上下文,并自动提交会话记忆:

各 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 协议下完全开源:无功能限制、无需账户、无需激活密钥。按照上面的 生产环境部署 即可自行在生产环境运行——这一点将始终如此。

以下两个版本回答的是“谁运营、在哪里运行”,而不是“我能不能用”。

Managed SaaS

☁️ 托管 SaaS

由火山引擎官方托管。无需任何搭建,无需任何运维。

  • 个人版 — 面向独立开发者。最多免费试用 50 个文件,并可借助 VikingDB 扩展至远超本地硬件能力的规模。
  • 企业版 — 多用户上下文管理、团队协作与权限、企业级 SLA 和支持。

现有开源用户可通过迁移工具无缝迁移。

→ 火山引擎产品页 · 文档

针对中国以外地区的全球托管即将在 BytePlus 上线。

Self-Managed

🏢 自托管

运行在你自己的环境内部。数据不会离开该环境。

  • 在线版 — 部署到你自己的云账户 / VPC 中,支持 BYOC,通过出站连接获取更新和许可证。
  • 离线版 — 完全隔离、无互联网访问的环境,适用于受监管行业。

在开源版本之上增加了分布式部署和官方支持,通过许可证密钥激活。

→ 咨询自托管部署

只想运行开源版本?放心跑——不需要联系任何人。请前往 快速开始。

研究

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 仍处于早期阶段,还有很多工作要做。

安全与隐私

本项目非常重视安全性。 漏洞报告和受支持版本请参见 SECURITY.md

许可证

OpenViking 项目为不同组件采用不同许可证:

  • 主项目:AGPLv3 - 详情见 LICENSE 文件
  • crates/ov_cli:Apache 2.0 - 详情见 LICENSE
  • examples:Apache 2.0 - 详情见 LICENSE
  • third_party:第三方项目各自的原始许可证
开源项目volcengine2026-08-18原文

相关内容