Skip to content

使用 MiMo Code 集成 GenStudio API ​

连接 AI 助手

MiMo Code 是小米 MiMo 团队推出的终端原生 AI 编程助手,基于 OpenCode 构建。它支持通过配置自定义 Provider 连接第三方 OpenAI 兼容 API 服务,可无缝集成 GenStudio。

通过 GenStudio,您可以在 MiMo Code 中使用 Mimo V2.5 Pro 等多种大语言模型,享受灵活的模型选择和稳定的 API 服务。

为什么选择 MiMo Code ​

MiMo Code 适合需要以下能力的场景:

  • 需要更适合长任务的本地工作流,例如项目记忆、会话检查点、任务进展、自动上下文恢复、子智能体、/goal、Compose 模式、/dream、/distill 等。
  • 需要在 Mimo V2.5 Pro 的多轮工具调用中保留模型原始返回的 reasoning_content。本文后续会说明如何通过 interleaved 配置把该字段回传给 OpenAI 兼容接口。

获取 API 接入信息 ​

在配置之前,您需要先获取对应的 API Key。

GenStudio 通用 LLM API ​

适用于按量付费、包并发服务等场景,可用于大语言模型、生图模型、视频模型等。LLM API 按 Token 计费,请关注账户余额。GenStudio 通用 LLM API 使用平台通用的的 Base URL 和 Endpoints,请根据您的客户端工具支持的协议(OpenAI 兼容或 Anthropic)来配置。

  • API Key: 创建以 sk- 前缀的 API 密钥。详见 GenStudio API 快速集成。

    注意

    GenStudio 通用 LLM API 服务有 API 频率限制。租户在 GenStudio 的服务等级决定了 API 调用是否计费,以及享受的 API 频率上限。详见 LLM API 计费规则。

  • OpenAI (OpenAI Compatible)

    • Base URL: https://cloud.infini-ai.com/maas/v1

    • Endpoints

      • Create Chat Completion: /chat/completions
      • List Models: /models
  • Anthropic (Anthropic Messages)

    • Base URL: https://cloud.infini-ai.com/maas

    • Endpoints

      • Create a Message: /v1/messages
      • List Models: /v1/models

通过 API 获取最新可用模型列表 ​

若需获取当前接入方式下最新可用的模型 ID,建议通过 Agent 或手动调用模型列表接口。

该接口仅返回当前可用的模型列表,不返回上下文长度、最大输出长度等模型元数据。请使用通用 API Key(sk- 前缀)查询。

language-shell
curl --request GET \
  --url 'https://cloud.infini-ai.com/maas/v1/models' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer sk-xxxxxxxxxx'

在控制台查看上下文长度和最大输出长度 ​

如需查看模型的上下文长度和最大输出长度,请前往模型广场查看对应模型卡片。模型卡片会展示每个模型的上下文长度、最大输出长度等信息。配置 MiMo Code 时需要用到这些参数。

安装 MiMo Code ​

MiMo Code 支持 macOS、Linux 和 Windows。您可以通过官方安装脚本或 npm 进行安装。

  • macOS、Linux、WSL:

    language-bash
    curl -fsSL https://mimo.xiaomi.com/install | bash
  • Windows PowerShell:

    language-powershell
    irm https://mimo.xiaomi.com/install.ps1 | iex

如果无法使用官方安装脚本,也可使用 npm 全局安装:

language-bash
# 使用 npm 安装
npm install -g @mimo-ai/cli

# 或使用 pnpm 安装
pnpm install -g @mimo-ai/cli

安装完成后,运行以下命令验证安装是否成功:

language-bash
mimo --version

配置 MiMo Code ​

MiMo Code 通过 mimocode.json 配置文件管理自定义 Provider 和模型。对于日常使用,建议优先将配置写入全局配置文件;如需临时切换 API Key,也可使用 Shell 环境变量。

完成安装后,只需在配置文件中添加一个 GenStudio Provider 定义,即可让 MiMo Code 通过 GenStudio 访问 OpenAI 兼容接口。MiMo Code 内置的 MiMo 平台 Provider 不会受到影响,您可以在两者之间自由切换。

macOS / Linux 配置 ​

macOS 和 Linux 用户建议优先使用 ~/.config/mimocode/mimocode.json。如果您只想在当前 Shell 中临时生效,可改用环境变量方式。

持久配置(推荐):mimocode.json ​

将以下内容写入 ~/.config/mimocode/mimocode.json(如文件不存在请手动创建)。请将示例中的 API Key 替换为您实际创建的密钥。

