不用非得 CC Switch / Codex++ 那种工具,那些只是"一键切换 provider"的便捷壳,单一目标配置直接改 ~/.codex/config.toml 最省事。
核心是给 Codex 挂一个本地 OpenAI 兼容端点。你先起一个本地服务(llama.cpp 的 llama-server、LM Studio、vLLM 都带 /v1 接口),记下端口,然后在 config.toml 里写:
model_providers = {
qwen_local = {
base_url = "http://127.0.0.1:8080/v1"
wire_api = "chat"
}
}
model = "qwen3.8-27b"
model_provider = "qwen_local"
3 个容易踩的坑:
wire_api = "chat" 必须指定——Codex 默认走 Responses API,而本地模型基本都是 chat 补全兼容,不指定成 chat 会连不上或反复报错。
base_url 的端口和 model 名要跟你本地服务实际一致(llama-server 用 -m 指模型;vLLM 用 --served-model-name 定名)。
本地服务通常不校验 key,但 Codex 客户端仍要一个 key 变量才肯发请求——起服务时加 --api-key sk-xxx,再 export OPENAI_API_KEY=sk-xxx(或在 config 里用 env_key 指定)即可。
CC Switch / Codex++ 的价值只在"多个远端 + 本地之间快速切";你只挂一个本地目标,手工写上面这几行就是最直接的方式。Qwen3.8 本身支持工具调用,这点没问题,跑起来后 Codex 的 tool call 能正常走 chat 模式。
另外提醒:Codex 是它自己的一套配置/记忆,跟 Hermes 的 skills 生态不通用;想复用知识得单独喂文档。