Skip to main content
Codex CLI 是 OpenAI 开源的终端编码 Agent,支持文件读取、代码修改和命令执行。通过自定义 Provider,可在本地项目中使用 Step Plan 模型完成开发任务。

接入条件

  • 已安装 Node.js、npm、curl 和 Python 3。以下终端命令适用于 Bash 或 zsh,Windows 用户可在 WSL 中执行。
  • Step Plan 订阅有效、额度可用,且具备所用模型的调用权限。
  • 已在 StepFun 开放平台密钥管理页面创建 API Key。

接入说明

  • Codex CLI 0.154.0 仅支持 Responses API,wire_api 使用 responses。Step Plan 提供 /step_plan/v1/responses,可直接连接,无需协议转换代理。
  • 用户配置写入 $CODEX_HOME/config.toml,CODEX_HOME 默认为 ~/.codex。API Key 通过环境变量或该目录下的 .env 提供,不写入 config.toml。
  • Codex 的内置模型目录主要提供 OpenAI 模型元数据。本配置通过 model_catalog_json 声明 Step 模型名称、上下文窗口和输入能力,使其在 /model 中可选;模型目录只在 Step 专用 profile 中启用。

安装 Codex CLI

安装 Codex CLI 0.154.0:
检查安装版本:
预期输出为 codex-cli 0.154.0。

配置 Step Plan

确定配置目录

在终端执行以下命令,保留已有的 CODEX_HOME 设置;未设置时使用默认目录:
如需与日常配置分开,改用独立目录后再继续配置:
请在同一终端中完成后续配置与启动。以后使用独立配置目录时,也需先设置对应的 CODEX_HOME。

添加 Provider

编辑 $CODEX_HOME/config.toml,合并以下配置,保留其他设置。若已存在 [model_providers.stepfun],更新该表即可。
Provider 定义必须放在用户级配置中。Codex 会忽略项目 .codex/config.toml 中的 model_provider 和 model_providers。自定义 Provider 也不能使用 openai、ollama、lmstudio 等保留标识。

设置 API Key

将 YOUR_STEP_API_KEY 替换为实际密钥,选择以下一种方式配置。 在启动 Codex 的终端中设置环境变量:
也可编辑 $CODEX_HOME/.env,添加或更新以下内容,由 Codex 启动时加载:
设置文件权限:
.env 以明文保存 API Key,请勿将该文件提交到代码仓库或分享给他人。

创建模型目录

  1. 下载与 Codex CLI 0.154.0 对应的默认 Agent 指令,作为模型目录中的 base_instructions:
  1. 确认文件非空:
  1. 生成 $CODEX_HOME/step-catalog.json:
生成结果应包含 step-5-preview、step-3.7-flash 和 step-3.5-flash。可按账号权限增删 entry(...) 条目。模型目录字段与 Codex 版本相关,升级后应按目标版本重新检查。

创建 Step 专用配置

新建 $CODEX_HOME/step.config.toml。首次创建时可执行以下命令;文件已存在时,请合并配置,保留其他设置。
检查配置,确认 model_catalog_json 是绝对路径:
--profile step 会在基础 config.toml 之上加载 step.config.toml,并复用其中定义的 Provider。model_catalog_json 会替换启动时使用的模型目录,因此应保留在专用 profile 中。不带 --profile step 启动时,不加载该 profile。

启动 Codex CLI

  1. 确认所需文件存在:
  1. 在项目目录中启动:
  1. 核对当前模型为 step-5-preview、Provider 为 stepfun。输入 /model,检查是否可以选择模型目录中的 Step 模型。
恢复此前使用 Step Provider 创建的会话时,继续指定相同的 profile,将 YOUR_SESSION_ID 替换为实际会话 ID:
/model 切换当前 Provider 下的模型。需要使用其他 Provider 时,通过对应的 profile 启动独立会话。

接入 StepSearch MCP

StepSearch 提供 web_search 和 web_fetch,用于联网搜索与网页内容获取。需要这些能力时,可通过 Step Plan 端点接入。
  1. 确认已按前文配置 STEP_API_KEY,然后注册 MCP 服务:
  1. 检查注册结果:
  1. 重新启动 codex --profile step,通过 /mcp 检查服务与工具是否已加载,再发起一次搜索或网页抓取任务,核对工具调用记录及返回结果。
codex mcp add 使用当前 CODEX_HOME,配置不只作用于 step profile。如需与日常 MCP 设置分开,请使用独立配置目录。Step 专用 profile 通过 web_search = "disabled" 关闭内置网页搜索,搜索工具由 StepSearch MCP 提供。

验证接入

验证对话

在交互会话中输入 请只回复 OK。,预期返回 OK。也可在项目目录中执行只读验证:

验证工具调用

在独立测试目录中创建 README.md,内容为 Codex Step Plan test。从该目录启动 Codex,输入:
根据提示确认必要的操作权限,核对文件读取、创建和命令执行记录。确认 hello.py 实际生成,输出为 Hello, world!,且 README.md 未被修改。

常见问题

核对 CODEX_HOME、step.config.toml 中的 model_provider = "stepfun",以及启动命令是否包含 --profile step。确认用户级 config.toml 中存在对应 Provider,且 API Key 已通过环境变量或 .env 提供。使用独立配置目录时,在当前终端重新设置 CODEX_HOME 后启动。
检查所选 profile 的 model_catalog_json 是否指向有效的绝对路径,以及目录中的模型 ID 是否正确。修改后重启 Codex;若仍显示旧列表,退出 Codex,移除当前 CODEX_HOME 下的 models_cache.json 后重试。
模型目录缺少当前 Codex 版本要求的字段。使用与目标版本匹配的结构重新生成 step-catalog.json,并确认 default.md 下载成功且非空。不要将其他版本的精简目录直接用于当前版本。
查看完整错误信息,检查网络连接、API Key 状态与模型权限。base_url 使用 https://api.stepfun.com/step_plan/v1,wire_api 使用 responses;确认 env_key 与实际环境变量名称一致,且密钥属于所用端点对应的账号。
如果输出停留在 Reading additional input from stdin...,且无需通过标准输入提供内容,在命令末尾添加 < /dev/null。
检查服务端返回状态、错误详情与 Token 用量。推理消耗和输出预算不足都可能影响正文生成;确认具体原因后,再使用目标客户端版本与服务端支持的参数调整。
核对注册与启动时的 CODEX_HOME 是否一致,并检查 STEP_API_KEY。通过 codex mcp list 检查配置,重启交互会话后用 /mcp 检查连接状态。若在 codex exec 中使用,也需单独确认该运行方式实际加载并调用了工具。