language-json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "genstudio": {
      "name": "GenStudio",
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://cloud.infini-ai.com/maas/v1",
        "apiKey": "YOUR_GENSTUDIO_API_KEY"
      },
      "models": {
        "mimo-v2.5-pro": {
          "name": "Mimo V2.5 Pro",
          "reasoning": true,
          "tool_call": true,
          "temperature": true,
          "interleaved": { "field": "reasoning_content" },
          "limit": { "context": 1048576, "output": 131072 }
        }
      }
    }
  },
  "model": "genstudio/mimo-v2.5-pro"
}

重要

请将示例中的 API Key 替换为您的真实密钥。您可以从控制台获取 API 密钥。

  • GenStudio 通用 LLM API 应使用 sk- 前缀的 API Key。
  • Infini 编码套餐应使用 sk-cp- 前缀的 API Key。

limit.context 和 limit.output 请根据模型广场中对应模型卡片的实际值填写。

环境变量配置 ​

如果您不想将 API Key 明文写入配置文件,可使用 {env:VAR_NAME} 语法引用环境变量。这是一种更安全的做法。

将以下内容写入 ~/.config/mimocode/mimocode.json:

language-json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "genstudio": {
      "name": "GenStudio",
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://cloud.infini-ai.com/maas/v1",
        "apiKey": "{env:GENSTUDIO_API_KEY}"
      },
      "models": {
        "mimo-v2.5-pro": {
          "name": "Mimo V2.5 Pro",
          "reasoning": true,
          "tool_call": true,
          "temperature": true,
          "interleaved": { "field": "reasoning_content" },
          "limit": { "context": 1048576, "output": 131072 }
        }
      }
    }
  },
  "model": "genstudio/mimo-v2.5-pro"
}

然后在 Shell 中设置环境变量:

  1. 确定您使用的 Shell:

    • bash:编辑 ~/.bashrc
    • zsh:编辑 ~/.zshrc
    • 如果不确定,运行 echo $SHELL
  2. 在对应配置文件末尾追加以下内容:

    language-bash
    export GENSTUDIO_API_KEY="sk-xxx"
  3. 使配置生效:

    language-bash
    source ~/.zshrc  # 或 source ~/.bashrc

Windows 配置 ​

Windows 用户建议优先使用 mimocode.json。如需临时调试或跨工具共享配置,也可使用环境变量。为避免排查困难,建议同一组变量只保留一种持久配置方式。

mimocode.json(推荐) ​

生效范围:仅对当前用户的 MiMo Code 生效;在 CMD、PowerShell 等不同终端中启动 MiMo Code 时共用同一份配置;重启后持续生效;不会影响其他工具。

Windows 用户的配置文件位置为 %USERPROFILE%\.config\mimocode\mimocode.json(通常是 C:\Users\<用户名>\.config\mimocode\mimocode.json)。

language-json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "genstudio": {
      "name": "GenStudio",
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://cloud.infini-ai.com/maas/v1",
        "apiKey": "YOUR_GENSTUDIO_API_KEY"
      },
      "models": {
        "mimo-v2.5-pro": {
          "name": "Mimo V2.5 Pro",
          "reasoning": true,
          "tool_call": true,
          "temperature": true,
          "interleaved": { "field": "reasoning_content" },
          "limit": { "context": 1048576, "output": 131072 }
        }
      }
    }
  },
  "model": "genstudio/mimo-v2.5-pro"
}

环境变量配置 ​

如果您不想将 API Key 明文写入配置文件,可在 mimocode.json 中使用 {env:GENSTUDIO_API_KEY} 引用环境变量(参见上方 macOS / Linux 环境变量配置中的 JSON 示例),然后通过以下方式设置环境变量。

当前终端会话(临时调试)

生效范围:仅对当前 CMD 或 PowerShell 窗口,以及从该窗口启动的 MiMo Code 子进程生效;关闭该窗口后失效。

如果您使用 Windows CMD:

language-shell
set GENSTUDIO_API_KEY=YOUR_GENSTUDIO_API_KEY

如果您使用 Windows PowerShell:

language-powershell
$env:GENSTUDIO_API_KEY = "YOUR_GENSTUDIO_API_KEY"

当前用户账户(高级 / 共享)

生效范围:对当前用户后续新打开的 CMD、PowerShell、MiMo Code,以及其他会读取这些环境变量的程序生效;对当前已经打开的终端窗口不会立即生效。

如果您使用 Windows CMD:

language-shell
setx GENSTUDIO_API_KEY YOUR_GENSTUDIO_API_KEY

如果您使用 Windows PowerShell:

language-powershell
[System.Environment]::SetEnvironmentVariable("GENSTUDIO_API_KEY", "YOUR_GENSTUDIO_API_KEY", "User")

警告

排查建议:不要同时在当前终端会话、mimocode.json、当前用户环境变量中为同一组变量配置不同的值。若您怀疑存在冲突,建议按以下顺序逐项排查:

  1. 当前终端窗口中的环境变量
  2. %USERPROFILE%\.config\mimocode\mimocode.json
  3. 当前用户账户下持久保存的环境变量

