cluade code 和 codex 如何配置其它模型
前置说明
cluade code 和 codex 是anthropic和openai两家公司发布的ai agent工具,重点在工具两个字上面,这两家公司分别有自己的大模型,例如 anthropic 的 fable,opus,sonnet,haiku 系列,openai 的 gpt-6.1-sol,gpt-6-astra,gpt5.6-sol,gpt5.6-terra,gpt5.6-luna 。因此在我们没有指定模型的时候,默认启动这两个工具,都是默认使用的自家模型。
理论前提
前面讲了cluade code 和 codex 是agent工具,而这两个工具又开放了接入别家大模型的能力,因此只需要修改一些配置即可完成模型的切换。举个例子,在cluade code中使用 minmax模型, codex中使用kimi,而这个模型的配置部分被称为 Provider。
codex
config.toml 文件
通常家目录 ~/.codex/config.toml 或者项目根目录.codex/config.toml
如果都配置了则以优先级最高的项目为准,但是大家常用的都是在家目录下进行配置。先看看最原始的文件内容
model_provider = ""
model_catalog_json = ""
...
...
其中这两行最为重要
-
model_provider 表示当前使用的 provider id 是什么
-
model_catalog_json 表示当前的自定义模型目录文件
如果没有指定model_provider,启用的是openai provider默认的模型,是在项目启动后动态通过接口拉取的。
具体操作示例
model_provider = "custom"
model_catalog_json = "cc-switch-model-catalog.json"
[model_providers.custom]
name = "your any name"
wire_api = "responses"
base_url = "https://xxx.xxx.xxx/xxx"
experimental_bearer_token = "xxxx"
requires_openai_auth = false
...
...
这里再认识底下这段配置
-
[model_providers.custom] 表示一下是providerId = custom 的相关配置
-
name 随便取一个名字
-
base_url provider 模型对应提供模型能力的服务器地址
-
experimental_bearer_token 也就是你的服务器地址的验签key
-
requires_openai_auth 不需要open ai的登录认证
cc-switch-model-catalog.json 文件
{
"models": [
{
"display_name": "my-model-show-name",
"slug": "my-model-id",
"max_context_window": 272000,
"default_reasoning_level": "high",
"default_reasoning_summary": "none",
"supported_reasoning_levels": [
{
"description": "Disable Thinking",
"effort": "none"
},
{
"description": "Fast responses with lighter reasoning",
"effort": "low"
},
{
"description": "Balances speed and reasoning depth for everyday tasks",
"effort": "medium"
},
{
"description": "Greater reasoning depth for complex problems",
"effort": "high"
},
{
"description": "Extra high reasoning depth for complex problems",
"effort": "xhigh"
},
{
"description": "Maximum reasoning depth for the hardest problems",
"effort": "max"
}
]
}
]
}
-
display_name 表示在终端展示的名称
-
slug 实际底层模型调用时候使用的参数
-
max_context_window 最大上下文窗口
-
default_reasoning_level 默认推理等级
-
supported_reasoning_levels 推理等级支持的档次有哪几层
cluade code
Claude Code 则要求网关提供 Anthropic Messages、Bedrock 或 Vertex 等兼容接口,并正确转发指定字段和请求头,才能进行以下配置
settings.json文件
通常也是家目录 ~/.claude/settings.json 或者是项目的根目录 .claude/settings.json,优先级也是一样的
{
"model": "sonnet"
}
不像codex,cluade code 就只有这一个文件。这个就是没有官方没有配置任何的provider的样子,就指定一个默认的模型。
具体操作
{
"model": "sonnet",
"env": {
"ANTHROPIC_BASE_URL": "https://gateway.example.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "replace-with-gateway-token",
"ANTHROPIC_API_KEY": "replace-with-gateway-token",
"ANTHROPIC_MODEL": "gateway-model-v1",
"ANTHROPIC_DEFAULT_FABLE_MODEL": "gateway-reason-model-v1",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "gateway-reasoning-model-v1",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "gateway-coding-model-v1",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "gateway-fast-model-v1"
}
}
-
ANTHROPIC_BASE_URL provider 模型对应提供模型能力的服务器地址
-
ANTHROPIC_AUTH_TOKEN/ANTHROPIC_API_KEY 也就是你的服务器地址的验签key
-
前者适用于Authorization: Bearer
-
后者适用于X-Api-Key
-
-
ANTHROPIC_MODEL 默认使用的模型
-
NTHROPIC_DEFAULT_FABLE_MODEL fable模型对应provider的哪个模型
-
ANTHROPIC_DEFAULT_OPUS_MODEL opus模型对应provider的哪个模型
-
ANTHROPIC_DEFAULT_SONNET_MODEL sonnet模型对应provider的哪个模型
-
ANTHROPIC_DEFAULT_HAIKU_MODEL haiku模型对应provider的哪个模型
小结
以上说明都是 codex和claude code 命令行工具的配置流程。当前codex 的桌面端主要配置和命令行通用,claude code 桌面版则是另外进行配置