Appearance
Desktop App 启动时 health check 失败导致 IDE 扩展不稳定
问题
opencode desktop app 启动时,IDE 扩展(VS Code、JetBrains)频繁断连或无法建立连接,日志中出现大量 sidecar server 报错:
ERROR service=sidecar connection refused / health check failed表现为:打开 IDE 后 opencode 扩展图标显示错误状态,或每隔几秒闪断一次,需要手动重启才能恢复。
涉及版本:opencode v1.14.x desktop,Linux / macOS / Windows。
原因
desktop app 的 health check 逻辑没有重试机制。sidecar server(本地后端服务)在启动后需要几百毫秒到数秒时间完成初始化,而 health check 在这段时间内发出请求、立刻收到 connection refused,就直接判定为失败并上报错误。
换句话说,健康检查太"急躁"——它不等 sidecar 准备好,所以每次 desktop app 启动都会触发一次假性失败,导致 IDE 扩展认为服务不可用。
官方 PR #24138 通过引入指数退避重试修复了此问题(每次失败后等待时间翻倍,直到 sidecar 真正就绪)。
解决方案
等待官方 patch
PR #24138 已提交,等待合并进下一个 release。可关注 GitHub #24142 获取进展。
临时缓解:手动等待后再打开 IDE
在 desktop app 启动完成(图标稳定、没有 loading 指示)后,等待 3~5 秒再打开或重新加载 IDE 窗口,可以避免大部分误判情况。
具体步骤:
- 启动 opencode desktop app
- 等待 5 秒
- 在 IDE 中执行"重新连接 opencode"或重载窗口(VS Code:
Ctrl+Shift+P→Developer: Reload Window)