提示

运行 setx 或 [System.Environment]::SetEnvironmentVariable(...) 后,需要重新打开命令提示符或 PowerShell 窗口,新的环境变量才会生效。

启动与验证 ​

配置完成后,启动 MiMo Code 并验证连接状态。

操作步骤:

  1. 根据您使用的配置方式完成准备:

    • 如果您修改的是 mimocode.json,请启动(或重启)MiMo Code。
    • 如果您设置的是当前终端会话环境变量,请在同一个终端窗口中继续执行后续命令。
    • 如果您设置的是当前用户账户的环境变量,请打开新的终端窗口。
  2. 进入您的项目目录:

    language-bash
    cd /path/to/your/project
  3. 启动 MiMo Code:

    language-bash
    mimo
  4. 首次启动时,MiMo Code 将:

    • 读取 mimocode.json 中的 Provider 配置
    • 在本地模型选择器中加载配置声明的 GenStudio Provider 和模型
    • 在发送测试消息时,使用配置的 API Key 通过 GenStudio 的 OpenAI 兼容接口发起请求

提示

如果遇到找不到 mimo 命令的错误,请确认 MiMo Code 已全局安装(参见上述安装步骤)。

验证模型加载:

在 MiMo Code 界面中输入 /models 命令,确认 GenStudio Provider 下的模型已正确加载:

language-text
> /models
  genstudio
    mimo-v2.5-pro  Mimo V2.5 Pro

如果列表中显示了 GenStudio Provider 及其模型,说明 MiMo Code 已识别本地配置。若要切换模型,请再次使用 /models 打开模型选择器。

验证清单:

  • ✅ /models 命令显示 GenStudio Provider
  • ✅ 模型列表中包含 mimo-v2.5-pro
  • ✅ 选择该模型后发送一条测试消息,能收到正常回复(Mimo V2.5 Pro 是推理模型,响应前会先输出思维过程)

如果匹配以上内容,设置完成。您现在可以通过 GenStudio 使用 MiMo Code 了。

Mimo V2.5 Pro 推理内容传递 ​

Mimo V2.5 Pro 是推理模型。开启思考时,模型会通过 OpenAI 兼容接口返回 reasoning_content。MiMo Code 会捕获这部分推理内容,并在界面中以独立区块展示。要让工具调用后的后续请求保留同一轮任务的推理上下文,还需要配置 interleaved 字段。

为什么需要 interleaved ​

Mimo V2.5 Pro 通过 OpenAI 兼容接口返回的 reasoning_content 字段携带推理内容。在多轮工具调用中,如果不在后续请求中带回前一轮的 reasoning_content,模型会丢失上一轮的推理上下文,导致推理质量下降或重复推理。

MiMo Code 通过 interleaved 配置项控制这一行为:

  • interleaved: { "field": "reasoning_content" }:MiMo Code 会从每一轮的响应中提取 reasoning_content,在下一轮请求时将其作为 reasoning_content 字段附加到对应的 assistant 消息上发送给 API。这是推荐配置。
  • 未设置 interleaved:MiMo Code 仍会捕获并展示推理内容,但不会将其传回后续请求。多轮对话中模型的推理上下文会丢失。

interleaved 只负责回传模型原始返回的推理字段,不会自动补齐所有模型系列的推理开关或历史保留参数。本文主要配置示例默认面向 Mimo V2.5 Pro 的 reasoning_content 回传。

根据我们对非流式和流式工具调用回传的测试,deepseek-v4-pro 和 deepseek-v4-flash 也适合在 MiMo Code 中配置 interleaved: { "field": "reasoning_content" }。

重要

通过 GenStudio 等第三方 Provider 使用 MiMo 模型时,必须手动设置 interleaved。

当您通过 MiMo Code 官方 MiMo 平台(Provider ID 为 xiaomi)使用 MiMo 模型时,interleaved 配置会从 models.dev 模型目录自动加载,无需手动设置。但当您通过 GenStudio 等第三方 Provider(自定义 Provider ID)接入时,模型目录的自动配置不会生效,interleaved 默认为关闭。因此请在 mimocode.json 中显式声明,以确保多轮对话中推理内容正确传递。

配置示例 ​

在模型定义中同时设置 reasoning 和 interleaved:

language-json
{
  "mimo-v2.5-pro": {
    "name": "Mimo V2.5 Pro",
    "reasoning": true,
    "tool_call": true,
    "temperature": true,
    "interleaved": { "field": "reasoning_content" },
    "limit": { "context": 1048576, "output": 131072 }
  }
}

