为AI Agent设计的开源上下文数据库,通过viking://协议统一管理记忆、资源和技能,支持L0/L1/L2分层加载
Website · Live Demo · GitHub · Issues · Docs
👋 加入社区
📱 Lark 群 · 微信 · Discord · X
OpenViking 是一款面向 AI Agent 的开源 Context 数据库。它将记忆、资源和技能统一存储为虚拟文件系统,通过 viking:// 协议访问,Agent 可以用 ls、tree、find 等命令浏览自己的上下文,而非查询一个黑箱式的向量数据库。内容在写入时会被处理为三个层级——L0 抽象层、L1 概述层、L2 详情层——按需加载。每次检索都会留下一条可观测、可调试的轨迹。完整介绍见:快速开始。

OpenViking Studio playground——可在线在浏览器中打开的实时演示,无需安装。
一套文件系统,统一管理所有上下文。记忆、资源和技能各自拥有 viking:// URI。Agent 以确定性方式定位和操作上下文,如同开发者操作文件一般。→ Viking URI · Context 类型
分层加载,降低 Token 消耗。每个条目在写入时都会被处理为 L0(抽象)、L1(概述)和 L2(详情)三层,随后仅按任务需要加载到对应深度。→ Context 分层
目录递归检索。向量搜索首先定位得分最高的目录,随后逐层向下钻取,使结果在返回时保留完整的周边上下文。→ 检索
可观测的检索过程。每次查询都保留其目录浏览轨迹。当某个结果不符合预期时,你可以精确追溯它是如何被产生的。→ 检索
会话转化为记忆。会话提交后,OpenViking 异步提取用户偏好和 Agent 经验,转化为长期记忆。→ 会话
整体架构一览:系统设计。关于设计背后的思考:Context Engineering 的数据库范式。
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 tokens - 快速相关性检查
├── .overview # L1: ~2k tokens - 结构和关键点
└── docs/
├── .abstract
├── .overview
└── api/
├── auth.md # L2: 完整内容,按需加载
└── endpoints.md
OpenViking 0.3.22 在长会话用户记忆(LoCoMo)和多轮 Agent 任务(tau2-bench)上进行了评估。完整结果和 setup 细节(包括知识库 QA)见基准测试报告;复现脚本位于 ./benchmark 目录。
用户记忆(LoCoMo):使用 OpenViking 后,三种 Agent 集成的准确率均达到 80–83%,而其原生记忆仅为 24–57%;输入 Token 减少 34.3–91.0%,查询延迟降低 58.45–66.10%。
Agent 经验(tau2-bench):经验记忆使任务成功率较无记忆的同款 LLM 提升 +6.87pp(零售场景)和 +11.87pp(航空场景)。
💡 想先看实际效果?试试 OpenViking Studio——托管实例,包含上下文 playground、语义搜索和多 Agent hub。无需安装。
需要 Python 3.10 或更高版本。
pip install openviking --upgrade
openviking-server init # 交互向导:选择 provider、模型,生成 ov.conf
openviking-server doctor # 验证配置
openviking-server # 启动(后台运行:nohup openviking-server > openviking.log 2>&1 &)
init 引导你完成 provider 配置并写入 ~/.openviking/ov.conf。支持 Volcano Engine、OpenAI、Codex OAuth、Kimi、GLM 以及本地 Ollama——对于 Ollama,它能自动检测并安装运行时,根据你的硬件推荐合适的模型。doctor 在不启动服务器的情况下检查配置文件、Python 版本、provider 连通性和磁盘空间。手动配置 ov.conf 模板、各 provider 示例、环境变量和 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 和生产部署:部署指南
集成后,OpenViking 会将记忆注入 Agent 上下文,并自动提交会话记忆:
各 Agent 的详细集成说明:Agent 集成总览
OpenViking Helper 是一个桌面控制台,目前处于 Beta 阶段,支持 macOS 和 Windows x64:
下载 macOS Apple Silicon(arm64)
VikingBot 是一个基于 OpenViking 构建的 AI Agent 框架:
pip install "openviking[bot]"
openviking-server --with-bot
ov chat # 在另一个终端
官方 Docker 镜像打包了 VikingBot,默认与服务器和控制台 UI 一同启动。详情:VikingBot 指南
生产环境使用:作为独立 HTTP 服务运行 OpenViking——见服务器部署和部署指南
本仓库中的 OpenViking 为完全开源,采用 AGPLv3 协议:无功能限制、无需注册账号、无激活密钥。按照上面的生产部署步骤自行运行即可——这一点不会改变。
下面两个版本回答的是"谁来运维、在哪里运行"的问题,而非"我能不能用"。
由 Volcano Engine 提供官方托管。开箱即用,无需运维。
现有开源版用户可通过迁移工具切换。→ Volcano Engine 产品页 · 文档
全球托管(面向中国以外区域)即将上线 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. 📄 Read the paper on arXiv
OpenViking 欢迎与其他开源项目合作,共同构建上下文数据生态。已确认的合作伙伴包括:
有意加入合作伙伴列表?请在我们的社区提交 issue 申请。
OpenViking 仍处于早期阶段,还有大量工作要做。
本项目高度重视安全问题。漏洞报告和支持版本见 SECURITY.md
OpenViking 项目对不同组件采用了不同的许可证: