发现
不知道是不是火星了,最近用 Codex 时发现能直接读取到我 CPA 里的其他模型了。深入研究了一下,发现可配置的很多,分享给大家。
配置自定义 Provider
在 ~/.codex/config.toml 里配置自定义 provider,调取 API 模式就不用多说了:
toml
model_provider = “cpa”
[model_providers.cpa]
name = “CPA”
base_url = “https://your-api-endpoint/v1”
wire_api = “responses”
requires_openai_auth = false
experimental_bearer_token = “sk-xxx”
这个时候开启 Codex 就会读取到你 CPA 里面的所有模型了。如果没有,去删除 ~/.codex/models_cache.json,重启 Codex 让它重新获取一下。
这个时候已经可以调用了,不过默认情况下其他模型的参数都会按照 GPT 模型参数加载。
适配模型参数
如果要完美适配,需要在 ~/.codex/config.toml 里加一行:
toml
model_catalog_json = “~/.codex/model-catalogs/custom-catalog.json”
然后新建 ~/.codex/model-catalogs/custom-catalog.json,大致格式:
{
“models”: [
{
“slug”: “glm-5.1”,
“display_name”: “GLM-5.1”,
“description”: “智谱”,
“default_reasoning_level”: “high”,
“supported_reasoning_levels”: [
{“effort”: “low”, “description”: “Fast”},
{“effort”: “medium”, “description”: “Balanced”},
{“effort”: “high”, “description”: “Deep”}
],
“shell_type”: “shell_command”,
“visibility”: “list”,
“supported_in_api”: true,
“context_window”: 200000,
“max_context_window”: 200000,
“effective_context_window_percent”: 95,
“input_modalities”: [“text”],
“base_instructions”: “You are a coding agent.”
}
]
}
这样就能加载正确的上下文长度了。
子代理多模型
测试了一下,可以通过指定模型,让 Codex 调用各种模型作为 subagent。
感觉玩法就多了,可以替代 opencode 里的很多功能了。我探索的可能不太准确,大家可以继续研究交流。
1 个帖子 - 1 位参与者