第 1 课

装好 MiMo Code,接上本地模型跑第一个任务

了解 MiMo Code 是什么、能接哪些模型,用官方脚本或 GitHub Releases 安装,用 mimo debug paths、providers list、models 看清环境和未登录时的报错,用 llama serve 起 64K 上下文的本地服务,在 mimocode.json 里写自定义 OpenAI 兼容提供商并用 limit 修正上下文,再用 mimo run 跑通第一次问答。

图文22 分钟

课程目录第 1 / 3 课

学习位置仅保存在当前浏览器,有效期 180 天。

01 / 图文教材

图文教材

本课依据:MiMo Code 官方文档「安装与启动」https://mimo.xiaomi.com/zh/mimocode/install 、「连接模型」https://mimo.xiaomi.com/zh/mimocode/models-provider 、「模型」https://mimo.xiaomi.com/zh/mimocode/models 、「配置文件」https://mimo.xiaomi.com/zh/mimocode/config-files ,「第一次提示」https://mimo.xiaomi.com/zh/mimocode/first-prompt 、「会话」https://mimo.xiaomi.com/zh/mimocode/sessions 、「CLI 子命令」https://mimo.xiaomi.com/zh/mimocode/cli-subcommands ,官方配置 Schema https://mimo.xiaomi.com/mimocode/config.json ,以及官方仓库 https://github.com/XiaomiMiMo/MiMo-Code (2026-10-29 核对,MiMo Code 0.1.16)。

这一课做完你会得到什么

在 Linux 或 macOS 上装好 mimo 命令,看懂它的配置和数据放在哪里,再写一份项目级配置 mimocode.json,把一个跑在本机的开源小模型接进来,用 mimo run 跑通第一次问答。全程不需要小米账号,也不需要任何付费 API Key。

MiMo Code 是什么

MiMo Code 是小米 Xiaomi MiMo 团队开源的终端 AI 编程助手(MIT 许可),基于开源项目 OpenCode 分叉。它在命令行里读写代码、执行命令、管理 Git,并带有跨会话的持久记忆、子智能体和内置技能。它本身不绑定模型,模型来自「提供商」:

接法适合谁
Xiaomi MiMo(Token Plan 或按量 API)想直接用官方 mimo-v2.6 系列模型
其他云端提供商(官方称支持 75+ 家)已有 OpenAI、Anthropic 等账号
自定义 OpenAI 兼容端点想用本机或内网部署的模型

本课用第三种:先用 llama.cpp 在本机起一个 OpenAI 兼容服务,再让 MiMo Code 连过去。这样每个读者都能零成本跟着做完;换成官方模型只需要在 TUI 里运行一次 /connect,后面的规则、权限、命令和技能写法完全一样。

第 1 步:安装 mimo 命令

官方安装命令(macOS / Linux):

curl -fsSL https://mimo.xiaomi.com/install | bash

Windows 在 PowerShell 里运行:

powershell -ep Bypass -c "irm https://mimo.xiaomi.com/install.ps1 | iex"

脚本会把程序装到 ~/.mimocode/bin/mimo,并把这个目录写进 shell 配置文件的 PATH。

如果你不想直接运行远程脚本,或者网络下载不了安装脚本,也可以走另一条路(本课实测就是这样装的):从官方 GitHub Releases 下载同一个程序手动安装。下面以 Linux x86_64 为例;Apple 芯片的 Mac 换成 mimocode-darwin-arm64.zip,用 unzip 解压:

V=v0.1.16
F=mimocode-linux-x64.tar.gz
curl -fLO \
https://github.com/XiaomiMiMo/MiMo-Code/releases/download/$V/$F
mkdir -p ~/.mimocode/bin
tar xzf $F -C ~/.mimocode/bin
export PATH=$HOME/.mimocode/bin:$PATH
mimo --version

对照结果(2026-10-29 实测,Linux x86_64):

0.1.16

