← 返回更新日志

OpenCode v1.4.0

2026-04-08 · GitHub 原文
## SDK 重大变更 由于一些性能问题,我们不得不对数据模型进行几项重大变更。 ### 差异元数据 编辑和补丁工具元数据中的差异将不再包含带有完整文件内容的 `to` 和 `from` 字段。它们将只包含一个带有统一差异格式的 `patch` 字段。 此外,用户消息和会话差异中的所有快照差异也将遵循此格式。 ### `UserMessage.variant` 此前,用户消息包含一个 `variant` 字段 —— 现在它被嵌套在 `model` 下,即 `userMessage.model.variant`。 ## 核心 - 新增 OTLP 可观测性导出支持。 - 修复了失败的网页请求留下过时超时的问题。 - 改进了 `opencode login` 的传输错误信息。 - 对阿里巴巴提供商的速率限制错误进行了重试,而非立即失败。 - 将模型变体范围限定在所选模型内。 - 新增完整的 HTTP 代理支持。 - 修复了 OpenRouter 提供商的问题。 - 对齐了 GitHub Copilot Anthropic 推理级别,并移除了不正确的 Qwen 变体。 - 通过使用原生项目配置,减少了 TypeScript LSP 的内存使用。(@derekbar90) ## 终端界面 (TUI) - 新增了“切换模型变体”的键绑定选项。(@ariane-emory) - 为附件新增了 PDF 拖放功能。(@gitpush-gitpaid) - 新增 `opencode run --dangerously-skip-permissions` 以自动批准非拒绝的权限提示。 ## 桌面端 - 改进了子代理会话,提供更清晰的标题、导航和进度状态。 - 将自动接受权限的设置移至“设置”中。 - 在附件芯片上显示完整文件名。 **感谢 4 位社区贡献者:** - @derekbar90: - fix(lsp): MEMORY LEAK: ensure typescript server uses native project config (#19953) - @mchenco: - docs: update Cloudflare provider setup to reflect /connect prompt flow (#20589) - @gitpush-gitpaid: - feat(opencode): Add PDF attachment Drag and Drop (#16926) - @ariane-emory: - fix(tui): use sentence case for theme mode command palette items (#21192) - feat(tui): allow variant_list keybind for the "Switch model variant" command (#21185)