今天我把 OpenAI Codex 的本地模型切换到了 Gemma 4。体验下来的结论是:它不适合完全替代云端最强模型,但非常适合做一件事——把日常、低风险、高频的代码工作放到本地跑。
比如解释代码、修复小 bug、生成脚手架、写测试、做简单重构。这些任务以前都会消耗云端额度,现在可以交给本地模型慢慢处理,成本几乎为零。
Codex CLI 本身就是一个可以在终端里运行的编码代理,能读取项目、修改文件、执行命令;Gemma 4 是 Google DeepMind 的开放模型系列,官方定位包含本地运行、编码、推理和 agentic workflows 等场景。

为什么选 Gemma 4 27B 而不是 12B?
Gemma 4 27B 采用 MoE(混合专家)架构,总参数 27B,但每次推理只激活约 4B 参数。这意味着:
- 推理速度接近小模型——活跃参数少
- 能力接近大模型——总知识量大
- Q4_K_M 量化后约 17GB——Apple Silicon 统一内存 36GB 的设备完全够用
如果你的设备内存只有 16GB,可以选择 Gemma 4 12B 版本。
为什么要这样搭配?
这不是为了"完全离线替代 GPT-5 / Codex 默认模型",真正的价值是分层使用:
- 复杂架构设计、跨文件大改、线上事故排查:继续用云端强模型
- 代码解释、小范围修改、生成测试、批量清理:交给本地 Gemma 4
- 敏感仓库初步阅读:先本地跑,确认需要再切云端

这样做的好处很直接:便宜、私密、可控,而且没有每次提问都在心里计算额度的压力。
准备环境
最简单的链路是:Codex CLI → Ollama → Gemma 4
安装 Ollama
brew install ollama
安装完成后启动服务:
brew services start ollama
拉取 Gemma 4
如果你有 36GB 以上内存,推荐 27B 的 Q4 量化版本:
ollama pull gemma4:26b-a4b-it-q4_K_M
如果内存 16GB,选 12B 版本:
ollama pull gemma4:12b
拉取完成后可以验证:
ollama list | grep gemma4
安装或升级 Codex

如果还没有 Codex CLI:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
然后在项目目录里启动:
codex
Codex CLI 支持通过 --oss 使用本地开源模型,内置了对 Ollama 的支持。
临时使用 Gemma 4
直接一行命令:
codex --oss --local-provider ollama -m gemma4:26b-a4b-it-q4_K_M
注意:ollama 是 Codex 的内置 provider,不需要在 ~/.codex/config.toml 里手动定义。如果你在配置文件的 model_providers 中添加了 ollama,反而会报错:model_providers contains reserved built-in provider IDs: ollama。
进入之后可以让它做一个低风险任务:
阅读这个项目,告诉我启动入口、核心模块和测试命令。
或者:
给这个函数补一组单元测试,不要改业务逻辑。
设置为本地默认模型
如果希望每次都默认走本地模型,编辑 ~/.codex/config.toml:
model = "gemma4:26b-a4b-it-q4_K_M"
model_provider = "ollama"
之后直接运行 codex 就会默认走本地 Ollama 里的 Gemma 4。
踩坑记录
实际配置过程中遇到的几个问题:
- wire_api = "chat" 已废弃——新版 Codex 要求所有 provider 使用 wire_api = "responses"。如果你在配置自定义 provider 时用了 "chat",会直接报错
- 不能覆盖内置 provider——ollama 和 lmstudio 是 Codex 内置的 provider ID。如果你在 [model_providers.ollama] 下写了自定义配置,会报 Built-in providers cannot be overridden 错误。解决方法:删掉自定义配置,直接用 --local-provider ollama 即可
- codex resume 会话与 provider 绑定——如果你用 --oss 创建了一个本地模型会话,之后在同一目录不带 --oss 直接 codex resume,Codex 会尝试用默认云端 provider 去处理本地模型生成的历史上下文,导致报错。解决方法:用 codex resume --oss 重新加载本地会话
总结
Codex + Ollama + Gemma 4 的组合不是要取代云端模型,而是帮你把日常编码任务分流到本地。对于高频、低风险的代码工作,本地跑既省钱又保护隐私,额度焦虑也不存在了。
如果你也在用 Codex CLI,不妨试试把本地模型接上去,日常体验会很不一样。