Skip to content

v1.2.12:Process 工具迁移、LSP 错误显示

发布日期:2026-02-25

中等更新,核心改进是将 Bun.spawn 迁移到 Process 工具,增加了超时和清理机制,同时为 apply_patch 工具添加了 LSP 错误显示。

🎯 一句话总结

后台进程管理更可靠(超时+自动清理),应用补丁时能看到 LSP 错误提示了。


✨ 新功能与改进

1. Process 工具迁移(Core)

Bun.spawn 迁移到新的 Process 工具,新增超时和清理机制。

收益

  • 长时间运行的进程不会无限挂起(有超时保护)
  • 进程退出时自动清理资源
  • 更稳定的子进程管理

技术背景:之前使用 Bun 的原生 spawn,在某些情况下可能导致进程僵尸或资源泄漏。新的 Process 工具统一管理生命周期。

对谁有价值:所有用户,特别是使用长时间运行命令(如测试套件、构建脚本)的用户。


2. 禁用 Plan Enter 工具

临时禁用 plan enter 工具,防止在执行任务期间意外切换模式。

收益:避免 AI 在执行任务过程中意外进入计划模式,导致任务中断。

对谁有价值:使用 Plan/Build 模式切换的用户。


3. 通过文件 URL 导入自定义工具

现在支持通过文件 URL 导入自定义工具。

怎么用

typescript
// 在配置或 Agent 中
import tool from 'file:///path/to/custom-tool.js'

对谁有价值:开发自定义工具的高级用户。


4. apply_patch 工具显示 LSP 错误(TUI)

应用代码补丁时,如果 LSP(语言服务器)检测到错误,现在会在 TUI 中显示。

收益

  • 立即知道补丁是否引入了语法错误
  • 减少编译/运行时的意外失败

怎么用:使用 apply_patch 工具修改代码时,如果有 LSP 错误,会在界面中提示。

对谁有价值:使用 TUI 模式进行代码编辑的开发者。


5. Go SDK 代码生成脚本(TUI)

新增 Go SDK 代码生成脚本。

对谁有价值:使用 Go 语言集成 OpenCode SDK 的开发者。


6. Windows 桌面端增强

  • 应用分辨率优化 - Windows 桌面应用的分辨率处理改进
  • UI 加载状态 - 更好的加载状态指示

对谁有价值:Windows 桌面端用户。


7. CI 优化

  • 禁用 Bun 配置缓存 - 在 CI 环境中禁用 Bun 配置缓存,避免缓存问题
  • 等待 Git ID 缓存写入 - 确保项目模块中的 Git ID 缓存写入完成

对谁有价值:使用 CI/CD 进行自动化测试和部署的团队。


📊 要不要升级?

情况建议
遇到进程挂起问题强烈推荐
使用 apply_patch 频繁✅ 推荐 - LSP 错误提示很有用
Windows 桌面端用户✅ 推荐
普通用户⚪ 可选升级

⬆️ 升级命令

bash
opencode upgrade

🙏 致谢

感谢社区贡献者:

  • @neriousy: Windows 桌面端分辨率和 UI 加载状态增强

📋 技术细节

点击展开原始 Release Notes

Core

  • Synchronize changes
  • Temporarily disable plan enter tool to prevent unintended mode switches during task execution
  • Migrate Bun.spawn to Process utility with timeout and cleanup
  • Disable Bun config cache in CI
  • Await git ID cache write in project module
  • Import custom tools via file URL

TUI

  • Add Go SDK code generation script
  • Show LSP errors for apply_patch tool

Desktop

  • Enhance Windows app resolution and UI loading states (@neriousy)
  • Update desktop README for accuracy

Thank you to 1 community contributor:

  • @neriousy:
    • feat(desktop): enhance Windows app resolution and UI loading states (#13320)

← 返回更新日志