OpenViking Skill:让 AI Agent 拥有持久记忆的上下文数据库
概述
OpenViking 是由字节跳动火山引擎推出的开源上下文数据库,专为 AI Agent 打造。它将 Agent 的记忆、知识 RAG 与技能统一收敛到虚拟文件系统 viking:// 中,通过 L0/L1/L2 三层加载机制实现按需读取——实测将用户记忆准确率从 24-57% 提升至 80-83%,Token 消耗降低 34-91%,延迟降低 58-66%。截至 2026 年 9 月,GitHub 已获约 38,000 Star(2,900+ Fork),月下载超 42 万次,是当前 Agent 记忆赛道最炙手可热的开源项目。
核心功能与设计原则
OpenViking 解决的是 Agent 的「记忆丧失」顽疾:传统方案中,Agent 的上下文是单次性的——对话一长,早期决策和用户偏好就被截断或遗忘。
设计原则:
- 统一上下文数据库:不是又一个向量库,而是把记忆、资源、技能都当成数据库记录来管理
- 虚拟文件系统优先:
viking://URI 体系让 Agent 像浏览本地文件一样导航上下文,而非在黑盒向量空间中搜索 - 三层加载按需读取:L0 摘要(~100 tokens)快速判断相关性 → L1 概览用于规划 → L2 详情仅在需要时加载
- 自进化记忆:会话提交后自动异步提取长期记忆,新记忆与已有记忆自动比对,决定新增、合并还是跳过
- 多 Agent 互联:支持
peers/目录实现跨 Agent 共享上下文
认可度
- GitHub Star:约 38,000(截至 2026-09-17),2,900+ Fork,490+ Open PR/Issue
- 月下载量:约 42 万次(pip install 统计)
- 社区:225+ 贡献者,活跃提交(今日最新 push),VLDB 2026 学术论文收录
- 市场认证:GitHub Top 5% most starred 项目,CSDN 2026-08 月榜第 9 名,LinkedIn/StartUpCorners 持续追踪报道
- 集成广泛:Claude Code、Codex、Cursor、TRAE、OpenClaw、Hermes、OpenCode、pi 等 15+ 主流 Agent 深度集成
链接
GitHub:https://github.com/volcengine/OpenViking
官方文档:https://docs.openviking.ai
Studio 在线体验:https://openviking.ai/studio
原作者
Volcengine(字节跳动火山引擎) — 字节跳动旗下云基础设施团队,以开源云原生工具链(veadk、ark-runtime 等)闻名。OpenViking 是其在 Agent 记忆层的核心产品,已形成完整 SDK 矩阵(Python / Go / TypeScript / HTTP API)。
详细介绍
传统 Agent 框架将上下文视为一次性消耗品:对话变长时,早期信息被截断或淹没在向量检索的噪声中。OpenViking 从头重新设计了这一范式——将 Agent 的全部上下文(记忆、资源、技能)组织为一个可寻址的虚拟数据库。
核心抽象:Viking URI
每个上下文单元都有确定地址,例如 viking://user/{user_id}/memories/preferences/coding_habits。Agent 使用 ls / tree / find / read / write 等操作浏览和写入上下文,而非调用黑盒检索 API。目录可携带 L0/L1 摘要,让 Agent 在读取完整内容前就能判断相关性。
三层加载机制
- L0(摘要):一句话总结(约 100 tokens),用于快速相关性判断
- L1(概览):目录结构和核心要点,用于规划阶段
- L2(详情):原始完整内容,仅在 Agent 确认需要时加载
这一机制使 Token 消耗大幅下降(34-91%),同时准确率不降反升。
会话→记忆自进化
当一个会话结束后,ov compile 命令会调用内置 skill 自动将对话内容组织为 wiki、知识图谱或报告,新记忆与已有记忆库自动比对合并,实现跨会话的持续学习。
特点
- 统一虚拟文件系统:记忆 / 资源 / 技能三分域,共享 URI 寻址体系
- L0/L1/L2 三层按需加载:Token 消耗降低 34-91%,准确率反而提升至 80-83%
- 多 Agent 互联:
peers/命名空间支持跨 Agent 共享上下文,多 Agent 协作场景天然适配 - Benchmarks 实证:LoCoMo 用户记忆任务 +6~11pp 提升,tau2-bench 多轮任务 +6.87pp(零售)/ +11.87pp(航空)
- 15+ 主流 Agent 深度集成:Claude Code、Codex、Cursor、TRAE、OpenClaw、Hermes、OpenCode、pi 等,开箱即用
- 多语言 SDK + HTTP API:Python / Go / TypeScript SDK,通用 HTTP 接口,灵活嵌入各类技术栈
- 桌面端 Studio(Beta):macOS/Windows 可视化客户端,配置集成、查看召回/捕获事件
使用方法
安装
pip install openviking --upgrade
初始化
openviking-server init # 交互式向导:选择模型供应商(Volcengine / OpenAI / Ollama 等)
openviking-server doctor # 验证配置和连通性
openviking-server # 启动服务器
CLI 常用命令
ov status
ov add-resource https://github.com/volcengine/OpenViking
ov task status TASK_ID # 等待任务完成
ov ls viking://resources/
ov tree viking://resources/volcengine -L 2
ov find "what is openviking"
ov grep "memory" --uri viking://resources/
集成示例(以 Claude Code 为例)
# 安装 Claude Code Hooks + MCP
# 参考文档:https://docs.openviking.ai/en/agent-integrations/02-claude-code
配置完成后,Claude Code 的每次会话自动将上下文同步到 OpenViking,跨会话召回用户偏好、项目约定和历史决策。
使用场景与人群
适用场景:
- 多轮复杂项目:代码库大、周期长,需要 Agent 记住前序决策和用户编码风格
- 多 Agent 协作:多个 Agent 共享同一用户上下文(如 Copilot + Claude Code 并用)
- 用户个性化记忆:Agent 需要记住用户偏好、写作风格、工作习惯
- 知识密集型问答:项目文档 / Wiki 频繁更新,需要 Agent 实时同步最新知识而非依赖静态向量索引
目标用户:
- AI 应用开发者,构建需要持久记忆的 Agent 系统
- 企业 AI 团队,解决 Agent 在长项目中的「失忆」问题
- 研究者,关注 Agent 记忆层的架构设计与评估基准
输入与输出案例
案例 1:用户偏好记忆
输入:用户告诉 Agent「我习惯用 Ruff 做 Python lint,不要用 flake8」
处理:Agent 将偏好写入 viking://user/{user_id}/memories/preferences/linting_style
输出:后续所有会话中,Agent 自动调用 Ruff,无需重复说明
案例 2:会话→知识库编译
输入:一个 2 小时调试会话结束,提交至 OpenViking
处理:ov compile 异步提取会话内容,生成 L0/L1 摘要并与已有记忆比对
输出:记忆库新增「某模块的已知问题」条目,后续 Agent 在相关代码上下文自动召回该知识
GitHub:https://github.com/volcengine/OpenViking · 截至 2026-09-17 约 38,000 Star,月下载 42 万+
评论区
登录后可评论。