先验证 API Key,再写 Codex 配置。这样不会覆盖已有 config.toml,也能在第一次运行前排除 Key、Base URL 和模型名问题。
2026-08-02 的隔离测试使用 Codex CLI 0.146.0。Codex 成功读取 monkeyai.config.toml 和 $CODEX_HOME/.env,并把请求发到 https://monkeytheme.com/v1/responses。测试使用假 Key,因此 MonkeyAI 按预期返回 401 INVALID_API_KEY。移走 .env 后,错误变为 Missing environment variable: MONKEYAI_API_KEY。
GET /v1/models,通过后才写配置。curl -fsSL https://monkeytheme.com/install/codex.sh -o /tmp/monkeyai-codex.sh bash -n /tmp/monkeyai-codex.sh bash /tmp/monkeyai-codex.sh
脚本会隐藏 Key 输入,给 codex --version 设置 15 秒超时,验证 Key 和 Base URL,列出当前账号可见的 GPT/Codex 模型,然后写入独立 monkeyai profile。它不会覆盖 ~/.codex/config.toml。
创建 $CODEX_HOME/monkeyai.config.toml,默认路径是 ~/.codex/monkeyai.config.toml:
model = "" model_provider = "monkeyai" [model_providers.monkeyai] name = "MonkeyAI" base_url = "https://monkeytheme.com/v1" env_key = "MONKEYAI_API_KEY" wire_api = "responses" requires_openai_auth = false
把 MONKEYAI_API_KEY 写入 $CODEX_HOME/.env,文件权限设为 600。将 <CURRENT_VISIBLE_MODEL> 替换为自己账号 /v1/models 返回的 GPT 或 Codex 模型。
codex --profile monkeyai exec --skip-git-repo-check "Reply with OK only"
--skip-git-repo-check 只用于快速验证,可在非 Git 目录运行。正式开发时应先进入项目目录,并移除该参数。
| 错误 | 含义 | 处理方法 |
|---|---|---|
codex --version 卡住 | 存在旧版或多套冲突安装 | 运行 which -a codex,再用 npm install -g @openai/codex@latest 重装。 |
缺少 MONKEYAI_API_KEY | 当前环境或 $CODEX_HOME/.env 中没有该变量 | 检查 CODEX_HOME、文件名和变量名。 |
| 401 / invalid API key | 请求已到达 MonkeyAI,但 Key 被拒绝 | 从 MonkeyAI 后台重新创建或复制 Key,再测试 /v1/models。 |
| 404 | Base URL 或路径错误 | Base URL 使用 https://monkeytheme.com/v1;Codex 走 Responses 端点。 |
| model not found | 当前账号看不到配置的模型 | 从实时 /v1/models 返回结果选择 GPT/Codex 模型。 |
| Provider 配置不生效 | 把 provider 写进了项目级 .codex/config.toml | 把 provider 放到 $CODEX_HOME 下的用户级 profile。 |
在 Codex CLI 0.146.0 的隔离测试中,$CODEX_HOME/.env 会被读取。移走该文件后,Codex 会报告缺少 MONKEYAI_API_KEY。
独立 profile 不会覆盖现有 Codex 配置。运行时加 --profile monkeyai 即可选择 MonkeyAI。
Base URL 使用 https://monkeytheme.com/v1,协议使用 Responses。实测请求路径是 /v1/responses。
从当前账号的 /v1/models 返回结果选择 GPT 或 Codex 模型,不使用旧教程里可能已经下线的模型名。