🍺 Homebrew 更新周报 # 20260826 | Agent 开始有了自己的文件柜

前几周,agent 工具链在问"能不能跑";上周,我们看到有人在问"谁替我盯着它"。
这一周,有人开始问另一件事:agent 那么多决策,都存哪了?

不是又一个 agent runtime,
是一个叫 deja-vu 的东西,追溯你过去八个月在任何一个 coding agent 里做过的所有决策,
把它们拼成一张可以搜索的本地索引;
不是又一个 AI 助手管理面板,
是一个叫 skills-manager 的东西,把分散在 52 个工具里的 prompt 文件
统一放进一个有版本、有预设、可以一键同步的仓库;
不是又一个聊天框,
是一个把"哪些消息会被发给模型"这件事
变成一张可以用鼠标剪线的有向图。


本周一句话总结

agent 的工作状态上周有人在盯,这一周有人开始问:它做过的那些决策,能不能找回来。


本周新增工具速览

🧪 New Formulae

名称 中文说明
deja-vu 跨 20+ coding agent 的会话历史本地索引与搜索工具
fx-agent 可嵌入、轻量的原生 coding agent(单二进制)
gffcompare GFF/GTF 转录本文件比较、合并与注释工具
leaves 文本模式磁盘用量可视化工具
[email protected] MySQL 9.7 客户端工具集
[email protected] MySQL 9.7 开源关系型数据库
obscura 为 AI agent 和网页抓取设计的 headless 浏览器
pythia 蒙特卡洛事件生成器
robotcode Robot Framework 完整工具集
xeve 极速视频编码器,支持 MPEG-5 EVC(Essential Video Coding)

🧩 New Casks

名称 中文说明
amethyst-nostr Nostr 去中心化社交客户端
anarlog AI 会议记录与笔记本
android-performance-analyzer Android 应用和游戏性能分析工具链
atlas-app 为 coding agent 设计的源代码控制桌面应用
bifrost 三星固件下载工具
bramble 密码管理器
channel-works 客户支持、分析与营销一体化 AI Business OS
font-paper-mono Paper Mono 字体
keychron-assistant Keychron Launcher 配套工具,快速启动辅助
leigod 游戏网络加速器
motrix@beta 开源下载管理器(测试版)
nativ 本地运行 AI 模型的桌面应用
riverscript 录制并转录系统音频的 AI 平台
skills-manager 跨 52 个 coding 工具统一管理、同步 AI agent skills 文件
thoughtdag LLM 上下文图的可视化与可编辑工作台
triggerflo 专注计时器 + 看板,任务追踪一体

值得留意的几个方向

这一节不求全,只挑三个值得停下来看的点。


deja-vu:agent 做过的决策,不应该只存在于压缩摘要里

deja-vu 跨 agent 搜索演示

Claude Code 在压缩对话时会保留摘要,但根据 deja-vu README 里的一个数字:43 次压缩下来,摘要保住了约 77% 的决策,却只保住了 0.2% 的命令。那些被丢弃的"当时用的是这个参数"、"上次这样做是因为……"——deja-vu 在安装之前就已经替你追溯索引好了。

它的设计路线有一个不常见的地方:不需要 LLM,只用词法倒排索引。1551 个 session,中位数查询耗时 0.4ms。它不试图理解你做过什么,只是让你找得到。

更奇的是"跨 agent"。Claude Code 里解决过的一个 bug,在 Cursor 新开 session 时,deja-vu 的 MCP hook 会在会话开始前把相关历史送进去。这不是"AI 记忆",更接近一个开发者自己的版本控制——只是版本控制的对象变成了"过去做过的决定"。

deja-vu 索引后输出示例

skills-manager:当 prompt 文件多到需要一个包管理器

skills-manager 资源库界面

如果你用了不止一个 coding 工具,你大概有过这样的经历:在 Claude Code 里写好了一份 prompt 文件,换到 Cursor 发现要重新放一遍,换到 Copilot 又要一次。skills-manager 做的事很具体——把这些分散的 markdown 文件统一放进一个仓库,然后一键同步到你选择的任意工具。

