小米MiMo Code无限上下文深度评测:AI编码新利器
MiMo Code 是由小米 MiMo 团队打造的终端 AI 编码助手,核心卖点是“无限上下文”。近期在开发者社区中热度上升,本文结合实际场景,评估其落地能力与使用细节。
安装流程
以 macOS 和 Linux 为例,执行以下脚本即可完成部署:
curl -fsSL https://mimo.xiaomi.com/install | bash
Windows 用户可通过 npm 全局安装:
npm install -g @mimo-ai/cli
安装后,在项目根目录执行 mimo 即可启动 TUI。首次使用需连接模型,在界面输入 /connect 触发。文档默认推荐 Xiaomi MiMo Token Plan,但同样兼容其他 LLM 提供商。MiMo Code 底层基于 AI SDK 与 Models.dev,官方声称支持 75 余种 LLM 提供商,涵盖本地模型。通过 /models 命令可随时切换当前任务所需的模型——同一 Android 项目中,读代码、改代码、写文档、做审查时,没必要绑定同一模型。
配置文件解析
核心配置文件为 mimocode.json,常用字段包括 model、small_model、provider、permission、agent、command、skills、mcp、lsp、formatter、instructions 等。最小配置只需 schema、模型和 provider 信息。
API Key 的处理方式值得借鉴——文档明确反对硬编码进仓库,推荐通过环境变量或文件读取。参考示例如下:
{
"$schema": "https://mimo.xiaomi.com//config.json",
"model": "{env:MIMOCODE_MODEL}",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}",
"baseURL": "{file:~/.secrets/anthropic-endpoint}"
}
}
}
}
其中 {env:VAR} 从环境变量取值,{file:path} 从指定文件读取。对团队项目而言,这种设计比直接写死 API Key 更安全,也便于在不同开发机器间切换 provider。
若希望限制团队仅使用特定 provider,可配置 enabled_providers 或 disabled_providers。注意文档明确说明 disabled_providers 优先级更高——即使某个 provider 已配置环境变量,只要被禁用就不会出现在选择列表中。例如:
{
"enabled_providers": ["anthropic", "openai"],
"disabled_providers": ["gemini"]
}
这种配置方式适合企业级统一管控。比如公司内网仅支持特定 provider,则应避免开发者在本地随意切换。
权限管控策略
AI 编码工具的常见风险不在于“能否生成代码”,而在于“能否随意执行命令”。MiMo Code 的权限支持 ask、allow、deny,并可针对不同工具和命令前缀设置规则。一个偏保守的 Android 项目配置示例:
{
"permission": {
"bash": {
"*": "ask",
"git status*": "allow",
"git diff*": "allow",
"git log*": "allow",
"./gradlew tasks*": "allow",
"./gradlew test*": "ask",
"./gradlew assemble*": "ask",
"git commit*": "deny",
"git push*": "deny"
},
"edit": "ask",
"write": "ask"
}
}
这里没有开放 git commit 和 git push——AI 可以修改代码,但代码提交和推送必须由人确认。Gradle 命令同样不建议全放行,因为 Android 项目中的构建过程往往涉及长时间编译、依赖下载或设备测试。
关于 ask 审批,文档提供三个选项:once、always、reject。值得注意的是,always 仅在当前 MiMo Code 会话剩余时间内有效,不会永久写入配置。这种设计适用于临时放行一组安全命令,比如在某个任务中需要反复执行 git diff 或特定测试指令。
三种主线模式
MiMo Code 内置三种主线模式:build、plan、compose。
build 为默认模式,文件操作与系统命令均可用,适合实际修改代码。日常修复 Compose 页面、补充 ViewModel 测试、修改 Gradle 配置等场景均可胜任。
plan 为受限模式,默认禁止写文件、改文件、打补丁、执行 shell 命令。适合先阅读代码并拆分任务。例如迁移老模块到 Koin 4 时,让 plan 分析依赖关系、列出风险点、拆解步骤,比直接让模型执行更稳妥。
compose 更像工作流模式,内置技能组合包括 compose:tdd、compose:debug、compose:verify、compose:plan、compose:execute、compose:review、compose:worktree 等。它并非替代 build,而是让模型按技能组织任务。切换方式直观:按 Tab 键在主模式间切换,或在消息中使用 @compose 调用。
在 Android 项目实践中,可分类使用:
- 不确定改动范围时,先用
plan阅读代码 - 明确要改文件时,用
build执行 - 任务需要计划、执行、验证、审查多环节时,用
compose
这几个模式的实际效果高度依赖权限、工具、提示词和模型的配置。若 plan 被额外放开写权限,则不再是纯粹的只读规划;反之若 build 将所有 bash 命令设为 deny,验证动作也无法执行。
整体来看,MiMo Code 的基础框架已较为完善:终端入口、模型连接、配置文件、权限控制、主模式、技能系统、MCP、LSP、格式化工具均配有文档支持。开发者可根据实际需求深入探索。
#Android开发 #AI编程助手 #MiMoCode #Kotlin #JetpackCompose