## 问题 在我的远端 Mac 上,通过 Homebrew 安装的默认 `node` 是 **v25.4.0**(`/opt/homebrew/bin/node` 指向 `/opt/homebrew/Cellar/node/25.4.0/bin/node`)。codexhost 的 SSH 连接正常,但点击安装远程服务时,Node 版本白名单会拒绝 25.x。 希望增加 Node.js 25.x 支持。放宽本地安装器的版本检查后,同一台远端电脑上的服务已经正常启动,状态为 `ready` / `running`,协议为 `codexhost`,`issues` 为空。 ## 环境 - codexhost:0.13.2,npm 安装。 - 本机与远端:macOS arm64。 - 本机 ChatGPT/Codex Desktop:26.1013.31256,build 20586。 - 连接方式:SSH;远端 shell 为 zsh。 - 远端 Node.js:Homebrew 安装的 v25.4.0。 - 影响范围:Remote / Install;发生在具体 Harness 启动之前。 ## 复现步骤 1. 在远端使用 Homebrew 安装的 Node.js 25.x,确保交互式登录 shell 可以找到 `node`、`npm` 和 `codex`。 2. 在本地 codexhost 0.13.2 的远程连接页面连接该电脑。 3. 点击安装远程服务。 4. SSH 已连接,但安装被以下错误阻止: ```text 远程 Node.js 版本不受支持,请选择 Node.js 22.19 及以上的 22.x 版本,或 Node.js 24.x ``` ## 排查与实测 安装器会加载交互式登录 shell。按相同方式检查时,`node` 能正确解析到 Homebrew 的 v25.4.0;失败来自 `crates/updater/src/ssh.rs` 的白名单,返回码为 55: ```js major === 24 || (major === 22 && minor >= 19) ``` 本地补丁仅增加 `major === 25` 后,版本检查通过。随后通过 `codexhost remote status` 读取到以下状态(仅保留相关字段): ```json { "state": "ready", "issues": [], "nodePath": "/opt/homebrew/Cellar/node/25.4.0/bin/node", "runtime": { "state": "running", "protocol": "codexhost" } } ``` 这些结果确认了该 macOS/Node 25.4.0 环境中的远程服务可启动运行;尚未覆盖所有 Harness 和操作系统的完整兼容性矩阵。 ## 期望与修复方向 允许 Node.js 25.x 继续安装和维护远程服务,保留 Node 22.19+(22.x)和 24.x 的现有支持,并同步源码开发入口、版本声明及中英文提示。新增版本边界回归测试,继续拒绝 22.18、23 和尚未纳入支持范围的 26。 ## 关联修复 PR:#546(合入后关闭本 issue)。
Activity