2026 2026年10月27日 33 min · 9.6k chars by yxc023
GitHub 调研周报 2026-10-27
扫描窗口:2026-09-08T09:23:29Z → 2026-10-27T00:30:00Z(共 48.6 天)| 基准来源:上次报告 2026-10-26
2026-10-27 GitHub 调研周报
扫描窗口:2026-09-08T09:23:29Z → 2026-10-27T00:30:00Z(共 48.6 天)| 基准来源:上次报告 2026-10-26 本期新增内容全部落在 2026-10-26T00:30:00Z 之后的约 24 小时(上次报告生成时间)
本期速览
-
opencode 的「额度」话题没有消失,但它从「配额算错」被官方重新定性为「版本分裂」——这是本期最重要的口径修正。 24 小时内新开 164 个 issue,标题涉及 free / quota / limit / usage / subscribe 的只有 32 个(约 19.5%),而上一期这个比例是 59%。原因写在维护者 neriousy 建的汇总帖 #59387 里:「Most free tier reports come from OpenCode v1(
0.x/1.x)——v1 no longer supports free models and only gets fixes for critical bugs」,并给出 v2 的手动安装路径;同时列出「OpenCode's free tier can only be used from within OpenCode」这一条。官方文档 docs/zen 也写着「Free-tier chat models require OpenCode; use paid models or Go from other clients」,docs/go 的模型清单里唯一的免费项 Beam Free 标注为「Unlimited, limited time」且列出二十多个不可用国家/地区(含中国大陆、俄罗斯、伊朗)。用户以为在用免费额度,实际用的是一个不再支持免费模型、且免费模型按地区封禁的 v1 客户端——摩擦点从计费系统移到了发布与分发渠道。 -
opencode 本期的主线是供应链完整性,而且有明确的事件背景。 一天内合并了四个互相呼应的 PR:#59360 在构建时下载 pinned Bun 的
SHASUMS256.txt并流式校验 zip 的 SHA-256,不匹配就删除压缩包并失败(此前 Bun runtime zip 从未校验,直接进 12 个 CLI 二进制、Homebrew、AUR、Docker、桌面版);#59350 固定 ripgrep 15.1.0 全部 7 个 release asset 的 SHA-256;#59173 改成每次发布只拉取一次 models.dev catalog 并让构建后校验失败即发布失败,「There is no fallback in release」;#59296 把 catalog 读取迁到实验性 v2 API。同期用户侧还在要 #59266「请为 v1.19.0 提供公开的 Sigstore attestation bundle」。背景是 10 月 17—18 日的安全事件:环球网报道称 OpenCode 一次大规模蒸馏攻击导致约 1.4% Console 用户的第三方 API key 泄露,受影响用户出现 Anthropic 400 美元、谷歌约 200 欧元的非授权扣费。校验哈希、发布即失败、要求签名证明——三条措施都指向同一件事:把「产物被替换」从不可见变成构建失败。 -
opencode 的发版流水线本周被整体重构,同时出现连续 4 天零发版。 #59046 把 build 与 signing / publishing 彻底分离(
plan/ build / sign / publish 分 job,所有用密钥的 job 收进releaseenvironment,加 CODEOWNERS 与最小权限,删掉 VS Code 发布 workflow);#59428 让 tag job 用只存在releaseenvironment 里的RELEASE_TAG_KEYdeploy key 打v*tag(GITHUB_TOKEN 无权创建v*tag,ruleset 允许 deploy key 但不允许 Actions integration);#59353 因为 dev/beta deploy 的 AWS 凭据在别的 environment 而把deploy.yml回滚;#59408 让 beta 分支也开始跑check。结果是 npm@opencode/cli的 latest 仍是 2.1.4(2026-10-23),GitHub Release 仍是 v1.19.4(2026-10-22),dev 分支 V2 CHANGELOG 也停在 v2.1.4——本期 82 个合并 PR 没有一条进入任何 release notes。上一期「发版闸门收紧」的判断在本期得到确认。 -
opencode 出现两例「当日合并、当日回滚」。 #59444 回滚 #59379(
fix(server): honor OPENCODE_SERVER_USERNAME for serve and --server,10-26 19:54 合并,10-27 00:06 回滚);#59439 回滚 #57007(fix(tui): identify config-defined providers,10-26 21:14 合并,10-27 23:51 回滚)。两例都发生在发布流水线刚被重构的同一批 PR 里——权限与配置类改动在新的 environment / deploy key 体系下先跑通再回退,是「闸门收紧」过程中必然出现的摩擦。 -
pi 本期的主题是「不可信输入」的系统性硬化,而它同时被用户独立发现。 Armin Ronacher 的 commit
89c921d一次性收掉五类问题:OAuth 登录只接受服务端给的http(s)URL(新增共享trustedHttpUrl,Radius 也接入)、pi-messages拒绝非「下一个或已存在」的contentIndex、CLI auth 文件改为 0600 权限、登录对话框只打开 web URL 且不打印控制字符(新增replaceControlCharacters())、durable 的 partial commit 不再把__proto__成员合并进Object.prototype。同一天用户报的三条 issue 指向同一类:#11421「未受信项目里的.pi/settings.json是指向/dev/zero的 symlink,pi 启动即挂死,10 秒涨到约 650 MB 内存——克隆一个仓库就足以触发」;#11417「session JSONL 用默认 umask 落成 0644,同机其他用户可读全部 prompt、模型输出与工具输出(auth.json已经是 0600,session 没跟上)」;#11448 报告 npm 包billion-context0.1.208 疑似恶意、下载量异常。上一期 pi 的主题是「参数名承诺一种语义、代码实现另一种」,本期换成「系统对外部世界的默认信任假设不成立」。 -
pi 真正的结构性改动在 durable / chord,而不是表层功能。 commit
8b0caef「publish commits at adoption, address-following watches, synchronous observers」把发布时点从「commit 落盘之后」前移到「Storage 采用(adopt)这一批的时刻」,让 telemetry、document watch、conversation view、task graph、scheduler 与 wait 全部在adopt同步步骤内跑完,subscribeCommits()的宿主监听者延一个 microtask 触发。配套的packages/durable/CHANGELOG.md[Unreleased] 段是一整批 Breaking Changes:watch 统一到 Chord 的WatchHandle/WatchEnd(结束原因改为stopped/cancelled/ended/listener_error/failed,retired从「结束」降级为「标志」)、document watch 跟随地址而非某次实例化、listener 改为接收单个 change 对象{ value, ops, retired }、新增 deferred commit(把流式答案与工具输出的节流提交推迟落盘,SQLite 32 路并发下存储事务减少约 5.7 倍、磁盘写减少约 2.9 倍,长答案场景 27 倍与 9 倍)、新增同步 observer(observeDoc/observeConversation/observeTaskGraph)与HarnessOptions.readOnly。这是一个把「同一个 commit 被两路视图看到」的经典竞态从架构上消灭掉的改法,代价是整包 API 破坏性变更。 -
GPT-6.1 Terra 在同一天进了 pi 和 opencode。 pi 的
363ad78把它加进 OpenAI、Azure OpenAI Responses 与 OpenAI Codex 三个 provider,官方价格($1 input / $0.05 cached input / $1.25 cache writes / $5 output,272k 以上走 long-context 档),支持reasoning.effort: "none"(即off),但两个档位都拒绝minimal,Codex 侧给 500K context。opencode 侧对应 #59359(加入 ChatGPT 登录模型)与 #59380 / #59420(为 catalog 里的 image / decision 模型补 provider 端点与 HTTP 接口,此前POST /api/experimental/generate/image解完请求固定返回 501)。两家对同一新模型的跟进节奏一致到同一天,模型发布节奏正在直接决定 agent 框架的发布节奏。 -
pi-web 连续第 7 天零提交,外部贡献继续涌入而维护响应仍为零。 最后一次 push 仍是 2026-10-20T16:53:57Z,
package.json里 7 个@earendil-works/*包仍精确 pin 在 1.2.0(上游已到 1.4.0,pi-coding-agent/pi-ai的 npm latest 也是 1.4.0,2026-10-21 发布)。本期新开 3 个 PR、2 个 issue,全部零回复:#1425「改进消息与文件呈现」、#1423「侧边栏折叠时把「等待输入」的会话与「运行中」分开计数」、#1421「手机端把输入区控件排成浮动面板」;issue #1424「按 provider 过滤 Settings 侧栏模型」、#1422「缺失 session cwd 被误报成 Model Error」。讨论区 #1233 里一位外部作者提到「这是我第一次开源贡献,我的 PR 已被合并并发布」——说明这条流水线曾经跑通过,现在停了。 -
hindsight 连续第三天转向运行时修复,而 v1.1.0 的能力面已经相当宽。 10 个 commit / 10 个合并 PR 里只有 2 个是依赖升级(
fastmcp3.4.11、setuptools),其余全是运行时:#6112「reranker 的 failover 链成员失败时进 bench,故障不再拖慢每一次 recall」、#6108「登出状态的 LLM 不再让启动崩溃,failover 直接跳过它」、#6105「ONNX loader 不再与本地模型构建相邻时 crash-loop」、#6100「未提交的 buffering retain session 不再被 checkpoint」、#6104「Windows 上隐藏 next-server 控制台窗口」、#6115「用模型自己的词汇表达请求上限与 recall 的 caps」。issue 侧同样具体:#6103「Delta page-refresh 门一次并发发出全部 decision 请求,一次失败就丢掉整门」、#6098「文档的请求历史应当随文档走」、#6097「coding-agents 的 session write-back 在最后一次提交失败时没有跨会话的持久重放」、#6110「本地 embedding 与 reranker 的 commit / thread 数随每个跑 torch 的 executor 线程增长」。 -
ACP 是本期唯一「零新 issue、零新讨论、全是规范」且仍有实质推进的仓库。 22 个合并 PR 中 6 个是 dependabot 与 registry bot,其余是 Ben Brandt 集中在 v2 schema 上的收紧:#2499「v2 不允许 null request ID」、#2498「v2 要求恰好一个 elicitation scope」、#2494「给 available commands 加类型判别符」、#2500「定义接收方遇到未知 v2 variant 的行为」、#2497「说明 v2 下
session/set_config_option何时可用」、#2492「澄清 v2 的 session 状态同步」。两份新 RFD 同时进仓:#2485「定义 per-turn / in-turn / subagent / cumulative 四种 token usage 口径」、#2482「报告每个 subagent 使用的模型」。
各仓库详情
anomalyco/opencode
开源 coding agent(终端 TUI + 桌面 app + web),TypeScript / Bun 内核,多 provider 架构 | stars: 221957(+442) | open issues: 3865(+62) | 默认分支: dev | 最近 push: 2026-10-27T00:27:16Z | 主页: https://opencode.ai
近 N 周 release 重点:
- 本期(24 小时)无新 release。npm
@opencode/cli的 latest 仍为 2.1.4(2026-10-23),GitHub Release 仍为 v1.19.4(2026-10-22)。 - v1.19.4(2026-10-22): 捆绑 Bun runtime 升级到 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。 - 本期的 82 个合并 PR 尚未进入任何 release notes,改动只存在于 dev 分支。
其他重要 commits / PRs(按重要性挑选):
- #59360 fix(opencode): verify Bun runtime zip checksum in release builds (@R44VC0RP, 10-26)——构建时校验 Bun zip 的 SHA-256,此前 Bun runtime 直接进 12 个 CLI 二进制及其下游分发渠道,从未校验
- #59350 fix(core): verify SHA-256 of downloaded ripgrep before running it (@R44VC0RP, 10-26)——固定 ripgrep 15.1.0 全部 7 个 release asset 的哈希,不再以「body 非空」为唯一检查
- #59173 feat(build): fetch the models.dev catalog once per release and verify the bundled copy (@rekram1-node, 10-26)——发布流水线改为一次拉取、全程同源、校验失败即发布失败,无 fallback
- #59296 feat(core): read the models.dev catalog from the experimental v2 API (@rekram1-node, 10-26) / #59272 反馈:
kv表里一个损坏的 catalog 值会让内置插件每次启动失败、全部 provider 消失,而清缓存无效(catalog 存在 SQLite 里) - #59421 feat(ai): add LLM.loop to run tools until the model stops (@rekram1-node, 10-26)——
LLM.loop(Effect)与ai.llm.loop(Promise)把「模型调工具→回填结果→再调」这个循环从用户侧搬进库 - #59382 feat(ai): add opt-in raw provider events to LLM streams (@rekram1-node, 10-26)——
includeRaw打开后每个 provider 原始帧都发一个raw事件,协议忽略的帧也能拿到,便于翻译未知事件 - #59183 refactor(ai): replace wildcard exports with an explicit public API (@rekram1-node, 10-26)——
@opencode/ai此前导出"./*",约 220 个源文件都是公开子路径;现在内部工具与 schema 不再公开(breaking) - #59175 refactor(core): derive provider option keys from the settings schema (@rekram1-node, 10-26)——provider / model / variant 的
settings键从 schema 派生,不再维护四份手写剥离清单(此前漏掉的cache/encoding/timeout会漏进 AI SDK 包) - #59157 feat(ai): configurable prompt cache TTL (@rekram1-node, 10-26)——新增
cache.ttl(provider / model / variant 三级),此前只能用 provider 默认(Anthropic 5 分钟),OpenAI 的30m/12h/24h根本够不着 - #59171 feat(ai): add typed Bedrock Converse options (@rekram1-node, 10-26)——
serviceTier/effort/ guardrails / structured output / request metadata 从裸 AWS JSON 变成 typed option - #59411 fix(util): kill spawned process groups when opencode exits (@rekram1-node, 10-26)——10 秒关闭超时里的
process.exit(1)、关闭终端的 SIGHUP 等路径会跳过 finalizer,遗留的 MCP server 被 reparent 到 PID 1 永不退出 - #59444 Revert “fix(server): honor OPENCODE_SERVER_USERNAME for serve and —server” (@neriousy, 10-27) / #59439 Revert “fix(tui): identify config-defined providers (#57007)” (@opencode-agent[bot], 10-26)——当日合并、当日回滚
- #59103 feat(server): add experimental GET /api/experimental/media/:hash and opt-in experimental-media-uri capability (@kitlangton, 10-26)——上一期还挂着未合并,本期已合并
- #59207 fix(ai): send Kimi models the right tool arguments when schemas use tuples, defaults or keyword-like names (@kitlangton, 10-26)
- #59126 / #59315 fix(core): keep codemode on legacy MCP entries / expose code mode tools directly when execute is denied (@tneemo, @rekram1-node, 10-26)
- #59335 fix(core): use Vertex multi-region hosts for eu and us (@rekram1-node, 10-26) / #59334 accept a Databricks host that includes the scheme
- #59209 fix(tui): keep pasted text intact when you copy it out of the prompt (@kitlangton, 10-26) / #59198 stop custom commands from overwriting
$0and re-filling$ARGUMENTS/ #59197 stop GPT patch edits from deleting a file moved onto itself - #59205 perf(core): stop holding huge matched lines in memory during code search (@kitlangton, 10-26) / #59091 perf(session): load a step’s history once / #59402 perf(core): sort integrations once per rebuild (@rekram1-node, 10-26)
- #59089 fix(core): folder approvals use the project’s own files, not this machine’s disk (@kitlangton, 10-26)——上一期还是未合并的 #59089,本期已合
社区讨论 / 行业方向:
- #59387 Free tier issues: read this first, then post your report here(neriousy,7 条回复): 本期最重要的社区动作——官方把全部免费额度投诉收敛到一个汇总帖并关闭重复 issue,帖中明确「Most free tier reports come from OpenCode v1,v1 不再支持免费模型」以及「免费额度只能从 OpenCode 内部使用」,并给出 v2 手动安装路径。这是把 164 个 issue 里的 32 个额度类问题从「计费 bug」重新归类为「版本迁移 + 分发渠道」的过程。
- #59280 free-tier: Free usage limit reached follows the session ID; forks work(2 条回复): 同一分钟、同一模型、逐字节相同的历史,原 session 报
Free usage limit reached,--fork出来的新 session 正常;作者结论是「拒绝跟随 session ID,而非账户、模型、目录或内容」。这是本期唯一一个指向具体计费实现缺陷的复现。 - #59341 provider: free models stay blocked with 429 FreeUsageLimitError past the advertised reset: 帖子已被作者撤回并注明「原诊断不正确,问题是安装版本陈旧,重装即恢复」——与 #59387 的结论互证。
- #59230 Free usage exceeded, subscribe to Go” with ~14.6h retry countdown after ~5 days of no usage(7 条回复): 五天未用仍然立即报超限并给出 14 小时 38 分的重试倒计时,用户期待「docs 提到的是更短的间隔」。对照 docs/go 的口径:额度以「月度美元金额」定义,5 小时窗口 = 月额度的 20%、周窗口 = 50%、月窗口 = 100%,文档里根本没有「每日重置」这一档——用户预期与产品定义的窗口期不一致,是这批投诉被反复重复的第二个原因。
- #59229 Desktop (Windows): app intermittently becomes an invisible input-eating overlay(11 条回复,本期讨论最多的 issue): 双屏 Windows 下 app 自建的
Chrome_WidgetWin_1透明窗口盖在其他应用之上吞掉全部鼠标输入,屏幕可见但点不动。纯桌面端渲染层问题,与 agent 逻辑无关,却是当前用户体感最差的一类。 - #59321 compaction replaces read results with “[Old tool result content cleared]” — agent edits files from stale, partially-read content(6 条回复): v1 的 read 只返回大文件前 50 KB,这个上限是硬编码且没有出现在模型能看到的工具描述里,唯一的续读提示是尾巴上的
Output capped at 50 KB,模型经常无视并反复重读同一段。作者称之为 data loss。 - #59289 Switching the composer agent while a turn is running reconfigures the running turn: 运行中的 plan turn 会在切换 composer agent 后静默获得新 agent 的工具、权限与 system prompt,plan 插件因此告诉模型「你不再受限」。权限模型被 UI 的一个下拉框绕过。
- 环球网:OpenCode 发生安全事件 部分用户外部 API 密钥存在外泄风险(2026-10-18): 报道称约 1.4% Console 用户受影响,受影响者出现 Anthropic 约 400 美元、谷歌约 200 欧元的非授权扣费。与本期四个供应链校验 PR 构成同一件事的前后两段。
- 标准计算:Best Model for OpenCode (Oct 2026)(2026-10-17): 基于 68 个用户、64,668 次请求的实测称一次典型请求送入 114,859 input token(87% 命中缓存)、一个 session 中位数 16 次请求;DeepSeek V4.1 Flash 是 10 月 13 日当周公开用量榜上最常用的模型。外部数据侧的「平均一次 agent 请求的上下文规模」已经到十万 token 量级,这正是 opencode 本期反复调 compaction 与 cache TTL 的原因。
- aiagentswatch: OpenCode — overview, pricing notes & current offers(2026-10-06): Go 定价口径为 $5 首月后 $10/月,用量窗口 $12 / 5 小时、$30 / 周、$60 / 月;客户端本身 MIT 免费、Go 与 Zen 均为可选。与官方文档的月度额度口径一致,说明这是对外已固化的认知,不是新政策。
信号观察:
- 额度投诉占比从上一期 59% 回落到 19.5%,同期合并 PR 从 93 降到 82、新 issue 从 128 升到 164——争议总量没降,是性质变了:从「限额机制」争议转向「版本分裂 + 配额口径 + 桌面端渲染」三类。
- 四个供应链校验 PR(#59360 / #59350 / #59173 / #59296)加一条 Sigstore 请求(#59266),全部由非核心成员(R44VC0RP、用户 Rubenort980)提出而非维护者自上而下推动,外部用户对「产物可信」的要求第一次跑到了构建脚本前面。
- 发布流水线在 24 小时内经历「拆分 → 回滚 → 换 deploy key → 扩到 beta」四步改动,且两次当日 revert 紧随其后;发版通道当前处于高风险重构期,dev 分支与 npm latest 之间已经断了 4 天。
- AI 层继续还债:被静默丢掉的 provider 参数、显式 public API 取代 wildcard、settings 键从 schema 派生、typed Bedrock options、
LLM.loop抽象循环——都是从「多 provider 架构」欠下的债,且都由同一位贡献者(rekram1-node)推进。 - issue 里的新主题:Windows 桌面端透明窗口吞输入(#59229)、model picker 的
Freebadge 只对 opencode provider 生效(#59302)、OpenCode Go 的 workspace 只能单成员(文档明示)却在真实场景撞上多用户限流(#59257)。
earendil-works/pi
AI agent 工具箱:统一 LLM API、agent loop、TUI、coding agent CLI,TypeScript monorepo | stars: 118032(+250) | open issues: 389(+3) | 默认分支: main | 最近 push: 2026-10-26T21:19:13Z | 主页: github.com/earendil-works/pi
近 N 周 release 重点:
- 本期(24 小时)无新 release。npm
@earendil-works/pi-coding-agent与@earendil-works/pi-ai的 latest 仍为 1.4.0(2026-10-21T22:48Z)。 - v1.4.0(2026-10-21): classifier 支持图片输入(TypeSafe Jev、Cloudflare Clef)、models.json 配置参考文档自动生成、compaction 与 branch summary 改用模型自身输出上限(长推理不再失败)、codemode 并行脚本排队而非直接失败(
PI_CODEMODE_MAX_WORKERS可调)、Rex 终端支持(OSC 8 超链接 / truecolor / 内联图片)。 packages/durable/CHANGELOG.md与packages/chord/CHANGELOG.md的 [Unreleased] 段是本期最大的未发布内容,且几乎全是 Breaking Changes(见下)。
其他重要 commits / PRs(按重要性挑选):
8b0caeffeat(durable,chord): publish commits at adoption, address-following watches, synchronous observers (Mario Zechner, 10-26)——发布时点前移到 Storage 采用该批的时刻;新增observeDoc/observeConversation/observeTaskGraph三个同步 observer,watch 建立在它们之上;telemetry adapter 抛错改为报host_error "telemetry"而不是让 commit 失败89c921dfix: harden handling of untrusted URLs, terminal text, and streamed data (Armin Ronacher, 10-26)——一次提交覆盖五类不可信输入:OAuth 只接受http(s)(新增共享trustedHttpUrl)、pi-messages拒绝非法contentIndex、auth 文件 0600、setTitle()过滤控制字符、登录对话框不打印控制字符、durable 不再污染Object.prototype363ad78feat(ai): add GPT-6.1 Terra (Armin Ronacher, 10-26)——OpenAI / Azure OpenAI Responses / OpenAI Codex 三个 provider,官方定价 $1 / $0.05 / $1.25 / $5,支持reasoning.effort: "none",拒绝minimal,Codex 侧 500K context6c384aafix(ai): resolve pi-telemetry from source in workspace tests (Mario Zechner, 10-26)——Environments workflow 自 2026-10-18 起每次都失败,因为 pi-telemetry 的 root 与./testing导出没有sourcecondition- #11440 fix(coding-agent): rank tools first when the search query is their name (@petrroll, 10-26)——
Bm25Ranker把工具名当普通搜索文本打分,查询thread_read被切成thread与read,BM25 长度归一化让短描述的mcp__app__queue_read排在真正的mcp__app__thread_read之前,limit: 1时永远搜不到被点名的工具 - #11438 ci: run tests in parallel jobs and drop unused apt packages (@petrroll, 10-26)——
build-check-test串行跑完所有 workspace,单次 8–11 分钟,测试环节 4–6.5 分钟 - #11435 fix(coding-agent): update undici to 8.12.3 for security advisories (@robopipi[bot], 10-26)——原先精确 pin 在 8.10.2,落在三条已公开 advisory 的区间内
- #11436 fix: skip custom-message runs in prompt-url-widget (@robopipi[bot], 10-26)
社区讨论 / 行业方向:
- pi Discussions #195 Pi Hooks for Checkpointing and LSP(8 条回复): 社区在 pi-mono 之上自建 hook 扩展(checkpointing、LSP)。hook 是 pi 扩展机制的实际扩展点,与本期 pi-web 侧大量「想要 hook / 想要 API」的诉求指向同一层。
- pi Discussions #277 Leash – A safety hook blocking dangerous commands: 第三方安全 hook 沙箱化文件系统访问、阻止项目目录外的破坏性命令与 git 操作。「路径信任」这件事同时被维护者(#11421 目录信任前不读 settings)与社区(Leash)当作一等公民。
- pi Discussions #292 GLM 4.7 leaking interleaved thinking tokens(18 条回复): 交错 thinking 泄漏进 tool call 并让 agent 停住。provider 层的 thinking 语义一致性仍是长期未解项。
- pi Discussions #254 What is the pi-ai approach to vendor extensions?: 「标准化交集、暴露并集」的多 provider 库模式被社区反复引用——与本期 opencode 的 #59175 / #59183 是同一个命题的两面。
- Web Pulse: Beyond the Ephemeral Loop — The Architecture of Durable AI Agents(2026-10-11): 把
@earendil-works/pi-durable与 Temporal、Restate、DBOS、Inngest、Cloudflare Workflows、LangGraph checkpoint 并列,引用其约 22,500 行 TypeScript、72 个测试文件、263 KB 设计文档。外部评论把 pi durable 当成 durable execution 品类的样板,这正是本期 durable 大改动的语境。 - HN Today: Pi 1.0(Earendil 官方邮件): 「Today we are proudly shipping Pi 1.0: a hardened, minimal, extensible agent harness that you can make your own」——官方把「hardened」写在第一句,本期五类不可信输入的硬化是对这个词的直接兑现。
信号观察:
- 本期 9 个 commit(其中 1 个为 10-24 的 straggler)+ 4 个合并 PR,全部 4 个 PR 中 3 个来自
robopipi[bot]——但与上一期「零外部 PR、只做杂务」不同,本期出现了两位真人贡献者的实质代码(Armin Ronacher 的两次 commit、Petr Houška 的工具排序修复与 CI 并行化)。 - 30 个新 issue 中,安全与权限类占明显多数:#11421(symlink 到
/dev/zero挂死,10 秒 650 MB)、#11417(session JSONL 0644)、#11413(undici pin)、#11448(疑似恶意 npm 包)、#11429(/mcp logout留下孤儿oauthState/codeVerifier,导致无法重新登录)、#11430(MCP close cleanup 遇 disposer 抛错不 resilient)、#11412(MCP Protected resource 校验过严)。 - 运行时语义类 issue 依旧密集:#11451(
/tree回退后 resume 恢复旧的 thinking level)、#11444(tree 分支摘要不带所选 thinking level,nvidia 端 400)、#11443(macOS 睡眠唤醒后 SGR mouse 事件碎片被当作文本输入)、#11423(grep在 UTF-16LE 文件带context: 1时破坏匹配文本)、#11442(OpenAI 登录默认模型gpt-5.5已不支持)。 - 扩展 API 需求密集且形态一致:#11450(
registerAssistantMessageTransformer)、#11446(pi-durable 的/extension子路径导出)、#11439(MCP Prompts / Skills 支持)、#11426(MCP OAuth 自动优先 CIMD)、#11452(classifier transport 无法从已安装包 import)、#11431 / #11428(setEditorComponent会隐藏已打开的扩展对话框;inlinectx.ui.custom()需能上报 blocked 状态)。 - 「codemode 的工具搜索」在两个仓库同时出问题(pi #11440 的 BM25 排序、opencode #59315 的 execute 被拒时仍暴露 code mode 工具)——工具发现正在成为多 agent 架构下一个共同的、尚未被系统性解决的层。
agegr/pi-web
pi coding agent 的本地 Web UI(Next.js / TypeScript),读同一套本地 session 文件 | stars: 7818(+33) | open issues: 71(+3) | 默认分支: main | 最近 push: 2026-10-20T16:53:57Z(连续 7 天未变) | 主页: 无
近 N 周 release 重点:
- 本期(24 小时)无新 release。最新仍为 v0.12.2(2026-10-15),
package.json版本字段同为0.12.2。 - 依赖仍是 7 个
@earendil-works/*包精确 pin 在 1.2.0(pi-agent-core/pi-ai/pi-codemode/pi-coding-agent/pi-mcp/pi-telemetry/pi-tui),上游已发布 1.4.0(2026-10-21)。 - 窗口期内无 release、无 commit。
其他重要 commits / PRs(按重要性挑选):
- 本期仓库 0 个 commit、0 个合并 PR。 以下全部是外部作者提交、全部 open、全部零回复:
- #1425 fix: improve message and file presentation (@JohnZheng-1991)
- #1423 fix(sidebar): count sessions awaiting input apart from running ones when folded (@Zhangs-11)
- #1421 fix(chat): open the phone’s composer controls as a floating panel, one row each (@draxxris)
- #1424 feat(models): filter configured providers in the Settings sidebar (@wowayou)
- #1422 Issue Summary: Missing Session cwd Misreported as “Model Error” (@Passi0n1)
社区讨论 / 行业方向:
- pi-web Discussions #1233 Thank you for Pi Web!: 外部作者提到「Pi Web 也给了我第一次开源贡献的机会,我看到我的 PR 被合并并发布了」。贡献者曾跑通过合并与发布流程——这条流水线在最近一周停止。
- pi-web Discussions #1040 Desktop-style launcher for Pi Web / #1233: 用户在 Windows 上自发为 pi-web 补桌面式启动体验。维护缺口正在由用户侧插件化填补。
- pi-web Discussions #763 pi-web-statusline: a single-line status row for Pi Web / #652 Pi Usage:在 pi-web 中查看模型余额和配额: 社区已自行做出状态栏与额度插件,这类需求本该由仓库自身提供。
- hysenlabs: pi-web review: 第三方评测明确指出 pi-web「不是一个沙箱,假定受信用户」——这是一个把「可信度」写进产品前提的项目,因此本期 pi 主仓的路径信任类 issue(#11421)在 pi-web 场景下同样成立。
- pi.dev packages 索引: npm 上以 pi-web 命名的第三方包已有十余个(
@jmfederico/pi-web10K/月、pi-web-ui22.1K/月、@gang-of-beads/pi-web5,981/月、@chainingintention/pi-web-cn1,492/月 等)。原版 7,818 stars 与整个 npm pi-web 生态的下载量已不在同一量级——生态的扩散速度超过了本体。
信号观察:
- 连续第 7 天零提交、连续第 2 天(自上期起)外部 PR 零回复;本期新增 3 PR / 2 issue,回复数均为 0。
- SDK 落后两个小版本(1.2.0 vs 上游 1.4.0)且是精确 pin 而非 range,意味着即使上游有修复也无法自动跟进。
- star 数仍在涨(+33),而维护活动为 0——关注度与维护投入的背离在 pi-web 上是六个仓库里最大的一个。
- npm 上同类 pi-web 实现的总下载量已数倍于原仓库 star 数,「pi-web」正在从项目名变成品类名。
vectorize-io/hindsight
Agent memory 平台(Hindsight:Agent Memory That Learns),Python 后端 + 控制面 | stars: 54098(+376) | open issues: 163(+12) | 默认分支: main | 最近 push: 2026-10-26T22:37:54Z | 主页: https://hindsight.vectorize.io/
近 N 周 release 重点:
- 本期(24 小时)无新 release。最新仍为 v1.1.0(2026-10-21T16:41Z)。
- v1.1.0 的能力面(官网 changelog):embedding / reranking / decision-model 调用进 request history trace、tag-glob 与 per-bank 默认 observation scope、per-document change history reconstructed from operations、deferred operations 可立即重试、mental-model delta 刷新可用 decision model 判断是否需要刷新(实验)、任意 ONNX 导出的 cross-encoder 可作 reranker、ChatGPT 可作 LLM provider、NVIDIA NIM 支持 embedding 与 reranking、consolidation 可用 decision model 先处理简单事实再决定是否调 LLM(实验)、Helm 可配 revision history 保留与 Gateway API HTTPRoute、Anthropic 支持 Workload Identity Federation 取代静态 API key。
- 官网 v1.0(2026-10-13)条目:「After a year in production, Hindsight’s architecture and API are stable, and from here the API is a promise」。
其他重要 commits / PRs(按重要性挑选):
- #6115 feat(decision-model): count the request ceiling and recall’s caps in the model’s own vocabulary (@nicoloboschi, 10-26)——用模型自己的词汇表达请求上限与 recall 的 caps,这是把「限制」变成模型可推理对象的第一步
- #6112 fix(reranker): bench a failed failover-chain member so an outage does not slow every recall (@nicoloboschi, 10-26)——failover 链成员故障时进 bench,故障不再拖慢每一次 recall
- #6108 fix(llm): a logged-out LLM no longer crashes startup; failover skips it (@nicoloboschi, 10-26)
- #6105 fix(models): ONNX loaders no longer crash-loop startup next to a local model build (@nicoloboschi, 10-26)
- #6100 fix(retain): don’t checkpoint documents a buffering retain session hasn’t committed (@nicoloboschi, 10-26)
- #6106 fix(bank-template): export keeps entity_labels stored in the attributes envelope (@nicoloboschi, 10-26)
- #6104 fix(control-plane): hide the next-server console window on Windows (@nicoloboschi, 10-26)
- #6102 ci: swap retired gpt-4.1-nano for gpt-6-luna in LLM acceptance matrix (@nicoloboschi, 10-26) / #6101 跟进: OpenAI 已退役
gpt-4.1-nano,CI 的 LLM acceptance openai + litellmrouter 两个 job 失败 - #6113 chore(deps): bump fastmcp to 3.4.11 / #6091 bump setuptools (@cdbartholomew, 10-26)
社区讨论 / 行业方向:
- Hindsight 官网公告:Introducing Hindsight Memlake, serving 100M memories at <100ms p99 on object storage / What’s New 页: Memlake 是 Rust 写的 agent memory 存储引擎,把记忆放在对象存储里,1 亿条记忆、p99 < 100 ms,每次写入在返回前已持久。「agent memory 独立数据库」这一品类在本期有了第一个可量化的工业级指标。
- 墨天轮:Agent Memory 独立数据库品类成型 — 1 亿条记忆 80 毫秒召回已落地(2026-10-14): 一周内 Vectorize 把 Hindsight 推到 1.0 GA 并发布 Memlake 企业存储引擎,Tencent 同时开源 TencentDB Agent Memory——「两家不同步的产品在同一周落在 Agent 长期记忆这条赛道上」。文中给出取舍:Hindsight 走对象存储 + 自家检索引擎,Tencent 走本地 SQLite + 语义金字塔;硬指标对比是「1 亿条记忆 99 分位召回 500 毫秒意味着 agent 在用户等待时会卡顿」。这是本期唯一的品类级信号。
- AI Agent Memory Statistics (October 2026)(2026-10-20): 第三方汇总的 LongMemEval / LoCoMo / BEAM 榜单中 Hindsight 报 94.6 / 92 / 73.9 / 64.1,Mem0 Platform 94.4 / 92.5 / 64.1 / 48.6;页面明确标注「Not collected by us;no other source has reproduced those scores」。榜单差距极小且全部是自报值——这一品类的性能宣传目前不可验证。
- Mem0 vs Hindsight: Agent Memory Layers Compared(2026-10-08): 「Hindsight 对每条记忆做更多工作:链接实体与时间、后台把事实合并成 observation、再用 reflect 推理;Mem0 更精简,提取只跑一遍 LLM」。产品差异被外界归纳为「更重 vs 更轻」,正是本期 decision-model / consolidation 实验要解的题。
- Hindsight Discussions #105 The effect is very poor. I only used a file of 500 words. From the results, it is not readable by humans(7 条回复): 「合成结果人类读不懂」是记忆品类最本质的投诉——保留更多事实并不等于交付更好理解。
- hindsight Discussions #164 / #168: 如何用本地 LLM 的 OAuth 代替 API key / 我通常自己修 bug,请告诉我如何修: 用户侧在自行修产品,社区位置已经变成支持论坛。
信号观察:
- 连续第三天从「依赖治理」转向「运行时修复」:本期 10 个 commit 中 8 个是运行时 fix,2 个是依赖升级(上一期是 12/12 依赖升级,两期前是纯依赖治理)。修复密度与方向连续三期变化,说明维护重心刚从「对齐依赖」切到「运行时行为」。
decision-model是本期最集中的主题:#6115 让模型用自己的词汇表达上限与 caps,v1.1.0 里 decision model 同时进入 mental-model delta 刷新与 consolidation。「用一次廉价的模型调用替代一次昂贵的 LLM 调用」正在成为 memory 品类的核心成本杠杆。- 新 issue 指向的都是「系统内部发生了一件事,但没有任何一层负责把它正确呈现或持久化」:#6103(Delta page-refresh 门一次并发全部 decision 请求,一次失败丢整门)、#6099 / #6100(retain 重试以空文档收尾)、#6098(文档的请求历史不随文档走)、#6097(coding-agents 的 session write-back 最后一次提交失败时没有跨会话持久重放)、#6110(本地 embedding / reranker 的 commit 与 thread 数随每个 torch executor 线程增长)。
- stars 增速 +376,是六个仓库中绝对增量第二高的(仅次于 opencode 的 +442),在 agent memory 品类整体升温的背景下,hindsight 仍在以接近峰值速度吸星。
agentclientprotocol/agent-client-protocol
「让任意编辑器接任意 agent」的协议规范 + Rust crate + schema | stars: 4516(+8) | open issues: 32(−5) | 默认分支: main | 最近 push: 2026-10-26T23:56:10Z | 主页: https://agentclientprotocol.com
近 N 周 release 重点:
- 本期(24 小时)无新 release。最新仍为 Rust Crate v1.12.0 / Schema v1.26.0 / Schema v2.0.0-alpha.9(2026-10-16)。
- v1.12.0 之后的所有 v2 schema 变更仍停留在
unstable-v2与 alpha 线,尚未进入稳定 schema 发布。
其他重要 commits / PRs(按重要性挑选):
- #2499 feat(unstable-v2): disallow null request IDs (@benbrandt, 10-26)
- #2498 fix(schema): require exactly one elicitation scope in v2 (@benbrandt, 10-26)
- #2494 feat(unstable-v2): add type discriminator to available commands (@benbrandt, 10-26)
- #2500 docs(schema): define receiver behavior for unknown v2 variants (@benbrandt, 10-26)——接收方遇到未知 v2 variant 该做什么,此前没有规定
- #2497 docs(schema): define when session/set_config_option is available in v2 (@benbrandt, 10-26)
- #2492 docs(protocol): clarify v2 session state synchronization (@benbrandt, 10-26)
- #2485 docs(rfd): define per-turn, in-turn, subagent, and cumulative token usage (@EugeneTheDev)——四档 token usage 口径,是 ACP 至今最缺的计费可观测性
- #2482 docs(rfd): report the model of each subagent (@nikita-ashihmin)——与 opencode 的 #59406「Expose subagent parentID in ACP session/list」是同一诉求的两个方向
- #1987 docs (rfd): propose client-set session titles (@lifeizhou-ap) / #986 docs(rfd): session/status — session liveness check (@chazcb)——两份长期挂着的 RFD 本期落地
- 其余 13 个合并 PR 全部是 registry / clients 名单更新与 dependabot 依赖升级(#2477、#2480、#2483、#2484、#2486–#2491、#2493、#2495、#2496、#2502)
社区讨论 / 行业方向:
- Maksim Danilchenko: ACP vs MCP(更新至 2026-10-20): 「ACP 就是 AI coding agent 的 LSP」;官方 registry 截至 2026 年 10 月列出 42 个 agent(Claude Agent、Codex、Gemini CLI、Copilot、Cursor、goose 等),JetBrains IDE 与 Zed 几 clicks 即可安装;Neovim、Emacs、Sublime Text、VS Code 需靠社区插件,因为 VS Code 至今没有原生支持。ACP 的分发路径与 opencode 的 v1/v2 分裂是同一类问题:规范好了,但客户端侧的落地仍不完整。
- C9 Group: ACP vs UCP vs AP2 — Agentic Commerce Protocols in October 2026(2026-10-22): 同名不同物:OpenAI + Stripe 的 Agentic Commerce Protocol、Google + Shopify 的 UCP、Google 交给 FIDO Alliance 的 AP2,与本文关注的 Agent Client Protocol 毫无关系,但媒体与社区搜索里被反复混淆。一个协议名被占用两条赛道,长期会持续产生「ACP 到底指什么」的检索噪声。
- ACP Discussions #42 Model selection(13 条回复): 「用 Gemini CLI + ACP 在 Zed 里很酷,但没法看到、也没法切换当前用哪个模型」——本期 #2482「报告每个 subagent 的模型」正是这条老讨论的延伸。
- ACP Discussions #46 Streamable HTTP transport for remote agents(6 条回复): 希望能填 URL + api-key 直接接远程 agent。ACP 目前仍以 stdio 为主,远程 agent 是最大缺口。
- ACP Discussions #49 Standardize on AGENTS.md on .agentignore Format Support / #48 Add
_metaproperty to the main entities: 社区希望对齐 AGENTS.md / .agentignore 与 MCP 的_meta扩展位。 - aiagentswatch / open-source-tools 等目录站: ACP 被列入「AI Agent Protocol」并列对比 MCP / A2A / WebMCP。
信号观察:
- 本期 22 个合并 PR、0 个新 issue、0 个新讨论——规范仓库的社区热度完全体现在 schema 与 RFD 上,而不是讨论区;open issues 从 37 降到 32。
- v2 的动作全部是收紧与定义边界(null request ID 禁止、elicitation scope 唯一、类型判别符、未知 variant 的接收行为、
set_config_option的可用时机、session 状态同步语义),没有新增能力——v2 正在从「能跑通」转向「能互操作」。 - 两份 RFD 都指向可观测性(token usage 四档口径、subagent 模型),这是 ACP 相对 MCP 的一次补位:MCP 管工具,ACP 开始管 agent 自身的运行开销与编排结构。
- 全部 v2 变更仍在
unstable-v2/ alpha 线,最新稳定 schema 停在 2026-10-16 的 v1.26.0,距上次 schema 发布已 11 天。
yxc023/yxc023.github.io
本调研报告的发布载体(个人博客仓库)| stars: 1 | open issues: 27 | 默认分支: master | 最近 push: 2026-10-26T00:37:07Z | 主页: 无
近 N 周 release 重点:
- 无 release。本期为自动同步提交:
55fa29f auto(reports): 同步 daily-research 2026-10-26(杨晓辰(小德) & 再探再报,2026-10-26T00:37Z)。 - 无新 issue、无新 PR。
社区讨论 / 行业方向:
- 无公开讨论(issues 均为仓库自身遗留项)。
- 窗口期内未检索到相关公开讨论。
信号观察:
- 该仓库的唯一变化即本调研流水线的自动同步,说明上一期报告的部署链路(sync → commit → push → build → deploy)在本期开始时处于可用状态。
跨项目观察
-
「不可信输入」正在从各家零散 bug 上升为一个共同的架构假设变更。 pi 在一个 commit 里同时收掉 OAuth URL 协议、终端控制字符、
contentIndex越界、auth 文件权限、__proto__污染五类问题,用户侧同期报出.pi/settings.json指向/dev/zero挂死、session JSONL 0644、疑似恶意 npm 包三条同族 issue;opencode 则在校验 Bun zip 与 ripgrep 的 SHA-256、让发布在 catalog 校验失败时直接失败、并收到 Sigstore attestation 的要求。两家在同一天做的都不是「加一个检查」,而是把「外部输入默认不可信」写进了各自的构建与运行边界。 -
供应链可信性第一次成为开源 agent 项目的独立议题,而不是发布工程的副产品。 背景是 OpenCode 10 月中旬的 API key 泄露事件(约 1.4% Console 用户、已产生真实扣费);应对是哈希校验、发布即失败、要求签名证明三件套;同期 pi 升级 undici 跨过三条 advisory 区间,hindsight 把依赖升级与运行时修复交替推进。「agent 会自动执行下载来的二进制」这个 agent 时代特有的攻击面,正在被各仓库独立发现并各自加固——还没有形成跨项目的共同标准或工具。
-
免费额度的话题没有消失,而是换了性质:从计费机制争议变成版本与分发争议。 opencode 的额度类 issue 占比从 59% 降到 19.5%,维护者用 #59387 把它们收敛成一个汇总帖,并明确「v1 不再支持免费模型」;文档侧的事实是免费模型只能从 OpenCode 内部使用、Beam Free 限时且按地区封禁、额度以月度美元定义且只有 5 小时 / 周 / 月三档(没有用户期待的「每日重置」)。这意味着大量重复 issue 的根因既不在配额计算,也不在客服流程,而在「用户装的还是旧版」和「用户按错误的心智模型理解重置周期」。
-
抽象继续下沉,但两家方向相反。 pi 把 durable 与 chord 的边界重新划了一遍:watch API 统一到 Chord、retirement 从「结束」降级为「标志」、document watch 跟随地址而非实例、新增 deferred commit 与同步 observer、整包以 Breaking Changes 发布;opencode 反向收紧对外边界——#59183 用显式 public API 取代
"./*"通配导出(约 220 个源文件曾是公开子路径),#59175 让 provider option 键从 settings schema 派生而非四份手写清单。一个是让内部机制统一到可被外部观察,一个是让对外接口不再泄露内部机制——共同点是「同一份语义只应有一个来源」。 -
多 provider 架构的欠债仍在被逐项偿还,且都由同一批人承担。 opencode 侧本期补回
cache.ttl(此前只有 provider 默认 5 分钟,OpenAI 的 30m / 12h / 24h 根本够不着)、typed Bedrock Converse options、LLM.loop、raw provider events、显式 public API、Kimi tool arguments 修正;pi 侧补回 GPT-6.1 Terra、修正 Kimi K3 系列错误使用 K2 请求设置(reasoning_effort、更早返回 reasoning、mid-conversation 加 tools、Moonshot 计费口径)。每一个 provider 的一个参数错位,都是一次「模型输出莫名其妙不对」的用户事故——这层债没有一次性还清的可能,只能逐个 provider 补。 -
模型发布节奏已经直接决定 agent 框架的发布节奏。 GPT-6.1 Terra 在同一天进入 pi(
363ad78,三个 provider、官方定价、effort: "none"支持、Codex 侧 500K context)与 opencode(ChatGPT 登录模型 + catalog 的 image / decision 端点)。同期 opencode 的 npm latest 与 GitHub Release 却连续 4 天未动——模型在动,框架的发版闸门在收紧,两件事在同一个仓库里相撞。 -
协作形态的分化在六个仓库里同时可见,且各自稳定。 ACP 靠一位维护者(benbrandt)与三个 bot 完成 22 个 PR 的规范推进,零 issue、零讨论;pi-web 连续 7 天零提交、外部 PR 与 issue 累计零回复,而 npm 上同类实现的总下载量已数倍于其 star 数;opencode 的贡献高度集中在 rekram1-node(本期 AI 层改动几乎全部出自其手)与 kitlangton(app 层),外部贡献(供应链校验、ripgrep 哈希、Sigstore 要求)以 issue 形式进入;hindsight 连续两期由 nicoloboschi 与 cdbartholomew 两人承担几乎全部修复。「人少但事定」与「人多但无人接」在同一周里各有一个标本。
-
一个品类的边界在本周被第三方划出来了:agent memory。 Hindsight 1.0 GA 承诺 API 稳定、Memlake 用 Rust 把记忆放进对象存储并宣称 1 亿条记忆 p99 < 100 ms,同周 Tencent 开源 TencentDB Agent Memory(本地 SQLite + 语义金字塔路线);墨天轮由此判断「agent memory 独立数据库品类成型」。但性能口径仍不可信:LongMemEval 榜单上 Hindsight 与 Mem0 的差距在小数点后一位,且第三方统计页明确标注这些是自报值、无人复现。
元信息
- 报告生成时间: 2026-10-27T00:30:00Z
- 基准时间: 2026-09-08T09:23:29Z(按 spec 读取自上次报告
reports/latest.md的基准时间:字段,自 2026-09-08 起连续 16 期未变) - 扫描窗口: 2026-09-08T09:23:29Z → 2026-10-27T00:30:00Z(约 48.6 天);本期新增内容全部落在 2026-10-26T00:30:00Z 之后的约 24 小时
- 数据源: GitHub API(gh CLI)+ mmx web search + 官方站点抓取(pi.dev/changelog、hindsight 官网 changelog、opencode.ai/docs/go 与 /docs/zen、npm registry)
- API rate limit 剩余: 4927 / 5000(core,抓取完成后查询)
- 抓取结果: 6 / 6 仓库 × 4 endpoint 全部成功(opencode 的 Discussions endpoint 返回 410「Discussions are disabled for this repo」,已跳过);本期增量统计口径为
since=2026-10-26T00:30:00Z的 commits 列表,以及 GitHub search 的created:>2026-10-26T00:30:00Z/merged:>2026-10-26T00:30:00Z检索(opencode:50+ commit(commits endpoint 单页上限 50,实际合并 PR 82)、82 合并 PR、164 新 issue、177 新 PR;pi:9 commit(含 1 条 10-24 的 straggler)、4 合并 PR、30 新 issue、11 新 PR;pi-web:0 commit、0 合并 PR、2 新 issue、3 个外部 PR;hindsight:10 commit、10 合并 PR、18 新 issue、11 新 PR;ACP:22 commit、22 合并 PR、0 新 issue、21 新 PR;blog:1 commit);opencode 的 release notes 取自 GitHub Release v1.19.4、npm@opencode/clilatest 2.1.4(2026-10-23)与 dev 分支CHANGELOG.md(V2 线 v2.1.4),两条发布线并存;pi 的 release notes 取自 GitHub Release v1.4.0、npm@earendil-works/pi-coding-agent1.4.0 与packages/{coding-agent,durable,chord,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/下本期落地的两份新提案
评论