MumuAI 使用文档

第一次使用建议先创建 API 密钥,再通过控制台一键导入 CC Switch;需要自行开发接入时,再参考后面的 OpenAI / Anthropic 协议示例。

快速开始

推荐流程:在控制台创建 API 密钥 → 选择所需分组 → 一键导入 CC Switch → 在 CC Switch 中启用对应配置。API 地址统一使用 https://mumuai.xyz

创建 API 密钥

  1. 登录 MumuAI 控制台
  2. 点击左侧「API 密钥」→「创建 API 密钥」
  3. 根据需要使用的模型手动选择分组,然后完成创建
  4. 需要手动配置客户端时,复制生成的 sk-xxx... 密钥
每个 API 密钥只能访问创建时选择的分组。不同用途建议分别创建密钥,便于控制权限、额度和使用记录。

一键导入 CC Switch

CC Switch 是什么?它是一款开源的桌面配置管理工具,可集中管理并切换 Claude Code、Codex、Gemini CLI 等客户端的不同服务配置,免去手工修改配置文件和重复填写地址、密钥。

前往官方发布页下载 CC Switch ↗

首次导入

  1. 根据自己的系统下载并安装 CC Switch,然后启动应用
  2. 回到 MumuAI 控制台左侧的「API 密钥」页面
  3. 找到刚创建的密钥,点击最右侧的「···」菜单
  4. 选择「CC Switch」,浏览器询问是否打开外部应用时选择允许
  5. 在 CC Switch 中确认导入,并切换到刚导入的 MumuAI 配置
在 API 密钥最右侧菜单中选择 CC Switch 的操作示意图
安全提示:导入链接包含该 API 密钥的配置信息,请勿转发链接、截图密钥或在陌生设备上打开。

基本操作

切换服务:在 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