MiMo Code 通过一套工程化的记忆机制,有效解决大模型在处理大型项目时面临的长上下文挑战。它并不依赖所谓的“无限窗口”,而是让项目中的背景知识自动沉淀并按需加载,从而彻底摆脱重复描述。接下来将深入解析其四大核心模块,并提供实用技巧与常见问题解答,帮助你快速掌握使用要领。
一、项目记忆:自动提取并固化关键结构
MiMo Code 在首次分析代码库时,会主动识别并记录以下核心信息,并将其存入 project-memory.json 文件。后续任务会默认读取该文件,无需每次重复说明。
- 核心模块职责:例如“src/api/ 负责与后端通信,统一采用 axios 封装”
- 技术栈约束:例如“Vue3 + Pinia + Vite,禁止使用 Options API”
- 命名与路径规范:例如“组件名首字母大写,文件夹名全小写”
- 既有约定:例如“所有错误日志必须包含 traceId”
技巧:如果你需要手动更新项目记忆,可以直接编辑 project-memory.json 文件,或通过 MiMo Code 的配置界面重新触发扫描。建议每次提交代码后手动执行一次快速扫描,确保记忆内容与当前代码库保持一致。
二、会话检查点:分阶段保存推理链路
当执行跨多文件重构或较长的流程任务时(例如“将登录模块从 JWT 迁移到 OAuth2”),MiMo Code 会在关键节点自动生成检查点,确保任务中断后可继续未完成的分支。
- 拆解完成时 → 记录任务树(含依赖顺序)
- 首次编译失败时 → 保存报错上下文及已修改文件列表
- 测试通过后 → 快照变更范围并验证逻辑
中断后重启时,MiMo Code 不会重新读取全部聊天记录,而是直接加载最近的检查点,快速恢复推理链路。
常见问题:检查点文件在哪里?如何手动触发保存?检查点默认存储于项目根目录的 .mimo/checkpoints/ 文件夹中。可以通过命令 /checkpoint 手动创建一个检查点,或通过 /list-checkpoints 查看历史检查点列表。
三、动态简报压缩:子 Agent 替你提炼摘要
当会话上下文占用达到 70% 时,独立的 Writer 子 Agent 会自动启动,将冗长的对话流压缩成仅包含决策级信息的简报。
- 剔除调试过程中的中间命令输出
- 合并多次讨论中已确认的设计要点(例如“前端 token 存 localStorage,后端校验用 Redis”)
- 将零散反馈转化为结构化约束(例如把“按钮颜色太浅”转换为“主操作按钮色值需满足 WCAG AA 对比度 ≥ 4.5”)
主 Agent 后续工作将基于这份简报,而非原始对话流,既节省 token 消耗,又过滤了干扰信息。
技巧:如果你认为某个讨论点非常重要、不希望被压缩遗漏,可以在编写对话时主动添加标签 [KEEP],Writer 子 Agent 会优先保留该内容。
四、/dream 命令:定期收敛分散记忆
每七天自动触发一次 /dream(也可手动执行),它会执行以下操作:
- 扫描所有历史会话和检查点
- 去重冲突描述(例如不同会话对同一接口的返回字段说法不一,取最新 commit 对应的 schema)
- 验证路径有效性(删除已不存在的文件引用、过期的 PR 链接)
- 生成一份精简版 global-context.md,作为新会话的默认前置知识
长期维护的项目越用越“懂你”,这正是这一可验证、可审计的记忆闭环所发挥的作用。
常见问题:如何手动触发 /dream?直接在 MiMo Code 的对话输入框中输入 /dream 即可。执行后可在项目根目录下看到生成的 global-context.md 文件,你可以手动审查并微调其中的内容。

常见问题汇总
- 1. 项目记忆(project-memory.json)可以手动编辑吗?可以。它本质上是一个 JSON 文件,你可以使用任何文本编辑器修改。但需注意格式必须正确,否则 MiMo Code 可能无法解析。建议修改后执行 /reload-memory 命令让系统重新加载。
- 2. 会话检查点过多会占用磁盘空间吗?检查点文件通常只有几 KB,保存的是任务树和关键上下文,而非完整对话历史。MiMo Code 会自动清理超过 30 天的旧检查点,你也可以手动删除 .mimo/checkpoints/ 下的过期文件。
- 3. 动态简报压缩后的内容会不会丢失重要信息?Writer 子 Agent 采用保守策略:只剔除明确属于调试噪声的内容,所有涉及代码变更、接口定义、业务逻辑的对话都会保留。如果不放心,可以在压缩前手动保存一份完整会话记录。
- 4. 如果项目长期不运行 /dream,会有什么影响?只是不会自动生成最新的 global-context.md。但 MiMo Code 仍然会基于 project-memory.json 和最近的检查点工作。建议至少每月手动执行一次 /dream,确保记忆与新代码库同步。
