> **TL;DR(30 秒看完版)**:本文给 Intel Mac 用户一份「**Codex + MiniMax-M3**」零障碍部署攻略。重点是三个坑——SSL 证书拦截、`~` 路径不展开、MCP `bearer_token` 字段不支持——以及如何 5 分钟跑通;附 Mac mini 2018 实测截图、对比表与完整配置脚本。适合手里只有 Intel Mac、想用 Codex 跑 AI 编程、又不想被证书和路径劝退的同学。
## 📑 目录
1. [背景:为什么 Intel Mac 用户需要这份指南](#1-背景为什么-intel-mac-用户需要这份指南)
2. [环境要求](#2-环境要求)
3. [下载与安装 Codex 桌面客户端](#3-下载与安装-codex-桌面客户端)
4. [获取 MiniMax Token Plan Key](#4-获取-minimax-token-plan-key)
5. [配置 MiniMax API(两种方式任选)](#5-配置-minimax-api两种方式任选)
6. [验证与首发指令](#6-验证与首发指令)
7. [常见问题与解决(FAQ)](#7-常见问题与解决faq)
8. [Intel Mac 专属性能优化](#8-intel-mac-专属性能优化)
9. [安全注意](#9-安全注意)
10. [写在最后](#10-写在最后)
---
## 1. 背景:为什么 Intel Mac 用户需要这份指南
**Codex** 是 OpenAI 官方的桌面端 AI 编程 Agent,能在本地项目里读、写、跑代码。**MiniMax-M3** 是 MiniMax 提供的高性价比模型(Token Plan 包月不限量调用,国内直连),通过自定义 provider 接入 Codex 后,可以在 Codex 桌面端直接用 M3 模型。
但网上绝大多数 Codex 教程都默认 Apple Silicon(M1/M2/M3),Intel Mac 用户踩坑率非常高,主要三类问题:
- 下载时**版本选错**(拿了 ARM 版 → 白屏/闪退)
- 安装/运行时**证书被拦截**(npm、自签名证书、代理残留)
- 配置 **MCP `bearer_token` 字段不识别**(Codex streamable_http 传输只支持 `headers`)
本文基于 **Mac mini 2018(Intel i5 / macOS 12+)** 实测,把这三类坑和解决一次性说清楚。
## 2. 环境要求
| 项目 | 最低 | 推荐 |
|------|------|------|
| **macOS** | 12 Monterey | 13 Ventura 或更新 |
| **CPU** | Intel x86_64 | Apple silicon 也兼容(Rosetta 转译) |
| **内存** | 8 GB | 16 GB+(跑大模型时更稳) |
| **Node.js** | 18+(用 nvm 管) | 22 LTS |
| **网络** | 能访问 `registry.npmjs.org` 或 `npmmirror` | 国内建议配 npmmirror |
打开终端确认:
```bash
node --version # 应 ≥ 18
sw_vers # 查 macOS 版本
uname -m # x86_64 = Intel,arm64 = Apple silicon
```
> ⚠️ Intel Mac 用户如果 `uname -m` 出来是 `arm64`,说明你在 Rosetta 终端里。Codex 安装没问题,但跑 Node 工具链可能会有性能损耗,建议切到原生 Intel shell。
## 3. 下载与安装 Codex 桌面客户端
**下载地址**:[https://learn.chatgpt.com/docs/quickstart](https://learn.chatgpt.com/docs/quickstart)
⚠️ **Intel Mac 用户特别注意**:在「Download ChatGPT」下拉里,**主动选 `macOS (Intel)`**,而不是 `macOS (Apple silicon)`。下错版本会导致启动后白屏或闪退。

下表帮你对照自己的 Mac:
| 你的 Mac | 下载版本 |
|---------|---------|
| Mac mini 2018 / iMac Intel / MacBook Pro 2017 及更早 | **`macOS (Intel)`** |
| Mac mini M1/M2/M4 / MacBook Air M1+ / MacBook Pro 2020+ | `macOS (Apple silicon)` |
| 不确定 | 点左上角 →「关于本机」看芯片那一行 |
下载完成后:
1. 双击 `.dmg`,把 `Codex.app` 拖进「应用程序」
2. 首次启动如果提示「无法打开,因为来自身份不明的开发者」,到「系统设置 → 隐私与安全性」点「仍要打开」
3. 登录 OpenAI 账号(这一步可以**暂时跳过**——我们后面通过自定义 provider 走 MiniMax)
## 4. 获取 MiniMax Token Plan Key
1. 浏览器打开 [https://platform.minimaxi.com](https://platform.minimaxi.com),注册/登录
2. 进入「用户中心 → 余额管理 → Token Plan」
3. 选套餐购买(新人通常有首月优惠)
4. 在 Token Plan 页面点「创建 Key」,**复制**生成的 `sk-cp-...` 开头字符串
5. ⚠️ **Key 只显示一次,复制后立刻存到密码管理器**
## 5. 配置 MiniMax API(两种方式任选)
### 方式一:一键配置向导(推荐)
终端执行:
```bash
npx -y mmx-cli@latest agent setup
```
交互流程:
1. **Select agents**:空格勾选 `Codex`,回车
2. **Service region**:选 `Mainland China (minimaxi.com)`
3. **API key type**:选 `Token Plan (sk-cp-...)`
4. **Paste your Token Plan key**:粘贴刚才复制的 Key,回车
5. **Configure Codex?**:选 `Yes`,回车
6. 向导自动装 `@openai/codex`、备份 `~/.codex/config.toml`、生成 `~/.codex/mmx-model-catalog.json`
### 方式二:手动配置(向导失败时用)
跳过向导,直接手写两个文件:
```bash
# 替换成你自己的 Key
export KEY="sk-cp-你的Key"
# 主配置
cat > ~/.codex/config.toml <
~/.codex/mmx-model-catalog.json <<'EOF'
{
"_managed_by": "mmx agent setup",
"models": [
{
"slug": "MiniMax-M3",
"display_name": "MiniMax-M3",
"description": "MiniMax reasoning model",
"default_reasoning_level": "high",
"supported_reasoning_levels": [
{ "effort": "none", "description": "Think-Off" },
{ "effort": "high", "description": "Deep" }
],
"shell_type": "shell_command",
"visibility": "list",
"supported_in_api": true,
"priority": 0,
"base_instructions": "You are Codex, a coding agent."
}
]
}
EOF
chmod 600 ~/.codex/config.toml
```
## 6. 验证与首发指令
1. **完全退出 Codex**:菜单栏 `Codex → Quit Codex`(或 `⌘Q`),仅关闭窗口不会重新加载 MCP
2. **重新打开 Codex**,它会自动读 `~/.codex/config.toml`
3. 进 Codex 后看模型下拉是否出现 `MiniMax-M3`(如果没有见 §7.3,先用 CLI 模式,见 §7.3)
4. 发一句 `你好` 测试
## 7. 常见问题与解决(FAQ)
### 7.1 SSL 证书问题(最常见)
#### 症状 A:`UNABLE_TO_GET_ISSUER_CERT_LOCALLY`(npx 拉包时)
```bash
npm error code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
```
**原因**:当前 npm registry 的 SSL 证书链在本地验证失败(常见于国内镜像 + 某些代理工具)。
**解决**:
```bash
# 方法 1:换官方源
npx -y --registry=https://registry.npmjs.org/ mmx-cli@latest agent setup
# 方法 2:关 npm 的严格 SSL(仅当前用户)
npm config set strict-ssl false
npx -y mmx-cli@latest agent setup
```
#### 症状 B:`SELF_SIGNED_CERT_IN_CHAIN`(向导验证 Key 时)
```
Technical detail: SELF_SIGNED_CERT_IN_CHAIN.
```
**原因**:向导启动后去访问 `api.minimaxi.com` 验证 Key,被你机器上的自签证书拦了。`npm strict-ssl=false` 对 Node 的 HTTPS 无效。
**解决**:
```bash
NODE_TLS_REJECT_UNAUTHORIZED=0 npx -y mmx-cli@latest agent setup
```
这个环境变量**只对当前这一次进程生效**,跑完自动失效,安全。
#### 根因诊断
如果上面两个错误反复出现,说明机器上有东西在拦截 HTTPS。常见元凶:
- 代理工具(Surge、ClashX、Quantumult)的系统代理残留
- 安全软件的 HTTPS 扫描(360、腾讯管家、卡巴斯基)
- 公司 VPN 残留
```bash
# 查系统代理
scutil --proxy
# 查可疑环境变量
echo "NODE_EXTRA_CA_CERT=$NODE_EXTRA_CA_CERT"
```
### 7.2 配置文件路径错误
#### 症状:`AbsolutePathBuf deserialized without a base path in 'model_catalog_json'`
**原因**:Codex 不会自动展开 `~`,要求绝对路径。
**解决**:
```bash
# 错误写法 ❌
model_catalog_json = "~/.codex/mmx-model-catalog.json"
# 正确写法 ✅
model_catalog_json = "/Users/gaga/.codex/mmx-model-catalog.json"
```
### 7.3 模型下拉里看不到 MiniMax-M3
**原因**:Codex 桌面端可能不读 `model_catalog_json` 指定的目录文件,但 `config.toml` 里的 `model` 字段会作为默认模型使用。
**解决 A**:从下拉选 `Default`,看实际跑的模型——可能已经在用 M3,只是 UI 显示的图标不是。
**解决 B**:用 Codex CLI 强制指定:
```bash
/Applications/Codex.app/Contents/Resources/codex --model MiniMax-M3
```
CLI 一定会读 `model_catalog_json` 并显示所有可用模型。
### 7.4 MCP 兼容性问题
#### 症状:`invalid configuration: bearer_token is not supported for streamable_http in 'mcp_servers.halo'`
**原因**:Codex 的 `streamable_http` 传输**不支持** `bearer_token` 字段,必须用 `headers` 写 Authorization。
**解决**:把 `~/.codex/config.toml` 里:
```toml
# 错误 ❌
[mcp_servers.halo]
url = "https://idindoo.com/mcp"
bearer_token = "hmcp_..."
```
改成:
```toml
# 正确 ✅
[mcp_servers.halo]
url = "https://idindoo.com/mcp"
headers = { Authorization = "Bearer hmcp_..." }
```
### 7.5 Intel Mac 特有的坑
| 现象 | 原因 | 解决 |
|------|------|------|
| 下载的 .dmg 打不开 | 下成了 Apple silicon 版 | 重下 `macOS (Intel)` 版 |
| 安装后启动白屏 | Gatekeeper 拦截 | 系统设置 → 隐私与安全性 → 仍要打开 |
| npm install 卡住 | Node 22 用了 ARM 原生包 | 换 Node 20 LTS 或 `npm config set arch x64` |
| Codex 进程占用 100% CPU | Rosetta 转译 + 资源不足 | 关掉其他大型 app;或只跑 CLI 不开桌面端 |
## 8. Intel Mac 专属性能优化
Intel Mac 跑 Codex + M3 模型比 Apple silicon 慢是正常的(少了硬件加速),但可以通过以下方式让体验可用:
1. **始终从 CLI 启动桌面端**:避免后台 telemetry 进程拖性能
2. **关闭内存里的其他 app**:给 Codex 留 ≥ 6 GB 可用内存
3. **优先用 `MiniMax-M3` 而非更大的模型**:M3 上下文 1M,平衡速度和质量
4. **关闭 reasoning level**:在 Codex CLI 里 `/model` → 选 `Think-Off` 模式,速度快 2-3 倍
## 9. 安全注意
1. **不要在聊天/截图里贴 API Key**——一旦明文出现,立刻去 MiniMax 控制台轮换
2. **配置文件权限收紧**:
```bash
chmod 600 ~/.codex/config.toml
```
3. **定期备份配置**(向导会自动备份成 `.bak`,但手动配置不会):
```bash
cp ~/.codex/config.toml ~/.codex/config.toml.bak.$(date +%s)
```
4. **MCP Token 也别贴出来**,出问题同样要去后台重置
## 10. 写在最后
整个部署里**最容易卡的三个点**:
1. SSL 证书问题(用 `NODE_TLS_REJECT_UNAUTHORIZED=0` 兜底)
2. `~` 路径不展开(改成绝对路径)
3. MCP `bearer_token` 字段不支持(改成 `headers`)
其他的都是体力活。装好之后,Codex + MiniMax-M3 组合在 Intel Mac 上的体验完全可用——不比 Apple silicon 差多少,主要是启动慢一两秒。
如果在部署中踩到新的坑,欢迎在评论区贴报错信息和系统版本,我看到会补到本文 FAQ。
---
> **相关文章**
> - [Halo MCP 部署指南:让 Codex 直接读写你的博客](/archives/halo-mcp-deployment-guide)
> - [5 分钟跑通 Halo MCP × Codex:让 AI 直接读写你的 Halo 博客](/archives/mcp-runner-5min-2026)