MiMo Code 是以测试缺陷为起点驱动自动修复闭环的终端 Agent,支持三类可复现输入,执行诊断→修改→验证三阶段流程,输出可审查变更包,不自动提交,需人工介入处理外部依赖、构建问题或多模块耦合场景。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

MiMo Code 不是“写完代码再测试”的辅助工具,而是把测试缺陷当作任务起点,直接驱动完整修复闭环的终端 Agent。它不依赖你先定位 bug、再翻日志、再改代码——你只需把失败的测试用例或报错信息扔给它,它会自主拉取上下文、复现问题、分析根因、生成补丁、验证结果,全程无需切换窗口或手动干预。
识别缺陷:支持多种输入形式,但关键在“可复现”
MiMo Code 对缺陷输入的容忍度较高,但有效修复的前提是它能稳定复现问题。推荐以下三类输入方式:
- 粘贴完整的 test failure 输出(含 stack trace、assertion message 和 failing line 号);
- 提供可执行的最小复现命令(如
npm test -- --testName="should handle empty cart"); - 上传失败的单元测试文件 + 对应被测模块源码(支持拖拽或
mimo fix --files test/cart.test.ts src/cart.ts)。
避免只给模糊描述(如“下单失败”“页面白屏”),也不建议仅传截图——MiMo Code 当前版本不解析图像中的错误堆栈,需文本化输入。
自动修复:三阶段闭环,不是简单 patch 替换
它执行的是“诊断→修改→验证”结构化流程,而非单次代码生成:
- 诊断阶段:自动读取项目结构,定位失败测试关联的源码、mock 文件、配置项;结合上下文推理可能的边界条件(如空值、并发时序、异步竞态);
- 修改阶段:生成最小改动补丁,优先保持原有函数签名与副作用行为;若涉及状态管理或副作用逻辑,会同步更新相关测试断言;
- 验证阶段:静默运行原失败用例 + 相邻 3 个同模块测试,确认无回归;若 CI 配置了 lint 或 type check,也会一并触发。
例如,当遇到 Jest 中 TypeError: Cannot read property 'id' of undefined,MiMo Code 会检查调用链中是否缺少 guard 判断,并在对应位置插入 if (!item) return null; 类安全守卫,而不是直接重写整个函数。
验证与交付:输出可审查、可回滚的变更包
修复完成后,MiMo Code 默认输出结构化报告,包含:
- 变更摘要(修改了哪几个文件、增删行数、是否影响导出接口);
- diff 补丁(标准 unified diff 格式,可直接
git apply或人工 review); - 验证日志(测试通过详情、未覆盖分支提示、潜在副作用警告);
- 可选生成 PR 描述模板(含复现步骤、修复逻辑、影响范围说明)。
所有操作默认在当前 Git 工作区执行,不自动 commit 或 push。你可以用 mimo fix --dry-run 预览全流程,或加 --review 进入交互式审查模式,逐块确认每处修改。
常见失效场景与应对建议
并非所有缺陷都能一次修好,以下情况需人工介入或调整输入:
- 测试依赖外部服务(如数据库、第三方 API)且未 mock:建议先补充
jest.mock声明,或用mimo fix --offline模式跳过网络校验; - 错误源于构建时问题(如 TypeScript 类型擦除、Webpack tree-shaking 异常):MiMo Code 当前不介入构建层,需明确告知“类型检查失败”或提供
tsc --noEmit输出; - 多模块耦合缺陷(如 A 模块改了接口,B 模块未同步):可配合
mimo plan先做跨文件影响分析,再执行mimo fix。
它不承诺“100% 修好”,但把修复过程从“试错式调试”变成了“可追踪、可审计、可协作”的工程动作。


















