OpenCode 一周动态-2026-W26

OpenCode 一周动态-2026-W26

日期范围: 2026-06-20 - 2026-06-26
摘要: 本周 OpenCode 连发 v1.17.9 到 v1.17.11,重点推进 MCP、Desktop v2、Session SDK、Provider 与长期运行稳定性;同时 Windows、插件、OAuth、权限和多会话回滚仍需继续观察。

OpenCode W26 周报

本周结论

2026-06-20 到 2026-06-26 期间,anomalyco/opencode 的主线活动集中在三个方向。第一是发布节奏仍然很快,三次稳定版发布把 MCP 资源、OAuth、Desktop v2 标签页、session snapshot 和 SDK session runtime 推向可用状态。第二是生态集成正在变宽,MCP resource tools、provider package、Copilot 自定义 header、OpenAI-compatible provider 与 embedded SDK 都有实质进展。第三是高强度迭代带来了明显回归面,Windows TUI、WSL、Desktop session 归属、插件加载、OAuth scope、provider hang、权限边界等新问题集中出现。

本周适合升级的用户是希望获得 MCP resource、Desktop v2 标签页和 session revert 能力的早期采用者。依赖 Windows ARM64、WSL TUI、外部插件、企业 Copilot 第三方模型、NVIDIA NIM、Cloudflare AI Gateway 或 unattended long-running agent 的团队,建议先在隔离项目中试用,不要直接替换生产自动化入口。

版本发布

v1.17.11

发布时间: 2026-06-25 12:09 UTC
类型: Stable
发布链接: v1.17.11

摘要: 这个版本把 session snapshots 和 revert controls 放进核心能力,用户可以把会话回滚到更早消息,并包含文件变更回滚。Desktop 侧继续推进 v2 布局,加入类似 Chrome 的 mod+1mod+9 标签切换、可拖拽标签、空首页改进、jump-to-latest 样式和 titlebar 标签改造。它还修复了 prompt draft 绑定错误项目 server、todo dock 跨会话位置、失效 session 标签自动关闭、provider dialog 与 async attachment 错绑 session 等问题。

受益人群与建议: Desktop v2 早期用户、多会话重度用户和需要回滚 agent 操作的开发者最直接受益。session revert 属于高价值功能,但本周仍有 Undo in one session reverts all sessions 这类开放问题,涉及并行 session 的团队应先用测试仓库验证回滚边界。

v1.17.10

发布时间: 2026-06-24 20:37 UTC
类型: Stable
发布链接: v1.17.10

摘要: v1.17.10 是 MCP 与 provider 集成的大版本。核心新增 MCP server instructions 进入 session context、Opencode-managed provider integration、MCP resource template listing、MCP resource read tools 和 --mini CLI mode。修复包括隐藏被权限拒绝的 resource template tools、防止 MCP resource tool key 冲突、skill base directory 从 file:// 改为 filesystem path、恢复 legacy MCP tool names、恢复 v1 account config、OAuth callback 绑定 IPv4 loopback、保留 structured error details、修复 subdirectory snapshot 和 Windows ACP resource text。

受益人群与建议: MCP server 作者、插件作者和企业内部工具接入者收益明显,因为 resource/template 能力让 MCP 不只暴露工具,也能暴露可读上下文。采用建议是可以在开发环境启用,但涉及 OAuth、scope、container callback 或多 server headers 的部署仍需跟踪本周新开的 #34034#33966 和开放 PR #33722

v1.17.9

发布时间: 2026-06-21 00:03 UTC
类型: Stable
发布链接: v1.17.9

摘要: v1.17.9 偏向稳定性与模型适配。它修复 agent step limit 到达时直接中断的问题,改为强制给出最终文本响应;修复 provider ID 大小写差异导致 Devstral 模型检测失败;为 Copilot 模型请求传递自定义 header;新增 GLM-5.2 highmax thinking variants;同时停止把后续用户消息包在 steering reminder 里,以改善 prompt caching 效果。

受益人群与建议: 使用 GPT、Copilot、Devstral、GLM 或需要稳定 step limit 行为的 CLI 用户可以考虑升级。它解决的是基础体验问题,但还不能覆盖本周继续出现的 provider 类问题,例如企业 Copilot 第三方模型不可见 #34030、NVIDIA NIM hang #34026、OpenAI-compatible cache token 统计为零 #34022

