2026 2026年10月26日 28 min · 8.2k chars by yxc023
GitHub 调研周报 2026-10-26
扫描窗口:2026-09-08T09:23:29Z → 2026-10-26T00:30:00Z(共 47.6 天)| 基准来源:上次报告 2026-10-25
2026-10-26 GitHub 调研周报
扫描窗口:2026-09-08T09:23:29Z → 2026-10-26T00:30:00Z(共 47.6 天)| 基准来源:上次报告 2026-10-25 本期新增内容全部落在 2026-10-25T00:33:15Z 之后的约 24 小时(上次报告生成时间)
本期速览
-
opencode 的「额度」话题从功能话题变成了阻塞话题,占比首次过半。 24 小时内该仓库合并 93 个 PR(77 个 commit),同时新开 128 个 issue,其中标题涉及 quota / usage / limit / credit / free tier 的达 76 个(约 59%)——上期这一比例是 34%。热帖几乎全部围绕同一件事:#58941「一个 prompt 都没发就撞上限」(8 条回复,已关闭)、#59026「Free Limit Reached」、#58933「59769 秒冷却」、#59038「倒计时归零后重新开始」、#58838「22338 秒变成 88938 秒」。而官方文档 docs/go 明确写着「达到 usage limit 后仍可继续使用免费模型」「开启 Extra Usage 后超出部分回落到 Console 按量付费余额」——文档承诺的降级路径与用户实际遇到的硬阻断之间,仍存在一整层口径差。
-
opencode 同期在做的是「发布治理」,而不是发布。 一天之内合并了 #58899 / #58885「把 v1 与版本化 release 关进 release environment」「把 production deploy 与 release 发布关进需要审批的 environment」、#59076 / #59075 删掉 models-snapshot / stats / containers workflow、#59032 删掉 OpenCode GitHub Action、#59077 把 workflow 按 check- / bot- / triage- 分类命名。同时 dev 分支的 V2 CHANGELOG 仍停在 v2.1.4(10-23)——93 个合并 PR 没有一条进入任何 release notes。上一期「放量期」的判断需要修正:仓库仍在高吞吐开发,但发版闸门正在收紧。
-
opencode 的 AI 层被系统性重写,而不只是加参数。 rekram1-node 一人贡献 16 个合并 PR,其中 #58847「把 Effect 移到
@opencode/ai/effect,让 Promise 成为根入口」是结构性改动,同批还有 #58857「把此前被静默丢弃的 OpenAI Chat 选项发出去」、#58872「OpenAI Responses 的 reasoning mode 与 context 选项」、#58870「Anthropic fast mode 速度档」、#58889 / #58868「xAI Responses 的 min_p / top_k / drop penalties」、#58851「finish reason 之后仍保留 text 与 reasoning」、#58614 / #58615「Responses 与 Messages 的 video 输入」。此前被丢掉的参数现在一个一个被补回来,是「多 provider 架构」在第 100 天后开始还债的典型形态。 -
pi 的窗口期只有 5 个 commit、4 个合并 PR,且 4 个 PR 全部来自 bot。 唯一的人写 commit 是 d5b3de2(Mario Zechner):
fix(durable): record the requested thinking level on assistant messages——把「本次请求实际使用的 thinking level」写进 assistant message,与 durable 的 [Unreleased] 段里那条「stored assistant messages lackingthinkingLevel」一一对应。其余四个(#11395–#11399)由 robopipi[bot] 提交并自行合并,内容是 Windows 路径分隔符、provider id 含斜杠、symlink 下的 npm prefix、以及pi-test.sh --no-env的环境变量清理。零外部 PR、零新功能,是本仓库近期少见的「只做杂务」的一天。 -
pi 的新 issue 里,「文档写的和代码做的不是一回事」集中出现。 #11388「
httpIdleTimeoutMs被当成总请求 deadline 而不是 idle timeout——AbortSignal.timeout从请求开始计时,一个正常流式超过 5 分钟的请求会被 abort」;#11387「models.json 里声明的contextWindow大于服务端实际上限时,恢复性 compaction 之后仍反复撞 400,约每 15 分钟一次」;#11409「pi update --extensions每次都打印它自己无法清除的 npm audit 报告,建议的npm audit fix会把 pi 的第二份副本装进扩展目录」。三条都是「参数名字承诺了一种语义,代码实现了另一种」。 -
ACP 把三个 RFD 一次性推入 Active,这是本窗口期协议层唯一的实质进展。 #2478 把 Subagent Sessions、Client-Provided System Prompt、MCP-over-ACP 三个 RFD 从 Draft 移到 Active(提案正文未改,只改导航位置)。三者的分量各不相同:Subagent Sessions 让 agent 委派的子代理各自拥有独立 ACP session id;Client-Provided System Prompt 补上 ACP 一直缺的「客户端下发 system 级指令」(append / override 两档,override 由子能力开关);MCP-over-ACP 让 client 用
"type": "acp"声明 MCP server,在同一条 ACP 连接上跑无状态 MCP 请求。另两个 commit 仍是 registry 同步 bot。同期零新 issue——规范仓库的社区热度完全体现在文档而非讨论区。 -
hindsight 连续第二天只做依赖治理,运行时问题仍在积压。 12 个 commit / 12 个合并 PR 全部是 lockfile 依赖升级(
zod升到 v4、undici、serialize-javascript、fast-uri、filelock、setuptools),分布在 root、zapier、eve、coding-agents、paperclip、flowise、crewai、litellm、smolagents、strands、llamaindex 等 12 个集成目录。而 24 小时内仍有 6 个新 issue 指向运行时:#6093「Hermes 插件的 profile env 无法表达数据库位置,导致守护进程去抢 pg0」、#6075「detached codebase survey 继承父进程全部环境变量,Orca 等终端管理器会在 survey 结束时关掉父终端」、#6077「mental model 刷新失败后自动刷新被静默暂停,用户看不到也解不开」。 -
pi-web 连续第 6 天零提交,但外部贡献在涌进来。 最后一次 push 仍是 2026-10-20T16:53:57Z,
package.json里 7 个@earendil-works包仍精确 pin 在 1.2.0(上游已到 1.4.0)。窗口期内新开 5 个 PR 全部来自外部贡献者且零回复:#1417「回复底部用量摘要改紧凑 + 可展开精确明细与平均输出速度」、#1418「在聊天区显示运行中的子代理及任务说明」、#1414「slash 命令匹配优先命令名并剥离 skill 前缀」、#1420「单条消息可切换原文与渲染视图」、#1409「定时提示(cron-like)」。社区讨论区也出现 #1412「求求赶紧更新吧」。贡献在增加、维护响应为零,是本仓库当前最清晰的结构性事实。
各仓库详情
anomalyco/opencode
开源 coding agent(终端 TUI + 桌面 app + web),TypeScript / Bun 内核,多 provider 架构 | stars: 221515(+428) | open issues: 3803(+29) | 默认分支: dev | 最近 push: 2026-10-26T00:28:13Z | 主页: https://opencode.ai
release 重点:
- 本期(24 小时)无新 release。最新 GitHub Release 仍为 v1.19.4(2026-10-22):Bun 运行时升级到 1.4.4(含 Brotli / TLS / HTTP/1.1 / HTTP/2 / HTTP/3 / WebSocket / fetch 的安全修复,根证书更新至 NSS 3.131.1)。
- dev 分支的 V2 线 CHANGELOG 最新仍为 v2.1.4(2026-10-23):MCP input form 终于弹出(桌面与 web 支持 text / number / choice / multiselect / boolean / URL)、
experimental.background_compaction后台预生成摘要、压缩时优先裁剪旧 tool output。 - 本期的 93 个合并 PR 尚未进入任何 release notes,改动只存在于 dev 分支。
其他重要 commits / PRs(按重要性挑选):
- #58847 refactor(ai): make Promise the root entry and move Effect to
@opencode/ai/effect(@rekram1-node, 10-25)——AI 层的根入口换人,Effect 迁到独立子路径 - #58857 fix(ai): send OpenAI Chat options that were silently dropped / #58851 preserve text and reasoning after the finish reason (@rekram1-node, 10-25)
- #58872 feat(ai): add OpenAI Responses reasoning mode and context options / #58870 Anthropic fast mode speed option (@rekram1-node, 10-25)
- #58889 feat(ai): send min_p on xAI Responses / #58868 send top_k and drop penalties for xAI Responses (@rekram1-node, 10-25)
- #58614 fix(ai): support Messages video inputs / #58615 support Responses video inputs (@rekram1-node, 10-25)
- #58871 fix(ai): let Groq use the shared Chat parallel_tool_calls and service_tier (@rekram1-node, 10-25)
- #58899 ci: gate v1 releases behind the release environment / #58885 gate versioned releases behind the release environment (@thdxr, 10-25)——发版被关进需要审批的 environment
- #57703 feat(core): merge Console config as a config layer (@vimtor, 10-25)——Console 下发的配置按普通 config 文件合并,只保留
providers/ 远程mcp/policies/websearch,凭据与env被剥离;Console 的 policies 高于用户与项目 config,MDM policy 更高 - #58656 feat(core): store session media as
media:<hash>refs in a content-addressed blob table / #58741 opt-in blob writes behindexperimental.media_blob(@kitlangton, 10-25) - #59103 feat(server): experimental
GET /api/experimental/media/:hash+ opt-inexperimental-media-uri(仍未合并,@kitlangton, 10-25) - #59089 refactor(core): route FileAccess through Environment(仍未合并,@kitlangton, 10-25)——
FileAccess改为通过 Location 的 file driver 做 stat / walk,不再直接读宿主磁盘 - #59102 fix(core): publish MCP tool progress notifications(仍未合并,@mark-kojo, 10-25)——
McpClient.callTool原本注册了空 handler,服务端发的notifications/progress全被丢弃 - #58996 feat(session-ui): quiet divider for automatic compaction with background compaction on (@kitlangton, 10-25)
- #59020 refactor(core): drop unused
session_pendingtable and pin the history compaction bound (@kitlangton, 10-25)——用测试锁住「每步历史只读到最近一次已完成 compaction」,PR 内给出回退成本对照(10,000 行时 0.08 ms vs 全量解码) - #59096 refactor(app): remove the experimental inbox Home page (@Hona, 10-25)——beta 合入 dev 前撤掉实验性 inbox 首页,同时从
/api/info移除username(hostname保留,见 #59090) - #58848 refactor(core): convert tool schemas once at registration (@rekram1-node, 10-25)
社区讨论 / 行业方向:
- #58941 Free usage exceeded without sending even 1 prompt(8 条回复,窗口内已关闭): 额度类投诉中讨论最集中的一条——用户视角是「什么都没用就被限流」。
- #59038 Free usage countdown restarts after reaching zero / #58838 Time free. subscribe go - 22338 to 88938 s: 倒计时在归零后重启、剩余秒数在两次刷新之间跳变,指向服务端配额计数与客户端展示口径不一致,而非单纯限额偏紧。
- #59110 compaction: reasoning tokens consume the summary budget(窗口最后一分钟提交): 压缩摘要时 reasoning token 占用同一份输出预算,导致「reached the output token limit」。
- #59109 mcp: concurrent OAuth refreshes ignore individual caller cancellation: 并发 OAuth refresh 不尊重单个调用方的取消信号——与上期 pi 的 OAuth refresh 话题同源,但发生在 MCP 侧。
- #58934 SchemaError: Expected a JSON-serializable value while compiling an OpenAI Responses request fatally kills the session(10 条回复,窗口内讨论最多): 请求编译期的序列化错误直接杀死整个 session,而不是降级为一次失败的回答。
- OpenCode Go 文档: Go $10/月、Go Plus $40/月;「达到 usage limit 后可继续使用免费模型」;「开启 Extra Usage 后,Go 会回落到 Console 按量付费余额而不是直接拒绝请求」。
- OpenCode Console / Models 文档: Console 是团队自测模型的 provider 通道(sign in + credits + API key),与 Go 订阅是两条线,均为可选 provider。
- tokenplans.dev — OpenCode 订阅计划追踪: 记录 10-20 起 OpenCode 结束 referral 计划(/go 页面对带
ref参数的链接显示警告横幅,文档与 console bundle 中已无 referral 残留);10-14 起 DeepSeek V4.1 Flash 的 per-model 月上限在 Go 上 $60→$80、Go Plus 上 $120→$160,价格档位本身未变。 - opencode.ai/data 模型用量榜: 官方按模型统计的 token 量与独立用户数(如 Qwen3.8 Flash 228K 独立用户 / 2.16M 会话 / 平均 1.3M tokens 每会话 / 缓存占比 96%),是观察真实流量结构的一手数据源。
信号观察:
- 合并 PR 的作者分布为 kitlangton 34、rekram1-node 16、Hona 17、opencode-agent[bot] 16、thdxr 8、vimtor 2。rekram1-node 的 16 个 PR 全部集中在
ai包,且主题是「把此前无效或缺失的 provider 参数补上」——多 provider 架构的还债工作被单点集中处理。 - 同期合并主题分布也印证:发布与流程治理 8 条(release environment 审批、删除 4 个 workflow 与 GitHub Action、workflow 分类命名)、AI 层参数补齐 16 条、桌面 app 的 UI 细节修复约 30 条(tooltip 延迟、tab 侧栏对齐、命令面板高度、搜索排序、浏览器页在弹窗下保持在前等)。「发布更慢、功能更多、界面更碎」是同一天里的三件事。
- 窗口内新开 150 个 PR,其中 63 个仍未合并;仍未合并的高价值改动集中在媒体 blob(#59103 / #59104)、
FileAccess走 Environment(#59089)、MCP progress 通知(#59102)三条线上——三条都属于「把系统内部状态暴露到界面/协议层」,与上期观察到的路线一致。 - 63 个新 issue 中至少 5 条是「界面显示的不是真实状态」(#59038 倒计时重启、#59106 聊天链接预览消耗一次性配对链接、#59110 压缩预算被 reasoning 吃掉、#58934 序列化错误杀掉 session、#58955 TUI 崩溃
undefined is not an object)。「数据是对的、显示是错的」仍是 opencode 最稳定的一类缺陷。
earendil-works/pi
AI agent 工具箱:统一 LLM API、agent loop、TUI、coding agent CLI,TypeScript monorepo | stars: 117782(+167) | open issues: 386(+13) | 默认分支: main | 最近 push: 2026-10-25T08:05:44Z | 主页: github.com/earendil-works/pi
release 重点:
- 本期(24 小时)无新 release。最新为 v1.4.0(2026-10-21):classifier 模型支持 image input(TypeSafe Jev / Cloudflare Clef)、新增由 schema 生成的 Models Configuration reference、compaction 与 branch summary 改用模型自身的 output limit(
reserveTokens只决定何时触发)、codemode 等待空闲 worker、Rex terminal 支持(OSC 8 / truecolor / inline images)。 packages/coding-agent、packages/chord、packages/durable、packages/ai四个 CHANGELOG 均处于 [Unreleased] 段,且 chord / durable 两段已包含 breaking changes——底层库仍处在一次公开 API 收敛的前夜。- 本期新增的 changelog 条目只有一条:durable 侧「stored assistant messages lacking
thinkingLevel」的修复。
其他重要 commits / PRs(按重要性挑选):
- d5b3de2 fix(durable): record the requested thinking level on assistant messages (@Mario Zechner, 10-25 08:04)——窗口期唯一的人写 commit:把生成实际请求的 thinking level 记到 assistant message 上(polling 延迟回复后同样记录)
- #11399 fix: normalize path separators in check-entry-graphs on Windows (@robopipi[bot], 10-25)
- #11397 fix(coding-agent): resolve provider/id references when the provider id contains a slash (@robopipi[bot], 10-25)——对应 issue #11394「
--model "<provider>/<model-id>"找不到模型」 - #11396 fix(coding-agent): pass real path as npm prefix when agent dir is a symlink (@robopipi[bot], 10-25)
- #11395 fix: unset all supported provider env vars in
pi-test.sh --no-env(@robopipi[bot], 10-25) - #11401 Extension API: get/set thinking-block visibility (like ctrl+t) (@SondreBakken, 未合并)——扩展目前只能改隐藏 thinking 块的标签,无法切换可见性,因此「一个键同时揭示工具行与思考块」做不到
- #11386 Configurable MCP output limit (maxOutputBytes) (未合并) / #11390 enabling an MCP server only for a particular session (未合并)
- #11389 Tool-argument validator does not coerce stringified array/null args (@Maxpceo, 未合并)——mimo-v2.6-flash 上报
must be array/must be number
社区讨论 / 行业方向:
- #11388 httpIdleTimeoutMs is enforced as a total request deadline, not an idle timeout: 文档写的是「HTTP header and body idle timeout」,实现却把同一个值传给
AbortSignal.timeout(timeoutMs)——从请求开始计时的总 deadline。报告者点名慢推理场景(llama.cpp / vLLM / Ollama / LM Studio 本地模型)、超大上下文的 prefill 阶段、以及 high thinking level 下单轮超过 5 分钟的合法请求。 - #11387 Declared contextWindow above the served limit re-overflows after every recovery compaction: 自建 OpenAI 兼容端点(vLLM,
--max-model-len 57344)但 models.json 声明contextWindow: 1000000。溢出恢复确实触发了压缩,但之后的阈值判断与用量显示仍信任声明值,于是永远不做预防性压缩,约每 15 分钟重撞一次 400。 - #11409 pi update —extensions reports npm vulnerabilities it cannot clear: 扩展安装路径不像自更新路径那样传
--no-audit/--no-fund,每次更新都打印完整 audit 报告;而 npm 建议的npm audit fix会把 pi 的第二份副本装进扩展目录——工具报出的问题没有可达的解。 - #11407 Skill discovery: order/rank on
resources_discoverand/or setting to disable~/.agentsand ancestor.agentsdiscovery / #11410 Recommended extension pattern for persistent indexed-code retrieval preference: 两条都指向同一件事——skill / 扩展的发现顺序与作用域缺少官方约定。 - #11402 AssistantMessageComponent: hidden thinking blocks still contribute Spacer(1) lines: 隐藏的 thinking 块仍占行,导致 transcript 间距不均。
- #11400 Kimi k3.1 is not visible in the model selection even after logging in: 模型可见性问题,与 changelog 里「Kimi K3.1 Pro 按 K3 family 处理」的修复同处一条线。
- pi.dev changelog: 官网最新条目仍为 Pi 1.4.0(10-21),窗口期无新发布页。
信号观察:
- 5 个 commit 中 4 个来自 robopipi[bot] 且由 bot 自己开 PR、自己合并;唯一的人写 commit 是 durable 的 thinking level 记录。「无外部 PR、无新功能、只做杂务」是本仓库近几期少见的形态——与上期「10 个 commit 中 9 个在 chord/durable 底层包」相比,本期连底层包也基本停摆。
- 17 个新 issue 中,至少 4 条(#11388 / #11387 / #11409 / #11407+ #11410)指向配置与文档契约:
httpIdleTimeoutMs的语义、contextWindow与真实上限的关系、audit 报告的可解性、skill 发现顺序。「参数名承诺一种语义、代码实现另一种」正在成为 pi 侧最集中的一类问题。 - 窗口期零 issue 被关闭(open issues 从 373 净增到 386),说明积压仍在单向增长。
agegr/pi-web
pi coding agent 的本地 Web UI(Next.js / TypeScript),读同一套本地 session 文件 | stars: 7785(+22) | open issues: 68(+11) | 默认分支: main | 最近 push: 2026-10-20T16:53:57Z(连续 6 天未变) | 主页: 无
release 重点:
- 本期(24 小时)无新 release。最新为 v0.12.2(2026-10-15),此前 v0.12.1(10-13)、v0.12.0(10-11)。
package.json中 7 个@earendil-works包仍精确 pin 在 1.2.0(pi-agent-core / pi-ai / pi-codemode / pi-coding-agent / pi-mcp / pi-telemetry / pi-tui),而上游 pi 已在 1.4.0。
其他重要 commits / PRs(按重要性挑选):
- 本期 0 commit、0 合并 PR;新开 5 个 PR 全部来自外部贡献者,全部处于 open 且零回复:
- #1417 优化回复用量摘要,支持精确明细与平均输出速度 (@tossp, 10-25,3 commits)——底部用量行改为「紧凑摘要 + 点击展开精确明细」,token 用 K/M 缩写、费用截断到 4 位小数、复用现有
addNoticeToast,不新增设置与依赖 - #1418 feat(chat):在聊天区显示运行中的子代理及任务说明 (@tossp, 10-25,5 commits)——新增
RunningSubagentsStatus,在聊天末尾显示「有 3 个子代理正在运行(核对配置、检查日志、验证修复)」,数量与说明同源且包含嵌套子代理 - #1420 feat(chat): 支持单条用户消息切换原文与渲染视图 (@tossp, 10-25)
- #1414 fix(chat): prioritize slash command name matches and strip skill prefix (@salmanabdurrahman, 10-25)
- #1409 Scheduled prompts (cron-like) (@draxxris, 10-25)
社区讨论 / 行业方向:
- Discussions #1412 求求赶紧更新吧(10-25): 社区讨论区最新的一帖即诉求更新,与仓库 6 天零 push、SDK 停在 1.2.0 的事实互为印证。
- Discussions #1354 Comments on PRs/Issues in git awakening agents?(10-20): 讨论「唤醒型 agent」在 git 中读写 PR / issue 的实现方式。
- Discussions #1402 基于 pi-web 的下游桌面应用(10-24): 提议把 pi-web 装进 Windows / macOS / Linux / HarmonyOS 的原生外壳;Discussions #1399 readme 添加日常免终端部署指引(10-23): 同一方向的部署诉求。
- Discussions #763 pi-web-statusline: a single-line status row for Pi Web (model | think | dir | context | cache | cost): 社区自己把「状态行 / 成本可见性」做成了独立插件,与本期 #1417 想进主线的用量明细是同一件事的两种实现路径。
信号观察:
- 连续第 6 天零提交,最后一次 push 仍是 2026-10-20T16:53:57Z;窗口期外部贡献 5 个 PR、0 维护者回复。仓库当前的状态不是「没人参与」,而是「参与的人变多了,但没人接」。
- 外部 PR 的主题集中在观测性:用量与费用明细、运行中子代理可见性、原文 / 渲染双视图、slash 命令匹配质量。社区在替维护者补「把内部状态显示出来」这一层,与 opencode、pi 本期的方向完全一致。
- pi-web 已经落后上游两个 minor(1.2.0 → 1.4.0),而 1.4.0 恰好是改写 compaction 上限与 summary output limit 的版本——「不更新」在功能语义上已经不只是滞后版本号的问题。
vectorize-io/hindsight
Agent memory 平台(Hindsight:Agent Memory That Learns),Python 后端 + 控制面 | stars: 53722(+279) | open issues: 151(+8) | 默认分支: main | 最近 push: 2026-10-25T14:58:13Z | 主页: https://hindsight.vectorize.io/
release 重点:
- 本期(24 小时)无新 release。最新为 v1.1.0(2026-10-21),此前 v1.0.0(10-13)。官方博客同日发布《What’s new in Hindsight 1.1.0》:文档变更历史、observation scope 支持 tag glob 与 bank 默认值、新 provider 与知识页下载。
- 官网 changelog 最新条目同样是 1.1.0,1.0.0 之前是 0.10.3(10-08)。
其他重要 commits / PRs(按重要性挑选):
- 本期 12 个 commit / 12 个合并 PR 全部是依赖升级(全部由 cdbartholomew 提交):
- #6079 bump zod, body-parser, undici, fast-uri, serialize-javascript in root lockfile / #6080 undici in cloudflare-oauth-proxy / #6081 undici + fast-uri in coding-agents / #6082 undici in eve / #6083 zod→v4 in flowise / #6084
@paperclipai/plugin-sdk(zod v4) / #6085 undici + serialize-javascript in zapier / #6086 filelock in crewai / #6087 filelock in litellm / #6088 filelock in smolagents / #6089 strands-agents in strands / #6090 setuptools in llamaindex - #6092 fix(worker): shutdown no longer waits out a long maintenance job (@cdbartholomew, 仍未合并)——对应上一期 #6067「worker poller 在 claim 超时后永久卡在 ROLLBACK」
社区讨论 / 行业方向:
- Discussions #5945 AMD 显卡本地重排 Hindsight 中文记忆(llama.cpp Vulkan)(10-22): 社区自建本地重排链路,是 v1.1.0 引入新 reranker provider 后的直接反应。
- Discussions #5717 Request: permission to open a PR for a Hermes integration fix (unclosed aiohttp session after shutdown)(10-17): 外部贡献者需要先在讨论区申请开 PR 权限——外部修复的入口是讨论区,不是 issue 区。
- #6093 Hermes plugin: profile env cannot express the database location, so the launched daemon tries to own pg0 and fails against a running cluster(10-25): 插件 profile 缺少数据库位置这一维,导致守护进程误判需要独占 pg0。
- #6075 coding-agents: detached codebase survey inherits the parent pane’s env(10-25):
startCodebaseSurvey派生的 headless agent(claude -p、codex exec等)继承父进程全部环境变量,包括终端 / agent manager 用来标识 pane 的变量;HINDSIGHT_DISABLE_HOOKS=1只关掉 Hindsight 自己的 hook,用户为该 agent 配置的其他 hook 仍会在 survey 会话中触发并带父 id——结果是 survey 结束时 Orca 之类终端管理器把父终端一起关掉。 - #6077 Mental models: surface when a failed refresh has paused automatic refresh (and let a fix un-pause it)(10-25): 刷新失败后自动刷新被静默暂停,既不提示也无法恢复——「状态被读出来之后怎么呈现」的老问题在 memory 层重现。
- Hindsight 博客: 窗口期无新文章;最新两篇为 10-21《We Got Early Access to NVIDIA Nemotron 3.5 Embed. It’s Hindsight’s New Top Embed…》(提到 LoCoMo 与 Hindsight embedding 榜)与 10-20/21《What’s new in Hindsight 1.1.0》。
信号观察:
- 连续第二天「零功能改动」:12 个 commit 全是 lockfile 依赖升级,覆盖 12 个集成目录。其中
zod升到 v4 出现在 root、flowise、paperclip 三处,同一依赖在多个集成目录各自锁版本的事实被这次批量升级暴露出来。 - 与之相对,6 个新 issue 全部指向运行时语义(pg0 独占、survey 环境继承、mental model 暂停不可见、Windows 控制台弹窗),功能面静默、运行时面继续渗漏的格局未变。
- stars 24 小时涨 279(+0.5%),是六个仓库中绝对增量第二高的项目——关注度仍在上升,而代码侧的工作量全在依赖维护上。
agentclientprotocol/agent-client-protocol
「让任意编辑器接任意 agent」的协议规范 + Rust crate + schema | stars: 4508(+11) | open issues: 37(+1) | 默认分支: main | 最近 push: 2026-10-25T19:10:42Z | 主页: https://agentclientprotocol.com
release 重点:
- 本期(24 小时)无新 release。最新为 Rust Crate v1.12.0 与 Schema v1.26.0(2026-10-16,同日发布),并有预发布 schema-v2.0.0-alpha.9;上一轮为 v1.11.0 / schema-v1.25.0 / alpha.8(10-09)。v1 与 v2 alpha 两条发布线并行推进,节奏稳定在每周一次。
其他重要 commits / PRs(按重要性挑选):
- #2478 docs(rfd): move subagents, system prompt, and MCP-over-ACP to active (@Ben Brandt, 10-25 06:33)——窗口期唯一的实质协议进展:三个 RFD 从 Draft 移入 Active,提案正文未改,只改文档导航
- #2481 / #2479 docs: update registry agents (@acp-release-bot[bot], 10-25 16:19 / 19:09)——registry 同步 bot
- #2480 docs(clients): add Open Walnut to Desktop and Web (@EvanZhang008, 10-25, 未合并)——第三方 client 登记
三个被推入 Active 的 RFD(内容来自 docs/rfds/):
- Subagent Sessions(作者 Vadim Briliantov、Ben Brandt): agent 委派的子代理各自成为一个 ACP session id,其消息、思考、计划、tool call 与当前工作可独立于父 session 展示;父子关联通过 upsert 式的
subagent_update建立,子事件自动沿同一连接流动;session 间消息用session_messageupsert 与session_message_chunk通知。关联不是一次性任务,父 session 可以在子代理结束后再次给它派活。 - Client-Provided System Prompt(作者 @wpfleger96,Champion @benbrandt): 补上 ACP 一直缺失的「客户端下发 system 级指令」——agent 在
initialize时声明systemPrompt能力,session/new接受可选systemPrompt对象(mode+content,content 为ContentBlock[],文本为基线),并像cwd/mcpServers一样在其它 session 生命周期请求中重发。两种模式:append(客户端指令追加到 agent 自身指令)与 override(替换 agent 内置默认指令,由override子能力开关控制)。 - MCP-over-ACP: Stateless MCP Requests over ACP(作者 @nikomatsakis): client 或 proxy 用
"type": "acp"声明一个 MCP server,然后直接向其serverId发独立 MCP 请求;结果、请求级通知与取消都走 ACP,无需第二个进程或网络端点。只针对 MCP 2026-07-28,不模拟旧版 MCP;三个身份分层:serverId(声明的 server)、requestId(调用方生成的内层 JSON-RPC id,跨 proxy 保持)、外层 JSON-RPCid(单跳内编号,proxy 可重编)。
社区讨论 / 行业方向:
- ACP 官网 Updates 页: 最近的两次大版本公告仍是 9-17「Tool Call Names are Stabilized」与 7-22「Elicitation is Stabilized」,7-20「ACP v2 is Available in Draft」——RFD 从 Draft 走到 Completed 才会出现在这一页,因此 #2478 推入 Active 尚不构成公告。
- docs/rfds/updates.mdx: RFD 生命周期为 Draft → Active → Completed;推入 Active 意味着提案已被接受进入正式设计与实现阶段,而不是内容定稿。
- ACP Discussions: 窗口期零新讨论,最新一批讨论仍停留在 2026-03。
- 窗口期新 issue 0 个——六个仓库中唯一没有新增 issue 的项目。
信号观察:
- 3 个 commit 中 2 个是 registry 同步 bot,唯一的人写 commit 把三份提案同时从 Draft 推入 Active。与上一期「规范修订被创建 1.5 小时后关闭且未合并」相比,本期的动作是一次性的批量推进——把已经讨论成熟的 subagents / system prompt / MCP-over-ACP 一次性纳入正式轨道。
- 三份 RFD 的共同点值得注意:都在解决「agent 侧的能力如何被 client 观测和驱动」——子代理被拆成独立 session、system prompt 从 client 下发、工具由 client 通过 MCP-over-ACP 提供。ACP 正在从「一问一答的消息协议」向「可承载 agent 编排的控制协议」移动。
- 零新 issue、零新讨论、release 每周一版:规范仓库的社区热度不在讨论区,而在 spec 文件本身。
yxc023/yxc023.github.io
本调研报告的发布载体(个人博客仓库)| stars: 1 | open issues: 27 | 默认分支: master | 最近 push: 2026-10-25T00:34:55Z | 主页: 无
release 重点:
- 无 release。
其他重要 commits / PRs:
- a4d97e7 auto(reports): 同步 daily-research 2026-10-25 (@杨晓辰(小德) & 再探再报, 10-25 00:34)——上一期报告的自动同步
社区讨论 / 行业方向:
- 窗口期内未检索到公开讨论。
信号观察:
- 该仓库只承担发布通道功能,无独立技术动态;本期的内容增量全部来自另外五个被跟踪的上游仓库。
跨项目观察
-
「额度 / 成本」这条线在本周期从功能议题升级为阻塞议题,而它的对手方不是限额而是口径。 opencode 把 Go allowance 与 Console 用量上限搬到了 TUI 与桌面 app 之后,24 小时内 76/128 个新 issue 涉及额度(约 59%,上期 34%),热帖集中在「一个 prompt 都没发就撞上限」「倒计时归零后重启」「秒数在刷新之间跳变」;而 docs/go 同时承诺「超限后可继续用免费模型」「Extra Usage 可回落到按量付费余额」。用户被挡住,文档说不会被挡住——两者必有一方描述的不是同一件事。 同期 pi 侧的 #11409 是同一个问题的另一形态:一个工具报告出用户无法清除的问题。
-
发布纪律正在成为本周期的共同主题,方向却相反。 opencode 一边合并 93 个 PR,一边把 v1 与版本化 release 关进需要审批的 release environment、删掉 4 个 workflow 与 GitHub Action(#58899 / #58885 / #59076 / #59075 / #59032);pi 侧延续 #11352 起的「面向 main 的改动必须写 changelog 条目」,而 durable / chord 的 [Unreleased] 段仍挂着 breaking changes 未发版;ACP 用 RFD 生命周期(Draft → Active → Completed)管理规范成熟度,三个 RFD 一次推入 Active。三家都在把「谁可以改、改完何时生效」写成规则,但只有 opencode 的吞吐足够大到让规则立刻显出代价:93 个合并 PR 无一进入 release notes。
-
「参数名承诺一种语义、代码实现另一种」正在成为跨仓库的共同缺陷类别。 pi 的
httpIdleTimeoutMs实为总请求 deadline(#11388)、contextWindow声明值与真实上限脱钩导致每 15 分钟重撞 400(#11387);opencode 的 #58857「此前被静默丢弃的 OpenAI Chat 选项」与 #58872「补回 Responses 的 reasoning mode 与 context 选项」——前者是文档与实现的偏差,后者是实现与文档同时缺失;两者方向相反,修复动作却相同:把真实语义写清楚并补上。 pi-web 的 #1414「slash 命令匹配优先命令名」也属于同一类。 -
抽象继续下沉,而且下沉方向一致。 opencode 把 Effect 迁出核心路径、让 Promise 成为 AI 层根入口(#58847),tool schema 只在注册时转换一次(#58848);pi 把 watch 抽象、append 语义与 delta 折叠规则下沉到 chord 的 delta 包,并在 durable 侧记录请求实际使用的 thinking level(d5b3de2);hindsight 则把 12 个集成目录的依赖版本一次性对齐(root / zapier / eve / coding-agents / paperclip / flowise / crewai / litellm / smolagents / strands / llamaindex / cloudflare-oauth-proxy)。三家都在把「多处重复的、容易各自漂移的东西」收敛成一处。
-
运行时缺陷仍在所有仓库的同一层冒头,而这一层几乎没有被自动化测试覆盖。 opencode 的 #58934(请求编译期序列化错误直接杀掉 session)、#59106(聊天链接预览消耗一次性配对链接)、#59102(MCP progress 通知被空 handler 丢弃,未合并);pi 的 #11388(超时语义)、#11402(隐藏 thinking 块仍占行)、#11401(扩展 API 无法控制 thinking 可见性);hindsight 的 #6075(survey 继承父进程 env 导致父终端被关)、#6093(插件 profile 无法表达数据库位置)、#6077(刷新暂停既不提示也无法解除);pi-web 的 #1417(用量明细要靠外部 PR 补)。共同形态是「系统内部已经发生了某件事,但没有任何一层负责把它正确地呈现或终止」。
-
外部贡献与维护响应之间的落差,在本周期只有一个仓库暴露出来,但已经很明显。 pi-web 窗口期收到 5 个外部 PR(覆盖用量明细、子代理可见性、原文/渲染切换、slash 匹配、定时提示),全部 open、全部零回复,仓库本身 6 天零提交、SDK 停在 1.2.0,讨论区最新一帖是「求求赶紧更新吧」;ACP 侧则是相反的极端——零新 issue、零新讨论,规范推进全靠维护者与 registry bot。「人少但事定」与「人多但无人接」是同一周期里两种截然不同的协作失效方式。
元信息
- 报告生成时间: 2026-10-26T00:30:00Z
- 基准时间: 2026-09-08T09:23:29Z(按 spec 读取自上次报告
reports/latest.md的基准时间:字段,自 2026-09-08 起连续 15 期未变) - 扫描窗口: 2026-09-08T09:23:29Z → 2026-10-26T00:30:00Z(约 47.6 天);本期新增内容全部落在 2026-10-25T00:33:15Z 之后的约 24 小时
- 数据源: GitHub API(gh CLI)+ mmx web search + 官方站点抓取(pi.dev/changelog、hindsight 博客与 changelog、opencode.ai/docs)
- API rate limit 剩余: 4909 / 5000(core,抓取完成后查询)
- 抓取结果: 6 / 6 仓库 × 4 endpoint 全部成功(opencode 的 Discussions endpoint 返回非列表,已跳过);本期增量统计口径为
since=2026-10-25T00:33:15Z的 commits 列表,以及 GitHub search 的created:>2026-10-25T00:33:15Z/merged:>2026-10-25T00:33:15Z检索(opencode:77 commit、93 合并 PR、128 新 issue、150 新 PR;pi:5 commit、4 合并 PR(全为 bot)、17 新 issue;pi-web:0 commit、0 合并 PR、6 新 issue、5 个外部 PR;hindsight:12 commit、12 合并 PR(全部依赖升级)、6 新 issue;ACP:3 commit、3 合并 PR、0 新 issue;blog:1 commit);opencode 的 release notes 取自 GitHub Release v1.19.4 与 dev 分支CHANGELOG.md(V2 线 v2.1.4,2026-10-23),两条发布线并存;pi 的 release notes 取自 GitHub Release v1.4.0 与packages/{coding-agent,chord,durable,ai}/CHANGELOG.md的 [Unreleased] 段;hindsight 无根级 CHANGELOG.md,release notes 取自 GitHub Release v1.1.0 与官网 changelog / 博客;ACP 取自 Rust Crate v1.12.0 与 Schema v1.26.0(2026-10-16)及docs/rfds/下三份被推入 Active 的提案原文
评论