父票: #223。基线: docs/design/2026-07-22-e7-cloud-web-search-baseline.md。
缺陷(2026-07-25 勘破)
packages/ui-mac/src/main/server.ts:73-85 的 force-off 条件依赖 ALPHA_CLOUD_MCP_URL,而该变量只在 alpha-auth.ts:289-290 的 applyAuthEnv() 写入,由 initAuthEnv() 触发(index.ts:651,whenReady 之后),晚于 preferAppEnv() 的调用点(index.ts:533)。结果:冷启动登录用户的 force-off 条件恒假,server.ts:143 反而把 OPENCODE_ENABLE_EXA 设为 "1",sidecar fork 时本地 keyless 与云工具双活,#223 AC1「登录代付态云优先」不成立。
现有单测 server.test.ts:101-118 在调用前手工设置 ALPHA_CLOUD_MCP_URL,恰好掩盖了真实时序。
负责哪些 AC
#223 AC1(登录代付态云优先)的冷启动半场。
边界
packages/ui-mac/src/main/server.ts(导出 force-off 并在 spawnLocalServer() fork 前每次重跑,与既有 syncSecretFiles 每 fork 重跑同纪律,幂等)、server.test.ts(改为走真实顺序:先 preferAppEnv 后写 ALPHA_CLOUD_MCP_URL,断言 fork 时的 env)。
out-of-scope
不动 preferAppEnv() 在 index.ts 的位置;不改失败映射(归 #489);不改 caps 事实(#491 已交付)。
退出条件
登录冷启动路径下 sidecar fork 时 OPENCODE_ENABLE_EXA 不为 "1" 且本地 keyless websearch 不注册;登出/登录 respawn 均自动正确;测试断言真实调用顺序而非手工预置 env。
父票: #223。基线:
docs/design/2026-07-22-e7-cloud-web-search-baseline.md。缺陷(2026-07-25 勘破)
packages/ui-mac/src/main/server.ts:73-85的 force-off 条件依赖ALPHA_CLOUD_MCP_URL,而该变量只在alpha-auth.ts:289-290的applyAuthEnv()写入,由initAuthEnv()触发(index.ts:651,whenReady 之后),晚于preferAppEnv()的调用点(index.ts:533)。结果:冷启动登录用户的 force-off 条件恒假,server.ts:143反而把OPENCODE_ENABLE_EXA设为"1",sidecar fork 时本地 keyless 与云工具双活,#223 AC1「登录代付态云优先」不成立。现有单测
server.test.ts:101-118在调用前手工设置ALPHA_CLOUD_MCP_URL,恰好掩盖了真实时序。负责哪些 AC
#223 AC1(登录代付态云优先)的冷启动半场。
边界
packages/ui-mac/src/main/server.ts(导出 force-off 并在spawnLocalServer()fork 前每次重跑,与既有syncSecretFiles每 fork 重跑同纪律,幂等)、server.test.ts(改为走真实顺序:先 preferAppEnv 后写 ALPHA_CLOUD_MCP_URL,断言 fork 时的 env)。out-of-scope
不动
preferAppEnv()在index.ts的位置;不改失败映射(归 #489);不改 caps 事实(#491 已交付)。退出条件
登录冷启动路径下 sidecar fork 时
OPENCODE_ENABLE_EXA不为 "1" 且本地 keyless websearch 不注册;登出/登录 respawn 均自动正确;测试断言真实调用顺序而非手工预置 env。