本周发版节律

版本日期主要方向采用建议
v1.17.92026-06-21step limit、Copilot header、GLM thinking、prompt cacheCLI 与 provider 用户可试用
v1.17.102026-06-24MCP resources、managed provider、mini CLI、snapshot/ACP 修复MCP 与插件团队可试点
v1.17.112026-06-25session revert、Desktop v2 tabs、会话归属修复Desktop 早期用户可试用

本周共 3 次稳定版发布,节奏仍然偏快。它对追新用户友好,但对生产自动化、Windows 桌面分发和企业 provider 集成来说,建议保留上一稳定版本的回退路径。

三次稳定发布

合并与开放 PR

1. MCP OAuth 从可用性走向安全边界加固

来源: #33716 always print MCP OAuth URL#33722 isolate OAuth request headers#33725 secure manual MCP OAuth callback#34025 unify OAuth callback browser pages
时间: 2026-06-24 到 2026-06-26
状态: #33716 和 #34025 已合并;#33722 和 #33725 仍 open

摘要: 已合并的 #33716 保证 MCP OAuth URL 会先打印出来,避免浏览器打开失败时用户无法手动登录;#34025 统一了 OAuth callback 页面。开放的 #33722 试图阻止 resource headers 泄露到跨源 OAuth discovery、registration、token exchange 或 refresh 请求;#33725 则绑定 manual callback state,防止错配或重放的 authorization code 被接受。这说明 MCP OAuth 的重点已经从能否登录,扩展到凭据隔离和回调完整性。

受益人群与建议: 使用企业 MCP server、远程 MCP OAuth、私有 API key header 或多租户 MCP 网关的团队最受益。已合并部分可采用;涉及 header 隔离和 manual callback 的安全硬化还在 open,建议继续观察合并与发布说明后再用于高敏凭据环境。

2. MCP resource tools 进入主线,但权限与命名边界仍在收敛

来源: #33596 prevent resource key collisions#33686 hide denied resource template tool#33977 split MCP timeout configuration
时间: 2026-06-24 到 2026-06-26
状态: 三个 PR 均已合并

摘要: #33596 修复聚合 MCP resource key 时 server name delimiter 的冲突风险;#33686 把 list_mcp_resource_templates 归类为 read tool,使其在读权限被拒绝时不可见;#33977 把 V2 MCP timeout 拆成 startuprequest 两种预算,便于分别控制连接初始化和后续请求。这些改动与 v1.17.10 的 resource listing/read tools 相互呼应,说明 MCP 的资源读取能力已经开始进入可操作阶段。

受益人群与建议: MCP server 开发者、内部知识库工具维护者、需要把 repo/doc/context 暴露给 agent 的平台团队会受益。资源工具可在开发环境采用;timeout 拆分只影响未发布 V2 config contract,生产配置仍要对照当前版本文档。

3. Session SDK 和 embedded runtime 正在补齐 durable/live 事件能力

来源: #33777 restore session runtime operations#33991 expose active sessions#33992 wake embedded session execution#34008 unify session event stream#34017 wake embedded session live tail
时间: 2026-06-25 到 2026-06-26
状态: #33777、#33991、#33992 已合并;#34008、#34017 仍 open

摘要: #33777 恢复 sessions.eventssessions.interruptsessions.message,并让 embedded SSE 走 durable event 流;#33991 暴露 active sessions;#33992 修复 embedded prompts 被持久化但没有真正唤醒执行的问题。开放的 #34008 和 #34017 进一步把 durable replay、activity snapshot、live fragments 和 embedded subscribers 统一到一个 session-scoped event stream。这与上周 carry-over 的 #32010 直接相关。

受益人群与建议: SDK 使用者、Desktop/ACP 嵌入者、外部 orchestrator 和自动化平台会受益,因为它们需要知道 session 是否活跃、事件是否 durable、尾随订阅是否会丢。已合并部分可以试点;如果依赖 live tail 完整性,仍应等待 #34008 和 #34017 合并。

4. Desktop v2 标签页和多会话 UI 有密集合并

来源: #33838 Chrome tab cycle shortcuts#33880 replace tab drag handling#33860 refine session UI styling#33785 close missing session tabs#33778 preserve todo dock across sessions
时间: 2026-06-25 到 2026-06-26
状态: 均已合并

