2026 2026年10月24日 29 min · 8.4k chars by yxc023
GitHub 调研周报 2026-10-24
扫描窗口:2026-09-08T09:23:29Z → 2026-10-24T00:30:15Z(共 45.7 天)| 基准来源:上次报告 2026-10-23
2026-10-24 GitHub 调研周报
扫描窗口:2026-09-08T09:23:29Z → 2026-10-24T00:30:15Z(共 45.7 天)| 基准来源:上次报告 2026-10-23
注:
基准时间字段自 2026-09-08 起连续 13 期未变(按 spec 读取自reports/latest.md)。本期新增内容全部落在 2026-10-23T00:30:05Z 之后的约 24 小时,下文「窗口期内」均指这一增量段。
本期速览
- anomalyco/opencode: v2.1.4 的主线是「MCP 交互表单终于能出现」+「compaction 移到后台」——MCP elicitation 表单在 TUI / Desktop / Web 三端都能弹出(#58184 / #58305),此前工具调用会一直等到超时;新增
experimental.background_compaction,在会话接近压缩阈值时提前后台准备摘要;compaction 超出 provider 限制时优先缩短旧 tool output(#58015);ChatGPT 登录的 context caps 从硬编码拆成可关闭的独立插件opencode.provider.openai-context-caps(#58194)。 - opencode 同日撤回 Console 托管语音——#58461 revert 了 v2.1.3 引入的 Console 托管 GPT-Live,理由是语音模型将变成 models.dev 上的普通 provider 模型(#58458 把 realtime / embedding / reranking 模型从目录中剔除)。托管平台作为特殊通道正在被收回。
- opencode 一天内铺开 5 条图像生成接入——Alibaba、Cloudflare Workers AI Run API、Vercel AI Gateway,外加「可移植图像形状(aspect + resolution)」(#58528 / #58383 / #58387 / #58469),并修掉「OpenAI-compatible host 不返回 output_format 时无法识别图像类型」(#58475)。
- hindsight 修掉一个被忽视的 prompt cache 杀手——#6053 把 memory block 从 system prompt 移到 user message,因为该 block 每轮都在变,放在 system prompt 里每次请求都破坏缓存前缀(fixes #5914);同窗口新增
operation runs扩展点(#6048),记录每次 retain / recall / reflect / consolidation 的墙钟时间与其模型调用、store 调用。 - ACP 的子代理 RFD 从「文档讨论」进入「协议改动」——#2465 让 session message 的收发两侧视图互相指名(
senderMessageId/recipientMessageId),并把消息身份从 chunk 上剥离;#2468 定义子代理配置的只读快照(复用config_option_update,不新增协议字段)。这直接推翻了上期「协议本体零改动、子代理委派未进入规范」的判断。 - MCP 成为四个仓库的共同故障面——opencode 修了 MCP 表单不出现、OAuth 回调被无关请求打断、远程 MCP 请求被 Bun fetch idle timeout 掐断、初始 reconciliation 重复启动 MCP server;pi 在 [Unreleased] 里让 MCP sign-in 只接受
http:/https:的 OAuth URL(此前可传file:或自定义协议)。 - pi 的 Chord 子系统在长出「可被观察的值」抽象——
Watchable/NativeWatchable与共享 watch-handle 实现落地(Mario Zechner),Durable 直接复用;加上 MCP OAuth URL 校验、device-code 登录自动开页/复制码、/model与/resume搜索排序修复、HTML 导出白屏修复。 - pi-web 连续第 4 天零 commit,但 issue 侧照常进流——新开 5 个 issue + 2 个 PR,其中 #1393 明确要求把打包的 Pi SDK 从 1.2.0 升到 1.4.0(仓库已落后两个 minor 版本);#1395 报告长任务下子进程不回收导致整机卡顿。open issues 45 → 51。
各仓库详情
anomalyco/opencode
通用开源编码 agent,MIT,提供 TUI、桌面端、Web 与共享后台服务;2.x 走 npm
@opencode/cli,1.x 走opencode-ai| stars: 220625(上期 220209,+416)| open issues: 3673(上期 3639,+34)| 默认分支: dev | 最近 push: 2026-10-24T00:29:22Z | 主页: https://opencode.ai
近 45.7 天 release 重点:
-
v2.1.4(2026-10-23,dev 分支
CHANGELOG.md)— MCP 输入表单 + 后台压缩- Highlights:MCP elicitation 表单在工具调用中弹出而不是等到超时,Desktop 与 Web 端同样支持 text / number / choice / multiselect / boolean / URL 请求(#58184 / #58305);
experimental.background_compaction让摘要在接近压缩阈值时后台预生成(#57444 / #58294) - Core:compaction 请求超出 provider 限制时优先缩短较旧的 tool output 与交换轮次,保留更多有用历史(#58015);ChatGPT 登录的 context caps 变成可关闭的内置插件
opencode.provider.openai-context-caps(#58194);新增opencode debug heap-dump [--server <url>](#58252) - 修复:会话没有自己的模型时改用所选 agent 的模型(#58355);压缩缓冲留给模型的额度为零时被忽略,识别出更多 provider context-overflow 错误(#58313 / #57982);只含 V2 字段的 agent 文件被正确按 V2 读取(#58218);ChatGPT 账号会被拒的 Codex 模型被隐藏(#58180);导入的 V1 全局会话归属到正确项目(#56322)
- TUI / Desktop:实验性 TUI tools 选项让 agent 不抢键盘焦点地打开并输入会话终端(#57506);Desktop 新增「Capture heap snapshots」命令面板项,一次保存 app-window / main-process / server 三份快照并附 native-memory / GPU / page 诊断(#58259 / #58311)
- SDK / Extensions:新增
connectClientMcp(),在实验性 client MCP WebSocket 传输上由 client 托管 MCP 工具(#57504 / #57505);MCP OAuth 登录在无关请求打到回调后仍继续等待(#58342);远程 MCP 请求不再被 Bun 的 fetch idle timeout 掐断(#58341);MCP server 不再在初始 reconciliation 时重复启动,并在 shutdown 时并行停止(#58349 / #58351);输出 schema 不是根对象的 MCP 工具也被接受(#58224) - 完整 release notes: https://github.com/anomalyco/opencode/blob/dev/CHANGELOG.md
- Highlights:MCP elicitation 表单在工具调用中弹出而不是等到超时,Desktop 与 Web 端同样支持 text / number / choice / multiselect / boolean / URL 请求(#58184 / #58305);
-
v2.1.3(2026-10-22)— Bun 1.4.4 安全修复、
@pierre/highlights替换 Shiki、语音模型发现- 完整 release notes: https://github.com/anomalyco/opencode/blob/dev/CHANGELOG.md
-
v1.19.4(GitHub Release,2026-10-22)— 1.x 线同步 Bun 1.4.4 与根证书更新
- 完整 release notes: https://github.com/anomalyco/opencode/releases/tag/v1.19.4
(GitHub Release 侧最新仍是 v1.19.x;v2.x 的 release notes 只在默认分支 CHANGELOG.md 与 npm @opencode/cli 上,两条发布线并存。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
8d95ef8托管回退(中文:撤回在已连接的 OpenCode Console 上托管 GPT-Live) —chore(server): revert hosted GPT-Live on the connected OpenCode Console (#58461)(@Adam, 2026-10-23)df6fb9a目录(中文:把 realtime、embedding、reranking 模型排除出模型目录) —fix(core): exclude realtime, embedding, and reranking models from the catalog (#58458)(@Adam, 2026-10-23)24b5ed8MCP(中文:重新注册 legacy MCP OAuth 回调) —fix(console): register legacy MCP OAuth callback (#58453)(@Filip, 2026-10-23)5098951图像(中文:可移植图像形状,带宽高比与分辨率) —feat(ai): portable image shape with aspect and resolution (#58528)(@Aiden Cline, 2026-10-23)4386838/23cd310/861a2cf图像(中文:分别接入 Cloudflare Workers AI Run API、Vercel AI Gateway、Alibaba 的图像生成) —feat(ai): add Cloudflare Workers AI image generation via the Run API (#58387)/feat(ai): add Vercel AI Gateway image generation (#58469)/feat(ai): add Alibaba image generation (#58383)(@Aiden Cline, 2026-10-23)f9f463b目录(中文:Go 限额表主推 Kimi K3.1 Pro,K3 移入展开列表) —feat(go): feature Kimi K3.1 Pro instead of Kimi K3 (#58513)(@opencode-agent[bot], 2026-10-23)33726e8压缩(中文:忽略让模型没有余量的压缩缓冲) —fix(core): ignore a compaction buffer that leaves the model no room (#58313)(@Aiden Cline, 2026-10-23)f523f77压缩(中文:precompute_compaction改名为background_compaction并补文档) —feat(core): rename precompute_compaction to background_compaction and document it (#58294)(@Aiden Cline, 2026-10-23)8ecd6ad/7b14ad4MCP(中文:初始 reconciliation 启动的 MCP server 不再重复,且 shutdown 时并行停止) —fix(core): don't duplicate MCP servers started during initial reconciliation (#58349)/fix(core): stop MCP servers in parallel on shutdown (#58351)(@Aiden Cline, 2026-10-23)bc3a709/9624ff1重构(中文:删除重复 helper 与未用 schema 导出,去重 session token 类型并收紧 provider 插件) —refactor(client,schema): remove duplicate helpers and unused schema exports (#57999)/refactor(core): deduplicate session token types and tighten provider plugins (#57994)(@Aiden Cline, 2026-10-23)
社区讨论 / 行业方向:
- OpenCode Changelog 官方页(v2.1.4): 官方把 v2.1.4 的两个 highlight 定为「MCP Input Forms Now Appear」与「Background Compaction」,并注明后台摘要「即使最终没被用到也会消耗 token」。
- OpenCode’s Console breach: when a middleman holds your API keys(DEV Community): 梳理 10-17 披露的事件——攻击者 10-16 夜进入 Console 背后的一套遗留系统,约 1.4% 的 Console 用户的 provider API key「可能已泄露」,受影响的是把 OpenAI / Anthropic / Google key 存进 Console 的 BYOK 用户;文中指出在 Console 里删 key 不等于吊销 key,且 Console budget 无法限制 Console 之外的用量。
- OpenCode Security Breach Exposes Third-Party API Keys of its Console Users(Cybersecurity News): 同一事件的第二信源。
- OpenCode 2 v2.1.4: client-hosted MCP tools(TurboAI): 第三方把 v2.1.4 归纳为「client-hosted MCP tools + background compaction」两条。
- OpenCode 2 (October 2026): What Changed, What Breaks and What It Costs(Standard Compute): 第三方对 OpenCode 2 破坏性变更与迁移成本的盘点。
信号观察:
- 托管平台作为特殊通道正在被收回:#58461 撤掉 Console 托管 GPT-Live,理由写得很直白——语音模型将变成 models.dev 上的普通 provider 模型,Console-only 通道不值得保留。发生在一个刚刚发生过 provider key 泄露事故的平台上,方向上与「把密钥和调用都留在本地 provider」一致。
- 图像生成是本期 opencode 的第二条主线:单日 4 条 provider 接入 + 1 条形状抽象 + 2 条类型识别修复,全部出自同一作者。在文本 agent 之外,opencode 正在补齐多模态生成侧的 provider 广度。
- 仓库活动强度依旧断层领先:24 小时内 60 个 commit、92 个 PR 合并、新开 125 个 issue + 164 个 PR;作者结构里 Aiden Cline 独占 20 个 commit(几乎全是 provider / AI 层),DS 独占 13 个(几乎全是 v2 文档清理),「provider 广度」与「文档重写」是两条互不干扰的并行线。
- MCP 的四个独立故障被一次性打包修掉(表单不出现、OAuth 回调被打断、远程请求被 fetch timeout 掐断、server 重复启动)——MCP 已经从「能不能用」进入「边界条件对不对」的阶段。
- open issues 从 3639 回到 3673(+34),一改上期「−852」的收敛形态;stars 增速降到 +416(上期 +2414)。
earendil-works/pi
AI agent 工具包:统一 LLM API、agent loop、TUI、编码 agent CLI;MIT,Pi 生态的核心 harness;本期新增 durable 存储与 Chord(SQLite 复制)子系统| stars: 117443(上期 117215,+228)| open issues: 369(上期 369,持平)| 默认分支: main | 最近 push: 2026-10-23T20:43:04Z | 主页: (仓库未填 homepage)
近 45.7 天 release 重点:
-
v1.4.0(2026-10-21)— 摘要不再有固定输出上限 + classifier 图像输入
- New Features:codemode
models.classify()支持images(TypeSafe Jev、Cloudflare Clef,覆盖typesafe/cloudflare-workers-ai/ OpenRouter);新增由models.jsonschema 生成的 Models Configuration 参考页;compaction 与 branch summary 改用模型自身的 output limit(generateSummary()不再使用reserveTokens);codemode 并行脚本与进程内 subagent 改为排队等待空闲 worker(PI_CODEMODE_MAX_WORKERS可调);新增 Rex 终端支持(OSC 8 超链接、truecolor、内联图片) - 完整 release notes: https://github.com/earendil-works/pi/releases/tag/v1.4.0
- New Features:codemode
-
[Unreleased] — 本期新增条目(2026-10-23 合入)
- Added:device-code 登录(如 GitHub Copilot)在按 Enter 时自动打开验证页并复制验证码,provider 可用
openBrowserOnConfirm: false/copyCodeOnConfirm: false单独关闭(#9282 / #9301) - Changed:
pi update不再向npm ci传--min-release-age=0(锁文件已 pin 版本,该标志无效且会被安全扫描器拦截)(#11262);/model与/scoped-models在名称含有 ID 之外的信息时把模型名一起显示(#5916 / #11347) - Fixed:MCP sign-in 现在只接受
http:/https:的授权端点与 OAuth 元数据 URL(此前恶意 MCP server 可提供file:或自定义协议 URL,pi 会把它交给平台 URL handler);ARM32 等无预编译产物的架构不再自动下载 x86-64 的fd/rg,改为警告并建议用系统包管理器安装(#11209);/model搜索排序不再让散落的匹配字母抢在真实匹配前面(#11220 / #11296);/resume搜索不再匹配会话消息或 ID 内部的任意字符(#11220 / #11024);条目极多的会话 HTML 导出不再白屏(#11225 / #11293);HTML 导出补上 system message(system prompt 与 tools,以及/reload之后的 section 更新),pi --export现在也包含 system prompt 与 tools(#11261 / #3464 / #11290);macOS 上中止 bash 命令不再误跑列表里的下一条命令(改为先停进程组再杀)(#11252 / #11289) - 完整 changelog: https://github.com/earendil-works/pi/blob/main/packages/coding-agent/CHANGELOG.md
- Added:device-code 登录(如 GitHub Copilot)在按 Enter 时自动打开验证页并复制验证码,provider 可用
其他重要 commits / PRs(按重要性挑选 5–10 条):
a2fd25f/5e106ab/42cb822Chord(中文:新增Watchable共同接口、NativeWatchable进程内对应物,以及共享的 watch-handle 实现,Durable 直接复用) —feat(chord): Watchable, the common interface of values that can be watched/feat(chord): NativeWatchable, the in-process counterpart of Watchable/feat(chord): shared watch-handle implementation (Watch, NativeWatch); Durable uses it(@Mario Zechner, 2026-10-23)9ffd27cMCP 安全(中文:只接受http与https的 OAuth URL) —fix(mcp): accept only http and https OAuth URLs(@Armin Ronacher, 2026-10-23)a7b94a0/7314819Gemini(中文:Gemini tool schema 中保留字面量const数据,或把const作为enum发送) —fix(ai): preserve literal data in Gemini tool schemas/fix(ai): send const as enum in Gemini tool schemas(@Petr Houška / triagent, 2026-10-23)f3fa8bd计费(中文:伪造的 cache write 不再计入 input token) —fix(ai): do not count faux cache writes as input tokens (#11318)(@triagent, 2026-10-23)14c8118协议(中文:pi-messages terminal 事件上带上responseModel) —feat(ai): carry responseModel on pi-messages terminal events (#11265)(@Vegard Stikbakke, 2026-10-23)606af86交互(中文:模型选择器在模型名能提供额外信息时显示出来) —feat(coding-agent): show model names in model selectors when they add information (#11347)(@Petr Houška, 2026-10-23)c8ec752平台(中文:不受支持的架构上跳过fd/rg下载) —fix(coding-agent): skip fd/rg downloads on unsupported architectures (#11343)(@Petr Houška, 2026-10-23)36be9c6编码(中文:pi.exec输出按 UTF-8 块边界解码) —fix(coding-agent): decode pi.exec output across UTF-8 chunk boundaries (#11326)(@robopipi[bot], 2026-10-23)6dfb546启动(中文:配置的某个 package 安装失败时仍能启动) —fix(coding-agent): start when a configured package fails to install (#11304)(@Lincoln504, 2026-10-23)136b87e流程(中文:任何分支上以 main 为目标的改动都必须写 changelog 条目) —docs: require changelog entries for work targeting main from any branch (#11352)(@Petr Houška, 2026-10-23)
社区讨论 / 行业方向:
- Pi 1.0: Earendil’s Minimal Agent Harness Reaches Stability(mlllm.io): 复述 10-01 的 1.0 稳定版与同期推出的实验性 Pi Durable(面向长时运行的 agentic 应用)。
- Earendil发布Pi 1.0正式版,同日推出面向长时Agent应用的实验包Pi Durable(中文): 中文侧解读,强调「长时运行 agentic 应用」是 Durable 的定位。
- Pi Coding Agent — Releases(pi.dev): 官方 release 索引,10-21 发布 v1.4.0。
- Pi 1.0, Cloudflare Opens Clef, and Git 3.0’s SHA-256 Bill(Developers Digest): 同期行业简报把 Pi 1.0 与 Cloudflare Clef 并列为当周 agent 基础设施事件。
- pi-mono Discussions(GitHub): 社区讨论集中在 hook(checkpointing / LSP)、vendor extension 策略与「模型找不到」类问题,无官方答复。
信号观察:
- Chord 的抽象在从「复制 SQLite」扩到「可被观察的值」:
Watchable/NativeWatchable/ 共享 watch-handle 三条 commit 一天内落地,Durable 直接复用。上期报告判断「方向已确定、API 未定」,本期的形状是 API 开始被抽成通用接口(watchable / durable / chord 三层)。 - 安全修复的性质在变:上期的修复多是「上游契约变化后本地路径未同步」,本期最重的一条是 MCP sign-in 的 URL scheme 白名单——pi 把自己当成 URL scheme 的信任边界在守,而不是被动转发。
- 发布纪律被写成制度:
docs: require changelog entries for work targeting main from any branch(#11352)加上当天补齐 7 条历史 changelog 条目(#9301 / #11289 / #11290 / #11293 / #11296 / #11347),说明 1.4.0 之后的 30 个 commit 存在 changelog 缺口,团队正在补账。 - 本期 30 个 commit、17 个 PR 合并、22 个新 PR、27 个新 issue,open issues 与上期持平(369)——pi 的社区负载稳定,但文档欠账正在被显式偿还。
- stars +228(上期 +795),增速继续放缓。
agegr/pi-web
pi coding agent 的 Web UI| stars: 7739(上期 7694,+45)| open issues: 51(上期 45,+6)| 默认分支: main | 最近 push: 2026-10-20T16:53:57Z | 主页: (仓库未填 homepage)
近 45.7 天 release 重点:
窗口期内无 release。(最新为 v0.12.2,2026-10-15;此后连续 9 天未发版。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
窗口期内无 commit(最近一次 push 2026-10-20)。新流入的 issue / PR 全部处于开放状态:
- #1393 依赖升级(中文:把打包的 Pi SDK 从 1.2.0 更新到当前稳定版 1.4.0) —
Update bundled Pi SDK from 1.2.0 to current stable (1.4.0)(@jmvl, 2026-10-22,open) - #1395 稳定性(中文:长时间运行导致启动系统极度卡顿——Agent 任务结束时没有回收子进程) —
长时间运行导致启动系统极度卡顿(@daomingzi, 2026-10-23,open) - #1401 文件(中文:点击 ZIP 链接应直接下载而不是以乱码文本预览) —
Download unsupported binary files instead of opening them as text previews(@tammelin, 2026-10-23,open) - #1400 会话(中文:折叠的项目对等待用户输入的会话一直显示 spinner) —
Collapsed projects show a running spinner for sessions awaiting user input(@tammelin, 2026-10-23,open) - #1398 成本(中文:简体中文下以人民币显示成本) —
feat(i18n): show costs in yuan for Simplified Chinese(@dingxiaobo, 2026-10-23,open) - #1396 聊天(中文:显示 shell 命令的原文而不是转义后的 JSON) —
fix(chat): show a shell command's text instead of escaped JSON(@sirenkovladd, 2026-10-23,open) - #1394 平台(中文:Windows 下让 Settings 选择新终端用 cmd 还是 PowerShell) —
[Windows] Let Settings choose which shell a new terminal starts (cmd, PowerShell...)(@gaoxingxs, 2026-10-23,open) - #1391 / #1392 会话与 Mermaid(中文:选择给会话命名的模型;Mermaid 查看器支持以指针为中心缩放与拖拽平移) —
feat(chat): choose the model that names a session/feat(mermaid): zoom the viewer at the pointer and pan by dragging(@escapeWu, 2026-10-22,open)
社区讨论 / 行业方向:
- pi-web Discussions(GitHub): 讨论区仍是「加入中文微信群」置顶 + 问答 / Ideas / Show and tell 四类并行;Ideas 区最高频的是「会话结束后加浏览器通知」与「网页问答、Todo 显示、会话状态、子代理兼容性」这类体验诉求。
- Pi Usage:在 pi-web 中查看模型余额和配额(Show and tell): 社区自建的用量 / 配额展示仍是这类 UI 的高频需求点。
- agegr/pi-web — GitHub stats & insights(GStars.dev): 第三方统计记录 7.2K stars。
- Pi.dev 包目录中的多个 pi-web 衍生实现: npm 上至少 5 个不同作者的 pi-web 衍生包(
@jmfederico/pi-web、pi-web-ui、@gang-of-beads/pi-web、@chainingintention/pi-web-cn、@larose/pi-web),同名的 Web UI 竞争者比上游仓库自身迭代更密。
信号观察:
- SDK 版本落后已成为公开 issue:#1393 明确写明仓库的
package.json把 7 个@earendil-works包精确 pin 在 1.2.0,而上游已发到 1.4.0——落后两个 minor 版本、跨越了 v1.4.0 的 compaction 上限改动,这意味着 pi-web 侧的 compaction 行为与 pi 本体并不一致。 - 「长时运行」这个卖点背后是资源回收缺口:#1395 描述一百多个视频的子 Agent 任务后机器极度卡顿,根因是任务结束时子进程未回收。这是把 harness 当长时服务用时最先撞到的墙,而修复至今没有进仓库。
- 供给侧完全停滞、需求侧照常进流:24 小时内 0 commit、0 PR 合并,但新开 5 个 issue + 2 个 PR,且其中 4 个 issue 直接指向结构性缺口(SDK 版本、子进程回收、二进制文件预览、Windows shell 选择)而不是样式细节。
- open issues 45 → 51(+6),已从上期的 +17 放缓但仍在单向累积;stars +45,是本清单中最低。
- 被替代风险上升:上游不动而 npm 上同类包月下载量达数万,fork 与再发布正在替代上游成为分发路径。
vectorize-io/hindsight
Agent 长期记忆系统(Agent Memory That Learns),MIT,四类隔离记忆网络 + retain/recall/reflect/consolidate 循环;本期把「每次模型调用」变成可插拔、可审计的扩展点| stars: 53137(上期 52748,+389)| open issues: 127(上期 150,−23)| 默认分支: main | 最近 push: 2026-10-23T19:22:09Z | 主页: https://hindsight.vectorize.io/
近 45.7 天 release 重点:
- v1.1.0(2026-10-21)— 可见性、可控性与一轮可靠性修复
- 可见性:逐文档的变更历史;observation scope 支持 tag glob 与 bank 默认值;知识页可下载
- 可插拔:新增 LLM request extension;新增
ModelCallExtension(#5936),把每次模型调用的输入与输出都交给扩展 - 新 provider:decision-model 支持 Cloudflare Clef 与 OpenAI Decisions API(#5613);LLM / embedding / reranker 新增 provider
- 排序:recall 默认优先返回 observations(#5617);配置了 decision model 时由其参与排序(#5284)
- 可靠性:reflect 的「answer once」修复(#5832);对拒绝 forced
tool_choice的模型也能工作(#5917);Anthropic 遇 refusal stop_reason 时快速失败(#5616);retain 遇到非 JSON 回复即失败(#5615);LiteLLM 按 HTTP 状态码而非消息关键字重试(#5604) - 其他:control plane 用自己的 User-Agent 标识 dataplane 请求(#5536);MCP call log 始终记录破坏性操作并写明工具名;OpenClaw 集成让 operator 可让 cron / heartbeat / subagent 会话使用记忆(#5915)
- 完整 release notes: https://github.com/vectorize-io/hindsight/releases/tag/v1.1.0
(窗口期内无新 release;coding-agents v0.8.2、Obsidian 插件 v0.4.0、OpenClaw 插件 v1.1.0/v1.2.0 为仓库内子包 release,非 GitHub Release 对象。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
64b7520缓存(中文:把 memory block 注入 user message 而不是 system prompt) —fix(coding-agents): inject the memory block into the user message, not the system prompt (#6053)(@Nicolò Boschi, 2026-10-23)2004c4f审计(中文:operation runs——记录每次操作的墙钟时间与其去向) —feat(extensions): operation runs - each operation's wall time and where it went (#6048)(@Nicolò Boschi, 2026-10-23)571664breflect(中文:按 token 预算返回整页知识页,而不是一页不到 4k) —fix(reflect): return whole knowledge pages up to a token budget, not one page under 4k (#5787) (#6009)(@Nicolò Boschi, 2026-10-23)77dae90会话(中文:跨 bank 迁移与 fork 时,一个 session 每轮只保存一次) —fix(coding-agents): a session saves each turn once, across bank moves and forks (#6052)(@Nicolò Boschi, 2026-10-23)45f9e2freflect(中文:搜索查询改写不再让 reflect 以空答案收尾) —fix(reflect): the search-query rewrite never ends reflect with an empty answer (#6022)(@Nicolò Boschi, 2026-10-23)9244d6c/5168f72consolidation(中文:丢弃文本为空的 create/update 动作;不再把每条来源记忆的上下文一起发送) —fix(consolidation): drop create/update actions with empty text (#6024)/fix(consolidation): stop sending each source memory's context (#5996) (#6018)(@Nicolò Boschi, 2026-10-23)f80b209生命周期(中文:被跳过的重试以superseded_by结束为 cancelled,而不是 failed) —fix(consolidation): a skipped retry ends cancelled with superseded_by, not failed (#5434) (#5990)(@Nicolò Boschi, 2026-10-23)35451e5架构(中文:引擎不再 import API 层,解开循环依赖) —refactor(engine): stop the engine importing the API layer and untangle import cycles (#5993)(@Nicolò Boschi, 2026-10-23)b4a0da1平台(中文:codebase survey 能在 Windows 上启动,且不再无限重试) —fix(coding-agents): launch the codebase survey on Windows and stop retrying forever (#6054)(@Nicolò Boschi, 2026-10-23)661dc9b/c454985OpenClaw(中文:发布 v1.2.0;把 Hindsight 的知识库工具加入 agent 工具集) —release(openclaw): v1.2.0/feat(openclaw): add Hindsight's knowledge-base tools to the agent tools (#5635) (#6004)(@Nicolò Boschi, 2026-10-23)
社区讨论 / 行业方向:
- We Got Early Access to NVIDIA Nemotron 3.5 Embed(官方博客,2026-10-21): 官方把 Nemotron 3.5 Embed 定为新的首选 embedding 模型——在 LoCoMo 上 93.8%、BEAM 100K 上 65.9% 居首,32,768 token 上下文比同类多读出 21.7 分证据,并登顶 Hindsight embedding leaderboard。
- Thirty Agents, One Memory(官方博客,2026-10-20): Ben Bartholomew 写并发场景下记忆系统的三个真实问题——二十个 worker 写入同一事实是「证据」还是「噪声」、实体名在并发下如何冲突、一个坏 agent 的上下文如何污染所有人;结论是 fan-out 场景下幂等性不是可选项。
- What’s new in Hindsight 1.1.0(官方博客,2026-10-21): 1.1.0 的官方摘要,主线是「逐文档变更历史 + scope tag glob + 新 provider + 一长串可靠性修复」。
- Introducing Hindsight Memlake: serving 100M Memories at <100ms p99 on object storage(官方博客,2026-10-13): 对象存储原生引擎的规模叙事,与 1.1.0 的稳定性叙事并行。
- Mem0 vs Hindsight: Agent Memory Layers Compared(第三方,2026-10): 第三方对比认为 Hindsight「每次记忆做更多事」(链接实体与时间、合并事实为 observations),成本也更高。
- Hindsight 記憶驗收怎麼做(阿爾法實驗室,繁中): 中文侧把验收拆成「查得到旧资料」与「新资料可靠写入」四张表分别核对,其中一条批评是「每次整合都要重新计费」。
- Hindsight Discussions(GitHub): 新讨论集中在 provider 支持(OpenRouter、Azure OpenAI、强制 Authorization header)与 recall 结果可读性(「只用了 500 词的文件,结果人读不懂」)。
信号观察:
- prompt cache 前缀稳定性成为一等设计约束:#6053 的理由写得很明确——memory block 每轮都在变(recall 结果、第 1 轮的知识前言、页面列表刷新),放在 system prompt 里每次请求都打破缓存前缀;移到 user message 后同一轮内逐字节重复。这与 pi v1.4.0 的「摘要按模型 output limit 定尺」、opencode 的「压缩缓冲留不出额度就忽略」是同一个成本问题的三个切面。
- 可观测性再往下一层:
ModelCallExtension之后,operation runs(#6048)把「一次 retain / recall / reflect / consolidation 花了多久、调用了哪些模型、访问了多少次 store」整体变成可导出的记录。上期报告说记忆系统的可调节性正从「换模型」转向「按调用拦截」,本期的补齐是「按操作审计」。 - 并发写入被正面处理:77dae90 修掉「跨 bank 迁移与 fork 时同一轮被保存多次」,官方博客同日发出《Thirty Agents, One Memory》把 fan-out 幂等性摆到台面——产品文档与代码修复在同一周对齐。
- 依赖升级噪声仍然占多数:51 个 commit 中约 20 个是各集成目录的
chore(deps): bump opentelemetry / vitest / pypdf批量锁文件更新,功能性开发被维护噪声掩盖,这是连续第三期的同一结构。 - star 增速 +389(上期 +1085),继续回落;open issues 从 150 降到 127(−23),是本清单中唯一 issue 存量明显下降的仓库。
agentclientprotocol/agent-client-protocol
连接任意编辑器与任意 agent 的协议(LSP 之于编辑器之于编程 agent)| stars: 4492(上期 4484,+8)| open issues: 35(上期 35,持平)| 默认分支: main | 最近 push: 2026-10-23T22:14:18Z | 主页: https://agentclientprotocol.com
近 45.7 天 release 重点:
- v1.12.0(Rust Crate,2026-10-16)+ Schema v1.26.0 + Schema v2.0.0-alpha.9(同批发布)
- (unstable-v2) 按顶层 key 幂等 upsert
_meta(#2372);定义 foreground 状态转换(#2411);澄清 replay ID 与不支持的 cursor(#2398);对齐 prompt 取消语义(#2390 / #2385) - (unstable) 新增 client system prompt schema(#2361);移除 next edit suggestions(#2266)
- (schema) 对齐 v2 实验特性兼容性(#2397);列出 v2 在
AgentCapabilities.session上的完整 session baseline(#2358);v2 foreground work 可在无 prompt 时启动(#2357) - 完整 release notes: https://github.com/agentclientprotocol/agent-client-protocol/releases/tag/v1.12.0
- (unstable-v2) 按顶层 key 幂等 upsert
(窗口期内无新 release;v1.12.0 / Schema v1.26.0 / v2.0.0-alpha.9 均在 2026-10-16 之后无后续。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
788a916协议(中文:让 session message 的收发两侧视图互相指名,并把消息身份从 chunk 上剥离) —feat(unstable): link session message views and keep identity off chunks (#2465)(@Ben Brandt, 2026-10-23)097a8a8规范(中文:描述子代理的只读配置——复用config_option_update发送完整快照,配置变更留给未来的显式 per-child capability) —docs(rfd): describe read-only subagent configuration (#2468)(@Ben Brandt, 2026-10-23)c100a28规范(中文:说明 tool 的文本也可以像 message 文本一样流式) —docs(unstable-v2): note that tool text can stream like message text (#2469)(@Ben Brandt, 2026-10-23)1a628b9CI(中文:构建与 registry 同步改用最新的已打补丁的 Node LTS) —ci: use latest patched Node LTS for build and registry sync (#2464)(@Ben Brandt, 2026-10-23)cfb897f/71c5f8d/59f1852/1b7caad/bd8f1afregistry(中文:registry agent 列表同步) —docs: update registry agents (#2470 / #2467 / #2466 / #2463 / #2462)(@acp-release-bot[bot], 2026-10-23)
社区讨论 / 行业方向:
- ACP vs MCP(Maksim Danilchenko): 把 ACP 定位为「AI 编码 agent 的 LSP」——JSON-RPC 2.0 标准让任何合规 agent 跑在任何合规编辑器里。
- Which Coding Agents Support ACP?(AgentRQ): 逐个列出 registry id 与启动命令,OpenCode 为原生
opencode acp。 - Agent Client Protocol Registry Just Updated(Undercode News): 第三方记录 registry 的更新节奏。
- Subagent Sessions(ACP RFD,docs/rfds/subagents.mdx): 作者为 Vadim Briliantov 与 Ben Brandt,提议让 Agent 把自建的子代理暴露为各自独立的 ACP session ID,并说明
available_subagents_update目录投递、session_message的收发元数据、以及客户端发起的 session 变更默认关闭(只允许取消当前工作)。 - ACP Discussions(GitHub): 讨论集中在「怎么给 Claude Code 实现 ACP」「slash command 支持」「模型选择」「远程 agent 的 streamable HTTP 传输」「Python SDK 是否算」。
信号观察:
- 上期「协议本体零改动」的判断被推翻:本期 9 个 commit 里有 4 个是协议与规范本体改动,其中两条直接落在
docs/rfds/subagents.mdx。子代理委派不再停留在 RFD 讨论——#2465 把跨 session 消息的双视图关联写进了 unstable schema,#2468 定义了只读配置快照。 - 子代理方案的重心是「可观察」而不是「可控制」:#2468 明确不新增协议字段、方法或 capability,只用已有的
config_option_update复用 child’s session ID 发送完整快照,并要求「不得从父会话推断配置」;配置变更留给未来的显式 per-child capability。这是典型先把「看得见」做出来、「管得住」留到下一轮的协议节奏。 - RFD 从提案变成在维护的文档:
subagents.mdx自 09-30 起有 6 次提交(09-30 初版 → 10-02 prompt 插入失败原因 → 10-06 后台子代理在 cancel 后的存活策略 → 10-16_meta幂等 → 10-23 两条),文件规模已达 72 KB,是 registry 目录里内容最厚的一份。 - 生态侧同步节奏不变:5 个 commit 是 registry agent 列表更新,registry 仍是小时级刷新而协议按周推进——但本期协议侧终于追上来一次。
- 增长曲线依然平缓:stars +8/期、open issues 持平、新流入(含 PR)9 条,是本清单中增速最低、生态最稳定的仓库。
yxc023/yxc023.github.io
个人博客站(Astro),同时是本报告的发布目标仓库| stars: 1 | open issues: 27 | 默认分支: master | 最近 push: 2026-10-23T00:36:08Z | 主页: (仓库未填 homepage)
近 45.7 天 release 重点:
窗口期内无 release。
其他重要 commits / PRs(按重要性挑选 5–10 条):
a157271自动化(中文:自动同步 daily-research 2026-10-23 的报告) —auto(reports): 同步 daily-research 2026-10-23(@杨晓辰(小德) & 再探再报, 2026-10-23)
社区讨论 / 行业方向:
窗口期内未检索到公开讨论。
信号观察:
- 仓库唯一的 commit 是上一期报告的自动同步,star 1、open issues 27 —— 27 个 issue 是历次自动同步留下的,不是待办信号。
- 本仓库的角色是发布目标而非研究对象,除自动同步外无独立开发活动。
跨项目观察
-
「MCP 可靠性」在本周成为跨仓库的共同故障面,且四条仓库各修各的层。 opencode 一天内修掉 MCP 的四个独立问题:elicitation 表单从不出现(#58184 / #58305)、OAuth 登录被无关回调请求打断(#58342)、远程 MCP 请求被 Bun 的 fetch idle timeout 掐断(#58341)、初始 reconciliation 重复启动 MCP server(#58349 / #58351);pi 在同一窗口把 MCP sign-in 的 OAuth URL 限制为
http:/https:(此前可传file:或自定义协议);hindsight 则修掉「MCP 被禁用时仍加载 fastmcp」(#6001)。MCP 已经过了「能不能用」的阶段,进入「边界条件对不对」的阶段——而这四个 bug 分属协议、传输层、URL 安全与生命周期,没有一个能在另一个仓库里找到同类修复。 -
prompt cache 的前缀稳定性被三个仓库同时当作一等约束处理,但路径各不相同。 hindsight 把每轮都在变的 memory block 从 system prompt 挪到 user message(#6053),理由写明是「放在 system prompt 里每次请求都破坏缓存前缀」;pi v1.4.0 让 compaction 与 branch summary 改用模型自身的 output limit(
reserveTokens只决定何时触发);opencode 让「留给模型的额度为零」的压缩缓冲被忽略,并优先缩短旧 tool output(#58015)。共同点是同一个成本问题:上游把 reasoning 吃掉的预算算进固定上限,而本地又自己加了一层固定结构。 -
托管平台正在被收回为「普通 provider」,方向由 opencode 单方面给出但影响面超出它自己。 opencode 在 24 小时内两件事连着做:#58458 把 realtime / embedding / reranking 模型从目录里剔除、#58461 撤回 Console 托管的 GPT-Live,理由是「语音模型将成为 models.dev 上的普通 provider 模型,Console-only 通道不值得保留」。背景是 10-17 披露的 Console 泄露事件(约 1.4% Console 用户的 provider key 可能已暴露,且从 Console 删除 key 不等于吊销)。 同一时间 ACP 的 registry 与 RFD 侧在补「谁来托管、谁能看到」的规范缺口,hindsight 则在给「操作级别」的模型与 store 调用做审计——三个仓库从不同角度收敛到「中间人持有密钥」这同一件事。
-
子代理从「文档提案」进入「协议改动」,这是 ACP 与 pi 的方向性分岔。 ACP 的
subagents.mdx在本期被改了两处并写进 unstable schema:跨 session 消息的双视图关联(#2465)与只读配置快照(#2468),作者栏已是 Vadim Briliantov 与 Ben Brandt 两位核心维护者,文件已 72 KB;pi 侧的对应物不是协议而是内部抽象——Watchable/NativeWatchable/ 共享 watch-handle(Chord 层)与 Durable 的复用。一个在把子代理标准化进 wire protocol,一个在把「可被观察的值」标准化进存储层;两边都在解决「父子会话之间的状态如何被第三方看见」,但落点一个在协议、一个在实现。 -
「长时运行」的宣称正在遇到资源回收与版本滞后两类现实检验,且都落在 pi-web 上。 pi-web 的 #1395 报告子进程不回收导致整机卡顿,#1401 报告二进制文件被当文本预览;更结构性的是 #1393——仓库把 7 个
@earendil-works包精确 pin 在 1.2.0,而上游已到 1.4.0,跨过了 v1.4.0 那个改写 compaction 上限的版本。hindsight 同期则在修「长时运行的记忆系统如何不被并发写坏」(#6052、官方博客《Thirty Agents, One Memory》)。同样是长时运行,harness 侧在补一致性,界面侧掉队。 -
仓库活跃度的差距在本期继续扩大,但「谁在写什么」呈现两种清晰的分工。 opencode 24 小时内 60 commit / 92 个 PR 合并,是唯一有新 release 的仓库;pi 30 commit / 17 个 PR 合并且无 release;hindsight 51 commit 但其中约 20 个是依赖锁文件升级;ACP 9 commit 中 5 个是 registry 同步;pi-web 0 commit。值得注意的是 opencode 内部的作者分工已经稳定成型——一个作者独占 provider 与图像生成广度,另一个独占 v2 文档重写,两者互不干扰,这比「一个人一天写 20 个 commit」更难被单点接管打断。
元信息
- 报告生成时间: 2026-10-24T00:30:15Z
- 基准时间: 2026-09-08T09:23:29Z(按 spec 读取自上次报告
reports/latest.md的基准时间:字段,自 2026-09-08 起连续 13 期未变) - 扫描窗口: 2026-09-08T09:23:29Z → 2026-10-24T00:30:15Z(约 45.7 天);本期新增内容全部落在 2026-10-23T00:30:05Z 之后的约 24 小时
- 数据源: GitHub API(gh CLI)+ mmx web search
- API rate limit 剩余: 4889 / 5000(core,抓取完成后查询)
- 抓取结果: 6 / 6 仓库 × 4 endpoint 全部成功(opencode 的 Discussions endpoint 返回非列表,已跳过);commits 列表按 100/页分页至多 15 页,窗口增量按分页统计(opencode 60、hindsight 51、pi 30、ACP 9、pi-web 0、blog 1);opencode V2 release notes 取自默认分支
CHANGELOG.md(v2.1.4,2026-10-23),其 GitHub Release 仍为 v1.19.x,两条发布线并存;hindsight 仓库无根级 CHANGELOG.md,release notes 取自 GitHub Release v1.1.0 正文与官方博客;OpenClaw 插件 v1.2.0 等为 hindsight 仓库内子包 release,非 GitHub Release 对象
评论