mimo code的compose模式通过设计闭环实现端到端自动化开发:自动扫描项目生成memory.md,执行design→plan→build→review四阶段流程,显性化设计决策并保障跨会话一致性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

MiMo Code 的 Compose 模式专为端到端自动化开发设计,它不只生成代码片段,而是从需求出发,主动理解项目上下文、应用设计原则(如单一职责、开闭原则、依赖倒置),并生成结构合理、可维护的类与模块。关键在于它把“设计决策”显性化、可追溯,而不是黑箱式输出。
自动识别项目架构与设计约束
首次进入项目时,MiMo Code 会扫描目录结构、package.json/tsconfig.json、已有类命名规范、接口定义及 README,自动生成 MEMORY.md。这份记忆文档里明确记录了当前项目的分层方式(如 domain/service/infra)、常用设计模式(如 Repository、Factory)、以及团队约定(如“所有 DTO 必须以 DTO 结尾”)。后续生成类时,它会主动对齐这些约束,而非凭空发挥。
- 比如你输入 “加一个用户登录失败次数限制功能”,它不会直接写 LoginService;而是先判断:当前项目是否已有 RateLimiter 抽象?Auth 模块是否已存在?若存在,就扩展现有类;若不存在,再新建符合目录层级的类。
- 它能识别常见框架结构(Express、NestJS、Spring Boot 等),自动匹配对应的装饰器、注解或依赖注入风格。
Compose 模式下执行完整设计闭环
启用 Compose 模式(按 Tab 键切换)后,一句自然语言指令会触发四阶段流程:Design → Plan → Build → Review。其中 Design 阶段由独立子 Agent 完成,会输出 UML 类图草稿、职责划分说明和接口契约草案,并等待你确认或微调。
- Design 阶段输出示例:
• 核心实体:User、LoginAttempt
• 新增接口:IRateLimitService(含 tryAcquire、resetForUser)
• 新增类:LoginAttemptTracker(domain)、RedisRateLimitRepository(infra)
• 违反原则检查:无 —— 所有新类职责单一,infra 层不引用 domain 外部类型 - Plan 阶段会列出具体文件变更路径(如 src/domain/user/LoginAttempt.ts、src/infra/rate-limit/RedisRateLimitRepository.ts),并标注是否需修改现有文件(如 UserEntity 增加 failedLoginCount 字段)。
记忆驱动的持续一致性保障
每次生成类后,Writer 子 Agent 会将设计决策写入项目记忆,包括“为什么选组合而非继承”“为何将校验逻辑放在 domain 层”。后续同类需求(如“加邮箱验证次数限制”)会复用该模式,保持风格统一。你也可以用 /dream 命令定期压缩记忆,让系统提炼出通用规则(例如:“所有限流功能必须实现 IRateLimitService,且 infra 实现不可暴露 RedisClient”)。
- 跨会话依然有效:即使关闭终端再重开,只要在同个项目目录下启动 MiMo Code,它仍记得上次你否决过“用全局单例管理计数器”的方案,并自动避开类似设计。
- 当检测到新类与已有 MEMORY.md 冲突(如命名不符规范),它会暂停执行,提示:“检测到新类名 EmailValidator 未遵循 ‘*Validator’ 接口命名约定,是否更新 MEMORY.md 或调整命名?”
可干预、可审查、可回溯
它不追求“全自动即完成”,而是把每一步设计选择暴露出来。生成代码前,你会看到 diff 预览;提交前,内置审查 Agent 会运行 ESLint/TSLint 规则 + 自定义设计检查(如“domain 层不得 import infra”)。所有中间产物(UML 草稿、接口契约、变更计划)都保留在 .mimo/cache 下,随时可查。
- 若某次生成违反了 SOLID 原则,你可以用 /distill 命令手动标记该案例,系统下次会主动规避同类错误。
- 支持语音指令干预:“撤回上一步设计”“把 Repository 换成内存实现”“导出当前类图到 docs/”