摘要: Desktop v2 本周合并了类似 Chrome 的标签快捷键、拖拽排序实现替换、session UI 样式重构、失效 session tab 自动关闭和 todo dock 跨会话保留。再加上 #33946 的 tab-scoped servers、#33954 的 composer 拆分、#33974 的 session settings auto-accept 修复,Desktop 正在从单窗口体验向多项目、多 session 的工作台形态靠拢。

受益人群与建议: 同时跑多个任务、频繁切换项目、依赖 todo dock 和 prompt draft 的 Desktop 用户收益最大。采用建议是可以体验 v1.17.11,但 Windows Desktop 用户需同时关注 #33995#33938#34036

Desktop v2 与 Session SDK 工作台

5. Provider 架构正在为 native packages 和 managed integration 铺路

来源: #33689 add native provider packages#33925 load native provider packagesv1.17.10 release
时间: 2026-06-24 到 2026-06-25
状态: #33689 和 #33925 仍 open;v1.17.10 已发布 managed provider integration support

摘要: #33689 定义统一的 model(id, settings) provider package contract,并把 OpenAI、Anthropic、OpenAI-compatible、Bedrock 等现有 provider 映射到这个边界。#33925 则把 core config、catalog、models.dev、provider plugins 迁移到 flat package/settings/headers/body schema,并计划动态加载 built-in、file、installed、external native provider packages。它们还没有合并,但已经说明 provider 层会从固定 adapter 走向可扩展 package。

受益人群与建议: 自建 provider、模型网关、企业模型目录和第三方插件维护者最受益。当前还不建议依赖这些 open PR 的 schema;但需要规划未来 provider config 迁移,尤其是有自定义 headers、body、limits 和 credential injection 的团队。

6. 长会话和内存问题有缓解 PR,但核心 carry-over 仍未关闭

来源: #33713 evict idle per-directory instances#33892 bound diff summary payloadMemory Megathread #20695event table bloat #32005
时间: 2026-06-24 到 2026-06-26
状态: #33713、#33892 open;#20695、#32005 open

摘要: #33713 为 opencode serve 的 per-directory instances 增加 opt-in idle eviction,避免每个目录长期缓存 InstanceStore、watcher、LSP、MCP subprocess 和 bus subscriptions 后 RSS 持续上涨。#33892 试图限制 session summary diff payload,避免 pathological workspace diff 膨胀 session/message JSON。与此同时,Memory Megathread 已更新到 103 条评论,旧 session event table bloat 造成 OOM 的 #32005 仍未关闭。

受益人群与建议: 长期运行 opencode serve、多目录自动化、Desktop 大项目用户和探索型 subagent 使用者会受益。由于关键 PR 仍 open,生产自动化不应只靠本周版本解决内存风险,应继续使用进程重启、目录隔离、DB 备份和会话清理策略。

7. 权限边界继续成为高优先级风险

来源: #33967 deny bash and scope subagent permission inheritance#34014 vague file permissions#32778 model attempted destructive drive operation
时间: 2026-06-25 到 2026-06-26
状态: #33967 open;#34014 open;#32778 open

摘要: #33967 指出 plan mode 只 deny edit,但 bash 仍沿用默认 allow,因此模型理论上能在计划阶段运行任意 shell 命令;该 PR 同时调整 subagent permission inheritance,避免父会话 deny 规则覆盖 read-only 子代理所需能力。#34014 则从用户体验角度要求区分 read/write/delete,并在文件操作前展示更具体意图。#32778 的 destructive command 风险仍未关闭。

受益人群与建议: 企业安全负责人、受控仓库使用者、自动化审批流和需要 plan/build 分离的团队最受益。建议把 #33967 视为本周必须继续观察的安全 PR;在它合并前,不要把 plan mode 当作强隔离执行环境。

8. OpenAI Responses 与 OpenAI-compatible 路径仍在补稳定性

来源: #34010 retry transient response stream errors#34013 replay OpenAI reasoning statelessly#34027 omit stateless response item ids#33899 ensure non-empty assistant content
时间: 2026-06-25 到 2026-06-26
状态: 均 open

摘要: #34010 解析 OpenAI Responses stream 中嵌套的 error envelope,并在没有 durable assistant output 前最多重试两次 transient stream failure。#34013 和 #34027 针对 stateless Responses/reasoning continuation,避免重放 item id 或丢失 store:false 语义。#33899 为 OpenAI-compatible proxy 的纯 tool-call assistant message 增加 ephemeral space,防止 proxy 注入可见占位文本污染历史。