手动安装不会改 shell 配置。想让新终端也能找到 mimo,把 export PATH=$HOME/.mimocode/bin:$PATH 这一行加进 ~/.bashrc 或 ~/.zshrc。最新版本号以 https://github.com/XiaomiMiMo/MiMo-Code/releases 为准。

第 2 步:看清配置和数据放在哪

mimo debug paths

对照结果(实测,用户名不同路径会不同):

home       /home/box
data       /home/box/.local/share/mimocode
bin        /home/box/.cache/mimocode/bin
log        /home/box/.local/share/mimocode/log
cache      /home/box/.cache/mimocode
config     /home/box/.config/mimocode
state      /home/box/.local/state/mimocode

要记住三处:

  • ~/.config/mimocode/:全局配置,例如 mimocode.json 和全局规则 AGENTS.md。
  • ~/.local/share/mimocode/:登录凭据 auth.json 和会话数据库。官方「会话」页提醒不要手动编辑这里的文件。
  • 项目根目录的 .mimocode/:项目级配置、命令和技能,第 2、3 课都写在这里。

再看一眼当前有哪些凭据和模型:

mimo providers list
mimo models

对照结果(实测,新装、还没登录):

┌  Credentials ~/.local/share/mimocode/auth.json
│
└  0 credentials

xiaomi/mimo-v2.6-flash — window 1.05M, compacts at 944K
xiaomi/mimo-v2.6-pro — window 1.05M, compacts at 944K
xiaomi/mimo-v2.6-pro-ultraspeed — window 1.05M, compacts at 944K

列表里的 window 是上下文窗口,compacts at 是自动压缩上下文的触发点。

默认模型是 xiaomi/mimo-v2.6-flash。实测在没有任何凭据时直接用 mimo run 调它,会报错:

cd /tmp && mimo run "你好"
> build · mimo-v2.6-flash

Error: Invalid API Key: Please provide valid API Key

所以下一步要么 /connect 登录,要么接自己的模型。

第 3 步:在本机起一个 OpenAI 兼容模型服务

