Skip to content

增强 Windows Computer Use 启动前检查与 CDP 就绪判定#906

Open
YUANLITONGZAI wants to merge 6 commits into
BigPizzaV3:mainfrom
YUANLITONGZAI:computer-use-guard-windows
Open

增强 Windows Computer Use 启动前检查与 CDP 就绪判定#906
YUANLITONGZAI wants to merge 6 commits into
BigPizzaV3:mainfrom
YUANLITONGZAI:computer-use-guard-windows

Conversation

@YUANLITONGZAI

Copy link
Copy Markdown

摘要

这个 Draft PR 为 Codex++ 增加 Windows-only 的 Computer Use 启动前检查和启动链路加固,目标是让 Computer Use 在 Codex++ 中更稳定地可用。

修复范围集中在启动前配置修复、bundled 插件可用性、CDP 目标判定、已有实例复用路径,以及 bundled runtime 的兼容性兜底。

相关问题/讨论:

主要改动

  • 新增 Windows Computer Use 启动前 guard:

    • 修复 ~/.codex/config.toml 的 UTF-8 BOM。
    • 保证 [features] js_repl = true
    • 启用 openai-bundled 的 browser/chrome/computer-use 插件。
    • 保证 root notify = ["...codex-computer-use.exe", "turn-ended"]
  • 在 Codex++ 写入 live relay config 时保留 Computer Use 必需配置,避免切换供应商后覆盖 guard 结果。

  • 增加 OpenAI bundled marketplace 的修复/复用逻辑。

  • 加强 CDP readiness 判断:

    • 注入路径必须选择 Codex page target。
    • target 必须包含 websocket。
    • 拒绝无关 CDP page,避免误注入其他服务。
    • 避免把启动前已存在的旧 target 误判为本次启动成功。
  • 整理 launcher 生命周期:

    • existing-instance 路径也执行 Computer Use guard。
    • helper/watchdog 生命周期更明确。
    • 常规启动路径不默认杀 Codex 进程。
  • 增加 bundled @oai/sky runtime exports 兼容性兜底:

    • 仅当 Computer Use client 引用的 exact internal subpath 存在但未被 package.json exports 暴露时,补充该 exact export。
    • 不使用过宽的通配导出。
    • 已存在或官方后续修复时保持 no-op。
  • 增加 post-launch retry:

    • runtime artifacts 启动后延迟出现时,仍可被后续 guard 发现并修复。

范围说明

这个 PR 刻意不包含:

  • 私有 release 文档。
  • 本机路径。
  • 二进制文件或备份 exe。
  • 私有仓库信息。
  • 二维码图片清理。
  • 与 Computer Use 无关的 Manager UI / provider preset 改动。

非 Windows 平台应保持 no-op,不改变现有行为。

验证

自动化验证

以下命令由 Codex 代理在本地 Windows 环境中执行,用户负责授权、复核执行范围和确认结果;不是 upstream CI 结果,也不代表维护者环境已经验证。

git diff --check origin/main..HEAD
cargo +stable-x86_64-pc-windows-msvc test -p codex-plus-core launcher
cargo +stable-x86_64-pc-windows-msvc test -p codex-plus-core computer_use_guard
cargo +stable-x86_64-pc-windows-msvc test -p codex-plus-core relay_config

上述命令均通过。

运行时验证

运行时验证是在本地 Windows 安装版 Codex++ 上完成的,同等 Computer Use Guard / CDP / runtime exports 补丁已安装并验证通过。该结果用于说明方案在一个真实 Windows GUI 环境中可行,但仍建议维护者在自己的环境中复测。

已验证现象:

  • 57321 helper backend 返回 OK。
  • 9229/json 返回 Codex page target,并包含 websocket。
  • ~/.codex/config.toml 无 BOM,js_repl=true,Computer Use 所需 bundled 插件启用,notify 指向有效的 codex-computer-use.exe
  • Computer Use 插件可以初始化。
  • list_apps 成功。
  • Calculator 无害点击测试 1 + 2 = 3 成功。

说明

这个 PR 的代码和验证过程主要由 Codex 代理协助完成,并由用户进行范围确认和结果复核。由于 Computer Use / CDP / bundled runtime 行为与本机运行环境相关,欢迎维护者进一步审查实现边界,并指出是否需要拆分 PR 或调整默认行为。

这是 Draft PR,主要用于让维护者评估方案方向、实现边界和是否需要拆分。当前实现避免在常规启动路径中强制杀进程;涉及清理残留进程的操作仍应保留给显式修复脚本或用户确认后的修复流程。

@YUANLITONGZAI

Copy link
Copy Markdown
Author

由于 upstream 已更新到 Codex++ 1.2.5,我基于 1.2.5 / 当前 upstream main 重新适配了 Windows Computer Use Guard,并新开了 Draft PR #918

#906 可以作为早期实现记录保留;#918 更适合作为后续审查对象,因为它基于当前 upstream main,避免把旧基线差异带入审查。

补充说明:#918 已做本地 Windows/MSVC 命令行测试和 Linux 命令行回归测试,但还没有把 1.2.5 适配分支替换成本机安装版做 Windows GUI / 鼠标控制端到端测试,因此不应理解为完整运行时验收已经完成。后续如维护者需要,我可以继续补充测试结果或协助拆分实现。

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant