OPEN SOURCE DEEP DIVE
MiMo Code:小米的终端编码 agent,把赌注押在记忆与自我进化上
小米开源的终端原生 AI 编码助手,TypeScript(bun 构建),源码 MIT 但另有 USE_RESTRICTIONS.md、MiMo 服务条款与商标政策约束——当纯 MIT 用之前必须读这几条。README 点明它是 OpenCode 的 fork:保留多 provider、TUI、LSP、MCP、插件内核,在其上加了持久记忆(SQLite FTS5 全文检索,分项目记忆 MEMORY.md / 会话检查点 / 草稿笔记 / 任务进度四类,恢复会话自动注入)、智能上下文管理(接近上限时从「最新检查点 + 项目记忆 + 任务进度 + 保留近期消息」重建,按 token 预算做重要性排序)、目标与停止条件(/goal 设条件,agent 想停时由一个独立的裁判模型评估是否真的达成,专治乐观提前收工)、以及沙箱里的确定性 JS 工作流(compose 把独立任务自动分进隔离 git worktree 逐任务上 TDD,另有 deep-research、三评审对抗投票的 fact-check、带防指标作弊审计的 research-experiment)。内置二十个 skill(arxiv / claude-code / codex / docx / pdf / pptx / xlsx / html-to-video / product-design 等),兼容 .agents/skills、.claude/skills、.codex/skills、.opencode/skills 四套根目录,同名即覆盖。/dream 与 /distill 是差异化标签:前者把最近会话轨迹提炼进项目记忆并清掉过时条目,后者发现你重复的手工流程打包成可复用 skill。模型无关,可接小米平台、Codex/ChatGPT OAuth 或任意 OpenAI 兼容端点。13.4k★。我们未安装运行,记忆恢复准确率、裁判模型有效性、官方宣称的缓存命中率均未经我们验证,记为待复现。
一句话定位
MiMoCode 是小米的终端原生 AI 编码助手:读写代码、执行命令、管理 Git,并用一套持久记忆系统跨会话保持对项目的深度理解,同时「持续自我改进」。MIT 协议(另附使用限制条款),TypeScript(用 bun 构建),官网 mimo.xiaomi.com/mimocode,一行 curl 或 npm install -g @mimo-ai/cli 装好,跑 mimo 即用。README 点明它是 OpenCode 的 fork:保留多 provider、TUI、LSP、MCP、插件这些内核能力,在其上加了持久记忆、上下文管理、子智能体编排、目标驱动的自主循环、compose 工作流,以及 /dream、/distill 两条自我改进路径。
用户点名要收「小米的开源 coding agent」,指的就是这一条。它与 hermes-agent、deepseek-harness、pi 属于同一形态(终端里的编码 agent),但它是站在 OpenCode 肩膀上的再加工,而不是从零写的一个,这一点决定了它的功能面为什么这么宽。
它真正押注的东西:记忆与上下文,而不是模型
MiMoCode 可以接任何主流 LLM(小米自家平台、Codex/ChatGPT OAuth、从 Claude Code 迁移鉴权、目录里的 provider、或任意 OpenAI 兼容端点)。也就是说它不把宝押在某个模型上,而是押在「围绕模型的这套工程」上。README 里最有信息量的是四块:
| 机制 | 它解决的真实痛点 | 工程细节(说明这不是 PPT 功能) |
|---|---|---|
| 持久记忆 | 每开一个新会话,agent 就得重新理解项目 | 基于 SQLite FTS5 全文检索;分项目记忆(MEMORY.md)、会话检查点(checkpoint.md)、草稿笔记(notes.md)、任务进度(tasks/<id>/progress.md)四类,恢复会话时自动注入 |
| 智能上下文管理 | 长任务撞上下文上限,截断丢关键约束 | 接近上限时从「最新检查点 + 项目记忆 + 任务进度 + 保留的近期消息」重建上下文;按 token 预算做重要性排序注入;/context-limit 可让模型比自身窗口更早压缩 |
| 目标 / 停止条件 | 自主跑长任务时 agent「乐观地提前收工」 | /goal 设停止条件;agent 想停时,由一个独立的裁判模型评估对话是否真的达成条件,防止过早停止 |
| 工作流(确定性 JS 脚本) | 会话式 agent 不适合「固定阶段、可并行、不需人盯」的活 | 沙箱运行时里的固定阶段序列,带有界重试与自动并行;compose 把独立任务自动分进隔离的 git worktree、逐任务上 TDD;deep-research、fact-check(三评审对抗投票)、research-experiment(带防指标作弊审计的自主优化环) |
这四块放在一起,能看出 MiMoCode 的判断:编码 agent 的瓶颈不在单次模型调用的聪明程度,而在「跨会话不忘事、长任务不丢约束、自主跑不跑偏」。目标裁判模型这一条尤其值得记——它用「一个模型监督另一个模型是否该停」来对付 agent 的乐观停止,这是把可靠性问题当成系统工程在做,而不是写进提示词。
Skills:它自带二十条,还能自己造
MiMoCode 内置二十个 skill,覆盖 arxiv(检索/精读/引用论文)、claude-code 与 codex(把编码/测试/评审/Git 委派给这两个 CLI)、docx-official / pdf-official / pptx-official / xlsx-official(办公四件套的读写与转换)、html-to-video-pipeline(无头浏览器 + ffmpeg 出 MP4)、product-design、data-analytics、deep-research、skill-creator(交互式造新 skill)等。检索方式是精确名 + 本地化别名 + BM25 相关性,高置信自动加载,一条消息里点名两个以上会注入多技能编排计划。
这一点与本站「办公 / PPT」这条线直接相关:MiMoCode 把 pptx-official 这类办公技能做成了内置、可自动挂载的一等公民,与 guizang-ppt-skill、frontend-slides 那种「外部装进来的 skill」是两种分发形态。它还开放了 skill 根目录的兼容:.agents/skills(开放标准)、.claude/skills、.codex/skills、.opencode/skills 都能按需启用,用户 skill 同名即覆盖内置。
两条自我改进命令是它的差异化标签:/dream 扫最近会话轨迹、把持久知识提炼进项目记忆并清掉过时条目;/distill 发现你重复的手工流程,把高置信候选打包成可复用的 skill、子智能体或命令。这就是标题「模型与 agent 共同进化」的落点——agent 从你的实际操作里长出能力。
桌面形态:MiMo Desktop
README 同时推了 MiMo Desktop(国际版 beta 邀请制),以 MiMo Code 为核心引擎,把终端里的能力搬到桌面:一个对话处理办公 / 设计 / 编码 / 多模态创作,多对话分工协作;智能编排按任务类型与成本动态选模型、框架与工具,复杂任务多 agent 并行;可拖入多格式文件做 PPT、网页、3D 资产与应用,会话内预览与操作、选区精编、版本回滚;浏览器控制(开网页、取信息、填表单、生成网页后检查关键交互);计算机控制(仅国际版,读屏 + 跨应用操作鼠标键盘,支持 Record & Replay 复用录制的流程)。成本控制上,官方给的是标准 / 旗舰模型分流、只编必要区域、会话内最高 99% / 跨会话 95% 缓存命中。
边界与取舍
- MIT 之上另有使用限制:源码 MIT,但使用同时受
USE_RESTRICTIONS.md、小米 MiMo 服务条款与商标政策约束。把它当纯 MIT 开源用之前必须读这几条——「开源」不等于「无限制商用」。 - fork 的血缘是双刃:继承 OpenCode 的成熟内核是优点,但也意味着它的能力边界与上游耦合,自主特性主要落在「记忆 / 上下文 / 编排 / 自我改进」这几层,而不是重写底层。
- 部分能力绑登录:语音输入(TenVAD + MiMo ASR)、桌面 beta、MiMo-X-Pro/Flash-Preview 试用等面向 MiMo 登录用户;纯本地跑开源权重时这些不在。
- 终端环境挑剔:README 自己列了一串坑——不支持 macOS 自带 Terminal.app、WSL 剪贴板要装 xsel、SSH 直连 TUI 会卡要改本地渲染 + 远端 server、Windows 非 UTF-8 区域会乱码。这些是真实工程细节,也是上手摩擦。
在 agientry 里的位置
本站编码 agent 这条线已有 hermes-agent、deepseek-harness、pi、以及 OpenCode 系的多条;MiMoCode 是其中唯一一条来自手机大厂、且明确以「记忆 + 自我进化」为主轴的开源终端 agent。它与 LangGraph / Deep Agents 不在同一层:后两者是运行时与可嵌入 harness,MiMoCode 是面向开发者的成品 CLI。它的桌面形态又把编码 agent 往「一个对话处理办公 + 设计 + 编码」的通才方向推,这与本站「办公 / 设计 / PPT」几条线是交叉的。
本页事实来自项目 README(实读全文,含核心特性、工作流、Skills、语音、桌面、配置、与 OpenCode 关系、License 各段)与官网链接;星标、协议、语言取自 GitHub API。我们没有安装运行 MiMoCode,没有做基准或复现测试——记忆恢复的实际准确率、目标裁判模型的有效性、/dream 与 /distill 自我改进的真实收益、以及官方宣称的缓存命中率均未经我们验证,因此这一条记为待复现。