Skip to content

[E7][CODE] 修复 web-search 选路的冷启动时序(force-off 判定早于 ALPHA_CLOUD_MCP_URL 写入) #621

Description

@jinjunnn

父票: #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。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:runtimeServices, jobs, infrastructure, or operationsprio:P1High-value near-term deliverytype:bugSomething is incorrect or regressed

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions