Codex CLI 通过配置 OPENAI_BASE_URLOPENAI_API_KEY 环境变量或使用配置文件来对接中转 API,其核心在于将请求重定向到兼容 OpenAI API 格式的第三方服务端点。

一、核心配置方法对比

Codex CLI 支持多种配置方式,可根据使用场景和操作系统选择。

配置方式适用场景优点缺点
环境变量临时测试、脚本调用、系统级全局配置优先级最高,配置简单,可动态修改重启终端或系统后可能失效(需持久化配置)
配置文件 (config.tomlconfig.json)长期使用、多环境切换、项目级配置配置持久化,便于版本管理,可分层配置需要手动创建和编辑配置文件
CLI 参数单次命令执行时的临时覆盖最灵活,可覆盖其他配置每次命令都需输入,较为繁琐

二、详细配置步骤与示例

1. 通过环境变量配置(推荐用于快速启动)

这是最直接的方法,通过在终端会话中设置环境变量来覆盖默认的 OpenAI 端点。

  • 设置中转 API 基础 URL:将 OPENAI_BASE_URL 指向你的中转服务地址。
  • 设置 API 密钥:将 OPENAI_API_KEY 设置为从中转服务商处获取的密钥。

Windows (PowerShell) 示例:

# 设置环境变量(仅当前会话有效)
$env:OPENAI_API_KEY="sk-your-transit-api-key-here"
$env:OPENAI_BASE_URL="https://your-transit-api.com/v1"

# 验证配置并测试 Codex
codex --version
# 尝试一个简单的命令,如列出模型(具体命令取决于你的中转服务支持)
codex models list

注意:在 PowerShell 中,以上设置仅对当前窗口有效。若要永久生效,需通过系统属性或 [Environment]::SetEnvironmentVariable 设置用户/系统环境变量 。

Linux/macOS (Bash/Zsh) 示例:

# 设置环境变量(仅当前会话有效)
export OPENAI_API_KEY="sk-your-transit-api-key-here"
export OPENAI_BASE_URL="https://your-transit-api.com/v1"

# 验证配置
echo $OPENAI_API_KEY
echo $OPENAI_BASE_URL

# 测试 Codex 连接
codex completions create --model gpt-3.5-turbo-instruct --prompt "Hello, world"

为了使环境变量在每次打开终端时自动生效,可以将 export 命令添加到 ~/.bashrc~/.zshrc~/.profile 文件中 。

2. 通过配置文件配置(推荐用于持久化部署)

Codex CLI 会读取用户主目录下的配置文件。配置文件的格式和位置因版本或安装方式而异,常见的有 config.tomlconfig.json

  • TOML 格式配置 (常见于 Snap 安装)
    配置文件通常位于 ~/.codex/config.toml

    # ~/.codex/config.toml
    [default]
    # 指定模型提供商,对于中转API通常设为 "openai"
    model_provider = "openai"
    # 你的中转API密钥
    api_key = "sk-your-transit-api-key-here"
    # 中转API的基础URL
    base_url = "https://your-transit-api.com/v1"
    # 可选:指定默认使用的模型
    # default_model = "gpt-3.5-turbo"
    

    创建并编辑此文件后,Codex CLI 将自动读取其中的配置 。

  • JSON 格式配置 (常见于 npm 安装)
    配置文件可能位于 ~/.codex/config.json 或项目目录下。

    {
      "apiKey": "sk-your-transit-api-key-here",
      "baseURL": "https://your-transit-api.com/v1",
      "defaultModel": "gpt-3.5-turbo-instruct",
      "organization": null // 通常中转服务不需要此项
    }
    

    有些教程还提到了 auth.json 文件用于专门存储认证信息,但核心配置通常集中在 config.json 中 。

3. 使用 CLI 参数临时指定

在执行任何 codex 命令时,可以直接通过参数指定 API 密钥和基础 URL。

codex --api-key sk-your-transit-api-key-here --base-url https://your-transit-api.com/v1 completions create --model gpt-3.5-turbo-instruct --prompt "Translate hello to French"

三、与具体中转服务(如 88API)对接的完整流程示例

以使用 “88API” 这类国内中转服务为例,展示从零开始的配置流程 。

  1. 环境准备:确保系统已安装 Node.js (>=18 版本) 和 npm。
  2. 安装 Codex CLI
    npm install -g @openai/codex
    
  3. 获取中转 API 配置信息
    • 从中转服务商(如 88API)后台获取你的 API Key。注意,部分服务商(如 88API)有专门的 codex 分组,需从中获取专属密钥以获得更佳兼容性 。
    • 获取服务商提供的 Base URL,例如 https://api.88api.com/v1
  4. 创建并编写配置文件
    在用户主目录下创建配置文件。
    mkdir -p ~/.codex
    vim ~/.codex/config.json
    
    将以下内容写入 config.json,替换为你自己的 API Key 和 Base URL。
    {
      "apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "baseURL": "https://api.88api.com/v1",
      "defaultModel": "gpt-3.5-turbo-instruct"
    }
    
  5. 验证配置
    # 检查版本,确认CLI安装成功
    codex --version
    # 尝试调用一个简单的补全任务
    codex completions create --model gpt-3.5-turbo-instruct --prompt "写一个Python的hello world程序" --max-tokens 100
    
    如果配置正确,你将收到来自中转 API 的模型响应。

四、常见问题与排查

  • 401 403 错误:API 密钥无效或未正确传递。请检查密钥是否填写正确,并确认中转服务是否支持 Codex 使用的 API 格式 。
  • 404 错误:Base URL 不正确,或中转服务的端点路径与 OpenAI API 不完全兼容。确保 Base URL 包含 /v1 后缀,并咨询服务商其兼容性 。
  • 命令未找到 (codex: command not found):Codex CLI 未正确安装或未添加到系统 PATH。对于 npm 全局安装,可尝试 npx @openai/codex 来运行。
  • 配置优先级:Codex CLI 的配置加载优先级通常为:CLI 参数 > 环境变量 > 用户配置文件 > 全局配置文件。如果配置未生效,检查是否有更高优先级的配置覆盖了你的设置。
  • 使用代理:如果网络访问需要代理,除了配置中转 API,可能还需要在系统或终端中设置 HTTP/HTTPS 代理环境变量(如 HTTP_PROXY, HTTPS_PROXY)。

参考来源

 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