字段说明:

  • reasoning: true:标记该模型为推理模型。MiMo Code 会从流式响应中提取推理内容并在界面中展示。
  • interleaved: { "field": "reasoning_content" }:启用跨轮次推理内容传递。MiMo Code 会将上一轮的 reasoning_content 内容附加到后续请求的 assistant 消息中,使模型能够延续之前的推理上下文。field 的值 reasoning_content 对应 Mimo V2.5 Pro 返回推理内容的 JSON 字段名。
  • limit:context 为模型最大上下文长度,output 为单次最大输出长度。请根据模型广场中 Mimo V2.5 Pro 模型卡片的实际值填写。

注意

如果您不需要跨轮次推理内容传递(例如希望节省 Token 用量),可以移除 interleaved 字段或将其设为 false。MiMo Code 仍会在当前轮次内展示推理内容,只是不会将其传回下一轮请求。

添加更多模型 ​

如需使用 GenStudio 上的其他模型,在 mimocode.json 的 models 字段中添加对应条目即可。模型 ID 应与 GenStudio API 返回的模型 ID 一致。

language-json
{
  "provider": {
    "genstudio": {
      "name": "GenStudio",
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "YOUR_BASE_URL",
        "apiKey": "{env:GENSTUDIO_API_KEY}"
      },
      "models": {
        "mimo-v2.5-pro": {
          "name": "Mimo V2.5 Pro",
          "reasoning": true,
          "tool_call": true,
          "temperature": true,
          "interleaved": { "field": "reasoning_content" },
          "limit": { "context": 1048576, "output": 131072 }
        }
      }
    }
  }
}

注意

  • tool_call:设为 true 可启用工具调用(函数调用)能力,MiMo Code 的代理功能依赖此能力。
  • reasoning:推理模型(如 Mimo V2.5 Pro)设为 true,非推理模型无需设置。
  • interleaved:仅当目标模型明确要求回传推理字段时设置,并按模型实际返回字段选择 reasoning_content 或 reasoning_details。不要把 Mimo V2.5 Pro 的配置直接套用到所有推理模型;其他模型还需要确认推理开关、历史保留参数和响应模式(详见Mimo V2.5 Pro 推理内容传递)。
  • attachment:设为 true 可启用文件附件支持。
  • modalities:声明模型支持的输入输出模态。如需使用图像理解能力,请在 input 中加入 "image"。如果未配置 modalities,MiMo Code 默认模型仅支持纯文本。
  • limit:请根据模型广场中对应模型卡片的实际值填写上下文长度和最大输出长度。

故障排除 ​

如果在使用过程中遇到问题,请参考以下常见问题及解决方案。

API 密钥错误,看到"无效的 API 密钥"或"未授权"消息 ​

  • 检查 mimocode.json 中 options.apiKey 的值是否正确
  • 如果使用 {env:GENSTUDIO_API_KEY} 引用环境变量,确认环境变量已正确设置(运行 echo $GENSTUDIO_API_KEY 检查)
  • 确认 API 密钥已激活且有足够余额
  • GenStudio 通用 LLM API 应使用 sk- 前缀的 API Key
  • Infini 编码套餐应使用 sk-cp- 前缀的 API Key

/models 中看不到 GenStudio Provider 或模型 ​

  • 检查 mimocode.json 的 JSON 语法是否正确(可用 mimo 启动时的日志排查)
  • 确认 npm 字段为 @ai-sdk/openai-compatible
  • 确认 options.baseURL 与您的接入方式匹配(编码套餐 vs 通用 LLM API 使用不同的 Base URL)
  • 确认模型 ID 与 GenStudio API 返回的模型 ID 一致(可通过前文 获取最新可用模型列表 中的接口查询)

多轮对话中模型推理质量下降或重复推理 ​

  • 确认模型配置中已设置 interleaved: { "field": "reasoning_content" }
  • 确认 reasoning: true 已设置
  • 通过 GenStudio 等第三方 Provider 使用 MiMo 模型时,interleaved 不会自动从模型目录加载,必须手动设置(详见Mimo V2.5 Pro 推理内容传递)

模型不支持工具调用或代理功能异常 ​

  • 确认模型配置中 tool_call 设为 true
  • 部分模型可能不支持工具调用,请通过模型列表接口或模型广场确认该模型的能力
  • 如遇图像无法识别,请确认模型的 modalities.input 中包含 "image"(Mimo V2.5 Pro 为纯文本模型,不支持图像输入)

MiMo Code 无法连接到 GenStudio 服务 ​

  • 检查网络连接是否正常
  • 验证 options.baseURL 设置正确,且与您的接入方式匹配
  • 确认防火墙设置未阻止出站连接
  • 如果使用代理,请确认代理配置不影响 MiMo Code 的 API 请求