fix: allow slower OpenCode startup on Linux ARM

OpenCode health polling restored a ten-second startup limit, causing Linux ARM systems and QEMU environments that became healthy just after that boundary to be reported unavailable. Managed local OpenCode now retains health-based readiness detection while allowing up to thirty seconds for startup.

Release note: 修复部分 Linux ARM 设备切换 OpenCode 时因启动超过 10 秒而误报超时的问题;健康检查现在最多等待 30 秒。
This commit is contained in:
mesalogo
2026-08-31 13:25:49 +08:00
parent 561de29f00
commit b1729125e1
3 changed files with 37 additions and 3 deletions
+2 -2
View File
@@ -67,7 +67,7 @@ import {
import { toOpenCodeSubagentEvent } from './opencode-subagent'
import { promptWithUntrustedConversationHistory } from './runtime-conversation-history'
const STARTUP_TIMEOUT_MS = 10_000
const STARTUP_TIMEOUT_MS = 30_000
const STARTUP_POLL_INTERVAL_MS = 100
const STARTUP_PROBE_TIMEOUT_MS = 500
const CONTROL_REQUEST_TIMEOUT_MS = 30_000
@@ -1079,7 +1079,7 @@ export class OpenCodeRuntime implements AgentRuntime {
}
}
const timeout = setTimeout(() => {
fail('OpenCode Server 启动超时(10 秒)')
fail('OpenCode Server 启动超时(30 秒)')
}, this.dependencies.startupTimeoutMs)
if (!stdout || !stderr) {