知识库章节 ▾

导航

▸ 从这里开始 按角色

类别

工具 52
词汇表 12

工具

MiMo Code + JoinGonka Gateway:Gonka 网络模型上的 Xiaomi 代理

MiMo Code (mimo 命令) 是来自小米 MiMo 实验室的终端代码智能体:它能够读取和编写代码、运行命令、处理 Git 并保持跨会话的持续项目记忆。它是 OpenCode 的分支:保留了父项目的所有功能,并增加了会话检查点、上下文恢复、子智能体和现成的自动化工作流。代码基于 MIT 许可协议开源;项目尚处于早期阶段且发展迅速,因此以下内容均基于 2026 年 9 月 22 日发布的 0.1.15 版本。

MiMo Code 的推理层是可替换的:任何符合 OpenAI 标准的 API 都可以作为提供商接入,只需在 mimocode.jsonc 中添加描述并在 auth.json 中添加密钥即可。JoinGonka Gateway 正是如此,因此接入过程简化为一条安装程序命令。

Gonka 网络中不包含 MiMo 自有模型:去中心化网络提供 DeepSeek V4 Flash、GLM-5.3 Flash 和 MiniMax M2.7 — 价格均为 $0.0069 每百万输入 token。该智能体并未绑定小米模型:提供商是可替换的,而整个底层框架(记忆、检查点、子智能体)均运行在你所选的模型之上。以下命令、文件和消息已于 2026 年 9 月 23 日通过网关对 MiMo Code 的实测验证。确认地址后,你的账户将收到 3M 免费 token — 足以让你亲自重复上述所有步骤。

快速上手:安装与单条命令

第 1 步:安装 MiMo Code。来自项目 README 的官方方式:

# macOS and Linux
curl -fsSL https://mimo.xiaomi.com/install | bash

# Windows (PowerShell)
powershell -ep Bypass -c "irm https://mimo.xiaomi.com/install.ps1 | iex"

# via npm, on any system
npm install -g @mimo-ai/cli

脚本会把二进制文件安装到 ~/.mimocode/bin,并通过 shell 配置文件将该目录写入 PATH(使用 --no-modify-path 参数可禁用此操作)。它会从小米的仓库下载构建包;如果下载不畅,可通过 npm 安装 —— 这是同一个版本,我们两种方式拿到的都是 0.1.15。验证方式:mimo --version。

第 2 步:获取密钥。在 gate.joingonka.ai/register 注册,验证邮箱地址,然后在「API 密钥」板块创建一个以 jg- 为前缀的密钥。一个密钥、一份余额即可用于网络中的所有模型。

第 3 步:运行安装程序。

npx @joingonka/setup --tool mimo-code

安装程序会询问密钥 —— 密钥不会通过命令行参数传入 —— 然后写入与 MiMo Code 自带的提供商向导相同的两个文件,只不过会一次性写入完整目录和限制:

  • 在全局配置 ~/.config/mimocode/mimocode.jsonc(如果 MiMo Code 已写入 mimocode.json 或 config.json,则写入那里)中注册 joingonka 提供商:适配器 @ai-sdk/openai-compatible、带 /v1 的网关地址,以及网络中的三个模型,附带上下文窗口、响应上限和工具支持;
  • 将密钥存入 MiMo Code 自带的密钥存储 —— ~/.local/share/mimocode/auth.json,权限为 600。配置文件中不含密钥,因此可以放心地将其放入 dotfiles;
  • 将默认模型 —— model 字段 —— 设为 DeepSeek V4 Flash,但仅当尚未选择模型,或所选模型已退出网络时才会设置。它不会覆盖你的选择,包括在其他全局配置中做出的选择;
  • 保存原文件的副本,不动他人的提供商、密钥和注释,无法解析的文件不会被覆盖 —— 而是会停下并提示需要修正的地方;
  • 最后向网关发送一次实时请求,并明确告知密钥、地址和模型是否被接受。

安装程序会自动处理非标准目录:MIMOCODE_HOME、XDG_CONFIG_HOME、XDG_DATA_HOME 和 MIMOCODE_CONFIG。如需指定其他默认模型,可使用 --model 参数,支持简写 deepseek、glm 或 minimax;针对 dotfiles 和服务器还有免交互模式:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool mimo-code --non-interactive

如果 MiMo Code 正在运行,请重启它:新提供商会在启动时加载。

手动配置:mimocode.jsonc 和 auth.json

