> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siflow.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# Codex

> 了解如何配置 Codex CLI 和 VS Code extension 的 config.toml，接入 siflow endpoint，并使用算秩模型完成编码任务。

Codex 是 OpenAI 的 AI coding assistant，提供命令行工具和 VS Code extension。您可以将 Codex 连接到 siflow endpoint，并使用算秩模型完成编码任务。

CLI 和 extension 共用同一个 `config.toml`。配置存放在 Codex home 目录下的 `config.toml` 中，通常是 `~/.codex/config.toml`。完整配置项请参考 [Codex Configuration Reference](https://developers.openai.com/codex/config-reference)。

支持的模型包括 `glm-5.2` 和 `kimi-k2.6`。完整模型列表和价格请参考 [模型广场](https://console.siflow.cn/model-inference/models)。

## 配置

### 1. 安装 Codex

CLI 可以通过 npm 或 Homebrew 安装：

```bash theme={null}
npm install -g @openai/codex
# or
brew install codex
```

其他安装方式请参考 [官方安装指南](https://github.com/openai/codex#installation)。

对于 VS Code extension：

1. 在 VS Code 中打开 **Extensions**（`Ctrl+Shift+X` / `Cmd+Shift+X`）。
2. 搜索 **Codex** 并安装官方 extension。
3. 单击编辑器右上角的 Codex 图标，打开 **CODEX** panel。

<img src="https://mintcdn.com/siflow/MD6YC9TIaGxx7fBG/model-inference/media/codex-ext.png?fit=max&auto=format&n=MD6YC9TIaGxx7fBG&q=85&s=d6e4d3c489018a713869f5ae962fc589" alt="在 VS Code 扩展市场安装 Codex extension" style={{ width: "60%", height: "auto" }} width="1778" height="1210" data-path="model-inference/media/codex-ext.png" />

### 2. 配置模型

在 [API 密钥](https://console.siflow.cn/model-inference/api_keys) 页面创建 API Key，然后选择以下两种方式之一提供密钥。

<Warning>
  请不要将 API Key 和其他 secrets 提交到 Git。建议使用环境变量，或使用已被版本控制忽略的本地 `.env` 文件。
</Warning>

#### 方式 1：使用环境变量

编辑 `~/.codex/config.toml`，通过 `env_key` 指向一个环境变量：

```toml theme={null}
model = "glm-5.2"
model_provider = "siflow"
approval_policy = "never"
sandbox_mode = "workspace-write"

[model_providers.siflow]
name = "siflow"
base_url = "https://api.siflow.cn/model-api"
env_key = "SIFLOW_API_KEY"
wire_api = "responses"
```

启动 Codex 前设置密钥：

```bash theme={null}
export SIFLOW_API_KEY="<Your API Key>"
code .
```

#### 方式 2：将 token 存入 `config.toml`

如果不想使用环境变量，可以在 `config.toml` 中使用 `experimental_bearer_token` 直接写入密钥，替代 `env_key`。

```toml theme={null}
model = "glm-5.2"
model_provider = "siflow"
approval_policy = "never"
sandbox_mode = "workspace-write"
model_reasoning_effort = "medium"

[model_providers.siflow]
name = "siflow"
base_url = "https://api.siflow.cn/model-api"
experimental_bearer_token = "<YOUR_API_KEY>"
wire_api = "responses"
```

#### 参数说明

无论使用哪种方式，配置后的模型都会在 Codex 中可用。

<img src="https://mintcdn.com/siflow/MD6YC9TIaGxx7fBG/model-inference/media/codex-open-source.png?fit=max&auto=format&n=MD6YC9TIaGxx7fBG&q=85&s=405fe10f3f83481eac6d037fd841b697" alt="Codex 配置算秩 Model Inference provider 和模型" width="3006" height="1764" data-path="model-inference/media/codex-open-source.png" />

| 字段                          | 说明                                                                               |
| --------------------------- | -------------------------------------------------------------------------------- |
| `model`                     | 来自 [模型广场](https://console.siflow.cn/model-inference/models) 的模型 ID，例如 `glm-5.2`。 |
| `model_provider`            | 必须与 `[model_providers.<name>]` section 匹配。这里使用 `siflow`。                         |
| `approval_policy`           | `never` 表示不弹出 approval prompts；`on-request` 或 `untrusted` 可提供更多控制。               |
| `sandbox_mode`              | `workspace-write` 表示可在 workspace 内读取和编辑；`read-only` 表示只读。                        |
| `base_url`                  | siflow API endpoint：`https://api.siflow.cn/model-api`。                           |
| `wire_api`                  | 最新 Codex 版本使用 `responses`。                                                       |
| `env_key`                   | 对应方式 1。保存 API Key 的环境变量。                                                         |
| `experimental_bearer_token` | 对应方式 2。直接嵌入的算秩 API Key，而不是通过 `env_key` 读取。                                       |
| `model_reasoning_effort`    | 模型 reasoning depth，例如 `low`、`medium` 或 `high`。                                   |

## MCP Servers

某些内置 tool types，例如 `web_search`，可能在这些模型上不可用。您可以通过 MCP（Model Context Protocol）servers 增加这些能力。

在 `config.toml` 的 `[mcp_servers.<name>]` 下配置 search MCP server 后，当需要 web search 时 Codex 会调用它。MCP server 配置详情请参考 [Codex Configuration Reference](https://developers.openai.com/codex/config-reference)。
