fix(cli): 支持关闭 Codex 系额度换模型提醒并兼容网关 - #1364
Conversation
d3e9666 to
8bc172c
Compare
自动评审初步意见(最终以维护者审阅为准)整体方向认可:开关默认开启、进程级 1.(建议修改)coco 适配器漏装了同一保护,默认开启的开关对 coco 会话不生效 coco 与 traex/traecli 是同一个二进制(本机三者为同一 inode 的 symlink,均为 traecli 0.204.1;
但 建议的修法很小:
2. 需要 rebase 到最新 master 当前分支与最新主干在 3.(nit,不阻断) aiden 路径剥掉该参数后没有运行时兜底(启动更新弹窗有 4.(nit,不阻断) 验证一个配置键是否被 CLI 真正接受,建议用「非法 bool 值启动」探针(会在配置加载期直接报错), 以上为自动评审的初步意见,最终以维护者审阅为准,感谢贡献! |
8bc172c to
f512319
Compare
|
已按这四点处理,新增提交
验证:10 个文件、730 项 Node 测试通过;6 个文件、143 项 Bun 测试通过,3 项沿用既有直接 PTY 限制跳过; |
自动评审复审(新 commit f512319)——coco 修复确认通过,还需 rebase + 同步主干测试(初步意见,以维护者审阅为准)上轮 F1(coco 漏装)已正确修复: 合入前还需要做一件事:rebase 到最新 master 并更新主干上 #1367 留下的测试断言。 你这个分支之后,主干已合入 #1367(同一配置键的 codex-only 版本:codex 适配器无条件注入
rebase 后我们本地的验证结果: 一个小 nit(不阻断): 以上为自动评审初步意见,最终以维护者审阅为准,感谢更新! |
背景 / 动机
Codex 在额度接近上限时会弹出换模型选择框,默认选项为切换到较低成本模型。Botmux 提交消息的 Enter 可能确认这个选择,造成用户未主动选择却改变会话模型。TraeX 及与其共用 traecli 的 CoCo 同样需要保护。
改动
dashboard.hideCodexRateLimitModelNudge,同步中英文说明。-c notice.hide_rate_limit_model_nudge=true,向 CoCo 传入长参数--config notice.hide_rate_limit_model_nudge=true。关闭时不添加覆盖,遵循 CLI 自身配置。-c改为--config;ttadk 保留透传,包括 CoCo 的长参数。Aiden 拒收该覆盖,沿用精确白名单剥离,保证启动兼容;设置明确注明「走 Aiden 网关启动的会话不受此保护」。默认值 / 兼容性依据
默认开启,避免无人操作的托管终端误确认换模型。配置仅接受布尔值,缺省或非法值采用默认保护行为;显式
false不覆盖 CLI 自身设置。使用进程级配置,不写入用户配置,与审批及沙盒绕过设置独立。仅新启动的 CLI 进程生效;已有进程、adopt 及存活 pane 的重新挂接不改变启动参数。不会增加额度或恢复已经切换的模型。
已更新到最新主干,TraeX 的
shellSubprocessEnv与hideRateLimitModelNudge同时保留;触发人身份环境透传与本次保护共同生效。测试覆盖
--config,ttadk CoCo 新建 / 恢复透传;其余 28 个 CLI 的启动参数保持不变。notice.hide_rate_limit_model_nudge=false参数保持原样。验证
本次使用 Bun 1.4.2:
bun run test -- test/traex-native-subagent-hook-wiring.test.ts test/quota-fallback-process.integration.test.ts test/codex-model-nudge.test.ts test/cli-selection.test.ts test/cli-adapters.test.ts test/codex-hook-trust-worker-wiring.test.ts test/settings-write-applier.test.ts test/global-config.test.ts test/traex-shell-env.test.ts test/trigger-user-shell-env.test.ts:10 个文件、730 项通过。bun test <file> --timeout 180000:覆盖上述前 4 个文件及两个 shell-env 文件,143 项通过、3 项沿用既有直接 PTY 限制跳过、0 失败。bun run build、git diff --check:通过。f512319fd的 完整 CI 和 CodeQL 全部通过,包含三个 Node 分片、Bun 全量测试及各二进制构建检查。--help成功作为依据:远端 Linux 的 Codex 0.153.4、SpineCodex 0.2.2 对--config notice.hide_rate_limit_model_nudge=notabool明确报该字段应为 boolean,合法值通过配置解析。TraeX 0.201.5 在隔离 PTY 中得到同样结果;将同一二进制以临时 CoCo 别名启动,也能复现相同校验。所有探针均使用空的临时配置目录,未发送模型请求,未模拟真实额度耗尽。bun run daemon:restart:本机缺少配置而退出,尚未部署或完成飞书端验收。影响范围
涉及全局配置读写、Dashboard、worker 启动接口、Codex / TraeX / CoCo 适配器和网关兼容。PTY、tmux 及话题、群会话复用启动参数构造;RPC 覆盖 viewer,未改变 app-server 模型选择。未引入平台专有路径或进程逻辑。