# Codex CLI

:::tip[更省事的办法]
- 用 [magpie](https://docs.2api.dev/magpie/) 一键切换，不用碰配置文件。
- 或者在控制台「API 密钥」列表里点 Key 后面的「使用密钥」，控制台会按你的分组生成 Codex 配置，直接复制。
:::

开始前先在控制台创建一个 **GPT 分组**的 Key（见[分组](https://docs.2api.dev/start/endpoints/#分组)）。

## 安装

用官方安装方式，按你的系统选一个：

```bash
  curl -fsSL https://chatgpt.com/codex/install.sh | sh
  ```
  ```powershell
  powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
  ```
  ```bash
  npm install -g @openai/codex
  brew install --cask codex
  ```
  装好后运行 `codex --version`，能看到版本号就行。

## 配置

1. 完全退出正在运行的 Codex，包括 VS Code 里的 Codex 插件。

2. 写入 API Key。新建或修改 `~/.codex/auth.json`（Windows 是 `%USERPROFILE%\.codex\auth.json`）：

   ```json title="~/.codex/auth.json"
   {
     "OPENAI_API_KEY": "sk-你的Key"
   }
   ```

   也可以用命令写入，效果一样：

   ```bash
   printf 'sk-你的Key' | codex login --with-api-key
   ```

3. 编辑 `~/.codex/config.toml`，把下面几行放在文件**最开头**，在任何 `[...]` 段落之前：

   ```toml title="~/.codex/config.toml"
   model_provider = "sub2api"

   [model_providers.sub2api]
   name = "sub2api"
   base_url = "https://2api.dev/v1"
   wire_api = "responses"
   requires_openai_auth = true
   ```

   - 想固定用某个模型，在第一行下面加 `model = "模型名"`。模型名以控制台「使用密钥」里显示的为准，也可以用 [`/v1/models`](https://docs.2api.dev/start/endpoints/#模型名) 查。
   - 可选：在 `[model_providers.sub2api]` 里加一行 `model_catalog_url = "https://2api.dev/v1/models"`，新版 Codex 的 `/model` 列表就会显示 2api 的模型。加了之后启动报错的话，删掉这一行即可。

4. 进入项目目录启动：

   ```bash
   cd 你的项目
   codex
   ```

   在 Codex 里输入 `/status`，provider 显示 `sub2api`、地址是 `https://2api.dev/v1`，就说明走的是 2api。

:::note[老用户：provider 名字别改]
保持 `model_provider`、`[model_providers.sub2api]` 和 `name` 三处都是 `sub2api`。Codex 的历史会话和 provider 名字绑定，改名后旧会话会"看不见"。旧教程里 `base_url` 写的是 `https://2api.dev`（不带 `/v1`），也能用，不必改。
:::

:::caution[不要把 provider 叫 openai]
`openai` 是 Codex 内置的名字，用它当自定义 provider 名时 `base_url` 会被忽略，请求会直接发去 OpenAI 官方。
:::

## 下一步

- 在 VS Code 或 Cursor 里用：[Codex 插件](https://docs.2api.dev/clients/codex-ide/)
- 还想用手机 App、官方插件等需要 ChatGPT 登录的功能：[Codex 官方登录 + API](https://docs.2api.dev/clients/codex-login/)
- 遇到报错：[Codex 常见问题](https://docs.2api.dev/faq/codex/)