Codex 教程
Codex CLI 接入 OfApp.cn
Codex CLI 接入 OfApp.cn 教程,讲清 API Key、Base URL、config.toml、openai_base_url、模型名、登录方式、配置矩阵、项目环境变量和排错路径。
Codex CLI 接入 OfApp.cn 的目标,不是把 OfApp.cn 写进每段提示词,而是让本地
开发任务在需要 OpenAI 兼容能力时,有一个可管理、可验证、可轮换的统一入
口。真正要分清的是三层:OfApp.cn 的 API Key 和 Base URL、Codex CLI 自己
的登录与 config.toml、项目代码里的环境变量。
OfApp.cn 官方文档展示了 Codex 安装与配置流程,并使用
openai_base_url = "https://api.ofapp.cn/v1"、model_provider = "openai"
和 codex login --with-api-key 这类配置思路。本文重新组织成一套适合日常
开发者的检查表;具体模型、价格、额度、套餐和可用能力,请以 OfApp.cn 控制
台或官方文档为准。
| 项目 | 内容 |
|---|---|
| 阅读时间 | 约 6 分钟 |
| 更新时间 | 2026-07-03 |
| 适合读者 | 开发者、独立开发者、团队维护者、AI 初学者和希望用 Codex 处理本地项目的用户 |
| 核心问题 | 如何让 Codex CLI 使用 OfApp.cn 作为 OpenAI 兼容入口,同时不混淆 Codex 配置和项目 .env |
| 你会完成 | Key 保存、Base URL 验证、config.toml 配置、API Key 登录、低风险任务验证、项目环境变量边界和排错路径 |
| 边界提醒 | Codex CLI 命令和配置项会随版本变化;真实命令请以当前 codex --help、codex login --help、OfApp.cn 控制台或官方文档为准 |
| 读者 | 你可能正在做什么 | 读完能完成什么 |
|---|---|---|
| 开发者 | 想让 Codex CLI 在本地项目里工作 | 配好 Key、Base URL、模型和最小验证 |
| 独立开发者 | 希望一个 Key 同时给网页、Codex 和脚本使用 | 建立不泄露密钥的本机配置方式 |
| 团队维护者 | 要给团队写 Codex 接入说明 | 区分用户配置、项目配置和 Secret |
| AI 初学者 | 分不清 Codex 登录和项目 .env |
知道哪些配置给 Codex,哪些给项目代码 |
| 自动化用户 | 想把 Codex 用到脚本或 CI | 理解 codex exec、权限和密钥边界 |
如果你只是想在网页里聊天、写作或生成图片,可以先用天才游乐场。只有当你要 让 Codex 进入本地仓库、终端、文件系统或自动化流程时,才需要配置 CLI。
这条流程的重点是“先验证,再接入”。如果 Key、Base URL 或模型名没有跑通, 直接把任务交给 Codex 只会把连接问题伪装成项目问题。
先分清三类配置
Section titled “先分清三类配置”| 配置 | 放在哪里 | 负责什么 | 不要做什么 |
|---|---|---|---|
| OfApp.cn API Key | 本机密钥、系统 keychain、终端输入或可信 Secret | 证明账号身份 | 不写进仓库、截图、Prompt 或日志 |
| Codex CLI 配置 | ~/.codex/config.toml 或用户级 profile |
选择模型、provider、Base URL、权限策略 | 不把 provider 配置放到不受信任项目里 |
| 项目运行变量 | .env、部署平台 Secret、CI Secret |
让项目代码调用 API | 不假设 Codex 会自动替项目设置这些变量 |
OpenAI Codex 手册说明,Codex 会读取用户级 ~/.codex/config.toml,也支持项目
级 .codex/config.toml,但项目级配置只有在项目受信任时才加载,并且不能覆
盖 provider、Base URL 和认证相关键。也就是说,OfApp.cn 这类入口配置更适合
放在用户级配置或专门 profile 里,而不是随项目提交。
配置方式选择矩阵
Section titled “配置方式选择矩阵”同样是“让 Codex 使用 OfApp.cn”,不同场景应该选不同配置方式。先看这张矩阵, 再决定是否要自定义 provider。
| 场景 | 推荐方式 | 为什么 |
|---|---|---|
| 个人电脑上只接 OfApp.cn | 内置 OpenAI provider 加 openai_base_url |
配置少,容易排查,适合先跑通 |
| 同一台机器要切换多个入口 | 使用 profile 或自定义 provider | 入口、模型和密钥变量可以分开管理 |
| 团队写统一接入说明 | 给出用户级 config.toml 示例和 .env.example 示例 |
区分 Codex 自身配置和项目代码配置 |
| 项目代码也要调用 API | 项目 .env 或部署 Secret 单独配置 |
Codex 能调用模型,不代表项目运行时有变量 |
| CI 或脚本里运行 Codex | 使用 codex exec、受控 Secret 和最小权限 |
自动化环境要控制输入、权限和日志 |
| 只想网页体验聊天或生图 | 不需要配置 Codex CLI | 先使用天才游乐场或网页入口更简单 |
如果你还不确定,先用内置 OpenAI provider 和 openai_base_url。等你确实需要
多入口、多 profile 或团队级规范,再切到自定义 provider。
推荐配置路径
Section titled “推荐配置路径”1. 保存 Key
Section titled “1. 保存 Key”不要把真实 Key 写进教程、README、Issue、聊天记录或截图。可以先用本机环境 变量保存,便于验证和登录:
export OFAPP_API_KEY="sk-xxxx"如果你的团队已经有 1Password、Keychain、Secret Manager 或 CI Secret,优先 用现有方案。变量名不重要,关键是不要进入 Git 历史。
2. 验证 OfApp.cn 入口
Section titled “2. 验证 OfApp.cn 入口”接 Codex 前,先用最小请求确认 Key 和 Base URL 没问题:
curl "https://api.ofapp.cn/v1/models" \ -H "Authorization: Bearer $OFAPP_API_KEY"这一步只验证连接、鉴权和账号可用模型列表。具体能用哪些模型、能力、价格和 额度,请以 OfApp.cn 控制台或官方文档为准。
3. 配置 Codex CLI
Section titled “3. 配置 Codex CLI”如果你只需要把 Codex 内置 OpenAI provider 指向 OfApp.cn,可以在用户级
~/.codex/config.toml 中配置:
model = "以 OfApp.cn 控制台可用模型为准"model_provider = "openai"openai_base_url = "https://api.ofapp.cn/v1"OpenAI Codex 手册说明,openai_base_url 用来调整内置 OpenAI provider 的
Base URL;如果只是接到兼容代理或路由,不必先新建 provider。
4. 登录 Codex
Section titled “4. 登录 Codex”OfApp.cn 官方文档展示了用 API Key 登录 Codex 的方式:
printf '%s' "$OFAPP_API_KEY" | codex login --with-api-key如果你的 Codex CLI 版本提示不支持该参数,先运行:
codex login --helpcodex doctorCodex CLI 版本变化较快,真实命令以当前 codex --help、codex login --help
和官方文档为准。
5. 运行一个低风险任务
Section titled “5. 运行一个低风险任务”第一次不要直接让 Codex 改大量文件。用只读或低风险任务验证配置:
codex "请阅读当前仓库结构,列出主要目录、可用脚本和建议的验证命令。不要修改文件。"能正常启动、读仓库并回复后,再把任务缩小到一个明确目标,例如修一个报错、 补一个测试、优化一篇文档或调整一个页面。
什么时候需要自定义 provider
Section titled “什么时候需要自定义 provider”大多数 OfApp.cn 场景使用内置 OpenAI provider 加 openai_base_url 就够。如
果你希望把密钥变量、provider 名称、wire API 或 profile 分开管理,可以定义
自定义 provider:
model = "以 OfApp.cn 控制台可用模型为准"model_provider = "ofapp"
[model_providers.ofapp]name = "OfApp.cn"base_url = "https://api.ofapp.cn/v1"env_key = "OFAPP_API_KEY"wire_api = "responses"这种写法让 Codex 从 OFAPP_API_KEY 读取 provider 密钥。不要同时混用
requires_openai_auth、env_key 和其他认证方式;按当前 Codex 手册选择一
种即可。
项目 .env 和 Codex 配置不要混在一起
Section titled “项目 .env 和 Codex 配置不要混在一起”很多人会把这两件事混起来:
| 场景 | 应该配置什么 | 示例 |
|---|---|---|
| Codex CLI 自己调用模型 | ~/.codex/config.toml、登录凭证、provider 配置 |
openai_base_url = "https://api.ofapp.cn/v1" |
| 项目代码调用 API | 项目的 .env 或部署 Secret |
OPENAI_BASE_URL=https://api.ofapp.cn/v1 |
| Codex 帮你改项目接入 API | 让 Codex 写 .env.example,不写真实 .env |
OPENAI_API_KEY=sk-xxxx |
| CI 里运行 Codex | codex exec、受控 Secret、最小权限 sandbox |
不在公开 runner 暴露执行能力 |
项目 .env.example 可以这样写:
OPENAI_BASE_URL=https://api.ofapp.cn/v1OPENAI_API_KEY=sk-xxxxOPENAI_MODEL=以 OfApp.cn 控制台可用模型为准.env.example 是给项目代码看的,不等于 Codex CLI 自己的 provider 配置。
Goal Prompt 示例
Section titled “Goal Prompt 示例”目标:让当前项目接入 OpenAI-compatible API,并用 OfApp.cn 作为示例 Base URL。
范围:- 只修改服务端 API 封装、环境变量示例和必要文档。- 不修改真实 .env,不提交 API Key,不输出完整 Authorization header。- 如果需要模型名,使用 OPENAI_MODEL,占位值写“以 OfApp.cn 控制台可用模型为准”。
接入约束:- 项目代码读取 OPENAI_BASE_URL、OPENAI_API_KEY、OPENAI_MODEL。- 示例 Base URL 写 https://api.ofapp.cn/v1。- 任何 OfApp.cn 模型、价格、额度和能力说明都以控制台或官方文档为准。
验证:- 先读取 package.json 和已有脚本。- 修改后运行 npm run build 或项目已有测试。- 交付时给出变更文件、验证命令和需要人工确认的项。这类 Prompt 的价值是让 Codex 知道边界:它可以改代码和文档,但不能替你泄露 密钥、承诺模型能力或跳过验证。
| 现象 | 先检查 | 常见修复 |
|---|---|---|
codex login 失败 |
当前 CLI 是否支持 API Key 登录 | 运行 codex login --help,确认参数和输入方式 |
| 401 或 unauthorized | Key 是否来自 OfApp.cn,是否复制完整 | 重新创建或轮换 Key,不在聊天里粘贴真实值 |
| 404 或 endpoint not found | Base URL 是否重复或缺少 /v1 |
最终请求应落到 https://api.ofapp.cn/v1/... |
| model not found | 模型名是否来自控制台或官方文档 | 不凭旧教程猜模型名,复制当前可用模型 |
| Codex 没使用 OfApp 入口 | ~/.codex/config.toml 是否保存,profile 是否生效 |
检查 model_provider、openai_base_url、启动 profile |
| 项目代码仍请求旧地址 | 项目的 .env 和部署 Secret 是否更新 |
区分项目环境变量和 Codex CLI 配置 |
| 日志里出现 Key | 日志、测试快照、README 是否包含完整密钥 | 立即轮换 Key,并清理 Git 历史或公开记录 |
| 自动化里权限过大 | codex exec sandbox 是否过宽 |
只给需要的目录和网络权限,避免公开 runner |
排错时先回到最小请求和最小任务:/v1/models 可用、Codex 能登录、只读仓库
任务能完成,再进入复杂开发任务。
- OfApp.cn 首页:用于核对 OfApp.cn 对 OpenAI、Codex、GPT Image、Claude、API Key 和 Base URL 的公开入口说明。
- OfApp.cn API 文档:用于核对 OfApp.cn 当前公开的
/v1、Bearer 鉴权、openai_base_url、config.toml和 Codex 接入示例。 - OfApp.cn 天才游乐场:用于区分网页体验入口和 Codex CLI 本地项目入口。
- OpenAI Codex CLI:用于核对 Codex CLI 安装、API Key 登录、
config.toml、provider、profile 和codex exec相关说明。 - OpenAI Codex 文档:用于理解 Codex 作为本地开发任务代理的定位和安全边界。
Codex CLI 一定要使用 OfApp.cn 吗?
Section titled “Codex CLI 一定要使用 OfApp.cn 吗?”不一定。OfApp.cn 适合希望统一 API 入口、统一 Key 管理,或想把网页、Codex、 SDK 和项目代码放到同一套接入路径里的用户。是否使用取决于你的账号、团队配 置和当前需求。
OPENAI_BASE_URL 是 Codex CLI 固定读取的变量吗?
Section titled “OPENAI_BASE_URL 是 Codex CLI 固定读取的变量吗?”不要这样理解。OPENAI_BASE_URL 常用于项目代码、SDK 示例和 .env.example。
Codex CLI 自身的持久配置更应通过 ~/.codex/config.toml、openai_base_url
或自定义 provider 管理。
openai_base_url 应该写在哪里?
Section titled “openai_base_url 应该写在哪里?”写在用户级 ~/.codex/config.toml 或用户级 profile 更稳。Codex 手册说明,
项目级 .codex/config.toml 不能覆盖 provider、Base URL 和认证相关配置。
可以把真实 API Key 写进 config.toml 吗?
Section titled “可以把真实 API Key 写进 config.toml 吗?”不建议。更稳的方式是用 codex login --with-api-key 缓存登录,或在自定义
provider 中用 env_key 指向本机环境变量。真实 Key 不应进入仓库。
OfApp.cn 支持哪些 Codex 模型?
Section titled “OfApp.cn 支持哪些 Codex 模型?”请以 OfApp.cn 控制台或官方文档为准。本文不编造模型名、价格、额度或套餐; 示例里的模型字段统一使用“以 OfApp.cn 控制台可用模型为准”。
Base URL 要不要带 /v1?
Section titled “Base URL 要不要带 /v1?”本站示例和 OfApp.cn 官方文档中的 Codex 配置使用
https://api.ofapp.cn/v1。如果你使用自定义脚本或其他客户端,要检查它是否
会自动追加 /v1,避免拼出重复路径。
Codex 接入成功后,还需要项目 .env 吗?
Section titled “Codex 接入成功后,还需要项目 .env 吗?”如果项目代码本身要调用 API,就需要项目 .env 或部署 Secret。Codex 能连上
模型,只代表 Codex 可以工作;项目运行时仍要有自己的环境变量。
可以在 CI 里直接跑 Codex 吗?
Section titled “可以在 CI 里直接跑 Codex 吗?”可以考虑 codex exec,但要只在受控 runner 中运行,并设置最小 sandbox 和
Secret 范围。不要把 Codex 执行暴露给不可信输入或公开环境。
- Codex CLI 快速接入 OfApp.cn:从快速开始角度配置 Codex。
- Codex 教程:查看本栏目全部 Codex 工作流。
- Codex 本地项目使用指南:先读结构、再控制改动范围。
- Codex 建站指南:把站点迭代交给 Codex 并验收。
- 用 Codex 排查报错:定位 CLI、依赖、构建和 API 问题。
- 如何配置 Base URL:避免漏写或重复拼接
/v1。 - OpenAI-compatible API 快速开始:用最小请求验证 API 入口。
- 如何获取 OfApp.cn API Key:准备统一 Key 并安全保存。
Codex CLI 接入 OfApp.cn 时,先验证 OfApp.cn Key、Base URL 和模型名,再把
Codex 的登录、~/.codex/config.toml 和项目 .env 分开管理。对 Codex 自身
优先使用 openai_base_url 或自定义 provider;对项目代码则使用
OPENAI_BASE_URL、OPENAI_API_KEY 和 OPENAI_MODEL。真实 Key 不进仓库,
具体模型、能力、价格和额度请以 OfApp.cn 控制台或官方文档为准。