# 登录

有两种登录方式，按你付费的方式选：

| | 用 ChatGPT 账号登录 | 用 API Key 登录 |
| --- | --- | --- |
| 适合谁 | 代充了 Plus / Pro | 用 2api 的余额或套餐 |
| 怎么计费 | 用 ChatGPT 套餐自带的额度 | 按用量从 2api 余额扣费 |
| 能用什么 | ChatGPT 和 Codex 的全部功能 | Codex 写代码 |
| 怎么配置 | [登录代充的 ChatGPT 账号](#用-chatgpt-账号登录) | [用 magpie 一键配置](#用-api-key-登录) |

两种都想用，见[两种都要用](#两种都要用)。

## 用 ChatGPT 账号登录

:::caution[代充用户先看：每次都用同一个账号、同一种方式登录]
套餐跟着账号走。代充时提交的是哪个账号，之后就一直用它登录，否则会进到一个免费账号里。常见的坑：

- 用 Apple 登录时选了「隐藏邮件地址」，得到的是一个 `@privaterelay.appleid.com` 邮箱，和你用真实邮箱注册的不是同一个账号。
- 用 Google、Microsoft 或 Apple 注册的账号可能没有密码，点「忘记密码」收不到邮件，要继续用当初的方式登录。
:::

ChatGPT 和 Codex 是同一个账号，登录一次两边都能用。可以用邮箱加密码、Google、Microsoft、Apple 或公司的单点登录（SSO）。

打开 ChatGPT 桌面版，点「Continue to sign in」，在弹出的浏览器里登录。
  打开 [chatgpt.com](https://chatgpt.com) 或手机 App，点「登录」。
  在 Codex 面板的未登录界面点「Sign in with ChatGPT」，在浏览器里登录。
  ```bash
  codex login
  ```

  选「Sign in with ChatGPT」，浏览器会自动打开，登录完回到终端就行。第一次直接运行 `codex` 也会提示登录。
  **确认登录的是哪个账号**：点左下角的头像打开个人菜单，能看到当前账号。命令行版运行 `codex login status`。编辑器插件和命令行版共用登录信息，一边登录了，另一边一般不用再登。

**建议打开两步验证**：在设置的「安全」里开启，可以用验证器 App 或通行密钥。打开后，别人就算拿到密码也登录不了。

命令行版登录卡住了，见本页最后的[命令行版登录遇到问题](#命令行版登录遇到问题)。

## 用 API Key 登录

用 2api 的余额或套餐，就选这种：Codex 不登录 ChatGPT，直接用 2api 的 Key 调模型，按用量从余额扣费。Key 要建在 GPT 的分组里，见[分组](https://docs.2api.dev/start/endpoints/#分组)。

Codex 登录界面里也有填 API Key 的选项，但它默认连的是 OpenAI 官方接口，直接填 2api 的 Key 用不了。推荐交给 magpie 配置：

<MagpieLink href="/magpie/" title="用 magpie 一键配置所有 Agent">Codex、Claude Code 等所有 Agent 一次配好，不用改 config.toml</MagpieLink>

在 magpie 里配 Codex 只要三步：

1. 点「一键添加 2api GPT」，粘贴你的 Key。
2. 在「Agent」页打开 Codex 的「接入」开关，模型选 2api GPT 下的。
3. 完全退出 Codex 再打开。

不想装 magpie，也可以手动写配置：[Codex CLI](https://docs.2api.dev/clients/codex/)、[Codex 插件](https://docs.2api.dev/clients/codex-ide/)。

## 两种都要用

交给 magpie：Codex 保持 ChatGPT 账号登录，接入 magpie 以后，2api 的模型会直接出现在 Codex 的模型菜单里，后面带「· 2api」。选带「· 2api」的走 2api 余额，选其他的用订阅额度，不用退出登录，也不用改 `config.toml`。

<MagpieLink href="/magpie/#和-chatgpt-订阅一起用" title="用 magpie 同时用 2api 和 ChatGPT 订阅">登录着 ChatGPT，也能直接选 2api 的模型</MagpieLink>

<details>
<summary>不用 magpie，手动切换</summary>

先按 [ChatGPT 登录 + 2api 扣费](https://docs.2api.dev/clients/codex-login/) 页面最后的手动配置操作：账号用 ChatGPT 登录，`config.toml` 里同时写好 2api 的 provider 和 Key。之后切换只看 `config.toml` 的第一行：

```toml title="~/.codex/config.toml"
# 有这一行：走 2api，从 2api 余额扣费
model_provider = "sub2api"

# 删掉上面这一行，或者在行首加 #：改用 ChatGPT 订阅的用量
```

改完完全退出 Codex 再打开。只想临时用一次订阅的用量，不改文件也行：

```bash
codex -c model_provider="openai"
```

</details>

## 退出登录

- 桌面版、网页版和编辑器插件：打开个人菜单，点「Log out」（退出登录）。
- 命令行版：运行 `codex logout`。它会同时清掉 ChatGPT 登录和 API Key。

## 命令行版登录遇到问题

只用桌面版、网页版或手机的，可以跳过这一节。

### 浏览器登录成功了，终端还在等

登录的最后一步，浏览器要把结果交回本机的 `http://localhost:1455`。代理软件、被占用的端口、在远程机器上运行，都会让这一步失败。按顺序试：

1. **让 localhost 不走代理。** 在运行 `codex login` 的终端里先设置：

   ```bash
     export NO_PROXY=localhost,127.0.0.1
     codex login
     ```
     ```powershell
     $env:NO_PROXY = "localhost,127.0.0.1"
     codex login
     ```
     代理软件和浏览器的代理扩展里，也给 `localhost` 和 `127.0.0.1` 加上直连规则。

2. **检查 1455 端口（Windows）。** 端口被别的程序占用，或者落在 Windows 保留的端口范围里，都会失败：

   ```powershell
   netstat -ano | findstr :1455
   netsh interface ipv4 show excludedportrange protocol=tcp
   ```

   第一条有输出，说明端口被占用，在任务管理器里按最后一列的 PID 结束那个程序。第二条列出的某个范围包含 1455 的话，用管理员身份打开 PowerShell，先运行 `net stop winnat`，再运行 `net start winnat`。装过 Hyper-V、WSL2 或某些 VPN 软件后常遇到这种情况。

3. **改用设备码登录**，见下一节。它不需要本机回调。

### 用设备码登录

适合远程服务器、Docker，或者本机回调一直失败的情况。这个功能目前是测试版。

1. 先在 ChatGPT 网页版的安全设置里打开设备码登录。工作区账号要请管理员在工作区权限里打开。

2. 在终端运行：

   ```bash
   codex login --device-auth
   ```

   在交互式登录界面里选「Sign in with Device Code」也一样。

3. 在任意一台设备的浏览器里打开终端给出的链接，登录 ChatGPT，输入一次性代码。

### 在远程机器上登录

设备码登录用不了时，还有两个办法。

**把本机的登录信息复制过去。** 先在有浏览器的电脑上运行 `codex login`，再把 `~/.codex/auth.json` 复制到远程机器的同一位置：

```bash
ssh user@remote 'mkdir -p ~/.codex'
scp ~/.codex/auth.json user@remote:~/.codex/auth.json
```

**把回调端口转发到本机。** 用下面的命令连上远程机器，在这个 SSH 会话里运行 `codex login`，再在本机浏览器打开它打印出来的地址：

```bash
ssh -L 1455:localhost:1455 user@remote
```

:::caution[auth.json 等于你的密码]
`auth.json` 里存的是登录凭证。不要提交到 Git，也不要发到群里或工单里。
:::

### 公司网络和登录日志

- 网络里有公司的 TLS 代理或私有根证书时，登录前设置 `CODEX_CA_CERTIFICATE`，指向 PEM 格式的证书文件：

  ```bash
  export CODEX_CA_CERTIFICATE=/path/to/corporate-root-ca.pem
  codex login
  ```

- 每次运行 `codex login` 都会单独写一份 `codex-login.log`，默认在 `~/.codex/log` 文件夹里。登录出问题找客服时可以附上，发之前看一眼，别带上敏感信息。

---

本页按 OpenAI 官方文档整理，核对于 2026 年 10 月。OpenAI 更新很频繁，按钮名称和菜单位置可能略有出入，以你看到的界面为准。