MumuAI 使用文档
第一次使用建议先创建 API 密钥,再通过控制台一键导入 CC Switch;需要自行开发接入时,再参考后面的 OpenAI / Anthropic 协议示例。
快速开始
推荐流程:在控制台创建 API 密钥 → 选择所需分组 → 一键导入 CC Switch → 在 CC Switch 中启用对应配置。API 地址统一使用 https://mumuai.xyz。
创建 API 密钥
- 登录 MumuAI 控制台
- 点击左侧「API 密钥」→「创建 API 密钥」
- 根据需要使用的模型手动选择分组,然后完成创建
- 需要手动配置客户端时,复制生成的
sk-xxx...密钥
一键导入 CC Switch
CC Switch 是什么?它是一款开源的桌面配置管理工具,可集中管理并切换 Claude Code、Codex、Gemini CLI 等客户端的不同服务配置,免去手工修改配置文件和重复填写地址、密钥。
前往官方发布页下载 CC Switch ↗首次导入
- 根据自己的系统下载并安装 CC Switch,然后启动应用
- 回到 MumuAI 控制台左侧的「API 密钥」页面
- 找到刚创建的密钥,点击最右侧的「···」菜单
- 选择「CC Switch」,浏览器询问是否打开外部应用时选择允许
- 在 CC Switch 中确认导入,并切换到刚导入的 MumuAI 配置
基本操作
切换服务:在 CC Switch 顶部选择要使用的客户端,选中 MumuAI 配置并执行切换;切换后新开的终端会读取新配置。
没有立即生效:完全退出正在运行的 Claude Code、Codex 或对应终端,再重新打开。已运行的进程通常不会自动重新读取配置。
密钥失效或需要换分组:回到 MumuAI 重新创建 API 密钥,再从右侧菜单执行一次「CC Switch」导入;不要直接把旧密钥改成其他分组。
cURL
# OpenAI 兼容格式(适用于 Claude、GPT、Gemini、Grok)
curl __PUBLIC_ORIGIN__/v1/chat/completions \
-H "Authorization: Bearer sk-xxx..." \
-H "Content-Type: application/json" \
-d '{
"model": "your-model",
"messages": [{"role": "user", "content": "你好"}],
"stream": true
}'
# Anthropic 原生格式(仅 Claude 系列)
curl __PUBLIC_ORIGIN__/v1/messages \
-H "Authorization: Bearer sk-xxx..." \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "your-model",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好"}]
}'
Python · OpenAI SDK
from openai import OpenAI
client = OpenAI(
api_key="sk-xxx...",
base_url="__PUBLIC_ORIGIN__/v1"
)
response = client.chat.completions.create(
model="your-model",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
Python · Anthropic SDK
from anthropic import Anthropic
client = Anthropic(
api_key="sk-xxx...",
base_url="__PUBLIC_ORIGIN__"
)
message = client.messages.create(
model="your-model",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}]
)
print(message.content[0].text)
Node.js
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-xxx...",
baseURL: "__PUBLIC_ORIGIN__/v1",
});
const response = await client.chat.completions.create({
model: "your-model",
messages: [{ role: "user", content: "你好" }],
});
console.log(response.choices[0].message.content);
Claude Code
在新终端窗口通过环境变量接入,不影响当前 Claude Code 的登录状态:
# 新开一个终端 tab,执行以下命令
HOME=$(mktemp -d) \
ANTHROPIC_BASE_URL=__PUBLIC_ORIGIN__ \
ANTHROPIC_API_KEY="sk-xxx..." \
claude
HOME=$(mktemp -d) 创建独立临时目录,不影响现有 Claude 登录状态。令牌分组必须在控制台中由用户手动选择。分组与模型
创建令牌时必须手动选择分组。分组决定该 Key 可以访问的模型与计费倍率;系统不会为用户自动选择,也不会把已删除的历史分组重新加入列表。
GET /v1/models 的实时结果是唯一准确信息,本文档不再维护容易过期的固定清单。查看当前 Key 可用模型
curl __PUBLIC_ORIGIN__/v1/models \
-H "Authorization: Bearer sk-xxx..."
不同分组的 Key 返回结果可能不同,这是正常现象。调用模型前,请从该 Key 的实时列表中复制准确的模型 ID。
协议选择
| 使用场景 | 端点 | 建议 |
|---|---|---|
| OpenAI SDK / Codex / 通用客户端 | /v1/chat/completions 或 /v1/responses | 优先使用客户端原生支持的格式 |
| Anthropic SDK / Claude Code | /v1/messages | 同时发送 anthropic-version |
| 图片生成 | /v1/images/generations | 按所选生图分组的模型列表调用 |
常见问题
提示 401 / Invalid token
确认 API Key 格式正确(以 sk- 开头)、令牌未过期,并且所用模型确实出现在该 Key 的 GET /v1/models 结果中。
提示额度不足 / 403
账号余额不足,请联系微信 jipingxieku 充值。
请求返回 400 / 模型不存在
调用 GET /v1/models 检查当前 Key 的实时模型列表,并复制确切 ID(区分大小写和连字符)。
流式输出一次性全部返回
客户端或中间层可能开启了缓冲。用 curl 验证:
curl -N __PUBLIC_ORIGIN__/v1/chat/completions \
-H "Authorization: Bearer sk-xxx..." \
-H "Content-Type: application/json" \
-d '{"model":"your-model","messages":[{"role":"user","content":"hi"}],"stream":true}'
正常结果:每隔几十毫秒逐行出现 data: {...},最后一行 data: [DONE]。
联系我们
技术支持、充值、合作咨询,请加微信:jipingxieku