它支持的工具列表现在是 52 个,包括 Claude Code、Codex、Cursor、GitHub Copilot、Gemini CLI、Windsurf 等。每张 skill 卡会显示当前在哪些 agent 里是"已同步"状态,哪些还没有。

skills-manager 全局工作区

这件事之所以值得关注,不只是因为功能本身——而是因为它的存在说明,prompt 文件这个东西,现在多到开始需要被管理了。几年前,"prompt engineering"还是一件你随手写随手丢的事。现在它开始有了仓库、版本、预设和跨设备同步。工具生态成熟有一个标志,就是出现"包管理器"。


thoughtdag:把你看不见的 context window,变成可以剪线的图


┌─────────────────────────────────────────────────────────────┐
│  ThoughtDAG — LLM Context Graph                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  [Document A] ──────────────────────▶ [Question]            │
│                                                             │
│  [Code snippet] ──  (pruned) ──────▶  ✗                     │
│                                                             │
│  [Research note] ───────────────────▶ [Question]            │
│                                                             │
│  "wires are context" — 剪一条线,这个节点的内容             │
│   就不会出现在下一次请求里。                                │
│                                                             │
│  当前 token 预计:2,341 (-47 if cut)                        │
└─────────────────────────────────────────────────────────────┘

标准聊天界面里,你不知道"这条消息会不会被发给模型"——超出窗口的会被截掉,但截掉哪些是隐形的。ThoughtDAG 把这件事翻出来了:每一条历史消息是一个节点,连线决定它会不会出现在下一次请求里。你可以在发送前剪掉一根线,把某个节点从 context 里排除,然后预览 token 数变化。

他们做了一个实验:162 个"聊天走偏"的案例,用"删掉整个污染子图"的方式全部修复,而"只删污染来源"只修复了 152 个。这说明上下文污染经常是沿着节点传播的——剪线的地方不只是"坏节点",而是"连接坏节点和好节点的那根线"。

这个工具目前是小众的,但它回答的问题不小:如果 context window 是你和模型合作的工作台,那这个工作台应该长什么样? 一个线性的聊天框,还是一张可以手动布线的图?


一点个人感受

deja-vu 有一个细节让我觉得它想得很清楚:它特意强调"不是从安装那天开始记录,而是追溯历史"。这个选择说明它的作者理解用户的真实处境——你不会在第一天就开始用记忆工具,那时候没有什么可以记;你会在某天发现"我之前解决过这个问题"的时候,才意识到需要它。等你意识到需要它,历史已经积累了很多了。

skills-manager 支持 52 个工具这个数字有点荒诞——说明 coding 工具领域的碎片化已经严重到需要一个专门工具来整合 prompt 文件了。这是好消息也是坏消息。好消息是 agent 工具链在成熟,坏消息是它成熟得太分散。

thoughtdag 我可能不会日常使用,但它是那种会改变你对某个概念理解的工具。用过一次之后,你会开始想"我和 Claude 的这段对话,如果是一张图,现在是什么形状"——即使你不再打开这个应用,这个问题本身已经在你那里留下了。

atlas-app 进了 Cask 但我没有展开写它——它和 deja-vu 想解决的问题有重叠,但 atlas 更重(桌面应用),deja-vu 更轻(单 Go binary + MCP hook)。两个工具同时进 Homebrew 这件事本身倒是有意思:agent 的记忆问题,现在至少有三种不同的答法了。


结语

deja-vu 在文档里写了一个比喻,大意是:coding agent 的 session 历史就像日记,但没有人读日记,除非他们想找一件之前发生过的事。

它没有说错。日记不是给每天看的,是给"我记得我做过这件事,但忘了细节"的那个时刻准备的。

现在 agent 工具链有了日记——一个本地的、可搜索的、不需要任何云端服务的日记。你在任何一个 agent 里做过的决定,可以在另一个 agent 开始工作之前被它读到。

这一步走完,agent 就不只是"能干活"了,它开始有了一些连续性。