导语:服务器没有图形界面,Codex 的活却在服务器上。在本地 ChatGPT / Codex 桌面版里通过 SSH 下达任务时,远端 Codex 不会自动继承本地 Coskey 的模型配置。这篇用本地模型网关和远端通道,把多个第三方模型补回选择器。
01 SSH 连上了,模型切换却没了 Coskey 的自由
服务器没有图形界面。我们在本地通过 SSH 连接 ECS,在远端项目里下达任务,命令仍在服务器上执行。
但打开模型选择器,远端 Codex 通常只有默认模型;如果在远端的 config.toml 里配置过,可能还会多一个“自定义”项,但它不会像本地 Coskey 那样提供一整份可切换的第三方模型清单。SSH 解决了连接,模型切换还要另外补一条链路。
02 先准备好模型网关
先确认 Coskey 已接入第三方供应商,并且要用的模型映射已经启用。本文从这里开始,不再重复供应商接入步骤。
然后打开 Coskey 的「模型网关」,访问范围选择「仅本机」,确认网关正常运行。网关不必对外公开地址,也不需要安装到 ECS;它只负责在本地提供模型入口和模型目录。
目前还不需要急着创建远端专用 client。下一步接入 ECS 时,再创建一条只给这台服务器使用的 client,并勾选允许远端切换的多个第三方模型。
03 把 ECS 接入远端通道
ECS 必须已经具备 POSIX sh、Node.js 和 npm,但不需要提前安装 Codex CLI。Coskey 会在接入时通过国内 npm 镜像安装或更新 Codex。
先确认 ChatGPT / Codex 桌面版的「设置 → 连接」里已经有这台 ECS。
Coskey「远端通道」读取的正是这里的 SSH 主机列表。
找到 ECS,点击「接入」,选择「经本机 Coskey 网关」。然后新建一条只给这台服务器使用的 client,比如 ecs-codex,勾选要让远端切换的多个第三方模型。第一个勾选的模型会成为远端 Codex 的默认模型,其余模型也会进入允许列表。
点击「生成接入计划」,确认计划中的主机、模型、安装位置和远端端口后执行。Coskey 会安装 Codex、写入远端配置和权限为 0600 的 token 文件,并建立 SSH 反向隧道,最后验证模型目录是否能正常返回。
ECS 上不需要安装 Coskey,也不需要保存第三方供应商的 API key。远端的模型请求会经隧道回到本地网关。
如果 ECS 上已有非 Coskey 管理的 ~/.codex/config.toml,执行前需要明确是否允许覆盖,避免把原有 Codex 配置连同插件设置一起替换。接入期间还要保证本地 Coskey 网关正常运行。
04 重连一次,让远端加载新模型
接入成功后,不要直接在当前远端会话里反复点模型选择器。返回 ChatGPT / Codex 桌面版的「设置 → 连接」,先把这台 ECS 断开,再重新连接。
Coskey 在接入时已经结束旧的远端 Codex app-server,重新连接后启动的新进程会读取刚写入的模型配置,并通过 SSH 反向隧道拉取本地网关的模型目录。
连接恢复后,再打开 ECS 上的项目。模型选择器里现在应该能看到该 client 允许的多个第三方模型。
这一步不重新安装 Codex,也不重新建立远端通道;它只是让远端 Codex 重新加载配置。
05 在本地桌面界面,切换远端 Codex 的三方模型
本地 ChatGPT / Codex 桌面,重新打开 ECS 上的项目后,点击对话输入框附近的模型选择器。这里展示的是 Coskey client 中允许的模型,不会把本地全部模型都带过来。
选中一个第三方模型后,正常下达任务即可。命令仍在 ECS 上执行,模型请求则通过远端通道回到本地 Coskey 网关,再转发到对应的供应商。
第一个勾选的模型会作为默认模型;之后可以在选择器里切换到其他已授权模型。切换只影响后续请求,正在执行的任务不会中途更换模型。
简单排查日志、安装环境时可以选择速度更快的模型;需要分析复杂故障时,再切换到能力更强的模型,远端 Codex 的使用方式本身不变。
06 有问题排查方法
整条链路可以画成这样:
先看本地 Coskey 的模型网关是否正在运行。网关停止时,远端 Codex 仍保留配置,但拉不到模型目录,选择器就会是空的或只剩旧内容。
再看 Coskey「远端通道」中的 ECS 是否处于运行状态。网关正常但反向隧道停止,ECS 仍然访问不到本地模型。
接着检查远端专用 client 的「允许模型」。模型即使已经在本地网关中可用,只要没有加入这个 client,也不会出现在远端选择器里。
最后断开并重新连接 ECS。远端 Codex app-server 和模型目录都有缓存,重新连接后等目录刷新,再打开项目。通常不需要重新安装 Codex。
如果选择器已经有模型,但发送任务失败,问题通常转到本地供应商、模型映射或上游密钥,不再是 SSH 连接。
小结
SSH 只负责把本地 ChatGPT.app 接到 ECS 上的 Codex。远端 Codex 通过反向隧道从本地模型网关读取可用的第三方模型;切换后,模型请求也沿这条隧道回到本地,再转发给对应供应商。
所以,ChatGPT.app 的对话框既用来下达任务,也用来控制远端 Codex 的模型选择;任务仍然在 ECS 上执行,模型则由本地 Coskey 提供。
coskey 已在 macOS 和 Windows 上发布:
-
官网下载:https://www.cosk.ai/products/coskey/

