GitHub 趋势 · 第 38 期

把 Agent 的记忆做成 viking:// 文件系统:3.6 万 star,主仓是 AGPLv3

#Agent记忆#上下文数据库#RAG

先把判断放在前面:OpenViking 是这期榜单里少数把「上下文」当成数据库工程来做、而不是当成提示词技巧的项目。它的主张很硬——Agent 的记忆不该是一个黑盒向量库,而应该是一套能用 ls、tree、find 翻看的文件系统。但动手之前有两件事必须先看清:主仓是 AGPLv3,把它嵌进闭源服务会撞上网络传染条款;README 自己也写着 still in its early stages,接口还在动。本篇所有命令、能力描述、许可条款与 benchmark 数字均取自仓库 README 与 LICENSE 原文,未做推测。

你现在的 RAG,问题不在召回率

十万条 chunk 塞进向量库,query 回来五条,拼进 prompt,完事。召回率调一调还能看,真正的麻烦在召回之后:命中了哪一条、为什么命中、它原本属于哪个目录的哪一节,全靠猜。检索过程本身是个黑盒,出错的时候你没法调试,只能重写 prompt 再试一次。Agent 的长期记忆更糟——一次会话结束,偏好和经验就散了,下次从零开始,用户还得把同样的偏好再说一遍。

OpenViking 的解法不是把向量库换一个,而是换一层抽象:先让 Agent 知道自己有什么,再决定读多少。

项目是什么

