身份验证
基于用量计费的替代方式:使用 OpenAI API key
如果你更喜欢按量付费,你仍然可以使用 OpenAI API key 进行身份验证:
codex login --api-key "your-api-key-here"
这个 key 至少需要对 Responses API 拥有写权限。
从 API key 迁移到 ChatGPT 登录
如果你之前使用 Codex CLI 结合 API key 按量计费,现在想切换为使用 ChatGPT 套餐,请按照以下步骤操作:
- 更新 CLI 并确认
codex --version
为0.20.0
或更高版本 - 删除
~/.codex/auth.json
(Windows 下路径为C:\\Users\\USERNAME\\.codex\\auth.json
) - 再次运行
codex login
在 “无头” 机器上连接
目前,登录过程会在 localhost:1455
启动一个服务。如果你在 “无头” 服务器上,比如 Docker 容器,或者通过 ssh
连接到远程机器,那么在本地浏览器中打开 localhost:1455
并不会自动连接到远程机器上的服务,你需要使用以下解决方案之一:
在本地认证并复制凭据到 “无头” 机器
最简单的方式是先在本地机器运行 codex login
,这样 localhost:1455
在你的浏览器中是可访问的。完成认证后,会在 $CODEX_HOME/auth.json
生成一个 auth.json
文件(在 Mac/Linux 上,$CODEX_HOME
默认为 ~/.codex
,在 Windows 上默认为 %USERPROFILE%\\.codex
)。
因为 auth.json
文件并不绑定到特定主机,所以你可以在本地完成认证后,把 $CODEX_HOME/auth.json
文件复制到无头机器上,之后 codex
就能在那台机器上正常使用了。比如复制文件到 Docker 容器,可以这样操作:
# 用你的 Docker 容器的名称或 ID 替换 MY_CONTAINER
CONTAINER_HOME=$(docker exec MY_CONTAINER printenv HOME)
docker exec MY_CONTAINER mkdir -p "$CONTAINER_HOME/.codex"
docker cp auth.json MY_CONTAINER:"$CONTAINER_HOME/.codex/auth.json"
如果你是通过 ssh
连接远程机器,更常见的方式是使用 scp
:
ssh user@remote 'mkdir -p ~/.codex'
scp ~/.codex/auth.json user@remote:~/.codex/auth.json
或者使用这个单行命令:
ssh user@remote 'mkdir -p ~/.codex && cat > ~/.codex/auth.json' < ~/.codex/auth.json
通过 VPS 或远程机器连接
如果你在没有本地浏览器的远程机器(VPS/服务器)上运行 Codex,登录助手会在远程主机的 localhost:1455
启动一个服务。要在本地浏览器中完成登录,需要在启动登录流程前把该端口转发到你的本地机器:
# 在本地机器执行
ssh -L 1455:localhost:1455 <user>@<remote-host>
然后,在该 SSH 会话中运行 codex
并选择 “Sign in with ChatGPT”。当命令行提示你打开一个 URL(如 http://localhost:1455/...
)时,在本地浏览器中打开它。流量会通过隧道转发到远程服务器。