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)+ #2281 feat(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:6ce9044 auto(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 9207 iss 校验已经做出”用 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 补丁

  • 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) — codemode image() 走 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 现在显式处理。
  • d677d0e codemode image() 走 temp files——之前 models.generateImages() 返回的 base64 字符串会作为 chat message attach,每个 token turn 都要重新序列化一次;改 temp files 后只在引用处 attach,是 v1.0.1 codemode 缩减 ~40% prompt token 的延续。
  • 4c6b724 stdin 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 通过 ACP session/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 协议层。
  • #52981 Google Interactions + #52633 native Cohere + #50053 Azure 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 收口”的同向。
  • #47107 task-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-in memories_backend label,让用户可以不上传到 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。

社区讨论 / 行业方向:

信号观察:

  • #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 也说明安全问题被严肃对待。
  • #5069 Grok Bot + Cursor 双集成——Hindsight 在 #1953 (transfer) + v0.10.2 (bank alias / rename / clone) 之后,开始反向扩张集成面,从 coding-agent (Claude Code / Codex / opencode / Cursor CLI / etc.) 拓展到商业 assistant (Grok Bot)。
  • #5129 memories_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 中后段的失败。解决方案:idle state_update + stopReason: "error" + 可选 JSON-RPC error 字段承载”前台失败”语义;StopReason 改为 tagged union by stopReason 并 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 都要刷一次。

社区讨论 / 行业方向:

信号观察:

  • 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 通信标准”,而不是”理论上的协议草案”。
  • #2272 TermFold 改 bundled 环境为 Debian + #2273 Rust SDK 日志清理 + #2279 Rust 测试约定——三个 commit 都是”工程化收口”型工作,与 ACP 主仓上周 #2263 (ACP TCK) 形成同向:“协议 + 工具链同时成熟”。
  • #2276 v2 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:

  • 6ce9044 auto(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 9207 iss 校验已经做出”用 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 #10443 emergencyTerminalExit(已在上份覆盖)+ pi 主线 4c6b724 do 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(gh CLI 认证,6 仓库 × 5 endpoint = 30 次 API 调用;opencode 的 discussions endpoint 返回 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.atom 10 条 entry,pi.dev /changelog.xml 20 条 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

评论