先说结论:它在 OpenCode 上加了什么
如果你读过我们之前写的 OpenCode 文章,你会知道 OpenCode 是当前最火的开源 Coding Agent——185K Star、TypeScript + Effect、75+ LLM 提供商、5 种内置 Agent。
MiMo-Code 是 OpenCode 的 fork,由小米 MiMo 团队开发。它保留了 OpenCode 的全部能力,然后往上面叠了一层 OpenCode 没有的东西:持久记忆、上下文自动重建、子 Agent 编排、Goal 停止条件判断、Compose 工作流、内置技能系统、以及 /dream 和 /distill 两个"自我进化"命令。
一句话概括:OpenCode 是一个好用的 Coding Agent,MiMo-Code 是一个能记住你、能自我改进的 Coding Agent。
它解决的核心问题
所有 Coding Agent 都有一个共同的痛:上下文窗口是有限的,但项目知识是无限的。
你用 Claude Code 写了两小时代码,关掉终端再开,它不认识你了。你用 OpenCode 分析了半天项目结构,上下文满了之后它开始忘事。这不是某个工具的 bug,是整个行业的结构性问题。
MiMo-Code 的解法是一套多层记忆系统 + 上下文自动重建机制。当上下文快满时,它不会傻等着被截断,而是主动从检查点、项目记忆、任务进度里重建上下文,让 Agent 能继续干活。
核心特性拆解
1. 持久记忆系统
MiMo-Code 用 SQLite FTS5 全文搜索做底层存储,上层有四个记忆层:
| 记忆层 | 文件 | 用途 |
|---|---|---|
| 项目记忆 | MEMORY.md | 项目架构、编码规范、业务规则——跨 session 持久存在 |
| 会话检查点 | checkpoint.md | 由 checkpoint-writer 子 Agent 自动维护的结构化状态快照 |
| 临时笔记 | notes.md | Agent 的草稿纸,临时记点东西用 |
| 任务进度 | tasks/<id>/progress.md | 每个任务的独立日志,跟 checkpoint 系统联动 |
这些不是你手动维护的——Agent 会自动写入和更新。下次打开 session 时,记忆自动注入上下文,Agent 不需要重新学你的项目。
2. 智能上下文管理
这是 MiMo-Code 最有技术含量的部分:
- 自动检查点——根据模型上下文窗口大小,自动决定什么时候保存状态
- 上下文重建——上下文快满时,从最新的检查点 + 项目记忆 + 任务进度 + 保留的近期消息重建上下文,让 Agent 能继续当前任务
- 预算注入——用 token 预算控制多少记忆内容进入上下文,按重要性排序
用大白话说:它知道自己的记忆什么时候快满了,会提前备份、然后优雅地"换页",而不是突然失忆。
3. Goal / 停止条件
/goal 命令可以给当前 session 设一个停止条件。当 Agent 想停下来时,一个独立的 judge 模型会评估对话内容,判断条件是否真正满足。
这解决了一个真实场景:你让 Agent 自己跑一个大任务,它跑了 10 分钟说"搞定了",但其实只做了一半。有了 Goal 判断,Agent 不能自己说停就停——得过 judge 那关。
4. Compose 模式 + Workflows
MiMo-Code 有两种"从 spec 到代码"的模式:
Compose Agent(交互式):按 Tab 切换到 Compose 模式,它会走 Brainstorm → Design → Implement → Verify → Review → Merge 的流程,你可以在中间任何步骤介入、改方向。
Compose Workflow(非交互式):确定性执行,自动把独立子任务并行到 git worktree 里、每个任务走 TDD、链式传递结构化输出。适合需求明确、任务可拆分的场景。
除了 compose,还有两个内置 workflow:
| Workflow | 阶段 | 用途 |
|---|---|---|
compose | Brainstorm → Design → Implement → Verify → Review → Report → Merge | 完整开发流水线 |
deep-research | Brief → Plan → Research → Reflect → Write → Review | 多源深度研究报告 |
fact-check | Plan → Search → Extract → Group → Crosscheck → Report | 对抗式事实核查 |
自定义 workflow 只需要在 .mimocode/workflows/ 下放一个 .js 文件。
5. /dream 和 /distill——自我进化
这两个命令是 MiMo-Code 最"赛博朋克"的部分:
/dream——扫描最近的 session 记录,提取持久知识写入项目记忆,同时删除过时的条目。相当于"Agent 睡觉时整理记忆"。/distill——发现你最近反复做的手动工作流,把高置信度的候选打包成可复用的技能、子 Agent 或命令。相当于"Agent 观察你的习惯,然后自动化它们"。
这不是噱头。如果你每天都在跟 Agent 说"先跑 lint 再跑 test 再 commit",/distill 会把这个模式识别出来,自动生成一个技能。下次你只需要说"提交",它就知道该怎么做。
6. 内置技能系统
MiMo-Code 自带 13 个内置技能:
| 技能 | 功能 |
|---|---|
arxiv | 搜索、阅读、引用 arXiv 论文 |
pdf-official | 生成、阅读、填写 PDF |
docx-official | 生成、阅读、转换 Word 文档 |
pptx-official | 生成和操作 PowerPoint |
xlsx-official | 构建和清理 Excel/CSV |
design-blueprint | 在 UI 设计前输出设计蓝图 + 决策记录 |
frontend-design | 前端视觉设计指导 |
html-to-video-pipeline | HTML → MP4(无头浏览器 + ffmpeg) |
research-paper-writing | 学术论文写作(ML/CV/NLP 风格) |
skill-creator | 交互式创建和改进 Agent 技能 |
evolve | 完全自修改——重写工具、行为钩子、知识、workflow、甚至 UI |
loop | 按固定节奏调度重复 prompt |
mimocode | MiMoCode 自述参考 |
特别注意 evolve 这个技能——它能让 Agent 修改自己的工具、行为、甚至 UI。这是真正的"自我进化"能力。
跟 OpenCode、Claude Code 比
| 维度 | MiMo-Code | OpenCode | Claude Code |
|---|---|---|---|
| 基础 | OpenCode fork | 原创 | 原创(闭源) |
| 持久记忆 | ✅ 4 层记忆 + FTS5 | ❌ 无 | ❌ 无(有 CLAUDE.md) |
| 上下文重建 | ✅ 自动检查点 + 预算注入 | ❌ | ❌ |
| Goal 判断 | ✅ judge 模型评估 | ❌ | ❌ |
| 子 Agent 编排 | ✅ 按需创建、并行执行 | ✅ 3 种子 Agent | ❌ 单一 |
| Compose Workflow | ✅ 3 个内置 + 自定义 | ❌ | ❌ |
| 自我进化 | ✅ /dream + /distill + evolve | ❌ | ❌ |
| 内置技能 | 13 个(PDF/Word/PPT/论文…) | ❌ | ❌ |
| 语音输入 | ✅ MiMo ASR | ❌ | ❌ |
| LLM 提供商 | 多(继承 OpenCode)+ MiMo Auto 免费 | 75+ | 仅 Anthropic |
| 开源协议 | MIT | MIT | 闭源 |
| Star 数 | 11.9K | 185K | 137K |
选 MiMo-Code 的理由:你需要 Agent 能记住项目上下文、能自动管理上下文窗口、需要内置的文档生成技能(PDF/Word/PPT)、或者想要 Goal 判断防止 Agent "假完成"。
选 OpenCode 的理由:你只需要一个干净的 Coding Agent,不需要记忆系统和 workflow 的复杂度,社区更大、生态更成熟。
上手指南
安装
# 一行安装(macOS / Linux)
curl -fsSL https://mimo.xiaomi.com/install | bash
# 或者用 npm
npm install -g @mimo-ai/cli
# 启动
mimo
首次配置
首次启动会引导你配置:
- MiMo Auto(限时免费)——匿名通道,零配置直接用
- 小米 MiMo 平台——OAuth 登录
- 从 Claude Code 导入——一键迁移已有认证
- 自定义 Provider——在 TUI 里添加任何 OpenAI 兼容 API
核心用法
# 按 Tab 切换 Agent:build(开发)/ plan(分析)/ compose(流水线)
# 设定目标条件,防止 Agent 假完成
/goal 所有测试通过且没有 lint 错误
# 让 Agent 整理记忆
/dream
# 让 Agent 学习你的工作模式并自动化
/distill
# 引用文件
@src/main.ts 这个文件的性能瓶颈在哪?
# 执行 shell
!npm test
踩坑实录
坑 1:它是 OpenCode 的 fork,不是插件。这意味着你不能在已有的 OpenCode 安装上"加装" MiMo-Code 的功能。它是独立的二进制,独立的配置目录(.mimocode/)。如果你已经在用 OpenCode,需要决定是切换还是并行。
坑 2:MiMo Auto 免费通道有速率限制。虽然是免费的,但高并发场景下会被限流。认真用的话建议绑定自己的 API Key。
坑 3:/dream 和 /distill 不是即时生效。它们需要有足够的 session 历史才能提取有意义的模式。新项目刚用的时候跑 /distill 基本没什么输出,用了一两周后效果才明显。
坑 4:Compose Workflow 的并行依赖 git worktree。如果你的 repo 有大量二进制文件或 LFS,worktree 的磁盘开销会比较大。建议 SSD 空间充足。
坑 5:语音输入需要 sox。macOS 用 brew install sox,Linux 用 apt install sox。WSL 用户还需要额外配置 PulseAudio。
适合谁
- 长期维护一个项目的人——记忆系统的价值随时间增长,用得越久 Agent 越懂你
- 需要生成文档交付物的团队——PDF/Word/PPT/Excel 技能开箱即用
- 做学术研究的开发者——arXiv 搜索 + 论文写作 + fact-check workflow
- 想要"越用越好用"的 Agent 的人——/dream + /distill + evolve 的自我进化链条
不适合的人:只想要一个轻量 CLI 工具、不想维护记忆系统的人——直接用 OpenCode 更简洁。
总结
MiMo-Code 做的事情可以用一句话概括:让 Coding Agent 从"每次重新认识你"变成"越用越懂你"。
持久记忆解决了"关终端就失忆"的问题,上下文重建解决了"长任务做到一半忘了前面"的问题,/dream 和 /distill 解决了"Agent 永远不会进步"的问题。这三个加在一起,是目前开源 Coding Agent 里最完整的"长期使用"方案。
11.9K Star、一个月,说明社区认可这个方向。
# 现在就试试
curl -fsSL https://mimo.xiaomi.com/install | bash
cd your-project && mimo