安装程序所做的一切都可以手动完成。一共两个文件,各司其职:配置文件描述提供商和模型,auth.json 保存密钥。把两者联系起来的是提供商标识符——joingonka 必须在两个文件中保持一致。配置文件 ~/.config/mimocode/mimocode.jsonc:

{
  "$schema": "https://mimo.xiaomi.com/mimocode/config.json",
  "provider": {
    "joingonka": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "JoinGonka (Gonka)",
      "options": {
        "baseURL": "https://gate.joingonka.ai/v1"
      },
      "models": {
        "deepseek-ai/DeepSeek-V4-Flash-0731": {
          "name": "DeepSeek V4 Flash (Gonka)",
          "tool_call": true,
          "reasoning": true,
          "limit": { "context": 380000, "output": 32768 }
        },
        "zai-org/GLM-5.3-Flash": {
          "name": "GLM 5.3 Flash (Gonka)",
          "tool_call": true,
          "reasoning": true,
          "limit": { "context": 390000, "output": 8192 }
        },
        "MiniMaxAI/MiniMax-M2.7": {
          "name": "MiniMax M2.7 (Gonka)",
          "tool_call": true,
          "limit": { "context": 200000, "output": 8192 }
        }
      }
    }
  },
  "model": "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"
}

密钥文件 ~/.local/share/mimocode/auth.json,权限设为 600:

{
  "joingonka": { "type": "api", "key": "jg-your-key" }
}
字段取值要点
provider.joingonka提供商标识符用小写;auth.json 中要用同一个键,否则 MiMo Code 无法把密钥和提供商关联起来
npm@ai-sdk/openai-compatible面向 OpenAI 兼容 API 的适配器——MiMo Code 通过它以 Chat Completions 与网关通信
options.baseURLhttps://gate.joingonka.ai/v1末尾要带 /v1:/chat/completions 路径由 MiMo Code 自行补上
models键为网络中的模型 id标识符会原样写进请求,厂商前缀也一并带上
limitcontext 和 output 按上表所列不填的话,MiMo Code 会以为模型的窗口有一百万 token,压缩历史就会启动得太晚——请求会撞上模型的真实上限
tool_calltrue该模型会调用工具。对于自家模型,MiMo Code 本来就默认如此,安装程序只是把该标志显式写出来
reasoningtrue推理模型标记:DeepSeek V4 Flash 和 GLM-5.3 Flash 会带上它,MiniMax M2.7 这一项则不需要

默认模型写作 provider/model-id;提供商以第一个斜杠为界切分,所以自带斜杠的网络标识符就按原样书写。

密钥还可能放在哪里。 MiMo Code 的 README 也给出了把密钥直接写进配置的写法——options.apiKey。这样确实能用,但密钥很容易随 dotfiles 一起被提交,而且遗留在那里的旧密钥会覆盖 auth.json 中的新密钥——所以安装程序会从自己的配置块里删掉 options.apiKey。更不要把密钥放进项目里的 .mimocode/mimocode.jsonc。

哪个文件说了算。 MiMo Code 按此顺序合并全局的 config.json、mimocode.json 和 mimocode.jsonc,后者覆盖前者。合并结果由 mimo debug config 打印,而你系统上配置与密钥的路径则由 mimo debug paths 打印。

来自界面的提供商、auth.json 和模型选择

无需文件,您可以通过内置向导设置提供商。首次启动时,MiMo Code 会在项目目录中询问您是否信任该文件夹(Yes, I trust this folder):代理将获得读取、编辑和运行其中文件的权限。然后,/connect 命令会打开 Select provider 列表:顶部是 Xiaomi MiMo 平台、Codex 和 Claude Code 导入入口,下方是提供商目录,最下方是 + Custom provider。向导会询问六个问题:

步骤输入内容备注
Provider id (1/6)joingonka与安装程序 ID 相同:后续运行时它将更新此记录,而不会创建第二个
Display name (2/6)JoinGonka列表中的标签;默认与 ID 相同
Base URL (3/6)https://gate.joingonka.ai/v1带 /v1 后缀
API key (4/6)您的 jg-… 密钥存入 auth.json,不写入配置
First model id (5/6)deepseek-ai/DeepSeek-V4-Flash-0731完整的网络模型 ID,带有厂商前缀
First model name (6/6)DeepSeek V4 Flash标签;默认值为 ID 本身

