OpenCode v2.2.7 发布:Copilot 自动路由与 SDK 接口重

OpenCode v2.2.7 发布:Copilot 自动路由与 SDK 接口重

核心亮点:Copilot 自动路由与侧边栏快捷操作

OpenCode v2.2.7 引入了 GitHub Copilot 的自动模式。当用户的 Copilot 账户拥有 Auto 资源池时,在模型选择器中勾选 Auto,路由系统会为每个会话挑选模型并享受自动折扣。若路由失败,系统会自动回退到账户默认的聊天模型(#62997)。侧边栏选项卡的操作逻辑也做了梳理:右键菜单新增“关闭右侧选项卡”,Cmd+W 现在可关闭任意位置的侧边栏选项卡,Option+Cmd+W 或 Ctrl+Alt+W 固定用于关闭会话选项卡,而 Cmd+Shift+T 则能在原位置重新打开临了关闭的侧边栏或会话选项卡(#62922)。另外,用户可以在选项卡、主页行、项目行或收件箱卡片的菜单中选择“标记为未读”,保留红点提醒直到再次访问(#62889)。

破坏性变更:SDK 接口调整

@opencode/ai 移除 ImageResponse.image

直接导入 @opencode/ai 的代码会受到影响。开发者需将读取 response.image 改为读取 response.images[0](#63011)。

SDK 端点不再等待插件加载

在插件仍在加载中的 Location 下,agent.list 仅返回已加载的代理。integration.list、usage.limits、vcs.init、rpc.call 及 artifact.* 不再等待长达 5 秒。插件提供的条目与操作会在加载完成后显现,开发者需监听对应的 *.updated 事件做刷新。模型、提供商、generate.*、voice.* 和 websearch.query 端点仍保持等待机制(#62796, #63040)。

核心功能优化与修复

改进项

  • MCP 登录稳定性远程 MCP 服务器在轮换刷新令牌时,即使多个客户端同时刷新或令牌端点暂时故障,也不会导致用户掉线(#62827, #63012)。
  • read 命令增强支持负数 offset,比如说 -50 读取文件末尾 50 行。若 offset 超出文件末尾,返回临了几行及文件总行数,不再报错。文件未找到时,系统会提示相近名称(大小写、扩展名、拼写或路径差异)(#62147)。
  • Shell 结果规范化结果以 Exit code: N 结尾。被信号终止的命令显示信号名,超时会提示等待时长并建议增加超时时间(#62141)。
  • 提示缓存预热默认根据模型的 cache.ttl 定时 ping(interval: “auto”),无 TTL 则每 4 分钟一次。若缓存有效期超过预热时长,将停止 ping(#62831)。
  • MCP 工具变更同步MCP 服务器连接、断开或工具变更时,Code Mode 仅向模型发送简短的变更列表,而非整个工具目录(#62176)。

Bug 修复

  • GitHub Copilot 会话成本基于实际扣费而非目录估算;内容过滤错误会指明具体过滤器(#62034)。
  • Copilot 计划变更后,下次模型刷新即可获取新 API 端点,无需重新登录(#62171)。
  • 修复远程 MCP 服务器在 TUI、桌面端或后台服务同时刷新同一登录时导致掉线的问题(#62827)。
  • MCP OAuth 令牌刷新失败时,保持登录状态供下次尝试,不再标记为 needs_auth(#63012)。
  • MCP 工具调用不再因结果不符合输出 schema 而失败(#61254)。
  • 修复后台压缩(background_compaction)中断 Claude Agent 会话的问题(#63025)。
  • 修复 zsh 下未匹配通配符导致命令停止的问题,行为对齐 bash(#62141)。
  • 修复 Windows 下 Microsoft Store 版 PowerShell 7 多行命令丢失后续内容的问题(#62522)。
  • 修复 read 命令截断长行时拆分表情符号的问题(#62575)。
  • 修复 Markdown 代理描述以括号标签开头导致无法加载的问题(#62250)。

TUI 与桌面端更新

TUI 改进

  • 更新与确认对话框支持使用方向键或 Tab/Shift+Tab 在按钮间切换(#62906)。
  • 模型选择器移除 Usage 操作,请改用 /usage 命令(#62927)。
  • 修复会话导出文件保存到系统临时目录而非当前工作目录的问题(#62253)。
  • 修复 TUI 未跟随终端当前亮/暗模式,而是使用缓存调色板的问题(#62248)。

桌面端改进

  • 实现侧边栏选项卡右键关闭右侧、Cmd+Shift+T 恢复等功能(#62922)。
  • 在选项卡、主页行、项目行和收件箱卡片菜单中添加“标记为已读/未读”,收件箱卡片支持重命名(#62889)。
  • 修复 Windows 和 Linux 下 Ctrl+Shift+R 触发窗口重载而非切换审查面板的问题(#62567)。
  • 修复关闭临了一个侧边栏选项卡时面板未滑入消失的问题(#62758)。
  • 确保从对话框打开的下拉菜单、提示框对屏幕阅读器可达(#62913)。

发表评论