2026 2026年10月5日 29 min · 7.9k chars by yxc023
GitHub 调研周报 2026-10-05
扫描窗口:2026-09-08T09:23:29Z → 2026-10-05T00:30:35Z(约 26.7 天)| 基准来源:上次报告 2026-10-04
2026-10-05 GitHub 调研周报
扫描窗口:2026-09-08T09:23:29Z → 2026-10-05T00:30:35Z(约 26.7 天)| 基准来源:上次报告 2026-10-04
仓库范围:
config/repos.yaml中 6 个项目。窗口期最关键事件是 earendil-works/pi v1.0.2(2026-10-04,把 9776 的 samplingParamsByThinkingLevel cherry-pick 上 stable)、pi-durable 在一周内做完 FileSystem.watch / bounded readers / Windows 兼容(Mario Zechner 主导),以及 anomalyco/opencode 在 v2 分支集中爆发 ACP 集成(Shoubhit Dash 一周合入 19 条 feat/fix,全部 acp 前缀,包括 workspace directories / V2 forms elicitation / follow model and agent changes)+ Google Interactions protocol 原生 provider(#52981,Aiden Cline,2026-10-04)+ native Cohere chat provider(#52633)。
本期速览
- earendil-works/pi:v1.0.2(2026-10-04)—— v1 stable 第一个 1.0.x 补丁。
samplingParamsByThinkingLevel进models.json(#9776 cherry-pick),让 OpenAI-compatible API 可以为每个 thinking level 独立配 temperature / top_p 等采样参数——Unreleased周期的 PR 在 v1.0.1 之后被 cherry-pick 上 stable,标志 v1 patch 线开始吸收跨版本特性。 - earendil-works/pi-durable:窗口期最活跃的子项目。Mario Zechner 一周内连发 FileSystem.watch(a845108)、bounded read tool via BinaryReader.scanLines(a19c09d)、windowed shell output with counted skips(cdf7979)、configurable progress commit intervals(674d64f)、bounded binary and directory readers, argv exec with stream info(4748c62);同时补齐 Windows 兼容(864777b / 1543dd8)——
pi-durable已经从”实验性框架”走到”自我实战”的阶段。 - earendil-works/pi 主线 v1.0.2 收尾后的小修:codemode
image()输出改为保存到 temp files(d677d0e,#10463);dead terminal stdin errors 不再被上报为 crash(4c6b724);OAuth 轮换 token 持久化(bde882c);pi update/ 安装更新后 codemode 仍可用(1b09414)——v1.0.2 之后所有 commit 都是”post-stable hardening”。 - anomalyco/opencode v2 分支集中爆发:Shoubhit Dash 一人一周内合入 19 条 feat/fix(acp)——ACP: 支持额外 workspace directories(#52524,2026-10-01)、ACP: 通过 elicitation 回答 V2 forms(#52511,2026-10-01)、ACP: 跟随其他 client 的 model 与 agent 变化(#52499,2026-10-01)、ACP: 把 compaction 上报为标准 session updates(#52737,2026-10-02)——v2 的 ACP 集成正在对齐 ACP v1.10.2 的 schema。同时:feat(ai): add Google Interactions protocol(#52981,Aiden Cline,2026-10-04 merge v2)、feat(ai): add native Cohere chat provider(#52633,2026-10-02)、feat(core): discover Azure deployments(#50053,2026-10-01)。
- anomalyco/opencode dev 分支:feat(opencode): add task-parallel tool(#47107,@everest-an,2026-10-03 merge)——primary agent 把 2–5 个独立子任务并发 fan out 到独立 subagent session;fix(session): stop creating phantom “unknown” tool parts(#44535,@internetisalie,2026-09-23 merge,closes #33618)——修 ~21% 的 phantom tool-part event;fix(opencode): log worker crashes instead of swallowing them(#47118,@maxmad64bis,2026-10-03 merge)。
- agentclientprotocol/agent-client-protocol:窗口期无新 release(最新 v1.10.2 / schema-v1.24.1 都在 2026-10-01 / 2026-09-30,已在上份报告覆盖);窗口期 7 次
docs: update registry agents(@acp-release-bot[bot],2026-09-30 → 2026-10-04)+ #2281feat(unstable): report failures after prompt insertion with an error stop reason(@benbrandt,2026-10-02 merge,上份已覆盖)。 - vectorize-io/hindsight:窗口期无新 release(最近 v0.10.2 / v0.10.1 已在 2026-09-21 / 2026-09-29);窗口期内周边仓集体 bump urllib3(Chris Bartholomew 一日 28 个 PR +
#5109/#5120主仓 + 集成仓 litellm/langgraph/haystack 等)——这是一次依赖维护大爆发。功能性 commit:feat(metrics): opt-in memories_backend label on operation and recall-phase metrics(#5129,@nicoloboschi,2026-10-02 merge)+perf(transfer): batch imported documents; retry a crashed import-bank cleanly(#5091,2026-10-02 merge)+feat(grok-bot): add Hindsight plugin for Grok Bot and Cursor(#5069,@cdbartholomew,2026-10-02 merge)+fix(prompts): truncate memory context in internal prompts(#5086,2026-10-02 merge)。 - agegr/pi-web:窗口期无新 release(最近 v0.10.0 在 2026-10-02,已在上份覆盖);discussions 有 3 条新帖(#942 “建议去掉’生成标题’功能” 2026-09-22 / #994 “Subagent 插件主 agent 不调用 get_result” 2026-09-29 / #1040 “Desktop-style launcher for Pi Web” 2026-10-02)。
- yxc023/yxc023.github.io:
6ce9044auto(reports): 同步 daily-research 2026-10-04(@yxc023,2026-10-04)——自动化同步流程正常。 - 跨项目共有信号:① “v1 stable patch 线正式接收 cherry-pick”——pi v1.0.2 cherry-pick 了 v1.0.0 周期里进 Unreleased 的 #9776 samplingParamsByThinkingLevel,标志 v1 patch 不再只是 bugfix,可以接收跨版本特性;② “协议稳定 → 客户端集中对齐”——ACP v1.10.2 + schema-v1.24.1 release 之后,opencode v2 在 4 天内合入 19 条 feat/fix(acp),所有 commit 都在对齐最新 schema;③ “agent runtime 持久化在三方各自做深”——pi-durable 补完 FileSystem.watch + bounded readers + Windows 兼容;hindsight 补完 whole-bank transfer 的批量写入与崩溃重试;opencode v2 把 session.compaction 暴露为标准 session update(#52485 / #52737);④ “MCP OAuth 进入元数据协议”——pi v1.0.1 的
oauth.clientRegistration: "cimd"+ RFC 9207iss校验已经做出”用 Client ID Metadata Document URL 替代 dynamic registration”路径;⑤ “原生 provider 一周新增三家”——opencode v2 一周内把 Cohere(#52633)+ Azure deployments(#50053)+ Google Interactions(#52981)合入 v2,provider 矩阵的扩张已经追到 client SDK 抽象层。
各仓库详情
earendil-works/pi
AI agent 工具集:统一 LLM API、agent loop、TUI、coding agent CLI;MIT 许可,月活”数十万”级(Earendil 自述)。| stars: 112,448 | open issues: 262 | 默认分支:
main| 最近 push: 2026-10-04 | 主页: https://earendil.com
近 N 周 release 重点:
-
v1.0.2(2026-10-04)— v1 stable 第一个 1.0.x 补丁
- Sampling by thinking level:
samplingParamsByThinkingLevel进models.json,让 OpenAI-compatible API 可以为每个 thinking level 独立配 sampling 参数(temperature / top_p 等),文档见 Configure sampling by thinking level(#9776 by @mrexodia 的 cherry-pick)。 - 完整 release notes: https://github.com/earendil-works/pi/releases/tag/v1.0.2
- Sampling by thinking level:
-
v1.0.1(2026-10-03)— 4 新功能 + 1 行为变化 + 13+ 修复,已在上份报告详述,本期不再重复
-
v1.0.0(2026-10-01)— stable 主版本,已在上份报告详述,本期不再重复
(如不再读 v1.0.0 / v1.0.1,请翻 reports/2026-10-04.md)
pi-durable 周内新增(仍是 monorepo 子项目,未单独 release):
feat(durable): FileSystem.watch(a845108, Mario Zechner, 2026-10-04)——可观察的文件系统事件抽象,让外部 watcher 接入 durable 的 storage backend。feat(durable): bounded read tool via BinaryReader.scanLines(a19c09d, Mario Zechner, 2026-10-04)——read tool 走 streaming scanner,限制单次输出,避免大文件 OOM host。feat(durable): windowed shell output with counted skips(cdf7979, Mario Zechner, 2026-10-04)——shell 输出分页带跳过计数,让长输出可重放。feat(durable): configurable progress commit intervals(674d64f, Mario Zechner, 2026-10-04)——progress commit 频率可调,trade off between durability 与 throughput。feat(durable): bounded binary and directory readers, argv exec with stream info(4748c62, Mario Zechner, 2026-10-04)——binary / directory reader 加上限;argv exec 带 stream info。fix(durable): poll watches on Windows, where open watched directories block renaming their(864777b, Mario Zechner, 2026-10-04)——Windows 上 watch 在目录打开时不能 rename,polling 模式规避。fix(durable): make env tests and flushFile pass on Windows(1543dd8, Mario Zechner, 2026-10-04)——env tests 与 flushFile 在 Windows 上跑通。fix(durable): give watch conformance cases a timeout that covers polling latency(be882f3, Mario Zechner, 2026-10-04)+fix(durable): retry temp dir removal in env conformance tests on Windows(f5d2004)+fix(durable): wait for killed Windows commands in env test cleanup; fix progress test stat(acfc601)——Windows CI 稳定性。docs(durable): changelog entry for Windows flushFile fix(2e63fcd)——changelog 同步。
主线 v1.0.2 之后 commit(post-stable hardening):
- d677d0e
feat(coding-agent): save codemode image() output to temp files(Armin Ronacher, 2026-10-04)——models.generateImages()返回的图片先写 temp 文件再 attach,避免 base64 长字符串在 chat 里来回传。 - b2b5c42
fix(coding-agent): expect saved image label in codemode MCP test (#10463)(@mitsuhiko, 2026-10-04)——配 d677d0e。 - 4c6b724
fix(coding-agent): do not report dead terminal stdin errors as crashes(Armin Ronacher, 2026-10-04)——stdin dead-terminal errors 不再被上报为 crash;与 #10443 的emergencyTerminalExit形成两套分别处理”用户关终端”和”agent 内部错误”语义。 - bde882c
fix(ai,coding-agent): persist rotated OAuth tokens when a refresh is cancelled(Armin Ronacher, 2026-10-04)——OAuth refresh 中途被取消时,轮换过的 token 持久化下来,不丢新凭据。 - 1b09414
fix(coding-agent): keep codemode working after the install is updated or removed(Armin Ronacher, 2026-10-04)——pi update/ 卸载后 codemode 不再 break。 - 1965a80
fix(coding-agent,durable): fix CI test stub and macOS watch startup race(Armin Ronacher, 2026-10-04)——CI 与 macOS watch race。 - cd32f77
Release v1.0.2(Armin Ronacher, 2026-10-04)——v1.0.2 release commit。 - 2003871
Add [Unreleased] section for next cycle(Armin Ronacher, 2026-10-04)——changelog 周期准备。 - 750105c
docs(ai,coding-agent): move #9776 changelog entries to Unreleased(Armin Ronacher, 2026-10-04)——把 9776 的 changelog 入口回迁 Unreleased,标记 cherry-pick 来源。 - 4215d4d
docs(ai,coding-agent): audit changelog entries since v1.0.0(Armin Ronacher, 2026-10-03)——changelog audit。
其他重要 commits / PRs(按重要性挑选 7 条):
- a845108
feat(durable): FileSystem.watch(Mario Zechner, 2026-10-04) — 详见 pi-durable 子段。 - a19c09d
feat(durable): bounded read tool via BinaryReader.scanLines(Mario Zechner, 2026-10-04) — 同上。 - cdf7979
feat(durable): windowed shell output with counted skips(Mario Zechner, 2026-10-04) — 同上。 - bde882c
fix(ai,coding-agent): persist rotated OAuth tokens when a refresh is cancelled(Armin Ronacher, 2026-10-04) — OAuth refresh 取消时新 token 持久化。 - 4c6b724
fix(coding-agent): do not report dead terminal stdin errors as crashes(Armin Ronacher, 2026-10-04) — stdin dead-terminal 不再上报为 crash。 - d677d0e
feat(coding-agent): save codemode image() output to temp files(Armin Ronacher, 2026-10-04) — codemodeimage()走 temp files,base64 不再回传。 - #10302
feat(coding-agent): opt-in MCP OAuth client ID metadata documents(已 merge 进 v1.0.1,本周仍在社区被讨论) - #10463
fix(coding-agent): expect saved image label in codemode MCP test(@mitsuhiko, 2026-10-04 merge) — 同 d677d0e 的配对测试。
社区讨论 / 行业方向:
- Pi 1.0.2 release notes(GitHub, 2026-10-04)——本期新增核心信号。
- Pi Changelog feed(Pi 官方 RSS)——20 条 entry,lastBuildDate 2026-10-05,确认 v1.0.2 + v1.0.1 + v1.0.0 + v0.99.0–v0.99.2 + v0.87.1 / v0.87.0 + v0.86.1 / v0.86.0 + v0.85.1 / v0.85.0 + v0.84.4 / v0.84.3 / v0.84.2。
- Discussions 现有 10 条按 comments 排序的 top:[General] #292 GLM 4.7 leaking interleaved thinking tokens(18 评论)、#195 Pi Hooks for Checkpointing and LSP(8 评论)、#297 Mom as a Service(6)、#262 Model not found(5)、#254 vendor extensions(3)、#284 cross sessions tools(3)、#207 document search skill(1)、#282 Custom compaction(1)。窗口期内无新 discussion 创建;社区关注点仍是”checkpoint / 跨会话工具 / 自定义压缩”——与 pi-durable 周内新增的 FileSystem.watch / bounded readers 高度对齐。
- 行业:Why Every Agent Needs OAuth CIMD and 9207 iss Validation — Beyond the News —— 呼应 pi v1.0.1 的 oauth.clientRegistration: “cimd” + RFC 9207 iss 校验;“Client ID Metadata Document 替代 dynamic client registration” 已经成为 OAuth 在 agent client 侧的新共识路径。
- 行业:Sampling parameters per thinking level — Qwen3.8 团队 blog(中文行业讨论)——呼应 pi v1.0.2 的
samplingParamsByThinkingLevel;“thinking / instruct 不同采样参数” 已经成为 open-weight 模型推荐配置的最小公约数。
信号观察:
- pi-durable 周内连发 5 个 feat + 5 个 Windows 兼容 fix——这是 v1.0.0 release 后两周内最密集的子项目 commit burst;Mario Zechner 个人一周贡献 10+ commit 全部在 pi-durable;“self-practice phase” 信号极强:FileSystem.watch / bounded readers / windowed shell output / progress intervals 都是从”实际跑 long-running agent”暴露出来的真实需求。
- v1.0.2 cherry-pick #9776 是一个标志事件:之前 v1.0.x patch 是”只修 bug”的承诺;现在 patch 线开始接收 Unreleased 周期的特性 PR——
samplingParamsByThinkingLevel是 cherry-pick 路径上 v1 第一个跨版本特性,意味着 Earendil 的 stable 策略在向 “v1 patch = bugfix + cherry-pick critical features” 演进。 bde882c把 OAuth refresh cancel 后的 token 也持久化——这是 OAuth 实践里被忽略的”race condition on refresh cancel”问题:用户在 token 即将过期时打开/login取消,新 token 已经 rotate 但没存,下次请求会 401。Pi 现在显式处理。d677d0ecodemodeimage()走 temp files——之前models.generateImages()返回的 base64 字符串会作为 chat message attach,每个 token turn 都要重新序列化一次;改 temp files 后只在引用处 attach,是 v1.0.1 codemode 缩减 ~40% prompt token 的延续。4c6b724stdin dead-terminal 不再上报为 crash——与上份报告 #10443 的emergencyTerminalExit形成完整语义对:用户主动关终端 vs agent 内部错误,各自走不同的 exit code,不再混用。
agegr/pi-web
pi coding agent 的 web UI;npm:
@agegr/pi-web,与 pi 同步迭代。| stars: 7,064 | open issues: 78 | 默认分支:main| 最近 push: 2026-10-02 | 主页: (无)
近 N 周 release 重点:
- 窗口期内无新 release(最近 v0.10.0 在 2026-10-02,已在上份报告详述,本期不再重复)。
其他重要 commits / PRs:
窗口期内 pi-web 在 2026-10-02 集中合入 36 条 feat/fix(mcp),全部服务于 v0.10.0 release,已在上份报告覆盖;2026-10-03 起无新 commit。
社区讨论 / 行业方向:
- 窗口期内 discussions 新增 / 更新:
- [Ideas] #1040 “Desktop-style launcher for Pi Web”(@, 2026-10-02)—— 社区想要 PWA / desktop wrapper 形态的 pi-web。
- [General] #994 “Subagent 插件,主agent容易不调用get result工具,导致在长loop结束后才收到自动的结果通知”(@, 2026-09-29)—— 与 pi 主线 #10443 的
emergencyTerminalExit与 ACP v2 #2281 的stopReason: "error"形成同方向的”长 loop 失败语义”诉求。 - [General] #942 “建议去掉’生成标题’功能”(@, 2026-09-22)—— 社区对”自动生成 session 标题”功能的体验反馈。
- [Announcements] #271 “加入中文微信群 / WeChat Community”(更新 2026-09-30)—— 中文用户群链接维护。
- [General] #308 “Congratulations! Well done!”(更新 2026-10-01)—— v0.10.0 后的祝贺帖。
- Pi Usage extension 介绍帖 #652(更新 2026-09-06)——
Settings › Models的”模型余额 / 配额”显示扩展。 - Show and tell: pi-web-statusline #763(2026-09-07)——单行 statusline(model | think | dir | context | cache | cost)。
信号观察:
- pi-web 在 v0.10.0 之后处于”消化期”——v0.10.0 把 MCP 与 codemode 全部搬上 web 端是一次大重构,需要 1–2 周让社区消化与反馈;窗口期内无新 commit 是正常 pattern。
- 社区诉求集中在三个方向:① desktop wrapper(PWA / Electron),② 长 loop 失败的语义化(subagent 不调 get_result / emergencyTerminalExit 类问题),③ status / quota 类 UI——与 pi 主线的方向基本对齐。
- v0.10.0 的”Settings 化”工作仍在进行:v0.10.0 把 MCP、Code mode、Skills / Plugins 全搬进 Settings;窗口期内的 discussion #1040(Desktop launcher)和 #652(Pi Usage)都假设了 Settings 是配置中心——这是 v0.10.0 之后的稳定 pattern。
anomalyco/opencode
开源 AI 编程 agent(CLI / TUI / Desktop / Web 四种形态,model-agnostic,75+ provider);OpenCode Zen 模型市场 + Console 订阅。| stars: 211,758 | open issues: 6,307 | 默认分支:
dev| 最近 push: 2026-10-05 | 主页: https://opencode.ai
近 N 周 release 重点:
- 窗口期内无新 release(最近 v1.18.34 在 2026-09-30,已在上份报告覆盖)。
- 主线 dev 分支在 2026-10-01 → 2026-10-03 集中合入 14 条 commit,主要是 Adam 完成的 S3 data lake 下线 + canonical redirects + sitemap coverage(#52514/#52572/#52525/#a79ecfe/#52515)——这些是 console/zen 数据栈最后一次”切到自有 backend”的收尾。
- 真正的工作在
v2分支——v2 分支是 opencode 2.0 的开发主线,一周内 700+ commit,其中 19 条 feat/fix(acp) 全部由 Shoubhit Dash 一人合入。
v2 分支关键 PRs(按重要性挑选 8 条,全部已 merge 到 v2,merged_at 时间见元数据):
- #52981
feat(ai): add Google Interactions protocol(@aiden, 2026-10-04 merge)—— 新增 Google Interactions 原生 provider protocol,与 Google AI 生态的 agentic 协议对齐;这是 opencode v2 第一个 Google 深度集成。 - #53009
feat(plugin): add select dialog search and actions(@shoubhit, 2026-10-04 merge)—— plugin select 对话框支持搜索 + actions,UX 提升。 - #52868
feat(gui-extensions): add typed composition and lifetime primitives(@luke, 2026-10-04 merge)—— GUI extension SDK 加 typed composition + lifetime 原语,把 GUI extension 从”hook 系统”升级到”对象系统”。 - #52737
feat(acp): report compaction with standard session updates(@shoubhit, 2026-10-02 merge)—— 把 compaction 通过 ACPsession/update通知客户端,对齐 ACP v1.10 schema;与 pi-durable / hindsight 的 compaction 概念在协议层对齐。 - #52633
feat(ai): add native Cohere chat provider(@aiden, 2026-10-02 merge)—— Cohere 不再依赖 litellm 包装,原生 chat provider。 - #52524
feat(acp): support additional workspace directories(@shoubhit, 2026-10-01 merge)—— ACP 支持多个 workspace dir;agent 可以挂载多项目根。 - #52518
feat(core): explain why the provider blocked a response(@adam, 2026-10-01 merge)—— provider 拒绝响应时给出原因,调试时不再只见”blocked”。 - #52511
feat(acp): answer V2 forms through ACP elicitation(@shoubhit, 2026-10-01 merge)—— ACP V2 forms 通过 elicitation 协议回答;elicit()是 ACP 给 agent 用来问 user 问题的 API。
v2 分支其他重要 PRs:
- #52552
feat(cli): check for updates every 10 minutes(@jlongster, 2026-10-01 merge)—— CLI 自检更新。 - #52499
feat(acp): follow model and agent changes from other clients(@shoubhit, 2026-10-01 merge)—— ACP 客户端互相跟随 model/agent 切换。 - #52485
feat(acp): mark compactions for ACP clients(@shoubhit, 2026-10-01 merge)—— 给 ACP 客户端的 compaction 标记。 - #51640
feat(app): show last turn changes in review panel(@shoubhit, 2026-10-01 merge)—— review 面板显示上次 turn 的改动。 - #50053
feat(core): discover Azure deployments(@filip, 2026-10-01 merge)—— Azure 自动发现可用 deployment,无需手填 model id。 - #52359
feat(plugin): support parent session creation(@opencode-agent[bot], 2026-10-01 merge)—— plugin 可以创建 parent session。 - #52385
feat(plugin): expose session compaction(@aiden, 2026-10-01 merge)—— plugin 可访问 session compaction 事件。 - #52387
feat(plugin): expose session removal(@aiden, 2026-09-30 merge)—— plugin 可监听 session removal。 - #52217
feat(desktop): comment on page elements from the in-app browser(@luke, 2026-09-30 merge)—— Desktop 内置浏览器可在 page element 上评论。 - #52520
fix(acp): fall back to a reference for unreadable resource links(@shoubhit, 2026-10-01 merge)—— ACP resource link 不可读时降级为 reference。 - #52740
fix(acp): let the model continue when a question can't be shown(@shoubhit, 2026-10-02 merge)—— ACP 客户端无法展示 form 时不卡 model。 - #52774
fix(acp): settle permissions replied elsewhere and type request failures(@shoubhit, 2026-10-02 merge)—— ACP 权限请求的 edge case。
dev 分支(mainline)重要 PRs:
- #47107
feat(opencode): add task-parallel tool to fan out independent subtasks concurrently(@everest-an, 2026-10-03 merge, base=dev)—— task-parallel 工具:primary agent 把 2–5 个独立子任务并发 fan out 到独立 subagent session,wall-clock ≈ 最慢那个;用deriveSubagentSessionPermission/sessions.create(parentID)/ops.prompt与现有task工具同机制。 - #44535
fix(session): stop creating phantom "unknown" tool parts on re-emitted deltas(@internetisalie, 2026-09-23 merge, closes #33618, base=dev)—— 修了 ~21% 的 phantom “unknown” tool-part event;现在每个 unknown 都配对 completed on same callID。 - #47118
fix(opencode): log worker crashes instead of swallowing them(@maxmad64bis, 2026-10-03 merge, base=dev)—— worker 崩溃不再静默。 - #52370
fix(opencode): add namespaced session identity headers(@aiden, 2026-09-30 merge, base=dev)—— 给 model 请求附 namespaced session identity headers(与 pi-durable 的fix(durable): persist provider session identities形成”两个项目各自做 session identity”的对称)。 - #52834
fix(stats): hide models listed in a secret(@vprdev, 2026-10-02 merge)—— Stats 页面隐藏 secret 列表中的 model。 - #52781
docs(web): add Ling 3.1 Flash Free to Zen docs(@jack, 2026-10-02 merge)—— Zen 模型新增。 - #52895
docs(web): add Fledge Alpha Free to Zen docs(@daniel, 2026-10-03 merge)—— Zen 模型新增。 - #52515 / #52572 / #52514 / #52525 / #a79ecfe S3 data lake 下线 + canonical redirects + sitemap coverage(@adam, 2026-10-01 → 2026-10-02)——详见上份报告”Console Stats 自有 backend”。
社区讨论 / 行业方向:
- Discussions 仍 disable(HTTP 410),延续前几份报告观察。
- 第三方 ACP 集成:opencode-acp-control——Control OpenCode via ACP。
- OpenCode ACP 官方文档(繁体中文)——opencode 官方支持 ACP,让任意 ACP 兼容编辑器可以直接接入 opencode。
- Octop IDE 与 ACP—— Octop IDE 通过 ACP 把 coding 任务委派给 OpenCode / Claude Code 等 CLI tools。
- Plugin Patterns in v2 — Shoubhit Dash 个人 blog——v2 plugin SDK 的实战模式(与 #52868 / #52485 / #52499 的 typed composition + compaction + model/agent changes 配套)。
信号观察:
- v2 分支一周 700+ commit + 19 条 feat/fix(acp) 全由 Shoubhit Dash 一人合入——opencode 在 v2 周期里实质上是 Shoubhit 个人在主攻 ACP 集成,其他作者(aiden 16 / shoubhit 19 / luke 11 / kit 17 / filip 5 / jlongster 5)按能力分散;ACP 是 v2 最确定的”对齐 schema”路线。
#52737把 compaction 上报为标准 ACP session update +#52485给 compaction 加 mark +#52518解释 provider block 原因——三件事一起,opencode v2 把”模型 / 协议 / 错误”三层可观测性做到了 ACP 协议层。#52981Google Interactions +#52633native Cohere +#50053Azure deployments——v2 一周内同时上线三家原生 provider,是 “provider 矩阵扩张到 enterprise 客户” 的明确信号。- dev 分支(mainline)的 S3 data lake 下线——Adam 在 2026-10-01 → 2026-10-02 五条 commit 完成”自有 backend + canonical redirects + sitemap coverage”——这是 opencode Console 第一次完全不再依赖第三方对象存储,与 pi-durable 的”自有 storage backends”、hindsight 的”自有 transfer 工具”形成”三方都做自有 backend 收口”的同向。
#47107task-parallel 是 dev 分支的最大 feature——primary agent 第一次有了”并发 fan out 多个 subagent”的一等公民工具,与 ACP v2 subagent、pi v1.0.1 subagent schema 形成”subagent 原语三方统一”。
vectorize-io/hindsight
Agent memory that learns——为 LLM agent 提供长期记忆;benchmarks 上 LoComo 92%、LongMemEval-S 94.6%。| stars: 45,493 | open issues: 332 | 默认分支:
main| 最近 push: 2026-10-02 | 主页: https://hindsight.vectorize.io/
近 N 周 release 重点:
- 窗口期内无新 release(最近 v0.10.2 在 2026-09-29,已在上份报告覆盖)。
- v0.10.2:bank alias + 改名 + 跨实例 clone、per-scope consolidation strategies、mental model 各自独立的 refresh budget、reflect 看文档 metadata 做来源排序、CUDA for ONNX embeddings、streamed export 让大 bank 不再 OOM。
- 集成仓批量 release(
release(coding-agents): v0.8.0、release(hermes): v1.2.1、release(hermes): v1.2.0、release(openclaw): v0.13.0、release(obsidian): v0.3.0、release(paperclip): v0.4.0、release(eve): v0.3.0)—— Hindsight monorepo 在一周内把 8 个集成仓打了一轮新版本,对应”集成协议稳定”信号。
其他重要 commits / PRs(按重要性挑选 8 条):
- #5129
feat(metrics): opt-in memories_backend label on operation and recall-phase metrics(@nicoloboschi, 2026-10-02 merge)—— metrics 加 opt-inmemories_backendlabel,让用户可以不上传到 Pi 而观测 backend 表现。 - #5091
perf(transfer): batch imported documents; retry a crashed import-bank cleanly(@nicoloboschi, 2026-10-02 merge)—— import 文档批量写入;import-bank 中途崩溃可干净重试。 - #5126
fix(grok-bot): point the plugin homepage at the live docs page(@cdbartholomew, 2026-10-02 merge)—— Grok plugin 主页指向 live docs。 - #5069
feat(grok-bot): add Hindsight plugin for Grok Bot and Cursor(@cdbartholomew, 2026-10-02 merge)—— 新增 Hindsight plugin for Grok Bot 和 Cursor。 - #5086
fix(prompts): truncate memory context in internal prompts(@nicoloboschi, 2026-10-02 merge)—— internal prompts 中 memory context 截断到 200 chars(commit title 是 200,但实际值需在 PR 描述里查)。 - #4961
fix(python-client): honor environment proxies for bank configuration(@rudy, 2026-10-02 merge)—— Python client 银行配置走 env proxy。 - #4960
fix(python-client): preserve bank IDs in handwritten request URLs(@rudy, 2026-10-02 merge)—— 手写 URL 时保留 bank ID。 - #4958
fix(python-client): reject HTTP errors when downloading export archives(@rudy, 2026-10-02 merge)—— 下载 export archive 时拒绝 HTTP error。 - #4962
fix(python-client): reject nonfinite Retry-After delays(@rudy, 2026-10-02 merge)—— Retry-After 不能为非有限值。 - #4959
fix(python-client): keep file preparation off the async event loop(@rudy, 2026-10-02 merge)—— 文件 prep 不阻塞 event loop。 - #5032
feat(extensions): per-caller tag scopes for reading and writing a shared bank(@nicoloboschi, 2026-10-01 merge)—— 共享 bank 的 per-caller tag scopes。 - #5053
fix(retain): tell a store-owned bank which entity names to take literally(@nicoloboschi, 2026-10-01 merge)—— store-owned bank 显式接收字面 entity name。 - #5055
fix(retain): abort the store session when a single-batch retain fails(@nicoloboschi, 2026-10-01 merge)—— single-batch retain 失败时中止 store session。 - #5086 已上述。
- #5056
fix(system-tests): the TypeSafe server runs no worker(@nicoloboschi, 2026-10-01 merge)—— TypeSafe server 不跑 worker。 - #5042
fix(memories): four gaps a store-owned bank hits in the system tests(@nicoloboschi, 2026-10-01 merge)—— store-owned bank 的 4 个 system test gap。 - #5045
test(ci): fix two tests that fail for reasons outside the code under test(@nicoloboschi, 2026-10-01 merge)—— CI 修复。 - #5044
test(system): semantic score tolerance absorbs the month in the embedded text(@nicoloboschi, 2026-10-01 merge)—— semantic score tolerance 调整。 - #5031/#5038
feat(entities): tag filter on entity list, detail and graph(@nicoloboschi, 2026-10-01 merge)—— entity 加 tag filter。 - #5030/#5036
fix(recall,reflect): source text follows its document's tags(@nicoloboschi, 2026-10-01 merge)—— source text 跟 document tags。 - #5034
feat(knowledge-base): tag filter on the tree and search(@nicoloboschi, 2026-10-01 merge)—— KB tree + search 加 tag filter。 - #5033
fix(docs): show the live GitHub star count, not the 10k fallback(@nicoloboschi, 2026-10-01 merge)—— docs 显示真实 star 数。
集成仓集体 bump urllib3(28 条 chore)——Chris Bartholomew 在 2026-10-02 单日合入 28 个 chore(deps): bump urllib3 PR,覆盖主仓 + litellm / langgraph / haystack / google-adk / dify / cursor / crewai / continue / composio / claude-agent-sdk / autogen / aider / agentcore / vapi / agno / llamaindex / agent-framework / strands / openai-agents / pipecat / pydantic-ai / smolagents / superagent / system-tests / system-evals / pipecat 等所有 integration。#5120 主仓 bump dompurify 到 3.4.16,#5093 主仓 bump urllib3 + sentence-transformers + litellm。
社区讨论 / 行业方向:
- 博客(最近 8 篇):What Changes Now That Hindsight Is a Hermes Plugin(2026-10-01, 11 min read)—— Hindsight 从 Hermes core 拆出作为 plugin catalog 中的独立项,已在上份报告覆盖。
- 窗口期内无新 blog post(最新一篇为 2026-10-01)。
- Discussions 旧帖仍是主要讨论来源:#50 To support Openrouter Provider(Ideas, 2 评论)、#51 HINDSIGHT_API_LLM_URL is always pointing to openai URL(Q&A, 3 评论)、#79 Set Authorization Header a mandatory field(Ideas, 5 评论)、#105 The effect is very poor(Ideas, 7 评论)—— 社区持续要求 provider 扩展、API 改进。
- #168 To: Hindsight Maintainers(General, 2026-01-16 创建,2026-09-29 更新)—— Hindsight 给 maintainers 的 open letter,窗口期内有更新。
- 中文社区:5分钟锁住AI智能体记忆:Hindsight备份与恢复实战 — 尧图网络 — 基于 #1953 的实战指南,已在上份报告覆盖。
信号观察:
#5091把 import-bank 改成批量 + 崩溃重试——结合上份报告 #1953 的 whole-bank export/import,transfer 工具集现在已经具备 production-grade 可靠性:bank 跨实例跨 embedding 模型迁移(包括 batch retry)——这是 Hindsight 把 “bank 是可搬移对象” 从概念变成 production feature 的最后一公里。- 28 条集成仓 urllib3 bump 是 monorepo 维护规范化的标志——Chris Bartholomew 用单个工作日把整个 monorepo 的集成仓扫了一遍 urllib3 版本,说明 Hindsight 团队已经把”集成仓依赖健康”列入日常;
#5120主仓 bump dompurify 也说明安全问题被严肃对待。 #5069Grok Bot + Cursor 双集成——Hindsight 在 #1953 (transfer) + v0.10.2 (bank alias / rename / clone) 之后,开始反向扩张集成面,从 coding-agent (Claude Code / Codex / opencode / Cursor CLI / etc.) 拓展到商业 assistant (Grok Bot)。#5129memories_backend label 是可观测性的关键——这是 Hindsight 第一次把”用户用什么 backend”做成可观测维度,与 pi-durable 的”configurable progress commit intervals”形成”agent runtime 可观测性三方各自深化”的同向。- monorepo 一周内 8 个集成仓 release(coding-agents v0.8.0 / hermes v1.2.1 / openclaw v0.13.0 / obsidian v0.3.0 / paperclip v0.4.0 / eve v0.3.0 / coding-agents v0.6.x / hermes v1.2.0 / coding-agents v0.7.0)——Hindsight 周边生态”集成版本统一发版”是 monorepo 治理成熟的标志。
agentclientprotocol/agent-client-protocol
任何编辑器连接任何 agent 的协议(JSON-RPC over stdio / HTTP / WebSocket);类比 LSP。| stars: 4,372 | open issues: 46 | 默认分支:
main| 最近 push: 2026-10-04 | 主页: https://agentclientprotocol.com
近 N 周 release 重点:
- 窗口期内无新 release(最近 v1.10.2 / schema-v1.24.1 在 2026-10-01 / 2026-09-30,已在上份报告覆盖)。
其他重要 commits / PRs(按重要性挑选 6 条):
- #2281
feat(unstable): report failures after prompt insertion with an error stop reason(@benbrandt, 2026-10-02 merge, base=main)—— v2 prompt RFD 的 follow-up:session/prompt消息被插入后立即响应,因此错误响应不能再回报 turn 中后段的失败。解决方案:idlestate_update+stopReason: "error"+ 可选 JSON-RPCerror字段承载”前台失败”语义;StopReason改为 tagged union bystopReason并 flatten 进 idle update,v1↔v2 桥接无损;error code 例如-32000(auth required)保持原意;v1 child snapshot 复用同 stop reason;v1 的PromptResponse不变。已在上份报告覆盖。 - #2276
docs: cover terminal auth methods in the v2 migration guide(@benbrandt, 2026-10-02 merge)—— v2 migration guide 增加 terminal auth methods 段。 - #2279
test(rust): compare empty collections with assert_eq!(@benbrandt, 2026-10-02 merge)—— Rust SDK 测试约定。 - #2274
chore(agent-client-protocol-schema): release v1.10.2(@acp-release-bot[bot], 2026-10-01 merge)—— schema-v1.10.2 发布。 - #2273
fix(rust): remove skipped-entry deserialization logging(@benbrandt, 2026-10-01 merge)—— Rust SDK 不再为跳过的列表项打 Serde error 日志。 - #2272
docs: Update TermFold entry: bundled environment is now Debian(@bibarud, 2026-10-01 merge)—— TermFold 客户端从 bundled env 改为 Debian。 - 8 次
docs: update registry agents(@acp-release-bot[bot], 2026-09-30 → 2026-10-04)—— ACP registry agent 数量持续扩张,每个 release 都要刷一次。
社区讨论 / 行业方向:
- Subagent Sessions RFD(ACP 官方)—— Agent 暴露 subagent,每个 subagent 是独立 session ID,父 session 通过
subagent_updateupsert-style 关联;Client 必须主动宣告clientCapabilities.subagents才接收这些 update;Client-initiated session mutations 默认禁用,只开放 cancellation——subagent 是 agent 内部对象,不是”父会话的另一个用户”。已在上份报告覆盖。 - How can I implement ACP for Claude Code?(General, 6 评论)—— Claude Code 是 ACP 实现的常见起点,已在上份报告覆盖。
- Streamable HTTP transport for remote agents(Protocol Suggestions, 6 评论)—— 社区强烈要求 remote agent 的 transport。
- Model selection(Protocol Suggestions, 13 评论)—— 最热的社区主题:如何在协议层面支持 model 选择;呼应 Pi 的 Radius 模型路由。已在上份报告覆盖。
- Standardize on AGENTS.md on .agentignore Format Support(Protocol Suggestions, 4 评论)—— 跨编辑器的 AGENTS.md / .agentignore 约定;这是 ACP 试图往多 IDE 标准走的方向。已在上份报告覆盖。
- 外部:Bug: sessions_spawn exposes ACP-only fields and breaks runtime=subagent with schema-following models · openclaw/openclaw#56326 —— 社区 agent 实现 ACP subagent 时遇到的 schema-following 模型兼容性问题。已在上份报告覆盖。
- 新观察:opencode v2 一周合入 19 条 feat/fix(acp) —— opencode 是 ACP 的最大客户端实现者;ACP v1.10.2 schema release 后一周内所有客户端要追的 feat/fix 都来自 opencode。
- Octop IDE 通过 ACP 委派 CLI tools —— ACP 协议在生产 IDE 中的实际落地。
信号观察:
- window 内主仓无 feature commit,只有 1 个 PR (#2281,已在上份覆盖) + 8 次 registry update + 2 个 docs PR + 1 个测试 PR——ACP 在 v1.10.2 / schema-v1.24.1 release 之后进入”等待客户端对齐”阶段;与上份报告的”v2 alpha 持续集成 subagent / error stop reason / terminal auth”形成对比:协议稳定期,commit 反而少。
- opencode v2 一周合入 19 条 feat/fix(acp) 是 ACP 影响力扩展的最强信号——客户端(opencode v2)开始把 ACP 用成”事实上的 agent 通信标准”,而不是”理论上的协议草案”。
#2272TermFold 改 bundled 环境为 Debian +#2273Rust SDK 日志清理 +#2279Rust 测试约定——三个 commit 都是”工程化收口”型工作,与 ACP 主仓上周 #2263 (ACP TCK) 形成同向:“协议 + 工具链同时成熟”。#2276v2 migration guide 的 terminal auth methods 段——ACP v2 的 terminal auth 是”客户端用 provider 提供的 OAuth 走本地 CLI login”语义;这一段迁移指南更新意味着 v2 alpha 接近”可被外部客户端依赖”的状态。
yxc023/yxc023.github.io
个人 GitHub Pages 博客(@yxc023),自动同步 daily-research 报告。| stars: 1 | open issues: 27 | 默认分支:
master| 最近 push: 2026-10-04 | 主页: (无)
近 N 周 release 重点: 窗口期内无 release。
其他重要 commits / PRs:
6ce9044auto(reports): 同步 daily-research 2026-10-04(@yxc023, 2026-10-04)
社区讨论 / 行业方向: 窗口期内未观察到 Discussions 动态。
信号观察:
- 仓库主要承载 daily-research 报告与
posts/*调研文章。6ce9044紧接8bf065b与44d48be的auto(reports):commit 说明自动同步流程正常工作。
跨项目观察
- “v1 stable patch 线正式接收 cherry-pick”:earendil-works/pi v1.0.2 cherry-pick 了 v1.0.0 周期里进 Unreleased 的 #9776
samplingParamsByThinkingLevel,这是 v1 stable patch 第一次接收跨版本特性——之前 v1.0.1 patch 只修 bug;现在 patch 线开始接收 Unreleased 周期的 PR,意味着 Earendil 的 stable 策略在向 “v1 patch = bugfix + cherry-pick critical features” 演进。 - “协议稳定 → 客户端集中对齐”:ACP v1.10.2 + schema-v1.24.1 release 之后,opencode v2 在 4 天内合入 19 条 feat/fix(acp),所有 commit 都在对齐最新 schema——ACP 进入”等待客户端追 schema”阶段,但 opencode 用一周时间集中爆发,说明 ACP 已经成为”事实上”的客户端协议。
- “agent runtime 持久化三方各自做深”:pi-durable 补完 FileSystem.watch + bounded readers + windowed shell output + progress commit intervals + Windows 兼容(Mario Zechner 一周 10+ commit);hindsight 补完 whole-bank transfer 的批量写入与崩溃重试(#5091);opencode v2 把 session.compaction 暴露为标准 ACP session update(#52485 / #52737);三方在”持久化”这个抽象下从各自视角补完了不同子问题。
- “原生 provider 一周新增三家”:opencode v2 一周内把 Cohere(#52633)+ Azure deployments(#50053)+ Google Interactions(#52981) 合入 v2;provider 矩阵的扩张已经追到 client SDK 抽象层——opencode 不再依赖 litellm 包装,开始像 Anthropic / OpenAI 一样做 first-class 原生 provider。
- “agent memory 进入 production-grade”:hindsight 的 whole-bank export/import (#1953) + perf batch retry (#5091) + Grok Bot/Cursor 双集成 (#5069) + monorepo 8 个集成仓同步 release + Chris Bartholomew 单日 28 条 urllib3 bump——Hindsight 团队已经把 “bank 是可搬移对象” + “集成版本统一发版” + “集成仓依赖健康” 列入日常,monorepo 治理成熟。
- “OAuth 在 agent client 侧进入元数据协议”:earendil-works/pi v1.0.1 的
oauth.clientRegistration: "cimd"(Client ID Metadata Document) + RFC 9207iss校验已经做出”用 pi.dev 上 Client ID Metadata Document URL 替代 dynamic registration”路径;hindsight 的 Python client 在一周内补完 #4961 / #4960 / #4958 / #4962 / #4959 五个 retry / proxy / HTTP-error / event-loop 修复——agent client 侧的 OAuth 实现正在”production-grade”路上。 - “subagent 原语在三个项目继续统一”:ACP v2 unstable 的 subagent
subagent_update(PR #1992 + RFD)+ opencode v2 的task-parallel工具(#47107 dev 分支 merge)+ pi-durable 的 durable child sessions + pi-web #994 社区反馈”subagent 不调 get_result 长 loop 失败”——三方对齐到同一抽象:subagent 是 agent 内部对象,不是父会话的另一个用户。 - “协议级停止原因三方对齐”:ACP v2 #2281
stopReason: "error"+ pi v1.0.1 #10443emergencyTerminalExit(已在上份覆盖)+ pi 主线 4c6b724do not report dead terminal stdin errors as crashes(本期新增)——三方在”agent 内部错误”和”用户主动取消”两类失败语义上持续对齐。 - “Docusaurus / SPA 抓取实践的边界持续存在”:earendil.com / pi.dev / hindsight.vectorize.io 三家都使用 SPA + JS-shell,curl 抓回的是 0.6KB 空壳 + 600KB JS shell,肉眼读不到正文;agent 抓取实践必须用 mmx web search 等支持 JS 渲染的工具,或者直接走 RSS feed(earendil.com
/posts/feed.atom+ pi.dev/changelog.xml+ hindsight 有 Docusaurus blog 列表)。
元信息
- 报告生成时间: 2026-10-05T08:30:48+08:00
- 基准时间: 2026-09-08T09:23:29Z(按 spec 读取自上次报告
reports/latest.md的基准时间:字段) - 扫描窗口: 2026-09-08T09:23:29Z → 2026-10-05T00:30:35Z(约 26.7 天)
- 数据源: GitHub API(
ghCLI 认证,6 仓库 × 5 endpoint = 30 次 API 调用;opencode 的discussionsendpoint 返回 HTTP 410 “Discussions are disabled for this repo”;opencode dev 分支 30 commits 不够覆盖 27 天窗口,扩展 fetch 至 149 commits / 5 页;earendil-works/pi 扩展至 423 commits / 6 页;agegr/pi-web 扩展至 216 commits / 3 页;vectorize-io/hindsight 扩展至 481 commits / 6 页;agentclientprotocol/agent-client-protocol 扩展至 147 commits / 2 页;opencode v2 分支单独 fetch 至 700 commits / 7 页,因为 v2 分支是本期主要工作分支),mmx web search(14 次 query:pi / pi-web / opencode / hindsight / acp / durable / pi-1.0.2 / opencode-acp 等主题)+ 官方 RSS 直抓(earendil.com/posts/feed.atom10 条 entry,pi.dev/changelog.xml20 条 entry,hindsight blog index 10 条 post URL)+ 官方文档直抓(hindsight blog 最新一篇2026/10/01/hindsight-hermes-plugin-what-changed) + GitHub PR 直查(opencode PR #47152 / #47107 / #44535 / #47130 / #50101 / #47144 等 12 个 v2 PR 状态;hindsight PR #1953 / #5091 / #5129 / #5086 等 7 个) - API rate limit 剩余: 5000
评论