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

# Codex CLI

> 通过 Hostlinku 运行 OpenAI Codex CLI，并在 ~/.codex/config.toml 中使用自定义提供程序（wire_api = "responses"）

[Codex CLI](https://developers.openai.com/codex/cli) 仅支持 **OpenAI Responses** 协议。 Hostlinku 在 [`POST /v1/responses`](https://docs.hostlinku.com/zh/responses) 中提供了该功能-无状态，支持 `reasoning.encrypted_content`、函数调用和流式传输，完全符合 Codex 的预期。配置上只需一个自定义提供商即可。

### 安装 Codex CLI

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

### 添加提供商 Hostlinku

编辑 `~/.codex/config.toml`（若不存在则创建）。该用户文件中**必须**定义提供程序-出于安全考虑，项目中的 `.codex/config.toml` 不得覆盖 `model_providers`。

```toml theme={null}
model = "gpt-5-3-codex"
model_provider = "hostlinku"
model_reasoning_effort = "medium"

[model_providers.hostlinku]
name = "Hostlinku"
base_url = "https://api.hostlinku.com/v1"
env_key = "HOSTLINKU_API_KEY"
wire_api = "responses"
```

### 设置 API 密钥并运行

```bash theme={null}
export HOSTLINKU_API_KEY=sk-your-api-key   # simpan di ~/.zshrc / ~/.bashrc
codex
```

Codex 从名为 `env_key` 的变量中读取键；该键从未写入 `config.toml`。

### 验证

发送一条简单的指令（例如 *“说明此仓库的结构”*）。该请求将显示在控制台的 → **请求日志** 中，模型编号为 `gpt-5-3-codex`。如果想在打开 Codex 之前确认端点：

```bash theme={null}
curl https://api.hostlinku.com/v1/responses \
  -H "Authorization: Bearer $HOSTLINKU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "gpt-5-3-codex", "input": "Halo" }'
```

## 几位模特通过个人资料

使用 `[profiles.*]` 可在无需修改配置的情况下切换模型/提供商：

```toml theme={null}
[profiles.cepat]
model = "gpt-5-6-luna"
model_provider = "hostlinku"
model_reasoning_effort = "low"

[profiles.kuat]
model = "gpt-6-astra"
model_provider = "hostlinku"
```

```bash theme={null}
codex --profile kuat
codex --profile cepat "tulis unit test untuk utils/date.ts"
```

该代码仅适用于模型 OpenAI

Codex会发送其自带的工具（shell、补丁文件等）。非OpenAI模型会拒绝此类工具，并返回`The requested tool type is not supported by this model`。这意味着`claude-*`、`deepseek-*`、 `glm-*`、`qwen*`、`kimi-*` 和 `minimax-*` **无法**通过 Codex 使用-请使用 `gpt-*` 模型。 对于其他模型，请使用支持 Anthropic 或 Chat Completions 方言的客户端（如 Claude Code、Cline、OpenCode、Aider）。

模型为 `gpt-*` 的 **Responses-native**（Codex 工具原样传递）： `gpt-5-3-codex`、`gpt-5-6-sol`、`gpt-5-6-luna`、`gpt-5-5`、`gpt-6-1-sol`、`gpt-6-sol`、`gpt-6-luna` 和 `gpt-6-astra`。 `gpt-5-6-terra`仅支持Chat Completions，因此**无法**运行Codex shell工具。

无状态，完全符合Codex的默认设置

Codex CLI 在每个回合中都会发送 `input` 和 `store: false` 中的完整对话记录，并请求 `include: ["reasoning.encrypted_content"]` 重新发送推理项。 Hostlinku 原样支持此流程；`previous_response_id` 未被 Codex 使用，因此无状态网关的特性不会产生影响。参见 [Responses API](https://docs.hostlinku.com/zh/responses.md)。

只是想替换默认的 OpenAI 端点吗？

无需新提供商的替代方案：将 `openai_base_url = "https://api.hostlinku.com/v1"` 设置为 `config.toml` 和 `OPENAI_API_KEY=sk-…`（API 密钥 Hostlinku）。 仍建议使用自定义提供商，因为其名称在用户界面中清晰可见，且其密钥与原始密钥 OpenAI 相互独立。

## 故障排除

* **`401`** - `env_key` 中的变量尚未导出到运行 `codex` 的 shell 中。
* **模型回答“无法运行shell”，随后编造了输出结果** -该模型并非Responses原生模型，因此Codex工具在数据到达模型之前就被移除了。请从上方的Codex就绪模型列表中选择模型；请勿将`gpt-5-6-terra`用于Codex。
* **`400 previous_response_id tidak didukung`** - 仅在存在强制启用 *stored responses* 模式的插件/脚本时才会出现。请确保 `store` 不会被 `true` 强制触发。
* **模型未显示 / `404`** - 别名错误；`/v1/models` 显示了与您的密钥对应的有效列表。
* **旧版Codex要求使用`wire_api = "chat"`** - Hostlinku同样支持[`/v1/chat/completions`](https://docs.hostlinku.com/zh/chat-completions)；但Codex的推理功能与`responses`配合使用时效果最佳。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.