这里用站内课程「Llama App 与 llama.cpp 上手」(https://www.kun.net/tutorials/llama-app-quickstart-local-openai-api/ )里的 llama serve(llama.cpp 自带的服务器)跑 Gemma 4 E2B 的 4-bit 量化版,约 3 GB。已经有 Ollama、LM Studio 或其他 OpenAI 兼容服务的,跳过这一步,记下它的地址和模型名即可。

llama serve -hf unsloth/gemma-4-E2B-it-GGUF:Q4_K_M \
  --port 8089 -c 65536 -np 1 \
  --alias gemma-4-e2b --jinja

参数说明:

  • -c 65536 -np 1:只开 1 个并发槽,让这一个槽独享 64K 上下文。
  • --alias gemma-4-e2b:对外暴露的模型名。
  • --jinja:用模型自带的对话模板,工具调用需要它。

为什么要 64K:MiMo Code 每次请求都会带上很长的系统提示和工具定义,实测第一轮提示就有约 2 万 token。第一次实测用的是 -c 32768,默认分成 4 个槽共享,几轮之后服务端日志出现:

decode() failed: Context size has been exceeded.

模型随即开始重复写同一个文件。改成 -c 65536 -np 1 后恢复正常。

确认服务可用:

curl -s http://127.0.0.1:8089/v1/models

返回的 JSON 里能看到 "id":"gemma-4-e2b" 就可以了。

第 4 步:用 mimocode.json 接上本地模型

建一个练习项目,在里面写项目级配置:

mkdir -p ~/mimo-demo/.mimocode && cd ~/mimo-demo
git init -q
cat > .mimocode/mimocode.json <<'EOF2'
{
  "$schema": "https://mimo.xiaomi.com/mimocode/config.json",
  "model": "local/gemma-4-e2b",
  "provider": {
    "local": {
      "name": "llama.cpp 本地",
      "npm": "@ai-sdk/openai-compatible",
      "only_configured_models": true,
      "models": {
        "gemma-4-e2b": {
          "name": "Gemma 4 E2B (本地)",
          "limit": { "context": 65536, "output": 4096 }
        }
      },
      "options": {
        "baseURL": "http://127.0.0.1:8089/v1",
        "apiKey": "none"
      }
    }
  }
}
EOF2

逐项看:

  • model:默认模型,格式是 provider_id/model_id。官方「模型」页说明,自定义提供商的 provider_id 就是 provider 下的键名(这里是 local),model_id 是 models 下的键名。
  • npm:配置 Schema 里 provider 的字段,指定用哪个 AI SDK 包和服务通信(「连接模型」页说明 MiMo Code 基于 AI SDK 和 Models.dev)。OpenAI 兼容接口对应 AI SDK 的官方包 @ai-sdk/openai-compatible,见 https://ai-sdk.dev/providers/openai-compatible-providers ,本课实测可用。
  • options.baseURL 和 options.apiKey:「配置文件」页 provider 一节列出的字段。本地服务不校验密钥,随便填一个非空值。
  • limit:告诉 MiMo Code 这个模型的上下文和输出上限。Schema 里 context 和 output 两项都是必填。
  • only_configured_models:只列出你在 models 里写的模型。

开头的 $schema 让 VS Code 等编辑器能补全和校验字段。

查看效果:

mimo models local

对照结果(实测):

local/gemma-4-e2b — window 66K, compacts at 59K

limit 很关键。第一次实测没写它时,同一条命令显示的是:

local/gemma-4-e2b — window 1M, compacts at 900K

也就是说,MiMo Code 会以为这个小模型有 100 万上下文,永远不会主动压缩,直到服务端报超长。

项目目录下还会自动生成 .mimocode/.gitignore,忽略 node_modules、package.json、bun.lock 等运行时文件,不用手动处理。

第 5 步:跑第一个任务

cd ~/mimo-demo
time mimo run "用一句中文介绍你自己"

对照结果(实测,8 核 CPU、无 GPU):

> build · gemma-4-e2b

我是 MiMoCode,一个交互式的命令行工具,旨在帮助您完成软件工程任务。

time 显示这一次耗时约 2 分 6 秒。第一行 build · gemma-4-e2b 表示当前用的是 build 模式和本地模型。纯 CPU 上,光是读入约 2 万 token 的系统提示就要一两分钟,所以慢是正常的;有 GPU、或者换成官方 API 模型,会快很多。

日常更常用的是交互界面,在项目目录里直接输入:

mimo

进入 TUI 后:

  • /models 切换模型。
  • /connect 登录 Xiaomi MiMo 或其他提供商。
  • Tab 键在 build 和 plan 模式间切换。
  • @ 模糊搜索项目文件,把它加进提示词。

换成官方模型怎么做

官方推荐新用户用 MiMo Token Plan。在 TUI 里运行 /connect,选 Xiaomi MiMo,到 https://platform.xiaomimimo.com 登录、添加账单信息并复制 API Key,粘贴回终端即可;之后 mimo models xiaomi 里的三个 mimo-v2.6 模型都能用。不进 TUI 的话,用命令行 mimo auth login 做同样的事(mimo providers 是同一个命令,auth 是它的别名),密钥存进 ~/.local/share/mimocode/auth.json。

注意:官方文档部分示例里写的模型 ID 是 xiaomi/mimo-v2.5-pro,那是旧型号。照抄时以 mimo models xiaomi 实际列出的 ID 为准,例如 xiaomi/mimo-v2.6-pro。

小结

  • 安装:官方一行脚本,或从 GitHub Releases 下载后放进 ~/.mimocode/bin。
  • mimo debug paths 看配置、数据和日志的位置;mimo providers list 看凭据;mimo models 看可用模型。
  • 自定义 OpenAI 兼容提供商写在 .mimocode/mimocode.json 的 provider 里:npm 指定 SDK,options.baseURL 指定地址,models.<id>.limit 写清上下文和输出上限。
  • 本地小模型要给足上下文(实测至少 64K),否则会超长报错、反复执行同一个操作。
  • mimo run "…" 是非交互的一次性运行,下一课用它让 MiMo Code 真正写文件、跑命令。