小白也能看懂:Claude Code 和 Codex CLI 自定义 API 配

wjx  (UID: 7826) [复制链接]
帖子链接已复制到剪贴板
帖子已经有人评论啦,不支持删除!

38 0

Claude Code 和 Codex CLI 都是运行在终端里的 AI 编程工具,可以读取项目文件、修改代码、执行命令和分析报错。

不过两者使用的接口协议并不相同:

工具 需要兼容的接口
Claude Code Anthropic Messages API,通常请求 /v1/messages
Codex CLI OpenAI Responses API,通常请求 /v1/responses

所以,即使同一个 API Key 同时支持两款工具,Base URL 和配置文件通常也需要分别设置。只有 /v1/chat/completions 接口,不代表一定能用于 Claude Code 或 Codex CLI。

下面分别介绍安装和配置方法。

一、开始前需要准备什么

你需要提前准备:

  • 一个可以使用的 API Key
  • 对应工具的 Base URL
  • 准确的模型 ID
  • 一个用于测试的普通项目目录

本文统一使用以下占位符:

YOUR_API_KEY
YOUR_MODEL_ID
YOUR_ANTHROPIC_BASE_URL
YOUR_RESPONSES_BASE_URL

使用时需要把它们替换成 API 服务控制台提供的真实内容。

注意:不要直接猜模型名称。控制台显示的产品名称和接口实际使用的模型 ID,可能并不完全相同。


二、安装 Claude Code

macOS、Linux 和 WSL

curl -fsSL https://claude.ai/install.sh | bash

macOS 也可以通过 Homebrew 安装:

brew install --cask claude-code

Windows PowerShell

irm https://claude.ai/install.ps1 | iex

或者使用 WinGet:

winget install Anthropic.ClaudeCode

安装完成后检查版本:

claude --version

也可以运行诊断:

claude doctor

如果提示找不到 claude 命令,通常需要重新打开终端,让环境变量重新加载。

通过网络脚本安装软件比较方便,但在安全要求较高的环境中,建议先下载并检查脚本内容。


三、临时配置 Claude Code

第一次使用建议先配置临时环境变量。关闭终端后配置会自动失效,方便排查问题。

macOS、Linux 和 WSL

export ANTHROPIC_BASE_URL="YOUR_ANTHROPIC_BASE_URL"
export ANTHROPIC_API_KEY="YOUR_API_KEY"
export ANTHROPIC_MODEL="YOUR_MODEL_ID"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="YOUR_MODEL_ID"

Windows PowerShell

$env:ANTHROPIC_BASE_URL="YOUR_ANTHROPIC_BASE_URL"
$env:ANTHROPIC_API_KEY="YOUR_API_KEY"
$env:ANTHROPIC_MODEL="YOUR_MODEL_ID"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="YOUR_MODEL_ID"

Windows CMD

set ANTHROPIC_BASE_URL=YOUR_ANTHROPIC_BASE_URL
set ANTHROPIC_API_KEY=YOUR_API_KEY
set ANTHROPIC_MODEL=YOUR_MODEL_ID
set ANTHROPIC_DEFAULT_HAIKU_MODEL=YOUR_MODEL_ID

这里有三个容易出错的地方:

  1. ANTHROPIC_API_KEY 一般通过 X-Api-Key 请求头发送。除非接口文档明确要求,否则不要擅自改成 ANTHROPIC_AUTH_TOKEN
  2. Base URL 应使用服务控制台提供的 Claude Code 或 Anthropic 兼容地址。
  3. 通常不要手动在 Base URL 后面添加 /v1/messages,客户端会自行拼接请求路径。

如果只有 OpenAI 格式的 /chat/completions 地址,一般不能直接用于 Claude Code。


四、运行并检查 Claude Code

先进入一个用于测试的项目:

cd 你的项目目录
claude

第一次不要直接让它修改整个项目,可以先输入只读任务:

请先不要修改文件。阅读当前项目目录,告诉我它使用了什么技术栈,并列出主要目录的作用。

进入 Claude Code 后,可以使用:

/status

检查当前模型和连接状态。

其他常用命令:

/model
/permissions
/clear

分别用于查看或切换模型、管理权限,以及清理当前对话上下文。


五、永久保存 Claude Code 配置

确认临时配置可以正常使用后,再写入配置文件。

配置文件位置:

macOS/Linux:~/.claude/settings.json
Windows:%USERPROFILE%\.claude\settings.json

配置内容:

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "env": {
    "ANTHROPIC_BASE_URL": "YOUR_ANTHROPIC_BASE_URL",
    "ANTHROPIC_API_KEY": "YOUR_API_KEY",
    "ANTHROPIC_MODEL": "YOUR_MODEL_ID",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "YOUR_MODEL_ID"
  }
}

如果电脑会与他人共用,不建议把 API Key 直接保存在配置文件中。更稳妥的方法是只保存 Base URL 和模型名称,API Key 通过系统环境变量注入。

macOS 和 Linux 可以限制文件权限:

chmod 600 ~/.claude/settings.json

六、安装 Codex CLI

macOS 和 Linux

使用官方安装脚本:

curl -fsSL https://chatgpt.com/codex/install.sh | sh

也可以通过 npm 安装:

npm install -g /codex

macOS 还可以使用 Homebrew:

brew install --cask codex

Windows

Windows 更推荐在 WSL 2 中使用,相关命令和 Linux 相同。

如果已经安装 Node.js,也可以在 PowerShell 中尝试:

npm install -g /codex

安装完成后检查:

codex --version
codex --help

七、配置 Codex CLI 的 API Key

这里使用自定义环境变量 CUSTOM_API_KEY

macOS、Linux 和 WSL

export CUSTOM_API_KEY="YOUR_API_KEY"

