2026 2026年10月4日 29 min · 8.1k chars by yxc023
GitHub 调研周报 2026-10-04
扫描窗口:2026-09-08T09:23:29Z → 2026-10-04T00:30:48Z(约 25.6 天)| 基准来源:上次报告 2026-10-02
2026-10-04 GitHub 调研周报
扫描窗口:2026-09-08T09:23:29Z → 2026-10-04T00:30:48Z(约 25.6 天)| 基准来源:上次报告 2026-10-02
仓库范围:
config/repos.yaml中 6 个项目。窗口期最大事件仍在上份报告已经覆盖的 Pi 1.0 stable 与 ACP v1.10 + schema-v2 alpha.7;本期新增核心信号是 earendil-works/pi v1.0.1 收尾(2026-10-03,Nix flake / 项目级 MCP 覆盖 / MCP OAuth CIMD / Anthropic 中段 inline tool 重定义 保 cache)、agegr/pi-web v0.10.0 上 pi 1.0(2026-10-02,Settings › MCP 全面接管 + 升级到 pi 1.0),以及 ACP v2 在 session/prompt 后用state_update上报错误(PR #2281,Ben Brandt, 2026-10-02)+ hindsight 跨实例整库迁移(PR #1953,2026-10-03)补齐 “agent runtime 持久化” 最后一公里。
本期速览
- earendil-works/pi:v1.0.1(2026-10-03)—— 4 项新功能(Nix flake
nix run github:earendil-works/pi/stable、oauth.clientRegistration: "cimd"(Client ID Metadata Documents)、pi.registerToolRenderer()给未注册的 MCP tool 也能渲染、Cloudflare Clef / Clef-Flash 分类器进 codemode);项目级 MCP 覆盖:.pi/mcp.json不带command/url的条目只覆盖enabled/exposure/toolExposure,/mcp可在当前项目一键开关;**Anthropic mid-conversation tool 改为 inline 定义**——同一名字重定义保留 prompt cache 而不重发整张工具表**;**pi update推荐从 npm 全局迁移到 managed installer(npm shrinkwrap 移除)**;**Codemode 脚本输出加 16 Mi 字符 / 100000 item 上限**(#10283),防止 print 循环 OOM host;brace-expansion` 钉到 5.0.12(GHSA-q2hr-2g5m-vwhr 等 3 个 CVE,#10288);Kitten / WezTerm / Ghostty / Warp 的非 PNG 图片正常显示(#10292)。 - agegr/pi-web:v0.10.0(2026-10-02)—— 本期最大 release:把 pi 1.0 的 MCP 与 codemode 全部上 web 端。Settings › MCP 全面接管(粘贴 install 命令 / JSON / OAuth 一条龙,工具暴露方式选 codemode / tool-search / direct / hidden,test / OAuth 登录退出 / 开关 / 删除可撤销);codemode 在 settings 里独立控制(Auto / Always on、是否接管内置工具、tool list budget);只读会话拦截未标 readOnlyHint 的 MCP 工具;信任对话框列出
.pi/mcp.json服务器与它们会运行的命令;运行中可 fork 会话、调整 reasoning level;侧边栏可在系统文件管理器中打开工作区;默认 cwd 按本地日期~/pi-cwd/YYYYMMDD;/mcp命令直接打开 Settings › MCP。 - agentclientprotocol/agent-client-protocol:PR #2281(Ben Brandt, 2026-10-02,merge)—— v2 的
session/prompt在消息被插入会话后立即响应,错误无法再走 prompt 响应回报;补一个 idlestate_update+stopReason: "error"+ 可选 JSON-RPCerror字段承载”前台失败”语义;StopReason改成 tagged union bystopReason并 flatten 进 idle update,v1↔v2 桥接无损。PR #2276 v2 migration guide 增加 terminal auth methods 段;window 内共 7 次update registry agents自动 bot commit(agent 生态继续扩张)。 - vectorize-io/hindsight:PR #1953(Nicolò Boschi, 2026-10-03,merge)—— whole-bank export / import 落地:源实例
hindsight-admin export-bank --bank my-bank --output my-bank.zip [--include-history]、目标实例hindsight-admin import-bank --archive my-bank.zip;archive 装 docs / facts / observations / bank config / mental models / directives / webhooks,永不打包 embedding(目标端用新模型重 embed),不触发 webhooks / 不重跑 consolidation(迁移 = 还原,不是再生);BACKUP_TABLES分类为 logical / carried / history / skipped,未来新增表必须归类才能过 CI。配合 v0.10.2 的 bank alias + rename + clone,Hindsight 完成 “bank 是可搬移、可重建、可演进对象” 的完整闭环。PR #5129 给 metrics 加 opt-inmemories_backendlabel;PR #5091 批量导入文档并在 import-bank 崩溃时干净重试。 - anomalyco/opencode:窗口内无 release(最近 v1.18.34 已在上份报告覆盖);v2 stack 收尾:#47144 / #47147 / #47148 / #47150 / #47152 全部合并(plugin panel slots 渲染 diffs,PR #47152 by @jlongster 是最后一块);PR #47107 by @everest-an 新增
task-parallel工具:primary agent 把 2–5 个独立子任务并发 fan out 到独立 subagent session,wall-clock ≈ 最慢那个;PR #44535(@internetisalie)修了 phantomunknowntool parts(~21% 的 tool-part event 是 opencode 自己造的”假”事件,#33618);PR #47130 skill 发现改用 depth-1 glob 并保留 n deps;PR #50101 等 provider 调度重试窗口;Console 继续收尾 S3 数据湖下线 + canonical redirects(#52525/#52514/#72515)。 - earendil-works/pi 其他重要 commits:#9776
samplingParamsByThinkingLevel(@mrexodia,2026-10-03 merge)—— 同一模型不同 thinking level 可各配 temperature / top_p / top_k / min_p / presence_penalty / repetition_penalty,cherry-pick 了 #9505 并修了 responses stream 的同类问题;70eceaafix(durable): persist provider session identities(Mario Zechner, 2026-10-03)—— pi-durable 现在把 provider 的 session id 持久化下来,重启后还能续聊;49b9df4 把默认 NVIDIA 模型从已下架的nvidia/nemotron-3-super-120b-a12b改到 Nemotron 3 Ultra。 - yxc023/yxc023.github.io:
8bf065bauto(reports): 同步 daily-research 2026-10-02(@yxc023,2026-10-02)—— 自动化同步流程正常。 - 跨项目共有信号:① “v1 stable / v2 alpha” 双轨已落定——pi 是 v1 真 stable,ACP 是 v1 stable + v2 alpha;本期 pi 在 v1.0.1 上收尾(修安全 CVE + 加 project-level MCP 覆盖 + 修 OOM),ACP 在 v2 alpha 上把 subagent + error stop reason + terminal auth 一起收口;② “agent runtime 持久化” 三方各自到岸:hindsight 的 whole-bank export/import 允许 bank 跨实例跨 embedding 模型迁移(不只是迁移数据,而是迁移心智 + 配置),pi-durable 把 provider session identities 持久化(续聊能力),opencode 给 model 请求附 namespaced session identity headers(#52370)+ S2 数据湖下线(langfuse-style 自有 stats 完成收口);③ MCP 在所有项目完成”工具暴露策略”统一抽象:pi v1.0.1 项目级 enable / exposure / toolExposure 三件套 + pi-web v0.10.0 把同样的暴露方式变成 UI;④ “工具定义 inline” 成为 cache 优化的关键:pi v1.0.1 把 Anthropic 中段新增 / 重定义的 tool 改为 inline 定义,重定义同名 tool 仍能命中 prompt cache——这是 v1.0 之后第一个针对生产 cache 命中率的非功能优化;⑤ “协议级停止原因” 收口:ACP v2 把
errorstop reason 提到 schema 一等公民(PR #2281),与 pi 的emergencyTerminalExit(PR #10443,2026-10-04)形成”任意一边都能用统一语义说失败”。
各仓库详情
earendil-works/pi
AI agent 工具集:统一 LLM API、agent loop、TUI、coding agent CLI;MIT 许可,月活”数十万”级(Earendil 自述)。| stars: 112,156 | open issues: 265 | 默认分支:
main| 最近 push: 2026-10-03 | 主页: https://earendil.com
近 N 周 release 重点:
-
v1.0.1(2026-10-03)— v1.0 第一个稳定补丁,4 新功能 + 1 行为变化 + 13+ 修复
- Nix flake:
nix run github:earendil-works/pi/stable跑最新版,nix profile add github:earendil-works/pi/stable安装(#9137 by @mitsuhiko)。 - 项目级 MCP 覆盖:
.pi/mcp.json中不带command/url的条目只覆盖 user-level server 的enabled/exposure/toolExposure,/mcp可在当前项目一键开关(#10277)。 oauth.clientRegistration: "cimd":MCP 授权服务器可按 Client ID Metadata Document URL(pi.dev)放行 pi,替代每个 AS 都走 dynamic registration(#10302)。pi.registerToolRenderer():可以为任何 tool 选择 renderer,包括未注册的工具(如 resumed session 中的 MCP 工具),HTML export 不再等 MCP server 连接(#10285)。- Cloudflare Clef / Clef Flash 分类器加入
cloudflare-workers-ai,codemode 脚本和 extensions 可调用(#10316 by @ndisidore, #10322 by @RealAlexandreAI)。 pi update(npm 全局安装)现在推荐迁移到 pi.dev managed installer——managed 安装钉住所有依赖,npm shrinkwrap 移除(581e)。- Anthropic 中段工具改为 inline 定义:会话中新增 / 重定义 tool 时不再追加到完整工具表,同名重定义保留 prompt cache 不重发整张(b271b0a)。
- 修复:codemode print 循环加 16 Mi 字符 / 100 000 item 上限(#10283);
brace-expansion钉到 5.0.12 修复 GHSA-q2hr-2g5m-vwhr / GHSA-qhr7-859c-m2p7 / GHSA-6j4f-fj2g-mc7p(#10288);Kitten / Ghostty / WezTerm / Warp 的非 PNG 图片正常显示(#10292);Kitty fullscreen 图片滚屏后不再塌成单行(#10319);“Selected model is at capacity” 改重试而非结束 turn(#10278);Cloudflare AI Gateway Claude 改用 dashed model id(claude-opus-5-5而非claude-opus-5.5);Sign in with ChatGPT 回调端口被占时直接报端口占用错误而非 “OAuth state mismatch”(#10265);Bedrock OpenAI > 272k 输入 token 走 long-context pricing(#10326);Bedrock Claude 在 system prompt / tools 变更后丢 thinking block 的问题修了(#10324);Together DeepSeek V4 Pro 模型 ID 更新(#10336 by @cv);默认 NVIDIA 模型改到 Nemotron 3 Ultra(49b9df4);--models尾随逗号不增加额外模型(#10334);OAuth 登录页加app.message.copy(ctrl+x)复制 URL(ced72c2);恢复 3D pi logo + 3D Armin easter egg(c450f2c)。 - 完整 release notes: https://github.com/earendil-works/pi/releases/tag/v1.0.1
- Nix flake:
-
v1.0.0(2026-10-01)— stable 主版本,已在上份报告详述:fullscreen 默认、codemode 缩减 ~40% prompt token、
models.generateImages()进 codemode、/login集成 Radius 与 Anthropic copy-code、MCP OAuth 加 RFC 9207iss校验 + per-server 凭据 + step-up 保留 granted scopes、quietStartup: "header"、durable 实验线(async SQLite、pi-durable端口、vacation planner demo)。- 完整 release notes: https://github.com/earendil-works/pi/releases/tag/v1.0.0
(如不再读 v1.0.0 / v0.99.x,请翻 reports/2026-10-02.md)
其他重要 commits / PRs(按重要性挑选 8 条):
- #9776
feat(ai): add per-thinking-level sampling parameters(@mrexodia, 2026-10-03 merge) —samplingParamsByThinkingLevel把同一模型不同 thinking 级别的采样参数解耦(thinking 模式temperature=1.0 / top_p=0.95 / top_k=20、instruct 模式temperature=0.7 / top_p=0.80 / top_k=20 / presence_penalty=1.5),并 cherry-pick #9505 修了 OpenAI responses stream 同类 bug。 70eceaafix(durable): persist provider session identities(Mario Zechner, 2026-10-03) — pi-durable 把 provider 返回的 session id 持久化,重启 / 重连后能继续续聊。- #9137
feat(coding-agent): add Nix flake(@mitsuhiko, 2026-10-02 merge) — Nix 包,stableref 始终指向最新 release。 - #10302
feat(coding-agent): opt-in MCP OAuth client ID metadata documents(Armin Ronacher, 2026-10-02) —oauth.clientRegistration: "cimd"。 - #10277
feat(coding-agent): allow project mcp.json to override enabled and exposure of user-level servers(Armin Ronacher, 2026-10-02) — 项目级 MCP 覆盖。 - #10283
fix(codemode): cap script output so print loops cannot exhaust host memory(Armin Ronacher, 2026-10-02) — 16 Mi 字符 / 100000 item 上限。 - #10288
fix(coding-agent): pin brace-expansion 5.0.12(Armin Ronacher, 2026-10-02) — 修 3 个 transitive 依赖 CVE。 - #10285
fix(coding-agent): render MCP tool calls before their server connects(Armin Ronacher, 2026-10-03) — MCP server 还没连上时 MCP tool 调用也能渲染(resume session + HTML export 不再无限展开)。 - #10443
fix(coding-agent): route stdin dead-terminal errors to emergencyTerminalExit(@zichen0116, 2026-10-04) — 与 ACP v2 的stopReason: "error"形成”两边都能用统一语义说失败”的对称。
社区讨论 / 行业方向:
- Pi 1.0 Ships Minimal, Pi Durable Ships Everything Else — Clauday(2026-10-02):Pi 1.0 当日 HN 451 points;“Pi already has hundreds of thousands of weekly users, and the team’s rule is to adopt something only after it has proven itself elsewhere. The list of things they tried and dropped is longer than the list they kept.”
- Earendil ships Pi 1.0 agent harness plus Pi Durable — PithWire(2026-10-02):Harness Codemode with native MCP support + image models + Jev;新增 full-screen TUI theme;Pi Durable 目标是 long-running, steerable agents,与 Pi coding agent 并行而非替代。
- Pi 1.0 — Earendil blog(2026-10-01):官方公告;明确 “Pi must become more durable”,所以把 durable 拆成单独的 experimental package 而不污染 pi coding agent 的 minimal root;MIT licensed。
- Pi Durable — Earendil blog(2026-10-01):harness = storage + 跑多个并行 LLM 会话的 machinery;整个 framework 不含 test 约 15 000 行(GPT ~150k token / Claude ~250k token),agent 真的能读完;storage backends 自带 memory / SQLite / JSONL + 一套 conformance suite,Bun 与 Cloudflare Durable Object 上跑只需要”小适配”。
- Pi Coding Agent — pi.dev:codemode 现在支持
list_mcp_servers()/list_tools({ namespace })/search_tools({ query })三件套——MCP 的工具列表分页和搜索已经稳定下来。 - Discussions 中 Pi Hooks for Checkpointing and LSP(General, 8 评论)、Custom compaction/context compression logic(General, 1 评论)、Thoughts on implementing “cross sessions” tools?(General, 3 评论)—— 社区关注点是”checkpoint / 跨会话工具 / 自定义压缩”三大主题,与 Pi Durable 的方向高度对齐。
信号观察:
- v1.0.1 的所有 focus 项都偏 post-stable hardening:安全 CVE 修复(brace-expansion)、内存 OOM 防护(codemode 输出上限)、cache 命中率优化(Anthropic 中段 tool inline)、安装器去 npm shrinkwrap 改 managed——这是”v1 stable 之后一周”的典型 pattern:核心功能不动,把生产陷阱填上。
- pi-durable 在 v1.0.1 同步合入了
fix(durable): persist provider session identities——durability 已经从”实验包发布”走到”自己过实践”的阶段,未来一段时间 pi-durable 的 commit 会更密集。 per-thinking-level sampling parameters(#9776)把 open-weight 模型(Qwen3.8-27B / DeepSeek 等)推荐的不同 thinking / non-thinking 采样参数做成 first-class 模型属性——采样参数从”provider / 模型硬编码”变成”模型元数据可声明”,这是 models.dev 之后第二个让 open-weight 模型配置可声明的 key。pi update推荐迁移 managed installer 是 v1 stable 之后第一个主动推弃用路径的变更——Earendil 用 pi.dev managed installer 替代 npm 全局安装是把安装边界、依赖钉版、签名 / 公证链条收回到自己的可控范围。
agegr/pi-web
pi coding agent 的 web UI;npm:
@agegr/pi-web,与 pi 同步迭代。| stars: 7,044 | open issues: 69 | 默认分支:main| 最近 push: 2026-10-02 | 主页: (无)
近 N 周 release 重点:
-
v0.10.0(2026-10-02)— 把 MCP 与 codemode 全部搬上 web 端,并升级到 pi 1.0
- MCP 服务器集中在 Settings › MCP:粘贴 install 命令或 JSON 配置即可添加;test 连接;OAuth 登录 / 退出;开关;删除(可撤销);每个 server 可选工具暴露方式——Code mode / tool search / direct / hidden。
- Code mode 在 settings 里独立配置:Auto 或 Always on、是否接管内置工具、tool list 预算;聊天中 codemode 调用显示为脚本 + 它发起的 tool calls(#907 / #946 / #968 review follow-ups)。
- 项目信任对话框列出
.pi/mcp.json中所有 server 及它们将运行的命令;新增文件夹可以在添加 server 时一并信任。 - 只读会话更安全:未标 readOnlyHint 的 MCP 工具在只读 preset 下被拦截。
- 升级到 pi 1.0(同步合入 pi 主线行为):
- MCP 服务器不再拖慢首条消息,只有暴露为 “direct” 工具的 server 会阻塞。
- MCP 登录按 server 单独保存,同 URL 不同 server 可用不同账号;老登录自动迁移。
- codemode 提示词 ~40% 缩减、脚本可
models.generateImages()生成图片。 - Anthropic 登录新增 “复制代码” 方式,浏览器不在同一台机器时可用。
mcp.json支持description/oauth.clientName/oauth.authServerMetadataUrl/auth.provider。
- 运行中可 fork 会话、调整 reasoning level(#1010);发送键可选 Enter 或 Ctrl+Enter;输入框 Markdown 列表自动续行(#946)。
/mcp命令直接打开 Settings › MCP。- Skills / Plugins 一键 enable all / disable all。
- 文件夹选择器可新建文件夹;侧边栏可在系统文件管理器中打开工作区;默认 cwd 按本地日期
~/pi-cwd/YYYYMMDD。 - 修复:Safari / iOS 16.2 支持;手机上输入框不再被键盘挡住;Stop 能结束被 orphan child process 占住输出的 bash;自动压缩显示”正在压缩”而非”等待模型”;子代理结果、断线重连、草稿、扩展对话框、工作树删除、Markdown 渲染多处修复。
- 升级注意:旧
codemode-deferred(“代码模式,按搜索查找”)现在按 plain Code mode 处理,行为不变;项目.pi/mcp.json使用auth的条目被拒(必须写到全局mcp.json);server 名只差-/_的,后一个会被跳过。 - npm:
@agegr/pi-web@0.10.0 - 完整 release notes: https://github.com/agegr/pi-web/releases/tag/v0.10.0
-
v0.9.3(2026-09-23)— 已在上份报告之前;窗口期内属于”小修小补”。
其他重要 commits / PRs(按重要性挑选 8 条):
- #722
ci: add checks and isolated session history E2E(@agegr, 2026-10-01 merge) — 把 session history E2E 拉到独立 CI runner。 - #948
chore(deps): trim the production install and bump next, semver, undici(@agegr, 2026-10-01 merge) — 精简生产依赖,next / semver / undici 升版。 - #934
feat(subagents): switch individual built-in sub-agents off (#874)(@agegr, 2026-10-01 merge) — 单独关闭某个 built-in sub-agent。 - #930
feat(models): enabledModels switches in Settings → Models, as minimal edits(@agegr, 2026-10-01 merge) — 模型启用用开关而非列表删除。 - #955
feat(subagents): scope skill and extension loading by profile(@acniray, 2026-10-01 merge) — subagent profile 可单独 scope skill / extension,append / replace prompt mode 都生效。 - #1011
fix(chat): collapse process details once a turn's answer appears(@agegr, 2026-10-01 merge) — turn 出答案后自动收起过程详情。 - #1008
fix(chat): report compaction instead of "waiting for model" during auto-compaction(@agegr, 2026-10-01 merge) — 与 pi v1.0.0 “quietStartup” 同步:“compacting” 而不是 “waiting for model”。 - #951
feat: open and reveal paths in the OS file manager(@planb788, 2026-10-03 merge) — 侧边栏 / 设置中可在系统文件管理器打开 / 揭示路径。
社区讨论 / 行业方向:
- Show and tell: 在 pi-web 中查看模型余额和配额(Show and tell, 1 评论)——
Pi Usageextension 思路,与 pi-web 同期”Settings 化”的方向一致。 - Show and tell: pi-web-statusline(Show and tell, 0 评论)—— 单行 statusline,类似 zedi 的 tui status line。
- General: Subagent 插件,主 agent 容易不调用 get_result 工具(General, 0 评论)—— 社区指出 subagent 长期 loop 风险,呼应 pi 主线 #10443 与 ACP v2 #2281 的”error 终止语义”工作。
- Ideas: 会话结束后加个浏览器的通知吧(Ideas, 0 评论)—— web 端独特诉求:通知要走浏览器 Notification API 而非 OS。
信号观察:
- v0.10.0 的核心改动是把 MCP + codemode 的所有 pi 主线能力搬上 web 端,是 pi-web 第一次完全跟上 pi 主线——之前 web 端是”只读 + subagent + chat”的子集;从此 web 端与 TUI 端的能力是对等的。
- “Settings › MCP” UI 把所有 MCP 暴露方式做成可视化选项——codemode / tool-search / direct / hidden 四档——这是 pi 主线 “tools schema + exposure hint” 在产品层的最终落地。
- “运行中 fork 会话 + 调整 reasoning level”——web 端给非终端用户会话可重塑的能力(不停下 turn 就能切 reasoning level),是 TUI 做不到的 UX。
- 把 session history E2E 拉到独立 CI runner(#722)是 web 项目第一个测试基础设施硬化动作。
anomalyco/opencode
开源 AI 编程 agent(CLI / TUI / Desktop / Web 四种形态,model-agnostic,75+ provider);OpenCode Zen 模型市场 + Console 订阅。| stars: 211,634 | open issues: 6,269 | 默认分支:
dev| 最近 push: 2026-10-03 | 主页: https://opencode.ai
近 N 周 release 重点:
- 窗口期内无新 release(最近 v1.18.34 在 2026-09-30,已在上份报告覆盖)。
其他重要 commits / PRs(按重要性挑选 8 条):
- #47152
feat(tui): render diffs in plugin panel slots(@jlongster, 2026-10-03) — v2 plugin panel slots 系列(#47144 / #47147 / #47148 / #47150)的最后一块;append diff plugin 到session.panel,仅在panel.name === "diff"时渲染;保持 review state / scroll position / loaded data 在 docked / full-screen 切换时不丢。 - #47107
feat(opencode): add task-parallel tool to fan out independent subtasks concurrently(@everest-an, 2026-10-03) —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-10-03, closes #33618) — 修了 ~21% 的 phantom “unknown” tool-part event(laradji 的 measurement:0 orphans、每个 unknown 都配对 completed on same callID)。 - #50101
fix(core): wait out provider-scheduled quota retry windows(@sghng, 2026-10-03) — provider 自己说要等一会才能重试时,opencode 不再立即重试。 - #47125
fix(core): include provider wait in token throughput timing(@opencode-agent[bot], 2026-10-03) — throughput timing 包含 provider wait,让 token/s 指标更真实。 - #47118
fix(opencode): log worker crashes instead of swallowing them(@maxmad64bis, 2026-10-03) — worker 崩溃不再静默吞掉。 - #47130
fix(skill): graceful skill discovery + depth-1 glob patterns; preserve deps(@haitaur-htr, 2026-10-03) — skill 发现用 depth-1 glob,n deps 保留。 - #53041
feat(app): load custom themes from URL(@IsaVonxz-type, 2026-10-04) — 自定义主题可从 URL 加载(社区贡献)。 - #52515 / #52514 / #52572
chore(stats): retire legacy s3 lake+chore(stats): remove s3 lake ingestion(Adam, 2026-10-01 / 2026-10-02) — Stats 数据从自有 S3 data lake 切到自有 API + canonical redirects + agent-readable data formats(#52525/#a79ecfe);这是 opencode stats 第一次不再依赖第三方对象存储——langfuse / clickhouse-style 自托管统计体系完整收口。
社区讨论 / 行业方向:
- Discussions 仍 disable(HTTP 410),延续上份报告观察。
- OpenCode Agent Team —— 社区扩展:production-ready plan-first hierarchy,2 primary + 13 subagents。
- Open Code Parallel Agents —— 与 PR #47107 同方向的社区封装。
- OpenCode Hits 160K Stars: The Open-Source AI Coding Agent Taking Over 2026 —— 第三方回顾:opencode 跨过 160K stars 阈值(项目现状 211K,2026-09 期间 +50K 已是常态)。
- How OpenCode’s Parallel Subagent Architecture Outperforms Sequential AI Coding —— 社区围绕 task-parallel 模式的分析(与 PR #47107 一脉相承)。
信号观察:
- v2 plugin panel 体系完整合并:#47144 / #47147 / #47148 / #47150 / #47152 五块全部合入,下一个 dev 周期就是 v2 本身的开 release 准备。
task-parallel是 opencode 第一次把”fan out + join”做成一等公民工具——与 ACP v2 subagent RFD、pi v1.0.1 的 subagent schema 形成跨项目”subagent 原语”统一:3 个项目都在用不同方式描述”一个主 agent 可以并发跑多个子任务”。- Phantom
unknowntool parts 是 opencode 自己造的”假”事件(不是模型输出),21% 的 tool-part event 受影响——这是 v1.18.x 之后最影响”会话可信度”的 bug 之一,#33618 在社区盯了相当长时间才在 #44535 合上。 - S3 data lake 下线意味着 opencode 不再依赖第三方对象存储做统计——自己(Adam)把数据、schema、canonical redirects、sitemap 收口,是 Console 团队第一次完成自有 telemetry 基建。
vectorize-io/hindsight
Agent memory that learns——为 LLM agent 提供长期记忆;benchmarks 上 LoComo 92%、LongMemEval-S 94.6%。| stars: 45,106 | open issues: 305 | 默认分支:
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。
其他重要 commits / PRs(按重要性挑选 5 条):
- #1953
feat(transfer): whole-bank export/import for cross-instance migration (#1884)(@nicoloboschi, 2026-10-03 merge) — 跨实例整库迁移:- 源端:
uv run hindsight-admin export-bank --bank my-bank --output my-bank.zip [--include-history](read-only,不需要 embedding 模型)。 - 目标端:
uv run hindsight-admin import-bank --archive my-bank.zip(用目标实例的 embedding 模型 / vector extension / text-search backend 重 embed)。 - archive 是 documents archive 的超集——documents / facts / observations / bank config (disposition / mission / config) / mental models / directives / webhooks,绝不打包 embedding(目标端重 embed)、不触发 webhooks、不重跑 consolidation(迁移 = 还原,不是再生)。
- Schema-drift guard:
BACKUP_TABLES把每个 bank-scoped 表归类为 logical / carried / history / skipped;test_export_bank_covers_schema在 CI 失败如果未来 migration 加表没分类。
- 源端:
- #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。 - 一系列
chore(deps): bump urllib3(@furthouse,2026-10-02,多个集成仓)—— 8 个集成仓(litellm / langgraph / haystack / google-adk / dify / cursor / crewai / continue / composio / claude-agent-sdk / autogen / aider / agentcore / vapi)集体 bump urllib3 到 fix 版本。
社区讨论 / 行业方向:
- Hindsight blog:What Changes Now That Hindsight Is a Hermes Plugin(2026-10-01, 11 min read Deep Dives)—— Hindsight 从 Hermes core 拆出作为 plugin catalog 中的独立项;用户配置与 memory 不动,唯一改变的是”更新从哪里来”——现在是 Hindsight 团队节奏,而非 Hermes core 节奏。呼应上份报告 PR #4879 的代码层动作。
- Hindsight blog:40,000 Stars, and the Number We Actually Watch(2026-09-28, 4 min read)—— 11 个月跨过 40K stars;“the one number that tells us more than stars do” 指 integration 数量(项目已在主页列 40+ 集成:Claude Code / Codex CLI / DeepAgents / opencode / Kilo CLI / Cursor CLI / GitHub Copilot CLI / LangGraph / Vercel AI SDK / CrewAI / Hermes / OpenClaw / Obsidian 等)。
- Hindsight blog:One Bank, Two Audiences, Two Briefs(2026-09-30, 11 min read Deep Dives)—— v0.10.2 per-scope consolidation 实战:公司层面 trend + 用户层面 detail 各自 mission 合并。
- 5分钟锁住AI智能体记忆:Hindsight备份与恢复实战 — 尧图网络(中文)—— 中文社区基于 PR #1953 的实战指南:跑
repair-bank --all补建银行级部分向量索引(避免恢复后检索变慢)、Docker 重启后 worker ID 漂移导致旧任务无人认领的处理方法。 - Hindsight 0.8.0 升级指南:跨实例 Bank 迁移、全量 LLM 请求追踪与去重合并 — GitCode 博客(中文)—— 旧版本 Hindsight 跨实例迁移指南。
- Discussions:To support Openrouter Provider(Ideas, 2 评论)、Add the support of Azure OpenAI(Ideas, 3 评论)—— 社区持续要求 provider 扩展。
信号观察:
- PR #1953 让 bank 真正成为”可搬移对象”:换 embedding 模型、换 vector extension、换 text-search backend——任何 backend 升级都不用丢记忆;这是 Hindsight 从 “memory backend” 进化到 “memory as artifact” 的关键。
- “迁移 = 还原”是 PR #1953 的核心原则——重 embed(必要的),但不重跑 consolidation、不触发 webhooks——这种”最小变化即迁移”的设计是 agent memory 第一次具备 production-grade data 治理的特征。
- BACKUP_TABLES schema-drift guard 让 Hindsight 第一次用 CI 守数据完整性——和 ACP TCK(#2263)形成”协议 / 产品都用机器可跑测试守护”的同步。
- 中文社区(wmh.cn / GitCode 博客)开始出 Hindsight 运维实战指南——是 Hindsight 在中文圈工程化使用的早期信号。
agentclientprotocol/agent-client-protocol
任何编辑器连接任何 agent 的协议(JSON-RPC over stdio / HTTP / WebSocket);类比 LSP。| stars: 4,365 | open issues: 45 | 默认分支:
main| 最近 push: 2026-10-03 | 主页: https://agentclientprotocol.com
近 N 周 release 重点:
- 窗口期内无新 release(最近 v1.10.2 / schema-v1.24.1 / schema-v2.0.0-alpha.7 都在 2026-09-30 / 2026-10-01,已在上份报告覆盖)。
- v1.10.0 + schema-v1.24.0 + schema-v2.0.0-alpha.7 把 subagent / available_commands / request-scoped MCP 同时写进 unstable schema。
其他重要 commits / PRs(按重要性挑选 5 条):
- #2281
feat(unstable): report failures after prompt insertion with an error stop reason(@benbrandt, 2026-10-02 merge) — 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 child 没有自己的 prompt 响应);v1 的PromptResponse不变。 - #2276
docs: cover terminal auth methods in the v2 migration guide(@benbrandt, 2026-10-02 merge) — v2 migration guide 增加 terminal auth methods 段。 - #1992
feat(unstable): Intial RFD and schema for subagents(@Ololoshechkin, 2026-10-01 merge) — RFD + schema for subagents,已在上份报告覆盖;本期无新内容。 - #2273
fix(rust): remove skipped-entry deserialization logging(@benbrandt, 2026-10-01 merge) — Rust SDK 不再为跳过的列表项打 Serde error 日志。 - 7 次
docs: update registry agents(@acp-release-bot[bot], 2026-09-30 → 2026-10-03)—— 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 标准走的方向。
- Slash command support(Protocol Suggestions, 2 评论)—— slash command 协议化;opencode 的 broadcast 同时是斜杠命令驱动 UI。
- 外部:Bug: sessions_spawn exposes ACP-only fields and breaks runtime=subagent with schema-following models · openclaw/openclaw#56326 —— 社区 agent 实现 ACP subagent 时遇到的 schema-following 模型兼容性问题。
信号观察:
- PR #2281 是 ACP v2 在 “如何报告失败” 这个基础能力上的重要收口——
session/prompt响应早返回后,错误必须用state_update + stopReason: "error"承载;协议必须把”前台失败”和”消息未插入”严格区分开(后者仍走 prompt 响应,error code 例如-32800请求取消)。 StopReason改为 tagged union bystopReason并 flatten 进 idle update 是协议设计哲学变化:从”字段语义分散”走向”语义标签化”,与 v1 的prompt_response单一形态形成鲜明对比。- Subagent Sessions RFD 把 subagent 明确为 agent 内部对象:Client-initiated session mutations 默认禁用,只开放 cancellation——这与 pi 主线
go() / owner / child tasks、opencodetask-parallel形成三方对 subagent 语义的共识:subagent ≠ 父会话的另一个用户。 - Model selection Discussion 13 评论是窗口期内最热的社区主题——ACP 协议层面对 Pi 的 Radius 模型路由是否应该原生支持,社区还在讨论;Radius 已经在 pi v1.0.0 / v1.0.1 实现了应用层的模型路由,但协议层还没有统一约定。
yxc023/yxc023.github.io
个人 GitHub Pages 博客(@yxc023),自动同步 daily-research 报告。| stars: 1 | open issues: 27 | 默认分支:
master| 最近 push: 2026-10-02 | 主页: (无)
近 N 周 release 重点: 窗口期内无 release。
其他重要 commits / PRs:
8bf065bauto(reports): 同步 daily-research 2026-10-02 (@yxc023, 2026-10-02)
社区讨论 / 行业方向: 窗口期内未观察到 Discussions 动态。
信号观察:
- 仓库主要承载 daily-research 报告与
posts/*调研文章。8bf065b与44d48be连续两天的auto(reports):commit 说明自动同步流程正常工作。
跨项目观察
- “v1 stable / v2 alpha” 双轨已落定:earendil-works/pi v1.0.1(v1 真 stable,一周后第一个稳定补丁)与 agent-client-protocol schema-v2.0.0-alpha.7(v2 仍在 alpha)形成对比;pi 的 v1.0.1 修 CVE / OOM / cache 命中率优化是 v1 stable 之后的典型 pattern,ACP 的 v2 alpha 把
StopReason改 tagged union + subagent schema + error stop reason 是协议演进期的典型 pattern——纯产品(pi)可以快速 stable,协议(ACP)必须保持 alpha 以保留调整空间。 - “agent runtime 持久化” 三方各自到岸:hindsight 的 whole-bank export/import(PR #1953)让 bank 跨实例跨 embedding 模型迁移(不打包 embedding、不触发 webhooks、不重跑 consolidation),pi-durable 把 provider session identities 持久化(70eceaa,重启 / 重连可续聊),opencode 给 model 请求附 namespaced session identity headers(#52370)+ S3 数据湖下线(langfuse-style 自有 stats 完成收口)——三方各自把”agent 可挂起 / 可重建 / 可观测”做到生产级。
- MCP 在所有项目完成”工具暴露策略”统一抽象:pi v1.0.1 项目级
enabled/exposure/toolExposure三件套(#10277)+ pi-web v0.10.0 把同样的暴露方式变成 UI(Code mode / tool-search / direct / hidden)+ ACP v1.10.0 unstable schema 给出 MCP-over-ACP request-scoped——MCP 工具暴露策略从”硬编码”变成”每个项目可配”,这是 MCP 生态从”能不能连”走向”怎么连”的关键。 - “工具定义 inline” 成为 cache 优化关键:pi v1.0.1 把 Anthropic 中段新增 / 重定义的 tool 改为 inline 定义(b271b0a),重定义同名 tool 保留 prompt cache 而不重发整张工具表——这是 v1.0 之后第一个针对生产 cache 命中率的非功能优化,与 codemode 40% 缩减 token 一脉相承,都是把”成本结构”做成 first-class 工程问题。
- “协议级停止原因” 收口:ACP v2 用
stopReason: "error"+ 可选error字段(PR #2281),pi 主线用emergencyTerminalExit(PR #10443)——两边都能用统一语义说失败,而且语义在不同项目中是对称的(任意一边都能识别对方的失败)。 - subagent 在三个项目同步进入 schema:ACP v2 unstable 的 subagent
subagent_update(PR #1992 + RFD)、pi-web 的 subagent profile skill/extension scoping(#955)、pi 主线go() / owner / child tasks+ pi-durable 的 durable storage——三方对齐到同一抽象:subagent 是 agent 内部对象,不是父会话的另一个用户;opencode 的task-parallel(#47107)把”fan out + join”做成一等公民工具,是这条线上最新的具体能力。 - codemode 现在是 “chat + classify + generate images” 三 API 的稳定形态(pi v1.0 + v1.0.1):codemode 脚本可生成图像、调用分类器、调用 Jev 做 typed answer,未来 predict / embed 极可能沿用同一形态,codemode 正成为 pi 的”脚本化多模型调用平台”。
- 生态战争焦点从”能不能做”走向”做得便宜”:pi v1.0.1 的 cache 命中率优化、codemode 输出上限 16 Mi、prompt token 减 40%、opencode token throughput 包含 provider wait、hindsight streamed export 大 bank 不 OOM——这些都是”成本真的”工程优化,意味着 v1 runtime 已经把”跑得起”做到位,开始竞争”跑得便宜”。
- Figma MCP allowlist 现象(Clauday 文章):Figma 的 remote MCP server 只接受 allowlist 上的 client,Pi 不在 list 上——“开放协议 + 闭门客户端”是 SaaS MCP 的实际形态,harness 必须要在每个 SaaS 的 allowlist 上有座位才能用其 MCP server,这是 MCP 商业化推进的副作用。
- Docusaurus / SPA 抓取的实践问题:hindsight blog(“What Changes Now That Hindsight Is a Hermes Plugin”)用 Docusaurus SPA 提供,curl 抓回的是 0.6KB 空壳 + 600KB JS shell,肉眼读不到正文——现代文档站越来越不 friendly to curl,是 agent 抓取实践要面对的新边界。
元信息
- 报告生成时间: 2026-10-04T08:30:48+08:00
- 基准时间: 2026-09-08T09:23:29Z(按 spec 读取自上次报告
reports/latest.md的基准时间:字段) - 扫描窗口: 2026-09-08T09:23:29Z → 2026-10-04T00:30:48Z(约 25.6 天)
- 数据源: GitHub API(
ghCLI 认证,6 仓库 × 5 endpoint = 30 次 API 调用;opencode 的discussionsendpoint 返回 HTTP 410 “Discussions are disabled for this repo”),mmx web search(8 次 query:pi / pi-durable / opencode / hindsight / ACP / stats 等主题)+ 官方文档直抓(earendil.com Pi 1.0 / Pi Durable blog,ACP subagent RFD,hindsight blog index,clauday.com) - API rate limit 剩余: 5000
评论