OpenViking:火山引擎开源的 AI Agent 上下文数据库,3 万星重新定义智能体记忆

2026 年的 AI Agent 正在从「跑通一次任务」迈向「长期陪伴式工作」,但一个致命短板始终卡在中间:记忆。大多数智能体的上下文窗口一旦关闭,上一轮对话学到的用户偏好、项目约定、踩过的坑就全丢了。火山引擎(Volcengine)开源的 OpenViking 正是冲着这个痛点来的——它把 Agent 的记忆、知识库和技能统一成一张「虚拟文件系统」,上线即斩获近 3 万 Star,成为本周 GitHub Trending 最受瞩目的项目之一。

它是什么?

OpenViking 是一个面向 AI Agent 的开源上下文数据库(Context Database)。核心思路非常朴素却极其有力:别再让 Agent 去查一个「黑盒向量库」了,而是把记忆、资源(文档/仓库/网页)和技能统统挂载成 viking:// 协议下的目录树,让 Agent 像开发者一样用 lstreefind 来浏览自己的上下文。

它由 ByteDance/火山引擎团队推出,Rust + Python 编写,采用 AGPLv3 协议(CLI 与示例为 Apache 2.0)。项目基于论文 VikingMem: A Memory Base Management System for Stateful LLM-based Applications,该论文已被数据库顶会 VLDB 2026 接收。

核心功能与设计哲学

  • 一张文件系统装下所有上下文:记忆、资源、技能各有一个 viking:// URI,Agent 可以像操作文件一样确定性地定位和读取上下文,告别「调 API 猜结果」。
  • 三级分层加载,省 token:每一条内容在写入时就被处理成 L0(摘要,约100 token)、L1(概览,约2k token)、L2(完整原文)三层,按需逐层读取,避免把无关细节塞进上下文窗口。
  • 目录级递归检索:先做向量搜索锁定得分最高的目录,再逐层下钻,返回的结果自带周边上下文,而不是孤零零的几句碎片。
  • 可观测的检索轨迹:每次查询都会保留「目录浏览路径」,结果不对时能精确回溯是哪条路径导致的,调试不再靠猜。
  • 会话自动变成记忆:会话提交后,OpenViking 异步地把用户偏好和 Agent 经验抽取进长期记忆,越用越懂你。

一个直观的目录结构示例:

viking://resources/my_project/
├── .abstract               # L0:约100 token,快速相关判断
├── .overview               # L1:约2k token,结构与要点
└── docs/
    ├── .abstract
    ├── .overview
    └── api/
        ├── auth.md         # L2:完整内容,按需加载
        └── endpoints.md

效果有多硬?

官方在长对话用户记忆(LoCoMo)和多轮 Agent 任务(tau2-bench)上做了实测:

  • 用户记忆(LoCoMo):接入 OpenViking 后,Claude Code、Hermes、OpenClaw 三套集成的准确率全部冲到 80–83%,而它们原生记忆最高只有 57%(OpenClaw 原生仅 24%);与此同时输入 token 减少 34.3–91.0%,查询延迟下降 58–66%。
  • Agent 经验(tau2-bench):经验记忆让任务成功率提升 +6.87pp(零售)和 +11.87pp(航空)。

快速上手

需要 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,支持 Volcengine、OpenAI、Codex OAuth、Kimi、GLM 以及本地 Ollama(还能自动检测硬件并帮你拉取合适模型)。安装自带 ov 客户端 CLI,服务启动后即可使用:

ov status
ov add-resource https://github.com/volcengine/OpenViking   # 加资源,可加 --wait 等待语义处理
ov ls viking://resources/
ov tree viking://resources/volcengine -L 2
ov find "what is openviking"
ov grep "openviking" --uri viking://resources/volcengine/OpenViking/docs/en

它还内置了一个 VikingBot 框架,一条命令就能跑起来聊天式体验:

pip install "openviking[bot]"
openviking-server --with-bot
ov chat      # 另开一个终端

与主流 Agent 无缝集成

OpenViking 提供了丰富的集成方式,把召回注入 Agent 上下文并自动提交会话记忆:Claude Code、Codex、OpenClaw、Hermes、Cursor、TRAE、OpenCode、pi,以及 MCP 客户端、LangChain / LangGraph 等,甚至支持 Agent Plugins 1.0 标准。官方还推出了一款桌面控制台 OpenViking Helper(Beta,支持 macOS 与 Windows x64),可视化检测并配置各 Agent 的插件/MCP/Hook 集成,还能解析会话轨迹做调试。

适用场景

  • 长期陪伴式编码助手:记住你的代码风格、项目约定、常用技术栈,跨会话不「失忆」。
  • 多 Agent 协作 / 交接:不同厂商的 Agent 之间共享同一套上下文,无缝 handoff。
  • 企业知识库 RAG:把文档、仓库、网页统一成可检索的层级目录,自带摘要分层,省 token 又可控。
  • 需要审计与可解释的 Agent 系统:检索轨迹可回溯,符合对「黑盒」敏感的场景。

写在最后

OpenViking 最打动人的一点,是把「上下文工程」从一个玄学变成了工程问题——用文件系统、目录分层、可观测轨迹这些开发者熟悉的概念,重塑了 Agent 记忆的底层范式。开源版无阉割、无激活码,可自行部署到生产环境;官方另提供托管 SaaS(火山引擎)与私有化部署两种商业版。对于任何认真做长期 Agent 应用的团队,它都值得一试。

GitHub 地址:https://github.com/volcengine/OpenViking

官方文档:https://docs.openviking.ai/

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享