2026 2026年10月1日 29 min · 8.1k chars by yxc023
GitHub 调研周报 2026-10-01
扫描窗口:2026-09-08T09:23:29Z → 2026-10-01T00:30:41Z(约 23 天)| 基准来源:上次报告 2026-09-30
2026-10-01 GitHub 调研周报
扫描窗口:2026-09-08T09:23:29Z → 2026-10-01T00:30:41Z(约 23 天)| 基准来源:上次报告 2026-09-30
仓库范围:
config/repos.yaml中 6 个项目。本期三条主线非常清晰:① earendil-works/pi 把 v0.99.2 的”MCP 全面重构”落地,并启动 durable 实验线(Packages 19–21:compaction / overflow / per-conversation agents + 异步 SQLite),这是一套”提交后才可见、可崩溃后接续”的 agent harness;② vectorize-io/hindsight 在 v0.10.1 / v0.10.2 把 bank 做成”可搬移、可别名、可按 scope 合并”的资产,同时把 Jev 引入为 reranker;③ agentclientprotocol 把 subagents、MCP-over-ACP request-scoped、commands-in-session 一起写进 v1.10.0 + schema-v2.0.0-alpha.6,subagents 第一次进入正式 schema(仍 unstable)。
本期速览
- earendil-works/pi:v0.99.2 把 MCP 提升为一等公民——默认
codemodeexposure 的 MCP 服务器从 prompt 与 codemode 描述里”消失”,改由searchTools()/describeNamespace()在 sandbox 内按需加载;同步加oauth.clientName、auth.providerprovider 凭据透传、ANTHROPIC_FEDERATION_RULE_ID工作负载身份联邦、copy-code OAuth 登录。durable 实验线一日两推:Package 20compaction and overflow+ Package 21extensions and per-conversation agents,并把 SQLite 存储改异步(christianklotz / badlogic)。 - vectorize-io/hindsight:v0.10.1 / v0.10.2 三件事——bank alias + clone / export-import / rename 让 bank 可零停机迁移;per-scope consolidation strategies 允许同一 bank 内 user / team / company 各自独立合并规则;Jev 用作 reranker(listwise Choice + Score cut,recall@1 0.800→0.950,0.12s→0.027s/query)。配套:streamed exports 把 256 MiB bank 导出从 545 MiB 内存降到 25 MiB;CUDA for ONNX embeddings;refresh budget per mental model 摆脱 reflect 默认;reflect 能看见文档 metadata 做来源优先级。
- agegr/pi-web:v0.9.2 是窗口期内最大单版本——升级到 Next.js 16.3.5 并关闭 image 入口以堵 CVE-2026-94545(RCE,CVSS 9.5;注:公开修复版本是 16.3.6,pi-web 当前 16.3.5 仅是必要不充分),同时把”模型设置 / 长会话性能 / 子代理可靠性 / 多标签页”全面翻新(120 轮会话命名从 74k token 降到 1.7k、3.8s→1.3s)。v0.9.3 把上游 pi 升到 0.87.1;9 月 30 日又通过
chore(deps)把 pi 推到 0.99.1,已追上主仓 0.99 之前一步。 - anomalyco/opencode:v1.18.34(2026-09-30)小版本 bugfix——给请求加 namespaced session + parent-session identity headers,macOS 本地编译产物 ad-hoc 重新签名以兼容 macOS 27+,macOS CLI 发布版用 Developer ID 签名。Console 同步动作:Go page / Go Plus plans 上线、Black 订阅停止续费、Discount jev 隐私政策页、Zen Jev 隐私政策页;社区插件开始接 Fireworks AI 原生登录。
- agentclientprotocol/agent-client-protocol:v1.10.0 / schema-v1.24.0 + schema-v2.0.0-alpha.6 一起发——unstable-v2 首次把
available_commands写进 session 响应、unstable 第一次把 subagents 的 RFD + schema 提交进来(PR #1992)、MCP-over-ACP 改为 request-scoped(PR #2223);v1.10.1 / alpha.7 同步放出 MCP response extensions 修复。NES RFD 被挪到 “To be removed”,文档新增 ACP TCK 与 preview session updates draft。 - 跨项目共有信号:① durable / 持久化 agent 运行时是本期最显眼的范式收敛——pi 的
pi-durable、hindsight 的 bank 可搬移 / alias、opencode 的 SQLite + Drizzle 都在同一方向发力;② **Jev(TypeSafe 的”System One”模型)**在 pi(virtual models 路由)与 hindsight(reranker)双向流通,“typed answer + calibrated probability”成为新的轻量打分原语;③ Anthropic 鉴权协议栈扩张:workload identity federation(pi v0.99.2)、copy-code OAuth、oauth.clientName,Anthropic SDK 鉴权变 agent runtime 标配;④ MCP 在各家被重新架构——pi 把 MCP 收进独立 namespace,ACP 把 MCP-over-ACP 改成 request-scoped,hindsight / claude-plugin-hub 围绕 MCP 做协议层调整;⑤ subagents 第一次进入正式 schema——ACP v1.10 + pi-web 的 subagent 一致性收紧 + pi 的 child tasks / owner,三方对齐;⑥ CVE-2026-94545 余波:pi-web 升到 Next.js 16.3.5 是必要不充分,16.3.6 才是公开修复版本,留意后续补丁。
各仓库详情
anomalyco/opencode
开源 AI 编程 agent,CLI / TUI / Desktop / Web 四种形态,model-agnostic(75+ provider)。| stars: 211,173 | open issues: 6,344 | 默认分支:
dev| 最近 push: 2026-09-30 | 主页: https://opencode.ai
近 N 周 release 重点:
-
v1.18.34(2026-09-30)— 三个并发修
- 给 model 请求附 namespaced
session+parent-sessionidentity headers(#52370)。 - macOS 本地编译产物 ad-hoc 重新签名,以兼容 macOS 27+(
#52183by @ryangamerdev)。 - macOS CLI 发布版用 Developer ID 签名,缓解 Gatekeeper / 公证链条(
f66b86cby @thdxr,承接上一份报告里的方向)。 - 完整 release notes: https://github.com/anomalyco/opencode/releases/tag/v1.18.34
- 给 model 请求附 namespaced
-
v1.18.33(2026-09-28)— 小版本修复集(已在上份报告覆盖,本期再次出现是因新版本对其余口径做了修订)
- Cloudflare AI Gateway 模型遵循 provider 超时;MCP browser 启动失败立即回报;debug 输出脱敏;Gemini thinking 默认值与 effort 对齐;GPT 6.1 Sol cache pricing 文档修正(
#52176by @dc85)。 - 完整 release notes: https://github.com/anomalyco/opencode/releases/tag/v1.18.33
- Cloudflare AI Gateway 模型遵循 provider 超时;MCP browser 启动失败立即回报;debug 输出脱敏;Gemini thinking 默认值与 effort 对齐;GPT 6.1 Sol cache pricing 文档修正(
其他重要 commits / PRs(窗口期内节选,重点为上次报告后):
e9f8a21Core —fix(opencode): add namespaced session identity headers (#52370)(@rekram1-node, 2026-09-30)9b4882d构建/发布 —fix(opencode): ad-hoc re-sign darwin binaries after local compile (#52183)(@ryangamerdev, 2026-09-30)97a86b7TUI —fix(tui): use path.sep for plugin name extraction in /status dialog (#52328)(@metal-huang, 2026-09-30)2fa3363Docs —docs(web): correct GPT 6.1 Sol cache pricing (#52176)(@dc85, 2026-09-29)d1dc00dConsole —feat(console): refresh Go page hero and plans to match design (#51933)(@vaprdev, 2026-09-28)d03d6e2Console —fix(console): tell referral link visitors the program has ended (#51920)(@vaprdev, 2026-09-28)09a3aa0Compliance —zen: jev privacy policy(@fwang, 2026-09-28)75e1e7aConsole —fix(console): stop Black subscription renewals (#51884)(@vaprdev, 2026-09-28)b76bbb3Console —feat(console): compare Go and Go Plus limits side by side (#51865)(@vimtor, 2026-09-28)725e4baConsole —feat(go): show Go Plus plans and limits (#51822)(@MrMushrooooom, 2026-09-28)- #52135 AI —
fix(ai): stop retrying Z.ai Responses model and permission rejections(@rekram1-node, merged) - #52387 Plugin —
feat(plugin): expose session removal(@rekram1-node, merged) - #52388 AI —
fix(ai): make model capability defaults forward-compatible(@rekram1-node, merged)
社区讨论 / 行业方向:
- releasebot.io “opencode Updates & Release Notes”: 累计 321 条 curated updates,最近更新 Sep 29,与 v1.18.34 时间一致。
- agentupdate.ai “OpenCode 版本发布记录与更新追踪”: 中英文同步展示 v2.0.x 上下游发行节奏(独立的 release 跟踪渠道,对照官方仓库形成生态观察)。
- dev.to “Opencode Just Became the Open-Source Coding Agent You Can Actually Trust” (2026-09-23): 评测性文章,强调 workspace restoration 等可靠性。
- releasealert.dev anomalyco/opencode: 发布频率约 11h 7m,最近一次 Sep 26。
- 窗口期内 GitHub Discussions 在本仓库关闭(HTTP 410),社区讨论主要在 Console 端 + 外部 dev.to / X。
信号观察:
- macOS 签名链条从 CI 单点(
f66b86c)扩展到”本地编译也 ad-hoc 重签”(9b4882d),说明 macOS 27+ 的签名 / 公证政策对所有二进制产物都开始收口。 - Console 端的 Go / Go Plus 套餐升级和 Black 续费停摆几乎并列,说明 Docker 软件层面的订阅矩阵正在集中重组;同期上 Discount jev 与 Zen Jev 两条隐私政策,提示 Jev 在 Docker 商业化路径里已有独立产品线身份。
plugin命名空间继续扩张:Fireworks AI 原生登录(#46223,未合)、session removal(#52387,已合)、plugin 名路径分隔(#52328)—— 第三方插件能力面在 9 月底继续拓宽。
earendil-works/pi
AI agent toolkit:统一 LLM API、agent loop、TUI、coding agent CLI(13 个包)。| stars: 110,766 | open issues: 234 | 默认分支:
main| 最近 push: 2026-10-01 | 主页: (无)
近 N 周 release 重点:
-
v0.99.2(2026-09-30)— MCP 全面重构 + 鉴权扩面
- MCP 命名空间独立:默认
codemodeexposure 的 MCP 服务器从model列表和codemode描述里消失;codemode 描述不再包含 server 指令或工具计数,首条 prompt 不再等待 MCP 服务器(后台连接、脚本命名时才拉取);脚本用searchTools()/describeNamespace()按需加载。 - 新鉴权面:
oauth.clientName(已知 OAuth client 名)、auth: { provider: "<provider>" }把 provider 的/logintoken 当 bearer 透传给 HTTP MCP 服务器(每次请求都读,token 刷新自动生效)。 - Anthropic workload identity federation:从
ANTHROPIC_FEDERATION_RULE_ID/ANTHROPIC_ORGANIZATION_ID/ANTHROPIC_IDENTITY_TOKEN_FILE三个环境变量读取(#10242by @philfreo)。 - /reload 行为升级:加载
defaultTools设置里新加的工具(已有但关闭的不受影响,用户本次运行手动关闭也不重新打开)。 - 修复:原生 provider 凭据缓存时新会话偶发忽略默认模型(
#10190);codemodeimage()接受畸形 base64 / 不支持图片类型会污染后续 provider 请求(HTTP 400);codemode 在 Windows standalone executable 启动失败;prompt submission 随 session 长度变慢;remote model catalog 合并二次方时间;Anthropic strict tool use 拒绝关键字(如minimum/maximum)→ 自动降级 non-strict;Retry-After不可解析时不再立即重试,改用指数退避;codemode / MCP 折叠工具结果长行预览按”已折行”裁剪(类似 bash 输出);MCP 工具名-↔_冲突合并为下划线 + 哈希后缀,server 命名冲突直接拒绝(#10239)。 - 完整 release notes: https://github.com/earendil-works/pi/releases/tag/v0.99.2
- MCP 命名空间独立:默认
-
v0.99.0 / v0.99.1(2026-09-29)— 上一份报告已覆盖;本期补充:v0.99.1 把 GPT-6.1 Sol 设为 OpenAI Codex 默认,
#10176增 OpenAI alternative sign-in。
其他重要 commits / PRs(窗口期内节选,重点为上次报告后):
b56702aDurable —feat(durable): extensions and per-conversation agents (Package 21)(@badlogic, 2026-09-30)ed0d6b9Durable —feat(durable): compaction and overflow (Package 20)(@badlogic, 2026-09-30)ed391c4Durable —fix(durable): harden async SQLite adapter queue and close(@badlogic, 2026-09-30)8f89293Durable —Merge PR #10232: feat(durable): make SQLite storage asynchronous(@badlogic, 2026-09-30)cd0ba2fDurable —feat(durable): execute SQLite queries by SQL text and cache statements per connection(@christianklotz, 2026-09-30)d850edeMCP —feat(coding-agent): add MCP oauth.authServerMetadataUrl and check RFC 9207 iss(@mitsuhiko, 2026-09-30)7a11fe1AI —feat(ai): add copy code login method to Anthropic OAuth (#10194)(@lucasmeijer, 2026-09-30)b35af04TUI —feat(coding-agent,tui): add a hidden easter egg to the header logo(@mitsuhiko, 2026-09-30)a9424cdAI —feat(ai): Anthropic workload identity federation (#10242)(@philfreo, 2026-09-30)91f9f3bCoding-Agent —feat(coding-agent): let MCP servers authenticate with a provider login(@mitsuhiko, 2026-09-30)b29db89Coding-Agent —fix(coding-agent): align MCP tool names with codemode identifiers(@mitsuhiko, 2026-09-30)17f3dccTUI —fix(tui): preserve ANSI order at slice boundaries(@mitsuhiko, 2026-09-30)8ce69e9MCP —fix(mcp): treat empty and null optional OAuth fields as absent(@mitsuhiko, 2026-10-01)- #10232 Durable —
feat(durable): make SQLite storage asynchronous(@christianklotz, merged) - #10242 AI —
Anthropic provider: use the SDK's workload identity federation env vars(@philfreo, merged) - #10194 AI —
feat(ai): add copy code login method to Anthropic OAuth(@lucasmeijer, merged) - #10220 Docs —
docs(coding-agent): improve MCP server guide(@christianklotz, merged) - #10190 Coding-Agent —
fix(coding-agent): mark native providers with stored credentials as configured on registration(@davidbrai, merged) - #10176 AI —
feat(ai,coding-agent): add alternative sign in for the openai provider(@davidbrai, merged)
社区讨论 / 行业方向:
- Hindsight Blog 2026-09-24 “We Added Jev as a Reranker”: Jev 由 TypeSafe 推出,被刻画为 “System One model”(Kahneman 框架:fast / automatic),pi 在 v0.99+ 的 virtual models 层就以 Jev 做路由;hindsight 把同一类模型用作 reranker 验证了它的通用性。
- deepwiki “Core Architecture | earendil-works/pi” (2026-09-24): 13 个 package 的架构图谱化解读,含
packages/durable模块。 - @earendil-works/pi-durable README: 官方说明——“A durable agent harness. Conversations, model turns, tool calls, and your own state are committed to storage before anything is shown.” 基于
chord的 CRDT 文档 + SQLite/JSONL 存储;Harness.open()→root()→submit()/wait()是核心 API。 - hysenlabs “At a glance: earendil-works/pi”: 第三方项目卡,标明
npm install --ignore-scripts && npm run build会重新刷新 model 数据并按依赖顺序构建 13 个 package;npm run build:offline用已有产物离线重建。 - devpress.csdn.net “AI 编程社区” william_yangshun (2026-08-19): 中文上手指南,指出 “由 libGDX 作者 Mario Zechner 主导开发,TypeScript 编写,MIT 许可”——仍然是当前最常被引用的中文介绍。
- huizhou92 “How pi Designs an Agent That Can Run for a Long Time”: 第三方解读,串联了 durable / chord / CRDT 思路。
- GitHub Discussions 区内的活跃帖子均早于窗口期;窗口期内 Discussions 无新 sticky / announcement。
信号观察:
- durable 实验线进入”每日 1 个 Package”的密度:29 日起 Package 15(inbox)→ 16(reset)→ 17(usage)→ 18(conversation view / abort / ownership / subagent)→ 19(SQLite async)→ 20(compaction & overflow)→ 21(extensions + per-conversation agents)。这是 Mario Zechner 把 agent runtime 拆成可独立 spec 的子单元、按规范推进的实施节奏;非平凡项目不太可能承担这种发布密度。
- MCP 不再是”工具挂载点”:v0.99.2 把它重新定义为”独立命名空间 + 沙箱内按需加载 + 独立鉴权(coping client、provider bearer、Anthropic federation)“。
searchTools()/describeNamespace()这两个 codemode helper 暗示 pi 默认假设模型会在脚本里自己搜索 / 描述工具,而不是看 prompt 里的清单。 - Anthropic SDK 鉴权栈被纳入主线:
workload identity federation(env 三件套)、copy code login、以及oauth.clientName把”已注册 OAuth client 名”也带进 MCP——Anthropic SDK 的鉴权协议在 pi 里已经比 OpenAI / Google 走得更深。 - codemode 的”长行”问题被认真对待:单行 minified JSON 输出以前会把折叠卡片撑满屏幕——现在按”已折行”裁剪,与 bash 输出行为一致;这是 pi 把 codemode 当成”模型主战场”的细节打磨。
- header logo 隐藏彩蛋(
b35af04)和”Anthropic SDK env var federation”同时落地,pi 的产品化节奏继续偏向”工具可用 + 文化连接”两条腿走路。
agegr/pi-web
Pi 的 Web UI(Next.js + 多 subagent + npm sidecar)。| stars: 6,981 | open issues: 47 | 默认分支:
main| 最近 push: 2026-09-30 | 主页: (无)
近 N 周 release 重点:
-
v0.9.2(2026-09-22)— 窗口期最大版本(此处再次覆盖,因本期新增 Next.js CVE 关联解读)
- Next.js 16.3.5 + 关闭 image 入口:升级以修复无需登录即可在服务器上执行代码的漏洞(公开 CVE-2026-94545 对应修复版本为 16.3.6,pi-web 当前 16.3.5 仍是必要不充分;详见社区讨论)。
- 模型管理重构:设置 → 模型中可直接启用 / 停用单个模型或按 provider 批量操作;新增”刷新模型列表”按钮,extension 注册的 provider 也会出现在登录页;
OpenCode Go用量与额度展示;较早的用量数据会标注”多久前更新”。 - 长会话性能:120 轮自动命名从 74k token / 3.8s 降到 1.7k / 1.3s(
#807);长会话首屏可见消息比例显著提升(#810);每标签页独立记忆会话(#887)。 - 子代理可靠性:可单独停用
general-purpose/explore/plan等内置 subagent;后台结果只交付一次;后台报告不会被误当用户新指令。 - 多标签 / 文件 / 滚动:会话 / 文件列表拖动分隔条;文件查看器可临时全宽;聊天底部出现”滚动到最新”按钮;工具卡片折叠时生成的图片仍可见;Markdown 图片点击放大。
- 安全 / 体验:登录失败逐步延长等待(1s → 60s 上限);从外部页面返回不再轻易丢失登录;服务重启主动关闭残留 SSE 避免 502。
- 完整 release notes: https://github.com/agegr/pi-web/releases/tag/v0.9.2
-
v0.9.3(2026-09-23)— 上游 pi 依赖升到 0.87.1
- 同步最新 model catalog 与一批认证 / 模型配置 / 会话事件修复。
- 完整 release notes: https://github.com/agegr/pi-web/releases/tag/v0.9.3
其他重要 commits / PRs(窗口期内节选,重点为上次报告后):
2bb48f5Deps —chore(deps): upgrade pi to 0.99.1(@agegr, 2026-09-30) — 与上一份报告”仍停在 0.87.1”的判断相反:pi-web 现在已经追上主仓 0.99 之前一步。d0bf6beChat —feat(chat): change the reasoning level while a run streams (#851) (#1022)(@agegr, 2026-09-30)b9622a1Settings —refactor(settings): switch skill and plugin groups from their headings (#1021)(@agegr, 2026-09-30)eceac13Settings —feat(settings): Enable all / Disable all for Skills and Plugins (#1020)(@agegr, 2026-09-30)687af27Files —fix(files): let the operator open symlinked folders outside the project (#1018)(@agegr, 2026-09-30)13bc2b0Files —fix(files): let Git decide what the file tree hides (#1014)(@agegr, 2026-09-30)f52fd84Compat —fix(compat): load on Safari and iOS 16.2 (#1019)(@agegr, 2026-09-30)faeff03Chat —fix(chat): keep typed line breaks in user messages (#1015)(@agegr, 2026)d8f89c5Models —feat(models): resolve the discovery endpoint from pi's provider catalog (#1006)(@jidekaixin2dian, 2026-09-30)5df8278Settings —feat(settings): configurable send key (Enter or Ctrl+Enter) (#1001)(@vill-jiang, 2026-09-30)6b0c6a5Events —fix(agent-events): bound the per-client SSE backlog (#997)(@HoloNova, 2026-09-30)2a71c57Subagents —fix(subagents): say when a background report comes from a resumed run (#991)(@Light1002, 2026-09-30)00156d5Subagents —fix(subagents): report a run orphaned by a restart as interrupted (#990)(@Light1002, 2026-09-30)c8ff7e8Subagents —fix(subagents): key the collected-result mark by run, not session (#987) (#989)(@Light1002, 2026-09-30)fe288c0Refactor —Review follow-ups for #907, #946 and #968 (#1010)(@agegr, 2026-09-30)7303179Chat —fix(chat): branch a history edit only when it is sent (#1009)(@agegr, 2026-09-30)2e66e40Chat —fix(chat): report compaction instead of "waiting for model" during auto-compaction (#1008)(@agegr, 2026-09-30)4cc0770Git —fix: confirm force removal for submodule worktrees (#1007)(@agegr, 2026-09-30)bd85004Models —fix(models): save a typed provider name with the Save button (#969)(@MohammadHijjawi97, 2026-09-30)342fc9aChat —fix(chat): tell unanswered output truncation to compact instead of retrying (#968)(@uvforce, 2026-09-30)
社区讨论 / 行业方向:
- Next.js CVE-2026-94545:在窗口期内被多份安全通告覆盖——hazetec.com 简报(CVSS 9.5,影响 16.2.0–16.3.5,16.3.6 修复,15.x 不受影响)、mallory.ai 漏洞卡(CWE-116 Improper Encoding)、ikzero.com 技术剖析(“未转义双引号 + SVG data-URL 编码忽略
&+ 嵌套节点以data:image/svg+xmlURL 传递”)、nihardaily 暴露条件(同时满足 ① Next.js 16.2.x–16.3.5 ② 使用 ImageResponse ③ 攻击者可访问相关路由)、thedailytechfeed 介绍、aviatrix.ai 关联 NIS2 Article 21。pi-web v0.9.2 升级到 16.3.5 是必要但不充分,下一步应该到 16.3.6。 - newreleases.io “@agegr/pi-web 0.9.2”: npm 包发布元数据。
- pi-web 中文社区(WeChat + Show and tell)此前讨论热度集中在”会话状态 / 子代理兼容性 / 用量展示”——窗口期内无新 sticky。
信号观察:
- 追上主仓:上一份报告指出 pi-web 仍停在上游 0.87.1、与主仓 v0.99 拉开一个大版本;本期
2bb48f5直接升到 0.99.1,几乎与 v0.99.2 同周落地。 - 子代理一致性:三个 PR(#990 / #991 / #989)集中处理”重启 / 恢复 / 同会话复用”三种边界——pi-web 的子代理从”能跑”进入”不会被误报 / 漏报”的稳定期。
- 会话自动命名 token 降 97%:120 轮会话从 74k → 1.7k(
#807),是窗口期内最显著的单点优化;推测把整段历史 + 工具输出 → 仅最近几轮的差异。 - Next.js CVE 余波:v0.9.2 把 Next.js 升到 16.3.5 已经堵住”无需登录即可 RCE”,但完整修复版是 16.3.6;仓库目前没有看到进一步升级到 16.3.6 的提交,应作为下一次升级的关注点。
vectorize-io/hindsight
Agent 记忆系统:以”事实 / 经验 / mental models”三层结构存储在 PostgreSQL,内置 reflect / retain / recall / consolidate。| stars: 43,924 | open issues: 188 | 默认分支:
main| 最近 push: 2026-09-30 | 主页: https://hindsight.vectorize.io
近 N 周 release 重点:
-
v0.10.2(2026-09-29)— 上期报告已列标题,本期补充完整要点(来自官方博客 “What’s new in Hindsight 0.10.2”,2026-09-29,作者 Nicolò Boschi):
- Bank aliases(
POST /v1/.../banks/{bank_id}/aliases {"alias": "new-id"}):给 bank 一个别名,添加是即时的、零拷贝;两端 ID 同时可用,可分批迁客户端;PATCH .../aliases/{alias} {"primary": true}可把别名设为显示 ID(auth / 导出仍用真实 ID)。 - Per-scope consolidation strategies:同一 bank 内
tags: ["company:*"]只保留行业级趋势;tags: ["user:*"]保留细节;策略按 bank 或环境变量HINDSIGHT_API_CONSOLIDATION_STRATEGIES配置,第一个匹配的策略胜出;合并在 scope group 之间公平分配,避免单一 scope 饥饿。 - Refresh budget per mental model:mental model 刷新默认 budget 是 mid(不再误用 reflect 的低 budget);可在 trigger 编辑器 Advanced 面板按 mental model 设置;失败的刷新只重试一次(不再无限循环);一个 model 同一时间只跑一个刷新。
- Test extraction on screenshots and files:控制平面 Extraction Tester 现在接受与 retain 同样的 text / image / file blocks;attachments 沿 observation / reflect 一路透传。
- Reflect can tell sources apart:文档 metadata 到达 reflect;可在
reflect_mission里写 “prefer documents with source=handbook”——handbook 与聊天消息不再被混作”分不出”。 - Operations:streamed exports 把 256 MiB attachments 的导出从 ~545 MiB 内存降到 ~25 MiB;CUDA for ONNX embeddings(
HINDSIGHT_API_EMBEDRINGS_ONNX_DEVICE=cuda);operation validators 现在可 approve / reject memory edit / invalidate / revert,并在 commit 后拿到 re-embedding 通知;pg0透传 URL query 参数到 PostgreSQL;Helm Ingress 路由/v1数据 API。 - 可靠性修复:LLM timeouts 一个 trickling 响应不能再 hold 住 worker slot;in-process reranker 同样加 wall-clock 上限;consolidation 遇到 source facts 中途被编辑会丢弃这批而不是写入”过期事实”;失败的 migration 释放锁;删除中的 bank 被 recall 返回 404;OpenAI + GPT-6(含 Responses API)修好。
- Schema 变更:entity name index 按 bank scope 化;migration on startup 启动;大型部署需预留额外时间。
- 完整 release notes: https://github.com/vectorize-io/hindsight/releases/tag/v0.10.2
- Bank aliases(
-
v0.10.1(2026-09-21)— 上一份报告已覆盖;本期补充博客 “A Bank Is Now Something You Can Pick Up”(2026-09-22,作者 Ben Bartholomew):
- 三种搬移路径:
POST /v1/.../banks/{bank_id}/clone?target_bank_id=...走 export + import 同进程零中间产物;POST /v1/.../transfer/export+POST /v1/.../transfer/import跨实例路径,ZIP 携带显式 scope(include_data/include_bank_config/include_history);hindsight-admin rename-bank --from x --to y是操作员工具,可--dry-run。 - mental models / knowledge pages 归 data 而非 config:因为它们是”facts 的读法”,不带 facts 恢复出来会指向不存在。
- 无 derived 字段传递:embeddings / db ids / entity table / co-occurrence graph / memory links 全部不传;importer 重放 retain 之后的步骤(re-embed / re-resolve entities / rebuild graph)。这意味着换 embedding 模型必须走 export → import。
- 三种搬移路径:
其他重要 commits / PRs(窗口期内节选,重点为上次报告后):
f2c33ccDocs —Add blog post: One Bank, Two Audiences, Two Briefs (#5001)(@benfrank241, 2026-09-30)c791f79Refactor —refactor(memories): only the memories store may touch its tables (#4969) (#4979)(@nicoloboschi, 2026-09-30)50d7c5bDocs —docs(integrations): a card per coding agent, so searching "Codex" finds it (#5005)(@nicoloboschi, 2026-09-30)f39d005Docs —docs(integrations): add Notion Sync community integration (#5004)(@nicoloboschi, 2026-09-30)acfd157Deps —chore(deps): bump next to 16.3.7 in root package-lock.json (#5000)(@cdbartholomew, 2026-09-30)54678d3Deps —chore(deps): bump pyjwt to 2.15.1 in root uv.lock (#4986)(@cdbartholomew, 2026-09-30)52bfb40Docs —docs(agent-plugin): document Codex incompatibility and bank placeholder behaviour (#4980)(@benfrank241, 2026-09-30)ac9891eFeat —feat(docs): improve homepage (#4981)(@nicoloboschi, 2026-09-30)249869eChore —chore(benchmarks): delete the dead benchmarks/common package (#4982)(@nicoloboschi, 2026-09-30)298f816Types —fix(types): type newest_memory_updated_at's tags_match as TagsMatch (#4983)(@nicoloboschi, 2026-09-30)c82c7fdAPI —fix(api): let an operation validator declare a bank-list scope (#4970)(@nicoloboschi, 2026-09-30)77de4f7Types —chore(types): turn invalid-argument-type on, and clear the 284 it reported (#4975)(@nicoloboschi, 2026-09-30)
社区讨论 / 行业方向:
- Hindsight Blog 2026-09-24 “We Added Jev as a Reranker. Here’s What We Learned.” — 11 分钟,作者 Ben Bartholomew。核心经验:
- Jev 是 TypeSafe 的”System One model”(Kahneman 体系)——只输出 typed answer + 概率,不产文字;Jev 的原语有 Choice / Score / Noul 三种。
- 错误路径:① per-candidate Noul(pairwise)→ 200 candidate × 1 round-trip;② 给 Choice 加 “none of these” 选项 → 35/200 题空答;③ 给 Score 加 “nothing” 档 → 7% 空答 + gold retention 0.81→0.65。
- 正确路径:Choice + 整个候选池做 listwise(“which of these is best” 比绝对打分容易),1 request 即可。LoCoMo 200 题上 listwise vs per-candidate recall@1 = 0.94 vs 0.87,调用次数 ÷30。
- 配合 Score cut 解决”裁剪到第几条”问题(“only the first / the first two / … / all of them”,ordered levels,不需手工阈值)。
- 默认关闭 cut——排序与裁剪是两类产品决定:自动 LLM prompt 场景下裁剪收益最大;人类阅读 / 长尾召回场景下不开启。
- 性能:recall@1 0.800 → 0.950(@30 candidates),单 query 耗时 0.12s → 0.027s。
- 部署约束:Jev 是 hosted third-party API,部分部署形态无法采用。
- Hindsight Blog 2026-09-22 “A Bank Is Now Something You Can Pick Up” — 9 分钟,作者 Ben Bartholomew。已在 release 段引用。
- Hindsight Blog 2026-09-29 “What’s new in Hindsight 0.10.2” — 7 分钟,作者 Nicolò Boschi。已在 release 段引用。
- aliShangtian.com “Hindsight(vectorize-io/hindsight):让智能体『学会』而不只是『记住』的记忆架构” (2026-09-28): 中文导读,强调”学习”而非”记住”。
- genztech.blog “Hindsight Setup: Give Your AI Agent Memory That Learns” (2026-09-27): 上手指南。
- worldprogramming.org “Only Resolved Incidents Survive a Restart in My Hindsight Bank” (2026-09-30): 实战侧记——“restart 后只剩已解决的 incident”模式。
- GitHub Discussions 内的活跃贴都早于窗口期;Hindsight Discussions 整体偏向历史 Q&A。
信号观察:
- Bank 现在是资产:v0.10.1 + v0.10.2 的
alias / clone / export-import / rename四件套让 bank 可以像 Docker 镜像一样被”搬运、复制、重命名”;这背后是”agent memory 不再绑定在某个具体实例 / 某个具体客户”的工程化趋势。 - Per-scope 合并策略:传统 agent memory 多用一套全局合并规则;v0.10.2 显式支持 “company:* 用行业级 trends” 而 “user:* 保留细节”——agent memory 开始按业务角色分而治之。
- Jev reranker 的工程取舍很有借鉴价值:“为模型提供一个『说 nothing』的出口”会让它在该出口滥用——Choice 与 Score 上两次踩坑。这一点对所有用 LLM 做信息过滤的项目都适用。
- streamed exports 让 bank 导出的内存占用与 bank 大小脱钩(256 MiB 数据 → 25 MiB 内存),这是大规模 agent memory 工程化的关键拐点。
- schema 强制收紧:
tags_match类型化、284 个 invalid-argument-type 报错被一次清掉,memory store 不再能直接操作自己的表(#4969)——hindsight 正在把 API 层做硬性边界。
agentclientprotocol/agent-client-protocol
Agent Client Protocol(ACP):编辑器 ↔ agent runtime 的 JSON-RPC 2.0 wire protocol;v1 stable / v2 Draft。| stars: 4,356 | open issues: 37 | 默认分支:
main| 最近 push: 2026-09-30 | 主页: https://agentclientprotocol.com
近 N 周 release 重点:
-
v1.10.0 + schema-v1.24.0 + schema-v2.0.0-alpha.6(2026-09-30)— subagents 进 schema / MCP-over-ACP request-scoped
- (unstable-v2) return available commands in session responses(
#2259by @benbrandt):session 响应里返回 agent 暴露的命令清单(区别于 tool)。 - (unstable) Initial RFD and schema for subagents(
#1992by @Ololoshechkin):ACP 第一次把 subagents 写进 schema——这是协议层第一次正式承认 “subagent” 是一类对象。 - (unstable) make MCP-over-ACP request-scoped(
#2223):MCP-over-ACP 从 connection / session 范围改成 request 范围(更细粒度的生命周期)。 - 完整 release notes:
- (unstable-v2) return available commands in session responses(
-
v1.10.1 + schema-v1.24.1 + schema-v2.0.0-alpha.7(2026-09-30)— MCP response extensions 修复
- (unstable) allow MCP response extensions(
#2265):MCP 响应现在允许带 extension。 - 完整 release notes:
- (unstable) allow MCP response extensions(
其他重要 commits / PRs(窗口期内节选,重点为上次报告后):
aa6bfbdDocs —docs: update registry agents (#2270)(@acp-release-bot[bot], 2026-09-30)8362663Fix —fix(unstable): allow MCP response extensions (#2265)(@benbrandt, 2026-09-30)50b1e7dDocs —docs(rfd): move NES RFD to "To be removed" (#2264)(@benbrandt, 2026-09-30)7d794e0Docs —docs: mention ACP TCK (#2263)(@EugeneTheDev, 2026-09-30)1b6cfe6Docs —docs: expand draft guides for preview session updates (#2260)(@benbrandt, 2026-09-30)fec0b12Feat —feat(unstable-v2): return available commands in session responses (#2259)(@benbrandt, 2026-09-30)d2631c6Feat —feat(unstable): Intial RFD and schema for subagents (#1992)(@Ololoshechkin, 2026-09-30)ce7b6beDocs —docs: Update clients.mdx (#2251)(@rends-east, 2026-09-30)952b7caDocs —docs(clients): add OctoShell to Desktop and Web (#2252)(@savvasioakeim, 2026-09-30)e04a8dbDocs —docs: list BrokkAi/acp-go in community Go libraries (#2240)(@foundev, 2026-09-28)e957b2dDocs —docs: Add TermFold to mobile clients (#2231)(@Bibarud, 2026-09-28)- dependabot 一系列 minor 升级(25 个 group + 4 个 + release-plz / install-action / typos 单点)。
社区讨论 / 行业方向:
- ibm.biz “ACP: The Internet Protocol for AI Agents”: IBM 把 ACP 定位为”团队协作”协议,区别于 MCP。
- deepwiki “Key RFDs | agentclientprotocol/agent-client-protocol” (2026-08-20): RFD 目录化解读。
- shafnir.com “What Is the Agent Client Protocol (ACP)?” (2026-04-05): 与 MCP / Anthropic / Google 协议的横向对比。
- cnblogs.com “Agent Client Protocol:AI 编程时代的 LSP——编辑器与编码 Agent 的标准化桥接通信协议” (2026-08-25): 中文深度文,将 ACP 类比为”AI 编程时代的 LSP”。
- aietalks.com “ACP: The Universal Remote Control for AI Agents”: 概念性介绍。
- qubittool.com “Agent Client Protocol: ACP Architecture and Safety” (2026-08-30): v1 安全模型解读。
- dev.to “MCP vs ACP: The Two Protocols Building the Nervous System of Industrial AI in 2026” (2026-07-07): MCP vs ACP 行业定位对比。
- lobehub.com “ACP Workspace MCP” / “acp-subagent-mcp”: 社区 MCP 包装 ACP workspace / subagent over ACP。
- speakeasy-api/kit “Reusable subagents and ACP harnesses”: 子代理与 ACP harness 复用实践。
信号观察:
- subagents 进入 schema:v1.10.0 的
#1992是 ACP 第一次把 subagents 写进 schema(unstable),并且同时出现在 v1 stable 与 v2 draft 两个分支——subagents 不再是产品层概念。 - MCP-over-ACP request-scoped:把 MCP 生命粒度从 connection / session 改成 request——配合
available_commands出现在 session 响应里,可以推断 ACP 正在把”agent ↔ client 之间的资源占用”压到 request 级别。 - NES RFD 被移到 “To be removed”:一个 RFD 进入此状态意味着它已经从 Draft 候选清单里被剔除;与之对应 ACP TCK 进入文档,意味着合规测试矩阵正式成为协议流程的一部分。
- 生态客户端列表持续扩张:Reemoat(Desktop + Mobile)/ OctoShell(Desktop + Web)/ TermFold(Mobile)/ BrokkAi/acp-go(Go libraries)—— ACP 的客户端 / 语言生态比 MCP 起步晚但增速可观。
yxc023/yxc023.github.io
本仓库是 daily-research 的博客部署目标(Astro 站点)。| stars: 1 | open issues: 27 | 默认分支:
master| 最近 push: 2026-09-30 | 主页: (无)
近 N 周 release 重点:
- 窗口期内无 release tag。
其他重要 commits / PRs(窗口期内节选,重点为上次报告后):
be8b82aAuto —auto(reports): 同步 daily-research 2026-09-30(@yxc023, 2026-09-30) — 上一份报告的自动同步。a9ccbecRevert —Revert "auto(reports): 同步 daily-research 2099-12-31"(@yxc023, 2026-09-29) — 占位日期回滚。eb0afd7Auto —auto(reports): 同步 daily-research 2099-12-31(@yxc023, 2026-09-29) — 占位日期同步(随后被撤)。70599c7Feat —feat: 新增调研周报板块 + 协议相对化(@yxc023, 2026-09-29)440cb63Post —post: 新增商场儿童乐园引流案例与英文科普视频调研两篇(@yxc023, 2026-09-29)- dependabot 历史 PR(Astro / sharp 升级)仍处于未合状态(
#28/#23/#24)。
社区讨论 / 行业方向:
- 仓库本身无外部讨论;窗口期内未检索到独立文章。
信号观察:
- 占位日期 2099-12-31 的加/撤来回一次(
eb0afd7→a9ccbec),提示脚本侧有误触发需要后续排查。 - 本仓库本身就是本报告的部署目标:今日报告的 commit 元信息会反映 deploy 是否成功。
跨项目观察
- durable / 持久化 agent 运行时是本期最显眼的范式收敛。pi 的
pi-durable实验线(Packages 19–21:async SQLite / compaction & overflow / extensions + per-conversation agents)走 “Chord + SQLite + 提交后才可见” 的路径;hindsight 的bank alias / clone / export-import / rename让 bank 可以被零停机搬移;opencode 一直用 SQLite + Drizzle 持久化 sessions + permissions + cost。三方不约而同把”agent 状态”当成一等资产来设计——这是过去几个月里”agent 不会失忆 / 不会丢上下文 / 可以跨设备接续”这条产品期望终于出现的工程答案。 - Jev(TypeSafe 的”System One”模型)在 pi 与 hindsight 之间双向流通。pi v0.99+ 的 virtual models 层用 Jev 做路由;hindsight v0.10.1 / v0.10.2 把同一类模型用作 reranker。typed answer + calibrated probability 这种 “no text out” 的原语,正在替代传统 listwise scoring 的 pairwise / pointwise 模式(hindsight 在 200 题 LoCoMo 上 listwise Choice 相对 per-candidate Noul 的 recall@1 = 0.94 vs 0.87,调用次数 ÷30)。同时它也是 hosted 服务的局限——隐私敏感 / air-gapped 场景不能用。
- Anthropic 鉴权协议栈在 agent runtime 里被强化。pi v0.99.2 加
oauth.clientName、Anthropic workload identity federation(env 三件套)、copy-code OAuth 登录;与 MCP 的auth: { provider: "<provider>" }组合,Anthropic SDK 鉴权流程正在变成 agent runtime 的一类基础设施。这与 OpenAI / Google / 国产各家把鉴权走 provider 自身而不依赖外部 IdP 的趋势不同。 - MCP 在各家被重新架构。pi 把 MCP 收进独立 namespace + 沙箱按需加载(
searchTools()/describeNamespace()),并把 MCP 从 prompt 里”撤掉”以减少每条 prompt 的 token 开销;ACP 把 MCP-over-ACP 改为 request-scoped(#2223);hindsight 与 claude-plugin-hub 等社区围绕 MCP 做协议层调整。MCP 不再只是”挂载第三方工具”,而是 agent runtime 的一等公民——任何一家 coding agent 都需要把 MCP 当作独立子系统设计。 - subagents 第一次进入正式 schema。ACP v1.10.0 / schema-v1.24.0 / schema-v2.0.0-alpha.6 同步发
#1992(subagents RFD + schema),并且 v1 stable 与 v2 Draft 都有对应;pi-web 在窗口期内连续 3 个 PR(#990 / #991 / #989)收敛”重启 / 恢复 / 同会话复用”的边界;pi 的 durable 引入 child tasks + owner 概念。三方对齐——subagents 不再是产品层小优化,而是协议 / 运行时 / UI 三层都要正式表态的概念。 - Next.js CVE-2026-94545 余波。pi-web v0.9.2 升到 Next.js 16.3.5 关闭 image 入口是必要不充分,公开修复版本是 16.3.6(hazetec / mallory / ikzero 三方一致),15.x 不受影响;下次升级到 16.3.6 应作为 pi-web 的最近补丁目标。同期 hindsight 已在 9 月 30 日把
next升到 16.3.7(#5000)。 - ACP 生态扩张速度可观。Reemoat / OctoShell / TermFold / BrokkAi/acp-go 等客户端与语言库进入 registry;ACP TCK 进入文档;NES RFD 被剔除—— ACP 正在从”几个 IDE 集成”扩展为”多端 SDK + 多语言 + 合规测试矩阵”的完整生态。
元信息
- 报告生成时间: 2026-10-01T08:35:29+08:00
- 基准时间: 2026-09-08T09:23:29Z(按 spec 读取自上次报告
reports/latest.md的基准时间:字段) - 扫描窗口: 2026-09-08T09:23:29Z → 2026-10-01T00:30:41Z(约 23 天)
- 数据源: GitHub API(
ghCLI 认证,6 仓库 × 4–5 endpoint,共 28 次 API 调用;opencode 的discussionsendpoint 返回 HTTP 410 “Discussions are disabled for this repo”),mmx web search(10 次 query)+ 官方博客直抓(hindsight 3 篇) - API rate limit 剩余: 5000 / 5000(本次运行未消耗 GitHub 配额;可能因 burst 窗口被重置)
评论