在我们的运行中,向导记录了一个带有单一模型且没有限制的提供商模块,并添加了两个安装程序没有的字段:带有变量名 JOINGONKA_API_KEY 的 env(MiMo Code 也会在此处查找密钥)以及 options.setCacheKey: true。这与网关配合工作,但配置仍需完善:若没有 limit,mimo models joingonka 将显示 1M tokens 的窗口。最简单的方法是在向导后运行一次安装程序——它会将带有完整限制的目录追加到同一模块中。

选择模型。 常驻选择是配置文件中的 model 字段。在界面中,模型由 /models 命令切换,单次运行可使用 -m 标志。要查看 MiMo Code 从提供商处识别到哪些模型以及其工作窗口大小,请使用 mimo models joingonka,它还会显示代理开始压缩历史记录的阈值:

joingonka/deepseek-ai/DeepSeek-V4-Flash-0731 — window 380K, compacts at 342K
joingonka/MiniMaxAI/MiniMax-M2.7 — window 200K, compacts at 180K
joingonka/zai-org/GLM-5.3-Flash — window 390K, compacts at 351K

网络中所有模型价格相同,因此选择取决于行为。以下是它们在我们的 mimo run 中针对读取文件并查找错误这一任务的表现:

模型上下文 / 响应在 MiMo Code 中的行为
DeepSeek V4 Flash380K / 32768准确完成任务;网络中响应限制最高 — 安装程序默认设置此模型
GLM-5.3 Flash390K / 8192在两步及几秒内给出简洁响应。推理模型:推理过程包含在响应限制内
MiniMax M2.7200K / 8192准确完成任务。模型的推理与响应是分开的:默认情况下 mimo run 仅显示响应和工具调用,而 --thinking 标志会输出推理过程

为何默认选择 DeepSeek V4 Flash,请参见 模型概览。

验证:应该发生什么

首先确认 MiMo Code 能看到提供商和密钥:

mimo models joingonka
mimo providers list

第一条命令会列出网络中的三个模型及其上下文窗口,如上方示例所示;第二条会打印密钥存储路径以及 joingonka api 这一行。接下来做一次试运行。在项目目录中放入一个带有明显错误的文件 calc.py——比如矩形的面积把边长相加而不是相乘——然后让它找出问题:

mimo run "Read the file calc.py in the current project directory and tell me in one sentence whether it has a bug."

输出中会显示代理和模型(> build · deepseek-ai/DeepSeek-V4-Flash-0731)、工具调用(→ Read calc.py)以及切中要害的回答——并指出出错的表达式。--format json 标志会把输出变成事件流,每一步都带有 token 计数,而 -m joingonka/<model-id> 可以在另一个模型上运行。在我们的运行中,网络中的三个模型都完整走完了「请求 → 工具调用 → 结果 → 回答」这一循环。

第三项检查从网关侧入手:在控制台的「使用情况」页面,请求会出现在「按模型」的明细中,而「按密钥」区块中最后一次请求的时间会更新。

如果出了问题,通常从报错信息本身就能看出诊断结果:

看到什么意味着什么该怎么做
Error: Invalid API key网关拒绝了密钥检查 auth.json 中的密钥,或重新运行安装程序;注意提供商区块中的 options.apiKey 会覆盖 auth.json
Error: Method Not AllowedbaseURL 缺少 /v1 后缀地址必须严格为 https://gate.joingonka.ai/v1
Error: Model not found: joingonka/… Did you mean: …?该模型不在提供商的 models 列表中——通常是 id 没有加厂商标从提示中或 mimo models joingonka 中取完整 id
permission requested: external_directory (…); auto-rejecting,运行结束时没有回答在 mimo run 中,访问项目之外的路径会被拒绝,运行随之停止。当模型到项目之外查找文件时就会这样——比如在主目录中说明文件在项目目录中;permission.external_directory 规则可授予对所需目录的长期访问权限
mimo models joingonka 显示 1M 窗口该模型没有 limit——在 Custom provider 向导之后会出现这种情况在配置中设置 limit,或运行安装程序
429 … is currently overloaded in the Gonka network (rate limit)该模型目前在网络中没有空闲容量一分钟后再试,或用 /models 命令或 -m 标志切换到相邻模型;状态可在状态页面查看
402余额已用尽在「账单」页面充值;此时密钥仍然有效
回答说到一半就断了响应流在传输中中断了——高峰期会出现这种情况mimo run -c "continue" 会从上次中断处继续最近一次会话

费用说明

代理工具消耗 token 的方式与聊天不同:MiMo Code 会在你的每一句话中添加系统提示词、工具描述和代理服务上下文,且任务需要多个步骤。在我们的运行中,对模型的每次请求都携带了 22,000 到 25,000 个输入 token,而“读取文件并查找错误”的任务包含两步,花费了约 45,000 到 50,000 个 token,其中几乎全部为输入。因此,这里的 token 单价至关重要。

