Appearance
Codex CLI 配置教程:config.toml、模型、MCP 与 Clawsocket API
Codex CLI 安装成功后,真正影响使用体验的是配置文件。模型、第三方 API、MCP 服务器、技能目录、权限和运行时选项,都可能需要在用户级配置中管理。本文把常见配置放在一条可验证的流程里,并用 Clawsocket 说明如何安全接入外部 API。
本文参考了 Runoob Codex CLI 配置 的主题结构,并按本站的 API 安全和排障流程重新整理。字段会随 Codex 版本变化,请以 OpenAI Codex 开发者文档 和当前版本的
codex --help为准。
配置文件在哪里
Codex 的用户级配置通常位于:
- macOS、Linux:
~/.codex/config.toml - Windows:
%USERPROFILE%\\.codex\\config.toml
修改前先备份。不要把包含 API Key 的配置提交到 Git,也不要把模型请求重定向配置放进不受信任仓库的项目文件。
一个最小配置
先从最少字段开始,确认 Codex 能启动,再逐项增加设置:
toml
model = "your-model-id"
model_provider = "openai"模型名必须是当前服务实际提供的 Model ID,不要直接复制网页展示名称。配置完成后重启 Codex,并使用 /status 或当前版本提供的调试命令确认生效来源。
使用 Clawsocket 作为外部 API Provider
如果你要把 Codex 接入 Clawsocket,先在 api.clawsocket.com 确认 API Base URL、API Key、模型 ID 和协议支持。不要把下方示例中的占位模型名直接用于生产。
toml
model_provider = "clawsocket"
model = "your-clawsocket-model-id"
[model_providers.clawsocket]
name = "Clawsocket"
base_url = "https://api.clawsocket.com/v1"
env_key = "CLAWSOCKET_API_KEY"
wire_api = "responses"在终端设置密钥:
bash
export CLAWSOCKET_API_KEY="你的 API Key"
test -n "$CLAWSOCKET_API_KEY" && echo "API key is set"只有当 Clawsocket 当前文档确认支持 Codex 需要的 Responses API、流式事件和工具调用时,才适合直接使用自定义 Provider。如果上游只有 Chat Completions,请阅读 Codex 接入第三方模型,使用正确的协议转换方式。
配置模型和运行时覆盖
长期配置适合放在 config.toml,临时实验可以使用命令行覆盖,避免改动默认设置:
bash
codex -m "your-model-id"不同版本支持的参数可能不同,先运行 codex --help。配置变更后重启 CLI、IDE 或桌面应用,避免旧进程继续使用缓存的模型列表。
技能目录和 MCP
技能和 MCP 解决的问题不同:
- Skills:复用一套任务流程、规则和资源。
- MCP:把外部工具或上下文接入 Codex,例如 GitHub、数据库或浏览器。
- Provider:决定模型请求发往哪个 API 服务。
不要把 MCP 当成模型 Provider,也不要为了接入外部模型去修改 MCP 配置。新增 MCP 服务器时,先确认命令、参数、权限和数据范围,再做最小工具调用测试。相关概念可以阅读 Skills、Plugins 与 MCP。
常见配置问题
配置修改后没有生效
检查当前进程读取的用户目录、环境变量和配置覆盖关系,然后完全重启 Codex。用 git diff 或备份文件确认没有误改 TOML 语法。
401 或 403
检查 env_key 与当前变量名是否完全一致、Key 是否有权限,以及认证 Header 是否符合服务商要求。阅读 Codex 401 排障。
404 或找不到 Responses endpoint
通常是 Base URL 多写或少写 /v1,或把完整 /responses 地址重复填进 Base URL。先用 Codex API 第一次请求 的方法单独验证 endpoint。
只能聊天,不能操作文件
普通文本成功不代表工具调用兼容。检查上游是否支持 function calling、JSON Schema、SSE 和工具结果回传,再用读取文件、修改小文件、运行测试的完整任务验证。
FAQ
API Key 可以直接写在 config.toml 吗?
不建议。优先使用环境变量或密钥管理系统。已经提交到 Git 的密钥应立即撤销并重新生成。
base_url 要不要写 /responses?
通常只填写服务商规定的 Base URL,让 Codex 拼接 endpoint。是否包含 /v1 必须以当前服务商文档为准。
配置 MCP 会自动增加模型能力吗?
不会。MCP 增加的是工具或上下文入口,模型是否能稳定调用工具仍取决于 Provider、协议和模型本身的能力。