受益人群与建议: 使用 OpenAI Responses、兼容代理、GLM、DeepSeek、enterprise proxy 和长工具链 agent 的用户会受益。这些 PR 仍未合并,建议继续 watch;如果本周遇到 assistant context 污染、空内容占位或 Responses transient failure,不要直接归因于模型质量。

新问题与回归

9. Windows ARM64 Desktop 安装包缺少 OpenCode.exe

来源: #34036 Windows ARM64 installer missing OpenCode.exe
时间: 2026-06-26 07:54 UTC
状态: open

摘要: 用户报告 v1.17.11 的 Windows ARM64 NSIS installer 安装后目录中没有 OpenCode.exe,导致开始菜单或桌面快捷方式指向不存在的目标。同一机器上的 x64 installer 可以正常安装运行。这个问题直接阻断 Windows ARM64 Desktop 首次安装或升级后的启动路径。

受益人群与建议: Windows ARM64 用户和负责桌面分发验证的维护者需要重点关注。建议 Windows ARM64 用户暂缓升级 v1.17.11 installer,等修复发布;x64 用户不受这个具体问题影响,但仍应关注本周其他 Windows TUI 与 Desktop 回归。

10. Windows TUI 和 WSL 出现显示与启动回归

来源: #34021 CJK garbled in TUI#33887 WSL black screen#33890 Bun 1.3.14 SIGILL
时间: 2026-06-25 到 2026-06-26
状态: 均 open

摘要: #34021 报告 Windows Terminal 中 CJK 字符在部分重渲染后乱码,按 Ctrl+P 触发完整重渲染可临时恢复。#33887 指出 v1.17.10 在 WSL 中打开后黑屏且无法输入,降级到 v1.17.9 可恢复。#33890 则记录 bundled Bun 1.3.14 在 Linux x86_64 上 SIGILL crash。它们共同指向 TUI/render/runtime 层在跨平台上的高回归风险。

受益人群与建议: Windows、WSL、CJK 语言用户和 Linux 服务器用户最受影响。建议这些用户保留 v1.17.9 或已验证版本作为回滚目标;团队内如有中日韩语言输出、远程 WSL 或旧部署脚本,不宜无验证升级。

11. Desktop session 归属、配置校验和插件加载仍不稳

来源: #33995 wrong directory session lock#33938 ConfigInvalidError after upgrade#33975 plugin loading paths[1] undefined#33896 v2 plugin skill not discoverable
时间: 2026-06-25 到 2026-06-26
状态: 均 open

摘要: #33995 显示 Desktop 可能把新目录 session 锁到旧目录,原因与 global dat 中 lastProjectSession 的 directory 字段错误有关。#33938 报告升级到 v1.17.11 后 renderer log 出现 ConfigInvalidError,sidebar 看不到 session,和 workspace model selection 中 variant:null 有关。#33975 表示外部插件统一报 require.resolve paths[1] is undefined;#33896 则说明 v2 plugin 注册的 skill 无法通过 /skills 搜到。

受益人群与建议: Desktop 工作台用户、插件作者和 v2 plugin 早期采用者要谨慎。v1.17.11 的 Desktop UI 改进很密集,但如果你的工作流依赖多目录 session、外部插件或自定义 skill,建议先在备份配置目录下验证。

12. MCP OAuth 还有 scope、disabled server 和 container callback 缺口

来源: #34034 scope ignored#33915 disabled server after OAuth#33966 configurable OAuth callback host
时间: 2026-06-25 到 2026-06-26
状态: 均 open

摘要: #34034 指出当 resource server 正确 advertises scopes 时,MCP TypeScript SDK 会忽略 clientMetadata.scope,导致 offline_access 这类客户端向授权服务器请求 refresh token 的 scope 不生效。#33915 显示对 enabled:false 的 remote MCP server 执行 opencode mcp auth 时,OAuth 成功但 CLI 返回 Unexpected status: disabled。#33966 要求 OAUTH_CALLBACK_HOST 可配置,以便容器内 opencode 与宿主浏览器配合。

