2026 2026年11月2日 22 min · 6.3k chars by yxc023
GitHub 调研周报 2026-11-02
扫描窗口:2026-11-01T00:30:00Z → 2026-11-02T00:30:33Z(共 1 天)| 基准来源:上次报告 2026-11-01
2026-11-02 GitHub 调研周报
扫描窗口:2026-11-01T00:30:00Z → 2026-11-02T00:30:33Z(共 1 天)| 基准来源:上次报告 2026-11-01
本期速览
- agentclientprotocol/agent-client-protocol: 一晚连发三个 release(Rust Crate v1.15.0 / Schema v1.29.0 / Schema v2.0.0-alpha.12),v2 unstable 补齐
background work、session/archive+session/unarchive、proxy/initialize+proxy/successor、session/status、auth/status(+auth/status_update通知)、session/set_title;另有一条 RFD 把 client system prompt 移入 preview - earendil-works/pi: 用自研
pi-schema全面替换 TypeBox——pi-ai/pi-agent-core/pi-durable的工具入参校验全部切到 pi-schema,Chord v1/v2 的 contracts 也建在 pi-schema 上;pi-ai不再导出Type/Static/TSchema(breaking),扩展侧靠一个 extension view 保留旧名字 - earendil-works/pi: pi-schema 自述通过 JSON-Schema-Test-Suite 核心用例 2222/2223、8.5 KB min+gzip、编译成闭包不依赖
eval、无依赖;本期新增了对ata-validator/Ajv/Zod的 benchmark 脚手架——但 npm 上仍查不到@earendil-works/pi-schema,只在 monorepo 内(package.json 版本 1.4.0) - anomalyco/opencode: Console 被拉成正式产品面——老站点页面 301 跳到 console、robots.txt 收录 console 公共 sitemap、站点头部去掉 Enterprise 且 “OpenCode Zen” 改名 “OpenCode Models”;Console workspace 的 instructions/skills 通过
/api/v2/config下发,以skill://内存 URI 形式加载,全程不落盘 - anomalyco/opencode: AI 层继续「去类化」——
AIError暴露status/code/isRetryable/retryAfterMs,ai.request改为返回普通对象(shape 变更),tool loop 被拆成小函数;session warming 改为可按 provider / model 分别配置 - 缺陷面同时暴露两处「权限 / 凭据绕过」类问题:opencode #61121
worktree_remove只被edit权限挡住,会改文件的 agent 可以删掉自己的 worktree(含未提交改动);pi #11655 通过软链打开同一auth.json的两个进程可绕过 OAuth refresh 锁并发刷新同一 refresh token - vectorize-io/hindsight: 主干 0 提交、9 个新 issue、1 个新 PR,且几乎全部指向记忆层的正确性而非新功能——ONNX embeddings 路径无 finiteness guard,NaN 向量进 pgvector 会静默丢失整篇文档;知识库检索没有相关性下限,不相关查询也返回每一页;consolidation 的 LLM 调用默认不带输出预算,失控生成会占住 serving slot 并形成热重试环
- agegr/pi-web: 6 个新 PR、0 合并、main 分支 0 提交,只有两个特性分支在动(
View as Tree/List、子代理 run 记录、favicon 需关注徽标、/side分叉侧聊);需求端仍由外部贡献者推动
各仓库详情
agentclientprotocol/agent-client-protocol
面向编辑器与 coding agent 之间的 JSON-RPC 协议,赛道是 agent 接入层标准| stars: 4562 | open issues: 31 | 默认分支: main | 最近 push: 2026-11-01T22:09:23Z | 主页: https://agentclientprotocol.com
近 1 周 release 重点:
-
v1.15.0(2026-11-01)— Rust Crate v1.15.0
- v2(unstable)新增 background work:把长任务从「一次 prompt 等到底」变成可后台推进
- v2(unstable)新增
session/archive与session/unarchive:会话生命周期进入协议 - v2(unstable)新增
proxy/initialize与proxy/successor:支持代理链与继任者语义 - v2(unstable)新增
session/status方法、auth/status方法与auth/status_update通知、session/set_title方法 - 一条 RFD 把 client system prompt 移到 preview
- 完整 release notes: https://github.com/agentclientprotocol/agent-client-protocol/releases/tag/v1.15.0
-
schema-v1.29.0(2026-11-01)— Schema v1.29.0(与 Rust crate 同批发布)
-
schema-v2.0.0-alpha.12(2026-11-01)— Schema v2.0.0-alpha.12(v2 草案的 alpha 通道)
(窗口期内无其它 release;上一次 v1.14.0 / schema-v1.28.0 / alpha.11 发布于 2026-10-30。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
212f0ca项目(发版) —chore: release (#2731)(@acp-release-bot[bot], 2026-11-01)- #2743 文档(规格对齐) —
docs: reconcile v1.15 spec text, unstable RFDs and the proxy-chains RFD(@benbrandt, 未合并) - #2742 文档(客户端清单) —
docs(clients): add Coincide to Desktop and Web(@apoorvdarshan, 未合并)
社区讨论 / 行业方向:
- ACP 官网 v2 草案公告: v2 早于本期就已公开为 Draft,本期 alpha.12 是其持续推进的落点;协议文档站同时提供
llms.txt给 agent 直接消费 - ACP v2: Prompt Response Success Only Confirms Message…: 外部文章指出 v2 里
prompt返回成功只代表消息已插入、不代表回合已完成——这正是本期新增session/status与 background work 的动机 - How to Import OpenCode into ACP-based Editors: 中文侧的接入实践仍集中在「用
opencode acp起子进程」这一条路径,窗口期内未检索到针对本期新方法的新讨论
信号观察:
- 本期新增的六个 v2 方法几乎全部围绕「会话的身份与状态」:能不能归档、现在什么状态、叫什么、谁有权限(auth/status)、能不能放到后台跑。协议正在从「一问一答」走向「可长期持有、可调度」的会话对象
proxy/initialize+proxy/successor一起进草案,说明「一个会话后面还有继任者」这种多进程接力场景已经进入规范讨论- alpha 通道(schema-v2.0.0-alpha.12)与 v1 稳定通道(schema-v1.29.0)保持每次发版同批推进,v1/v2 双轨仍在持续
earendil-works/pi
AI agent 工具包:统一 LLM API、agent loop、TUI、coding agent CLI| stars: 119350 | open issues: 313 | 默认分支: main | 最近 push: 2026-11-01T23:11:24Z | 主页: (仓库未填写)
近 1 周 release 重点:
- 窗口期内无 release。(最新 release 仍为 v1.4.0,2026-10-21 发布;monorepo 内
packages/schema版本已到 1.4.0,但 npm 上仍查不到@earendil-works/pi-schema。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
6536f80项目(schema 迁移,breaking) —feat(ai,agent,coding-agent): validate tool arguments with pi-schema, drop TypeBox(@badlogic, 2026-11-01)- pi-schema 新增 opt-in coercion:
compile(schema, { coerce: true }),兼容 TypeBoxValue.Convert与 pi-ai 旧有强制转换规则;新增unresolvedRefs选项与url/json-pointer-uri-fragmentformat pi-ai的 Tool 现在接受任意 JSON Schema;Type、Static、TSchema不再导出(breaking)- coding agent 的扩展通过一个 extension view 继续暴露
Type/Static/TSchema/StringEnum,内置工具仍留在 TypeBox
- pi-schema 新增 opt-in coercion:
be039fb项目(chord 迁移) —feat(chord): Chord v1 and v2 on pi-schema, drop TypeBox(@badlogic, 2026-11-01)- schema helper 变成 pi-schema builder 之上的薄层,JSON 形状不变,指纹与存量数据不变;错误信息改为 pi-schema 的;format 降级为 annotation
6291b9b项目(schema 能力) —feat(agent): pi-schema's Static types TypeBox-built schemas too, without depending on TypeBox(@badlogic, 2026-11-01)a6bde34项目(基准测试) —feat(schema): benchmark against ata-validator, Ajv and Zod(@badlogic, 2026-11-01):新增packages/schema/test/bench/全套(candidates / speed / size / conformance / zod),并在ATA_NO_NATIVE=1下跑,保证结论是纯 JS 的c09c98d项目(chord 修复) —fix(chord): admit a routed host even when the relay that spawned it is gone(@mitsuhiko, 2026-11-01):relay 被释放或拒绝后,路由解析会先抛错,导致被 spawn 的 host 的 link 从未被读取,自身 upstream 全部 unavailable/ready_timeout;现在 resolve 之后立即建立连接,检查失败只影响 relay0f21a33项目(渲染复用) —fix(coding-agent,tui): reuse syntax highlighting and rendered Markdown blocks(@mitsuhiko, 2026-11-01)c9f4c7b/e1669ee文档(chord 设计) — 折叠跨插件导入规则、“contracts 来自插件代码的来源地” (@badlogic, 2026-11-01)- #11655 issue(凭据锁) —
Symlinked auth.json paths bypass the OAuth refresh lock(@bymoses, 2026-11-01):两个 pi 进程经不同路径(其中一个是软链)打开同一auth.json,可同时进入加锁的凭据修改段,OAuth refresh 会在同一 refresh token 上竞争 - #11666 issue(代理) —
OAuth flows ignore HTTP(S)_PROXY: token requests bypass the proxy(@PelyDeng, 2026-11-01):packages/ai/src/auth/oauth/*直接调全局fetch(),不读HTTP(S)_PROXY/ALL_PROXY,在必须走本地代理的网段里 OpenAI Codex / Anthropic / xAI / GitHub Copilot / Kimi 等全部登录失败 - #11661 issue(durable) —
lazyApi: a shared first-load promise runs one Durable Object’s stream in another object’s context (workerd) (@Soju06, 2026-11-01) - #11669 issue(durable) —
pi-durable: a JSON value nested ~1000 deep fails the whole Harness on SQLite storage (@gjermundgaraba, 2026-11-01):SQLite JSON 解析器在 1000 层处停止,CHECK (json_valid(...))失败被当成未知结果拒绝
社区讨论 / 行业方向:
- pi-schema README(仓库内): 自述通过官方 JSON-Schema-Test-Suite 核心用例 2222/2223,编译一次成普通闭包,在严格 CSP 下可用,8.5 KB min+gzip,format 检查为可选导入
- Chord v2 目标设计(仓库内 docs/next/design.md): Chord 被定义为「跨进程(server / worker / 浏览器标签)构建应用的对象运行时,支持热重载」;对象有 principal(owner 与 guest 拿到不同对象、不同方法),状态是可观察 JSON,远端看快照 + 增量,contracts 用 pi-schema 描述
- TypeBox, a JSON schema type builder: 外部文章梳理 TypeBox 在 pi-mono 里的用法(
import type { Static, TSchema } from "@sinclair/typebox")——本期 pi 把这条依赖整体摘掉,外部教程的写法已过期 - pi-multix 架构说明(第三方): 第三方扩展专门处理 TypeBox 的「模块身份」问题(pi 加载扩展时把
typebox别名到自带的副本,本地开发时 npm 又会嵌套一份,TSchema因解析路径不同而无法互认)——这类 workaround 的存在前提正是本期被移除的那套依赖
信号观察:
- 「JSON Schema 是公共轨道」从方向变成了既成事实:本期之前是 opencode 收 API 形状、pi 造校验实现;本期 pi 直接把 TypeBox 从
pi-ai/pi-agent-core/pi-durable/chord里整体摘除,只在 coding agent 的扩展视图上保留一层兼容面 - TypeBox 在 pi 生态里的双重身份(既是 builder 又是 validator)被自己复制的 pi-schema 取代——
packages/schema/src/formats/typebox/说明连 format 兼容都一并接管 - pi-schema 声称的「无依赖 + 不依赖 eval + 8.5KB」是把它做成可被第三方直接依赖的独立包的形态,但 npm 上尚无该包,目前仍只有 monorepo 内部可用
- Chord v2 的设计文档以「book.md + decisions.md + 逐条 fold」的方式维护,决策有 owner 与日期,属于把架构决策当作产品资产在经营
- 本期 issue 侧几乎全是「并发 / 环境 / 边界」类:软链绕过锁、代理未生效、DO 上下文串号、SQLite 嵌套深度上限——pi 的使用面正在向「多进程 + 代理网络 + Durable 运行时」这类生产环境延伸
- 24 小时内 12 个新 issue、13 个 issue 被关闭,0 个 PR 被合并;维护节奏偏「快速 triage + 少合并」,与 opencode 的高频合并形成对照
anomalyco/opencode
开源 coding agent(终端 + Web + 桌面多端)| stars: 223852 | open issues: 3750 | 默认分支: dev | 最近 push: 2026-11-01T23:29:04Z | 主页: https://opencode.ai
近 1 周 release 重点:
- 窗口期内无 release。(latest 仍为 v2.2.5,发布于 2026-10-30;npm
@opencode/cli的latest也是 2.2.5,另有 dev 构建0.0.0-dev-477/-478/-479在 11-01 连续发布;另一条发布线opencode-ai仍停在 1.19.5(2026-10-28)。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
288fa12功能(Console workspace) —feat(core): load Console workspace instructions and skills (#60401)(@adamdotdevin, 2026-11-01)- #60401 功能(Console workspace) —
feat(core): load Console workspace instructions and skills(@adamdotdevin, 已合并):Console 侧已有 per-workspace 的 Library(instructions + skills),此前没有任何 opencode release 会读它;现在启动与配置变更时走GET /api/v2/config,instructions 排在全局 AGENTS.md 之前,skills 带 slug 与版本,全部驻留在 Console plugin 内、不落盘 - #60921 功能(内存技能) —
feat(core): support in-memory skill:// URIs(@rekram1-node, 已合并):Skill.prepare与 ReadTool 原先假定多文件 skill 都在磁盘上,内置 skill 用假的/builtin/*.md路径导致 ReadTool 读不了;现在支持skill://<id>[/<path>]直读内存,并在读之前检查skill与read权限 - #60808 功能(错误结构化) —
feat(ai): status, code, isRetryable and retryAfterMs on AIError(@rekram1-node, 已合并):AIError新增只读 getter(HTTP status / provider error code 或传输层 system code /retryAfterMs,取自RateLimit、QuotaExceeded、ProviderInternal),body code 解析器挪到utils/provider-codes.ts,reason 与_tag不变 - #60968 重构(breaking 形状) —
refactor(ai): return plain request objects from ai.request(@rekram1-node, 已合并):ai.request(...)原先返回LLMRequestSchema 类,spread 会丢类;现在所有.request(...)builder 返回普通归一化对象(@opencode/ai与@opencode/ai/effect两侧一致),校验移到调用处,坏请求在那里抛AIError - #60025 功能(缓存预热) —
feat(core): configure session warming per provider and model(@rekram1-node, 已合并):cache.warming可在 provider 与 model 级覆盖顶层warming(true/false/{ interval, duration }),keep-alive prompt 仍是顶层设置——背景是不同 provider 的缓存寿命差异很大、本地模型通常不该预热 - #60879 功能(用量透传) —
feat(core): report Claude Agent plan usage on step metadata(@nexxeln, 已合并):Claude Code 发来的rate_limit_event(5 小时与周窗口的利用率、重置时间)此前只用于措辞限流错误,现在直接进 step metadata,插件无需再轮询 Anthropic 用量端点或读取 Claude Code 的 OAuth token - #61005 / #61015 / #60812 / #60797(AI 层重构与修复) — 拆分 tool loop 成小块;压缩时不重发被拒的会话;stream 事件修复;tool loop 从坏的工具输入中恢复、跳过被截断的调用并强制 toolChoice 一次 (@rekram1-node)
8bca532/e99d665/9a611d3/2347bc8(站点与 Console) — 老站点页 301 跳到 console、robots.txt 收录 console 公共 sitemap、站点头部去掉 Enterprise、“OpenCode Zen” 改名 “OpenCode Models” (@thdxr, @adamdotdevin, 2026-11-01)- #61121 issue(权限越界) —
worktree_remove is gated only by edit, so a file-editing agent can delete its own worktree (uncommitted work included)(@dasanache, 2026-11-01) - #61122 issue(超时失效) —
core: shell timeout never starts when process creation stalls(@LongpanZhou, 2026-11-01) - #61115 issue(讨论) —
[DISCUSSION] Settings: order, priority and clarifications for agents, models, variants and providers(@m21-cerutti, 2026-11-01) - #61118 / #61120(并发锁) —
fix(core): avoid holding models.dev refresh lock across network timeout(@Bearmancer),issue 与 PR 同时存在 - #61091 issue(压缩) —
fix(core): preserve pending requests across auto compaction(@kitlangton, 2026-11-01)
社区讨论 / 行业方向:
- OpenCode Console 文档: Console 已有独立文档树(workspaces / providers API / intro),另有
console.dev.opencode.ai环境;本期仓库里出现packages/console/目录,说明 Console 应用已并入 opencode monorepo - Boot.dev: OpenCode Console 课程: 第三方教学站点已把 Console 纳入课程,说明它开始被当作可学习的产品面而非内部工具
- DeepWiki: opencode 的 ACP 子系统: 外部对 opencode ACP 实现的拆解仍停留在
packages/cli/src/acp/下的 Effect 架构,窗口期内未检索到与本期 Console / AI 层改动相关的新讨论
信号观察:
- Console 正从「云端控制台」变成 opencode 的一等运行面:老站点整体 301 迁移、sitemap 进 robots.txt、workspace 级 instructions/skills 下发到本地 agent、monorepo 里出现
packages/console/ - AI 层连续三天下沉为「普通对象 + 显式字段」:
ai.request返回普通对象、AIError暴露只读 getter、tool loop 拆成小函数——接口从类/Schema 向 plain data 收敛 - 缓存命中率被当成产品参数来调:session warming 下沉到 provider / model 级,与昨天观察到的「session affinity + prompt cache」是同一条线,只是今天从 provider 侧落到了配置面
- 生态文档型 PR 一天内出现十余个(
docs(ecosystem): add ...涉及 opencode-loop-recover、wudland-plugins、opencode-ducksay、@wavespeed/opencode、Zozo HQ、Iris Chat 等),是外部使用方在自发登记 dev分支 24 小时内 16 个 commit、49 个新 PR、15 个合并 PR,但官方 release 已 3 天未动(v2.2.5 仍是 latest)——发布节奏明显落后于主干
agegr/pi-web
pi coding agent 的 Web UI| stars: 7977 | open issues: 22 | 默认分支: main | 最近 push: 2026-11-01T16:33:45Z | 主页: (仓库未填写)
近 1 周 release 重点:
- 窗口期内无 release。(latest 仍为 v0.13.0,发布于 2026-10-29;npm
@agegr/pi-web的latest同为 0.13.0。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
- main 分支本期 0 提交;活动集中在两个特性分支
fix/empty-project-pin-1476(7b0925a)与claude/review-pi-web-prs-57e470(ecf1df0) - #1490 功能(文件面板) —
feat(files): View as Tree / List for Git changes panel(@betgo, 2026-11-01):对应的 issue #1489「View as Tree for the Git changed-files panel」也由 betgo 提出 - #1492 修复(侧栏) —
fix(sidebar): offer a pin on an empty project's group(@agegr, 2026-11-01) - #1491 修复(子代理) —
fix(subagents): list the session's latest subagents when an id finds nothing(@agegr, 2026-11-01) - #1487 修复(移动端) —
fix(chat): keep a message's actions on screen on narrow phones(@maximilize, 2026-11-01) - #1484 功能(标签页) —
feat(tab): badge the favicon while sessions need attention(@sirenkovladd, 2026-11-01),对应 issue #1483 - #1486 issue(模型选择) —
feat(models): toggle scoped vs all models in chat selector (TUI /model parity)(@salmanabdurrahman, 2026-11-01) - #1488 issue(更新流程) —
Feature: update dialog with release notes and an "Update & restart" action(已关闭) - #1482 issue(侧栏) —
Inbox-style sidebar: settle finished sessions (T3 Sidebar V2: pinned / working / snoozed / settled)(已关闭) - #1478 功能(部署) —
feat: Added docker support(@themisir, 2026-10-31)
社区讨论 / 行业方向:
- Pi Web 讨论区: 最近的 discussion 仍是 2026-10-14 的「Thank you for Pi Web!」与 09-29 的中文「Subagent 插件……主agent 容易不调用 get result 工具」,窗口期内无新 discussion
- pi-web-statusline(Show and tell): 第三方扩展把状态行做成单行(model | think | dir | context | cache | cost),侧面印证 Web UI 侧对成本与缓存的可观测性需求
信号观察:
- 需求描述越来越具体地指向「与 CLI 对齐」:#1486 直接写明要 TUI
/modelparity,#1481 要求保留 tool 顺序以匹配 pi CLI——Web 端在向 CLI 的行为语义追赶,而不是另起一套 - 本期 6 个新 PR 全部来自外部贡献者,0 合并;main 分支无提交,仓库处于「需求涌进来、合并节奏停滞」的状态
- 侧栏 v2 的收束(pinned / working / snoozed / settled)与 favicon 徽标指向同一件事:把「会话需要关注」这件事从消息流里提到界面层
vectorize-io/hindsight
Agent Memory 基础设施(bank / recall / reflect / consolidation)| stars: 57691 | open issues: 177 | 默认分支: main | 最近 push: 2026-11-01T14:13:50Z | 主页: https://hindsight.vectorize.io/
近 1 周 release 重点:
- 窗口期内无 release。(latest 仍为 v1.1.0,发布于 2026-10-21;PyPI
hindsight-client同为 1.1.0。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
- main 分支本期 0 提交;push 来自 PR 分支(#6256,14:13 建立)
- #6256 修复(指标) —
fix(metrics): count a validator rejection as rejected, not as a failed operation(@cdbartholomew, 2026-11-01):校验器拒绝原本被记成一次失败操作,污染成功率口径 - #6255 issue(嵌入) —
ONNX embeddings path has no finiteness guard — a NaN vector reaches pgvector and silently loses whole documents(@xeology13, 2026-11-01) - #6253 issue(检索) —
Knowledge-base search: add an opt-in relevance floor (every page is returned for unrelated queries)(@alexgrama-dev, 2026-11-01) - #6250 issue(资源) —
Consolidation LLM calls send no output budget by default — runaway generations hold serving slots for minutes and form hot retry loops(@slamdunk111, 2026-11-01) - #6249 issue(数据一致性) —
Delta retain ignores bank-level store_document_text=false and stores original_text(@nathanschram, 2026-11-01) - #6254 issue(可观测性) —
Model-call spans don't carry hindsight.bank_id(@shivanathd, 2026-11-01) - #6257 / #6251 / #6258 issue(coding-agents 集成) — opencode reflect toast 显示原始 ANSI 转义序列(
[38;2;0;116;217mH…)而非文本;Pi codebase survey 在选 fallback runner 之前静默中止;分页查询做了无用的 freshness 检查 - #6252 issue(打包) —
_find_api_command在已安装二进制位于 venv 的 Scripts 目录、而 sysconfig 未上报该目录时,回退到uvx(@williamgbe-sketch, 2026-11-01) - 前一日已合并的修复仍构成主线:
bc5ea19reflect 的 decision model 在限流时重试 cut 与 verdict;71d4356consolidation 的 decision model 从不写 observation text;b801b69并发删改同一条 memory 时保持 mention_count 精确;a461a00本地 embeddings 改用固定线程池而非默认 executor
社区讨论 / 行业方向:
- Bring the Facts, Not the Beliefs(Hindsight 博客,2026-09-23): 官方把「记住事实而非信念」定为产品立场,与本期 #6249 讨论的
store_document_text语义同源 - 如何让 AI 代理拥有会学习的记忆:Hindsight 上手指南: 中文侧内容集中在上手与概念解读,未覆盖本期这些工程细节
- Hindsight Docs: How Hindsight works: 官方文档把 retain / reflect / consolidation 三段式流程作为主叙事,窗口期内无新章节
信号观察:
- 9 个新 issue 全部是「记忆系统会悄悄出错」类,没有一个是「想要新功能」——NaN 向量导致整篇文档静默丢失、不相关查询返回全部页面、consolidation 失控生成占满 serving slot 且形成热重试环,这些都属于生产事故型的隐性故障
- 与 pi 的 durable 侧 issue(SQLite 嵌套深度 1000 层上限、DO 上下文串号)并看:记忆层与运行时层正在被同一批人放到真实的多进程 / 真实数据库 / 真实网络条件下压测
- 主干 0 提交但 PR 分支有活动,说明当前节奏是「先在 issue 里把边界条件钉死,再由分支修」;指标语义(#6256)这类改动被当成正确性问题而非可观测性装饰
bank_id未随 model-call span 传播(#6254)暴露了多 bank 场景下的追踪缺口——多租户记忆的可观测性还没跟上功能
yxc023/yxc023.github.io
个人站点仓库,本项目报告中转站| stars: 1 | open issues: 27 | 默认分支: master | 最近 push: 2026-11-01T00:37:08Z | 主页: (未填写)
近 1 周 release 重点:
- 窗口期内无 release。(仓库没有任何 release。)
其他重要 commits / PRs(按重要性挑选 5–10 条):
2f7ff70自动同步(报告) —auto(reports): 同步 daily-research 2026-11-01(2026-11-01)- 本期 0 个新 PR、0 个新 issue、0 个新提交(除上述自动同步)
社区讨论 / 行业方向:
- 无。该仓库只承担报告分发角色,窗口期内没有内容侧改动。
信号观察:
- 仓库活动完全由 daily-research 的自动同步驱动,不含人工内容
跨项目观察
- 「JSON Schema 是公共轨道」在 24 小时内从方向变成既成事实。 昨天还是「opencode 先改 API 形状、pi 先造校验实现」的并行节奏,今天 pi 直接把 TypeBox 从
pi-ai/pi-agent-core/pi-durable/ Chord 里整体摘除,只在扩展视图留一层兼容面,工具入参一律走pi-schema;opencode 同日继续把ai.request变成 plain object、AIError变成可读字段。两家在同一天分别从「类型系统」和「请求形状」两端推向同一个终点:模型侧只认 JSON Schema。 - 会话(session)正在成为跨层的一等公民。 ACP v2 一口气加了
session/status、session/archive+unarchive、session/set_title、auth/status与 background work;opencode 把 session warming 下沉到 provider / model 级,并在压缩时守住 pending requests;pi 的 Chord 用 principal、引用、快照 + 增量、可热重载的对象来承载会话语义。协议层、运行时层、记忆层都在回答同一组问题:一个会话有哪些状态、谁有权看、怎么归档、断了怎么续。 - 「错误与资源」开始被结构化,而不是被当作日志。 opencode 让
AIError暴露status/code/isRetryable/retryAfterMs;hindsight 把「validator 拒绝被记成失败操作」当 bug 修;hindsight 的 consolidation 无输出预算被明确指为「占满 serving slot 并形成热重试环」;pi 的 Chord 用BACKGROUND_CONTEXT与显式取消把后台执行纳入契约。资源上限和失败语义,正在从运维话题变成 API 话题。 - 本期的问题清单里出现了两类此前少见的「绕过」缺陷。 opencode #61121:
worktree_remove只被edit权限挡住,于是会改文件的 agent 能删掉自己含未提交改动的 worktree;pi #11655:软链路径让两个进程绕过同一把 OAuth refresh 锁。两处都在同一位置——「权限/锁的判定依据是路径或动作名,而不是被作用的对象身份」。 - 生态的自证行为开始有可观测的形状。 opencode 一天内收了十余个
docs(ecosystem): add ...PR(插件、服务商、调度器自登记);pi 用docs/next/design.md+decisions.md+ 分片式 book 把架构决策当产品维护;ACP 的 v2 用 alpha 通道 + RFD 推进。三个项目各自发明了一种「让外部看见内部」的机制,代价是维护者要额外承担叙事成本。 - 窗口期内的外部讨论几乎没有新增。 mmx 搜索命中的中文与英文内容基本停留在 10 月及更早(ACP v2 draft 公告、opencode 的 ACP 接入教程、pi 的 TypeBox 扩展写法、Hindsight 上手指南),本期最值得记录的变化都还没被外部写作者覆盖。协议与实现跑在前面,行业叙事落后约 2–4 周。
元信息
- 报告生成时间: 2026-11-02T00:30:33Z
- 基准时间: 2026-11-01T00:30:00Z(按 spec 读取自上次报告
reports/latest.md的基准时间:字段) - 扫描窗口: 2026-11-01T00:30:00Z → 2026-11-02T00:30:33Z(共 1 天);本期新增内容全部落在 2026-11-01T00:30:00Z 之后的 24 小时
- 数据源: GitHub API(gh CLI + Search API)+ mmx web search + npm registry / PyPI + 仓库内
packages/chord/docs/next/design.md、packages/schema/README.md、packages/schema/test/bench/校验 - API rate limit 剩余: 4927 / 5000(core,抓取完成后查询;Search API 单独限流,计数请求已分批 sleep,opencode 与 pi 的明细查询因触发 Search 限流在等待 60 秒后重取成功)
- 抓取结果: 6 / 6 仓库 × 5 endpoint(repo / releases / commits / pulls / issues)全部成功,discussions 5 / 6 成功(opencode 返回「Discussions are disabled for this repo」),pi 与 hindsight 的 discussions 返回空列表。增量统计口径为 Search API 的
created:>2026-11-01T00:30:00Z/merged:>2026-11-01T00:30:00Z(opencode:49 新 PR / 15 合并 PR / 85 新 issue / 77 关闭 issue / 16 commit;pi:2 / 0 / 12 / 13 / 10;pi-web:6 / 0 / 4 / 4 / 0;hindsight:1 / 0 / 9 / 0 / 0;ACP:2 / 1 / 0 / 0 / 1;blog:0 / 0 / 0 / 0 / 1)。窗口内唯一的新 release 是 ACP 的 v1.15.0 / schema-v1.29.0 / schema-v2.0.0-alpha.12;npm 上@opencode/cli仍为 2.2.5、opencode-ai仍为 1.19.5(双发布线未收敛),@earendil-works/pi-schema仍查不到(仅 monorepo 内 1.4.0),@agegr/pi-web仍为 0.13.0,PyPIhindsight-client仍为 1.1.0。
评论