仓库 volcengine/OpenViking(https://github.com/volcengine/OpenViking),火山引擎(字节跳动旗下)开源,官网 openviking.ai。自述定位是 「Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.」——自演化的 Agent 上下文数据库,把记忆、知识 RAG 和技能统一到一处。

核心设计一句话说得完:把 memories、resources、skills 三类内容统一存成一套虚拟文件系统,挂在 viking:// 协议下。Agent 不是去查向量库,而是像开发者翻文件一样浏览自己的上下文。README 的原话是 “so an agent browses its own context with ls, tree, and find instead of querying a black-box vector store”。

viking://
├── resources/              # Resources: project docs, repos, web pages, etc.
│   └── 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/

数据实测(GitHub API):36,535 star / 2,798 fork / 106 watcher,688 个 open issue,语言 Python,默认分支 main,仓库体积约 259 MB(其中 uv.lock 一个文件就 1.28 MB);2026-01-05 创建,最近一次推送 2026-09-10,未归档、未禁用。月度趋势榜新增 8,469,最新正式版 v0.4.19(2026-09-08)。

许可不是一条,是四条

这是整篇里最该逐字看的一段。OpenViking 不是单一许可,README 的 License 一节自己列了四层:

路径许可
主项目(Main Project)AGPLv3
crates/ov_cliApache 2.0
examplesApache 2.0
third_party各自原许可

我抓了主仓的 LICENSE 文件核对:是标准 AGPLv3 原文,没有任何追加的自定义条款(无进一步限制、无附加许可)。也就是说约束就是 AGPLv3 本身的约束——你通过 pip 装的主项目受 AGPLv3 管,如果你的产品把它包进对外提供的网络服务里,AGPL 第 13 条要求你把对应源码提供给使用者。

反过来说,这也是这个项目少见的一点坦白:README 专门用一段写“开源版不是阉割版”,原文是 “The open-source edition is not crippled... no feature gates, no account required, no activation key”,还补了一句 it will stay true。它把两条商业线(火山引擎托管版、自托管版按 license key 激活)明确限定在“谁来运维、跑在哪”,而不是“能不能用”。这种把边界写在首页的做法,比藏着说清楚得多。

五个核心能力

能力README 的表述与含义
统一文件系统Memories、resources、skills 各得一个 viking:// URI,Agent 用确定性的方式定位和操作上下文,像开发者在文件系统里干活。
三层分级加载每条内容写入时就切成 L0(摘要)/ L1(概览)/ L2(明细),只按任务需要加载到对应深度。
目录递归检索向量检索先定位得分最高的目录,再逐层下钻,结果回来时带着周围的上下文,而不是孤立的 chunk。
可观测的检索每次查询都保留自己的目录浏览轨迹(trajectory)。结果不对时,你能看到究竟是哪条路径产出的。
会话沉淀为记忆session commit 之后,OpenViking 异步抽取用户偏好与 Agent 经验,写进长期记忆。

其中「三层分级加载」是省 token 的机关。每个目录自己带着 .abstract 和 .overview,所以 Agent 能在读任何全文之前先判断“这个目录跟我相关吗”:

viking://resources/my_project/
├── .abstract               # L0: ~100 tokens - quick relevance check
├── .overview               # L1: ~2k tokens - structure and key points
└── docs/
    ├── .abstract
    ├── .overview
    └── api/
        ├── auth.md         # L2: full content, loaded on demand
        └── endpoints.md

README 给的两组实测数字

README 里 “Proof it works” 一节把基准摊开写了。原文标注:评测版本是 0.3.22,用户记忆用 LoCoMo,多轮 Agent 任务用 tau2-bench,完整结果与复现脚本在 ./benchmark 目录。

基准不用 OpenViking用了 OpenViking
LoCoMo · OpenClaw24.20%82.08%
LoCoMo · Hermes33.38%82.86%
LoCoMo · Claude Code57.21%80.32%
tau2-bench · Retail70.94%77.81%
tau2-bench · Airline54.38%66.25%

读这组数字要带两个前提。第一,README 写明评测用的 VLM 是 Doubao 2.0 Pro、embedding 是 Doubao-embedding-vision-251215——都是自家模型;第二,基准跑在 0.3.22 上,而当前 release 已经是 v0.4.19。这不是造假,但意味着这组数字更适合当“方向验证”,不适合当“采购依据”。

上手:README 的原始命令

README 标注运行要求为 Python 3.10 或以上,安装与启动三步:

pip install openviking --upgrade
openviking-server init      # interactive wizard: providers, models, ov.conf
openviking-server doctor    # validate setup
openviking-server           # start (background: nohup openviking-server > openviking.log 2>&1 &)

init 是交互式向导,会写一份 ~/.openviking/ov.conf。README 列出的 provider 支持:Volcengine、OpenAI、Codex OAuth、Kimi、GLM,以及本地 Ollama——Ollama 这条路它会自己检测并安装运行时、按你的硬件拉合适的模型。doctor 只做检查不动服务,校验配置文件、Python 版本、provider 连通性和磁盘空间。

装完自带 ov 客户端 CLI,服务起来之后:

ov status
ov add-resource https://github.com/volcengine/OpenViking
# Replace TASK_ID with the returned task_id; continue after status is completed
ov task status TASK_ID
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

想连 Bot 一起跑,README 给的是:

pip install "openviking[bot]"
openviking-server --with-bot
ov chat   # in another terminal

集成面铺得很开,README 逐个列了安装说明的 Agent:Claude Code、Codex、OpenClaw、Hermes、Cursor、TRAE / TRAE CN / TraeCode CLI 2.0、OpenCode、pi、Agent Plugins 1.0、MCP 客户端、LangChain / LangGraph。另外有一个 Beta 状态的桌面控制台 OpenViking Helper,目前只给 macOS 与 Windows x64,能自动探测你机器上的 Claude Code、Codex、Cursor、Trae、OpenCode 并写入对应配置。不想装任何东西的话,官网有托管好的 Studio 演示环境可以直接开。

我的判断

适合谁。想让 Agent 记忆可查、可调试、能解释“为什么检索到这条”的团队;已经在用 Claude Code / Codex / Cursor 且不介意挂一个常驻服务的个人开发者;需要把项目文档、检索结果、技能描述放进同一套寻址空间的场景——viking:// 这个统一 URI 是真的省事。

不适合谁。准备把它嵌进闭源 SaaS 商业产品的团队,主仓 AGPLv3 的网络条款是硬约束;不能接受常驻 server 和 ~/.openviking 配置目录的极简派;需要稳定 API 的人——v0.4.17、v0.4.17.1、cli@0.4.18、python-sdk@0.1.10、v0.4.19、sdk/go/v0.0.2 挤在三周内发出来,接口不会停在原地。

几个必须知道的坑:

写在最后

这一期我本来按动量选了另一个项目(semantica-agi/semantica,本月 +8,849,略高于 OpenViking 的 +8,469,MIT 许可),但 OpenViking 从第 33 期起就被挤掉了四轮,每期文末都承诺“下期优先”。一个对读者公开的待办,比 380 个 star 的动量差更该先兑现,所以本期写它,semantica 排在下一篇。

对 OpenViking 我的结论是:它值得先把 Studio 演示打开看一眼,viking:// 这套寻址方式五分钟就能判断出对你有没有用;但把它放进生产之前,请先让法务看完那份 AGPLv3,再决定是自托管还是直接买火山引擎的托管版。

仓库地址:https://github.com/volcengine/OpenViking

总 star:36,535 | 月度新增 +8,469 | fork 2,798 | open issue 688 | watcher 106

许可:主项目 AGPLv3(标准原文,无附加条款);crates/ov_cli 与 examples 为 Apache 2.0;third_party 各自原许可

最新正式版:v0.4.19(2026-09-08) | 默认分支 main | 语言 Python | 2026-01-05 创建

数据来源:GitHub Trending 官方页面 + GitHub REST API + 仓库 README/LICENSE 原文 · 抓取时间:2026-09-11 12:20

#Agent记忆#上下文数据库#AGPLv3

你在用什么方案管 Agent 的长期记忆?是向量库、文件,还是干脆每次把上下文重塞一遍?评论区说说你踩过的坑,我会挑几个在下一篇里一起聊。

下一篇预告:semantica-agi/semantica(12,609 star,本月 +8,849,MIT)——用图结构承载上下文与可审计的 AI 系统,和本期这套文件系统派正好是两种路线,到时候放一起对比。
备选:cactus-compute/needle(10,778 star,本月 +7,395)——给手机、手表、智能家居和机器人用的 14MB 端侧基础模型。