受益人群与建议: 需要 refresh token、容器化 CLI、按需启用 MCP server 的用户会受益于后续修复。当前建议把 v1.17.10/11 的 MCP OAuth 视为快速演进能力,不要默认它覆盖所有 OAuth deployment shape。

13. Provider 兼容性新问题集中出现

来源: #34030 enterprise Copilot third-party models#34026 NVIDIA NIM hang#34022 cached_tokens not counted#33955 retry timing stripped#32951 Cloudflare AI Gateway system role
时间: 2026-06-25 到 2026-06-26
状态: 均 open

摘要: 本周 provider 层的问题很具体。Copilot Enterprise 中添加的第三方模型无法被 OpenCode 读取;NVIDIA NIM 的 Nemotron 3 Ultra 550B 在 Build/Thinking 阶段无 token、无错误、一直挂起;OpenAI-compatible provider 即使 upstream 返回 cached_tokens,OpenCode 也记录 tokens_cache_read 为 0;Zen gateway 会丢失 429 retry timing,提前重试;Cloudflare AI Gateway 仍拒绝 Anthropic backend 的 role: system message array。

受益人群与建议: 企业模型平台、成本统计、私有网关、OpenAI-compatible 代理和高并发自动化用户受影响最大。建议继续保留 provider-specific smoke test,升级后验证模型列表、cache accounting、streaming hang、429 backoff 和 system prompt 映射。

14. VCS 与 diff payload 的大项目边界被暴露

来源: #33928 VCS crashes on many untracked files#33927 fix VCS crash#33892 bound diff summary payload
时间: 2026-06-25 到 2026-06-26
状态: issue open;两个 PR open

摘要: #33928 报告仓库有 1200 个以上 untracked files 时,VCS layer 会在启动时崩溃。根因是 git status --untracked-files=all 枚举每个未跟踪文件,后续又为每个 entry 生成 stats 和 patch,导致大量子进程。#33927 尝试修复该问题;#33892 则为 session summary diff payload 加上预算,避免 pathological diff 写入和读取时膨胀 JSON。

受益人群与建议: monorepo、新初始化项目、缺失 .gitignore 的团队和 build artifact 容易进入工作树的项目会受益。在 PR 合并前,建议先补 .gitignore,避免把 node_modulesdist、大生成目录暴露给 OpenCode VCS。

数据概览

维度数据
GitHub 新增 Issues至少 300 条,gh search --limit 300 已达到上限,其中 open 163 条、closed 137 条
GitHub PR 动态至少 300 条更新 PR,样本内 merged 105 条、open 132 条、closed 63 条
Releases3 个稳定版,v1.17.9、v1.17.10、v1.17.11
GitHub Discussions本周查询到 0 条更新
Hacker News13 条 opencode 关键词匹配,无热点阈值讨论
Reddit公共搜索端点返回 HTML,本期不采信
本周核心主题MCP OAuth 与 resource、Desktop v2、Session SDK、Provider 兼容、Windows 与长会话稳定性

本周受益人群与采用建议

用户群体本周具体收益采用建议
MCP server 与插件作者v1.17.10 的 resource listing/read tools、server instructions、timeout 拆分、OAuth URL 打印可在开发环境采用;OAuth scope、headers 和 container callback 继续观察
Desktop v2 早期用户标签快捷键、拖拽标签、session UI、todo dock、失效 tab 清理、session settings 修复可试用 v1.17.11;Windows 与多目录 session 需先备份配置
SDK 与 embedded client 开发者session runtime operations、active sessions、embedded wake 修复已合并能力可试点;live tail 与 unified event stream 等待 open PR 合并
企业 provider 与模型网关团队Copilot header、managed provider integration、native provider package 方向清晰继续 watch open PR;升级后必须跑 provider-specific smoke test
长任务与自动化运维step limit 最终响应、serve idle eviction 和 diff payload bound 的方向明确关键内存和 event bloat 问题仍 open,不建议无保护地长时间无人值守
Windows、WSL、CJK 用户部分 Desktop 修复已发布先观望或保留 v1.17.9 回滚路径,尤其是 ARM64 installer、WSL 黑屏和 CJK TUI
安全与权限负责人plan-mode bash deny、subagent permission inheritance、文件权限提示被明确提出等 #33967 合并并验证后再把 plan mode 纳入强边界假设

本周风险雷达与升级建议

下周重点观察

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员柒叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值