Windows PowerShell

$env:CUSTOM_API_KEY="YOUR_API_KEY"

Windows CMD

set CUSTOM_API_KEY=YOUR_API_KEY

环境变量名称可以自行修改,但必须与后面配置文件中的 env_key 完全一致,包括大小写。


八、配置 Codex CLI

配置文件位置:

macOS/Linux/WSL:~/.codex/config.toml
Windows:%USERPROFILE%\.codex\config.toml

写入以下内容:

model = "YOUR_MODEL_ID"
model_provider = "custom"
model_reasoning_effort = "medium"

[model_providers.custom]
name = "Custom API"
base_url = "YOUR_RESPONSES_BASE_URL"
env_key = "CUSTOM_API_KEY"
wire_api = "responses"

配置时需要重点检查:

  • model 必须填写接口支持的真实模型 ID。
  • model_provider 必须和 [model_providers.custom] 中的名称对应。
  • env_key 必须和此前设置的环境变量一致。
  • wire_api 应设置为 responses
  • Base URL 应使用 OpenAI Responses 兼容地址。
  • 通常不要在 Base URL 后手动添加 /responses
  • 不要把真实 API Key 直接写进 TOML 文件。

如果接口只支持 /v1/chat/completions,不一定能正常运行 Codex CLI。它需要的是 Responses API,而不只是普通的 OpenAI Chat Completions 格式。


九、运行并检查 Codex CLI

进入测试项目:

cd 你的项目目录
codex

建议第一次先执行只读任务:

请不要修改任何文件。检查当前项目结构,告诉我启动方式、主要依赖和可能需要的环境变量。

然后输入:

/status

检查当前模型、权限和运行状态。

常见命令包括:

/status
/model
/permissions
/review
/init

如果需要让 Codex 修改文件,建议先使用比较保守的权限:

approval_policy = "on-request"
sandbox_mode = "workspace-write"

可以把这两行放在 config.toml 顶层。这样遇到需要额外权限的操作时,工具会先请求确认。


十、如何安全测试文件修改

不要一开始就在重要项目中测试。可以建立一个临时 Git 仓库:

mkdir ai-cli-test
cd ai-cli-test
git init

创建一个简单的 README.md 后,再让工具执行:

请在 README.md 中补充项目说明,完成后展示修改内容,但不要提交 Git commit。

修改完成后,在另一个终端检查:

git diff

确认内容没有问题,再决定是否保留。正式项目最好也提前提交现有改动,避免 AI 修改与未提交代码混在一起。


十一、常见错误怎么处理

401 Unauthorized

通常表示身份验证失败,检查:

  • API Key 是否完整
  • Key 是否已经失效
  • 环境变量名称是否写错
  • 当前终端是否已经加载环境变量
  • 接口要求的是 X-Api-Key 还是 Bearer Token

可以先检查变量是否存在,但不要公开完整 Key:

echo ${CUSTOM_API_KEY:+API_KEY 已设置}

403 Forbidden

一般表示 Key 没有对应模型或接口的使用权限。检查模型权限、账户状态和服务端访问策略。

404 Not Found

常见原因:

  • Base URL 填错
  • 重复添加了 /v1
  • 手动添加了 /messages/responses
  • 使用了错误的协议地址
  • 服务端没有实现对应接口

Claude Code 需要 Anthropic Messages API,Codex CLI 需要 OpenAI Responses API,不能只看域名相同就混用地址。

400 Bad Request

通常说明接口能连接,但请求格式不兼容,例如:

  • 模型 ID 不存在
  • 服务端不支持某些参数
  • Messages API 兼容不完整
  • Responses API 的事件格式不完整
  • 流式响应格式不符合客户端要求

这种情况不一定是本地配置错误,也可能是接口只兼容了部分协议。

429 Too Many Requests

表示触发了并发或频率限制。可以降低请求频率、减少并行任务,稍后再试。

命令找不到

如果安装成功但提示 command not found,先关闭并重新打开终端,再检查:

which claude
which codex

Windows PowerShell 可以使用:

Get-Command claude
Get-Command codex

十二、使用时需要注意的安全问题

API Key 和项目代码都属于敏感信息,建议注意以下几点:

  • 不要把 API Key 提交到 Git 仓库。
  • 不要把 Key 写进 README、截图或公开日志。
  • 测试时不要直接打开包含生产密钥的项目。
  • 首次运行先使用只读任务。
  • 修改完成后一定检查 git diff
  • 涉及删除文件、安装依赖、执行脚本时仔细确认。
  • .env、私钥、证书和生产配置应加入工具的拒绝访问规则。
  • 不确定命令用途时,不要直接批准执行。

如果项目中包含敏感文件,可以在 Claude Code 的项目权限配置中禁止读取,例如:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./certs/**)"
    ]
  }
}

这类项目级配置可以放在:

项目目录/.claude/settings.json

总结

配置这两款工具时,最重要的不是复制命令,而是先确认接口协议:

Claude Code → Anthropic Messages API
Codex CLI   → OpenAI Responses API

如果出现问题,建议按照下面的顺序排查:

API Key
→ 环境变量名称
→ Base URL
→ 模型 ID
→ 接口协议
→ 权限和频率限制

先用临时环境变量验证连接,再保存长期配置;先执行只读任务,再允许修改文件。按照这个顺序配置,出现问题时会更容易定位。

这家伙太懒了,什么也没留下。
已有评论 ( 0 )
提示:您必须 登录 才能查看此内容。
域名市场
   域名载入中...
创建新帖
自助推广购买广告位
确认删除
确定要删除这篇帖子吗?删除后将无法恢复。
删除成功
帖子已成功删除,页面将自动刷新。
删除失败
删除帖子时发生错误,请稍后再试。