通过 JoinGonka Gateway,输入端 token 价格为每百万 $0.0069,输出端为每百万 $0.021。该价格适用于所有网络模型,并从实时源同步至此页面。

场景消耗量通过 Gateway 费用
单次任务:读取文件,找出错误45-50K token几分钱的零头
一天活跃工作3-7M token几分钱
一个月活跃开发~150M token约一美元

右侧栏的估算基于 2026 年 9 月的价格。作为对比,以下是 MiMo Code 中模型付费的一般方式:

方式结算方式所需条件
Xiaomi MiMo 平台按平台条款Xiaomi MiMo 账号,浏览器登录
CodexChatGPT 订阅ChatGPT Plus 或 Pro 计划,浏览器登录
提供商目录的厂商密钥按厂商 token 定价每个厂商需要单独的密钥
JoinGonka Gateway从预付余额中扣除jg-… 密钥;三种网络模型统一价格,在后台可查看消耗详情

MiMo Code 内部对网关模型的成本估算为零 — 它们的记录中没有 cost 字段,在 --format json 事件中显示为 "cost": 0。实际消耗和余额请参考管理后台的“使用情况”和“账单”部分。

工作注意事项

权限。 在 MiMo Code 界面中,它会针对风险操作请求确认,但在 mimo run 中则无人可问——它会自动拒绝项目外部的访问请求。对于受信任的一次性环境,可以使用 --dangerously-skip-permissions 标志(或环境变量 MIMOCODE_DANGEROUSLY_SKIP_PERMISSIONS=1):它允许除明确规则禁止之外的一切操作——仅限于容器或沙箱内。在界面中,可以通过 /skip-permissions 在会话期间启用类似模式。

代理。 默认情况下,build 使用全套工具运行,plan 仅读取和分析,compose 管理从规范到已验证代码的整个过程;可以使用 Tab 在它们之间切换。

长上下文。 当达到上下文窗口限制时,MiMo Code 会从最新的检查点、项目内存和新消息中重建上下文;它根据 limit.context 计算阈值。您可以使用 /context-limit 命令为每个模型单独提前压缩上下文。

与小米账号相关的功能。 语音输入 (/voice) 使用 MiMo 平台模型识别语音,登录后即可使用。代码、命令和子代理通过连接的提供程序工作——在我们的测试运行中,无需任何登录。

图片。 网络模型是文本模型:在 /modalities 中只为它们保留文本,对于截图,请设置第二个具有视觉能力的模型提供程序。

MiMo Code 和 OpenCode 是亲戚,但设置不同。 它们拥有各自的目录和文件,因此设置不会在两者之间传递:

OpenCodeMiMo Code
命令opencodemimo
配置~/.config/opencode/opencode.json~/.config/mimocode/mimocode.jsonc
密钥~/.local/share/opencode/auth.json~/.local/share/mimocode/auth.json
安装程序--tool opencode--tool mimo-code

版本。 该项目更新频繁;为了可重复性,请固定版本:npm install -g @mimo-ai/[email protected] 或 curl -fsSL https://mimo.xiaomi.com/install | bash -s — --version 0.1.15。

该网络所服务的系列也提供来自实验室的代理:MiniMax Code 在其供应商的 MiniMax M2.7 模型上运行;DeepSeek 和 GLM 的作者 Z.ai 也有自己的代理。它们都通过同一个密钥连接到同一个网关。

MiMo Code 是小米 MiMo 终端代理,是带有项目内存和检查点的 OpenCode 分支。Gonka 网络中没有 MiMo 模型,但代理中的提供程序是可更换的:npx @joingonka/setup --tool mimo-code 会将 joingonka 提供程序写入 ~/.config/mimocode/mimocode.jsonc(适配器 @ai-sdk/openai-compatible,地址 https://gate.joingonka.ai/v1,DeepSeek V4 Flash,GLM-5.3 Flash 和带有真实 limit 的 MiniMax M2.7),并将 jg-… 密钥存入原生的 auth.json 中。您可以通过 /connect 向导 → + Custom provider 手动执行同样的操作,之后补全模型和限制。验证方法为 mimo models joingonka 和 mimo run;在单次运行中,请保持路径在项目内。

想了解更多?

探索其他章节或立即开始赚取 GNK。

获取密钥和免费代币 →