一把 API Key 同时用 GPT 与 Claude
一把 MonkeyAI Key 负责鉴权访问 https://monkeytheme.com/v1。在 GPT 与 Claude 之间切换时,先用 GET /v1/models 确认账号可见的 model id,再改客户端模型字段——而不是为每个厂商各办一把 Key。
直接结论
在 OpenAI 兼容客户端里,使用一把 MonkeyAI API Key,Base URL 固定为 https://monkeytheme.com/v1。在 GPT 与 Claude 之间切换时,改的是 model(或客户端模型选择),而不是为每个厂商再申请一把 Key。某个具体模型 id 是否可用,以你账号的 GET /v1/models 为准。
| 项 | MonkeyAI 取值 |
|---|---|
| Base URL | https://monkeytheme.com/v1(必须包含 /v1) |
| 鉴权 | Authorization: Bearer <key>(错误信息亦提到 x-api-key / x-goog-api-key) |
| Key 范围 | 控制台一把 Key 对接网关;模型族权限跟随分组/通道策略 |
| 安全首检 | 改任何代理配置前先 GET /v1/models |
生产实测(未使用真实用户 Key)
探测目标为公网 https://monkeytheme.com,日期 2026-08-04。未使用任何真实客户 Key。正文为线上 JSON 摘要。
| 请求 | HTTP | code | 说明 |
|---|---|---|---|
GET /v1/models(无鉴权) | 401 | API_KEY_REQUIRED | 模型列表接口在鉴权后可用 |
POST /v1/chat/completions(无鉴权) | 401 | API_KEY_REQUIRED | Chat Completions 路径存在 |
POST /v1/responses(无鉴权) | 401 | API_KEY_REQUIRED | Responses 路径存在 |
POST /v1/messages(无鉴权) | 401 | API_KEY_REQUIRED | Messages 形态路径同样进入鉴权层 |
/v1/models 为准,不要照搬其他中转站截图里的模型名。可落地的接入顺序
- 在 MonkeyAI 控制台创建或复制 Key,勿写入 git 与聊天记录。
- Base URL 设为
https://monkeytheme.com/v1,不要只填网站根地址。 - 执行下方 models 探测;Key 有效时应返回 JSON 列表。
- 模型 id 必须与列表完全一致(大小写与符号都算)。
- 再发一次短
/v1/chat/completions。 - 最后才配置 Codex CLI、Cline、Roo Code、Hermes 等,使用同一 Base URL + Key + model id。
# 1) 验证 Key(将 *** 换成你的 Key;切勿提交到仓库)
curl -sS https://monkeytheme.com/v1/models \
-H "Authorization: Bearer ***" | head -c 800
# 2) models 通过后再做一次短对话
curl -sS https://monkeytheme.com/v1/chat/completions \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{"model":"MODEL_ID_FROM_LIST","messages":[{"role":"user","content":"ping"}],"max_tokens":32}'
一把 Key,两个模型族——什么变、什么不变
通常不变
- API Key 字符串
- Base URL
https://monkeytheme.com/v1 Authorization: Bearer- OpenAI SDK 的
base_url/baseURL
通常会变
modelid(GPT 与 Claude 目录名不同)- 客户端 profile / 代理的模型选择
- 长任务的 token / 上下文上限
- 客户端走 Chat Completions、Responses 还是 Claude 原生协议面
不要自造 claude-latest 这类昵称,除非 /v1/models 真的返回。鉴权已通过但 id 错误时,会落入 model not found 类问题——见对应教程。
客户端对照(优先 OpenAI 兼容)
| 客户端类型 | Base URL | Key | Model |
|---|---|---|---|
| curl / 裸 HTTP | /v1/... 完整路径 | Bearer 头 | JSON model |
| OpenAI Python / Node SDK | https://monkeytheme.com/v1 | api_key | 每次调用的 model= |
| Codex CLI / 编程代理 | 带 /v1 的 provider base | 环境变量或 profile | 列表中的精确 id |
| Cline / Roo Code | OpenAI Compatible base URL | API key 输入框 | 模型 id 字符串 |
| 仅 Claude 原生工具 | 可能需要 Anthropic 形态配置 | 可能用 x-api-key | 按该工具协议文档核对,勿强行套 OpenAI 字段名 |
这些故障通常不是“再办一把 Key”
| 现象 | 更可能的类型 | 第一步 |
|---|---|---|
401 API_KEY_REQUIRED | Key 未进入可接受请求头 | 修环境变量/导出/请求头;见 401 教程 |
401 INVALID_API_KEY | 有值但被拒绝 | 重拷 Key;确认主机名为 monkeytheme.com |
| Model not found / 模型类 404 | 鉴权已过,id 错误或未授权 | 重读 /v1/models;不要先急着新开 Key |
| 429 | 限流或额度 | 遵循 Retry-After;见 429 教程 |
| 504 / 客户端超时 | 上游或客户端等待预算 | 见 504 / SDK 超时教程——换 Key 很少能修好 |
建议保留的安全习惯
- 需要清晰吊销与审计时,按人或按服务拆分 Key。
- Key 放在环境变量或密钥管理,而不是提交到仓库的配置文件。
- 泄露后先在控制台吊销,再创建新 Key。
- 求助时只提供末四位、接口路径、UTC 时间、HTTP 状态与 JSON
code/message。
常见问题
一把 MonkeyAI Key 能同时调 GPT 和 Claude 吗?
一把 MonkeyAI Key 用于鉴权访问 https://monkeytheme.com/v1。具体哪些 GPT / Claude 模型 id 可用,取决于账号与分组开通情况。请先用 GET /v1/models 核对,再写入客户端,不要凭印象硬编码。
Claude 是否也走同一个 OpenAI 兼容 Base URL?
对 OpenAI 兼容客户端:是的,Base URL 用 https://monkeytheme.com/v1,Authorization 使用 Bearer,再从 /v1/models 选 Claude 的 model id。原生 Anthropic SDK / 专有字段可能不同,不要假设所有 Claude 专用客户端字段都能 1:1 映射。
为什么无 Key 访问 /v1/messages 也会 401?
2026-08-04 对 /v1/models、/v1/chat/completions、/v1/responses、/v1/messages 的未鉴权探测均返回 HTTP 401,code 为 API_KEY_REQUIRED。这说明这些路径会经过网关鉴权层;它本身不能证明每个账号都具备完整 Claude Messages 能力。
团队可以共用一把 Key 吗?
仅在内部安全策略允许时共用。按人或按应用拆分 Key 更便于吊销与审计。切勿把完整 Key 发到工单或群聊。
配置 Codex、Cline、Hermes 之前应先验证什么?
先用该 Key 调用 GET /v1/models。返回模型列表后,再发一次短 chat completion。最后才把 Base URL https://monkeytheme.com/v1、Key 与列表中的精确 model id 写入代理客户端。