Memory Agent 将三种类型结构化记忆写入本地 SQLite 数据库,从而理解项目全貌:项目记忆——自动扫描仓库结构与核心文件;会话检查点——保存问答交互结果;任务进度——记录开发过程中的步骤。首次运行即自动生成初始快照,支持通过自然语言提问唤起对应记忆,也支持按需手动刷新或清理。
直接借助 Memory Agent 理清遗留项目,无需从头逐行阅读代码。
实际上,许多接手老项目的开发者都面临同样的焦虑:数百个文件、数千行代码,该从何处入手?MiMo Code 的解决方案颇为巧妙——它不让模型强行承载全部上下文,而是将记忆单独提取并管理。这样一来,即使你三天后重新打开项目,它依然记得上次分析到了哪一行。
Memory Agent 究竟如何记住项目?
它会自动建立三种类型的记录,每种都有独特用途:
- 项目记忆:扫描仓库结构、关键文件(如 package.json、README、配置文件)以及依赖关系,生成结构化快照。这相当于为项目拍摄了一张“骨架 X 光片”。
- 会话检查点:每次你提问“这个函数是做什么的”,它会保存问答结果,下次直接复用,无需重复解释。
- 任务进度:例如你要求修改登录逻辑,它会记录下“已分析 auth.ts、已定位 JWT 验证入口、待补充单元测试”——相当于一个自动维护的待办清单。
这些数据全部存储在本地 SQLite 数据库中,不依赖模型上下文长度。因此,隔几天再回来,它仍然记得上次看到哪一行,不会因为上下文被清空而遗忘。
首次进入项目,三步启动记忆
进入项目根目录后,无需手动触发扫描,直接运行 mimo 即可。启动后它会自动加载已有记忆(如果有的话),并开始初始化当前项目快照。
- 首次运行时,它会花费 10–30 秒读取 git history、文件树以及注释片段,生成初始记忆索引。
- 接着你会看到提示:“✅ 已加载 42 个源文件,识别出 3 个核心模块(auth / api / ui)”。
- 此时即可直接提问:“main.js 里的 initApp() 调用了哪些外部服务?”——它会结合记忆与实时文件读取,而不是盲目猜测。
整个过程无需手动配置,开箱即用。
用自然语言唤醒已有记忆
无需记忆命令行参数,像聊天一样提问即可,Memory Agent 会自动调用对应的记忆:
- “上次我们说到 login 组件使用了 Redux Toolkit,现在它是否还在使用?” → 自动比对记忆中的依赖快照与当前 package.json。
- “我记得有个 config loader 支持环境变量注入,它叫什么?在哪个位置?” → 检索项目记忆中的命名与路径索引。
- “继续上周修改的 error boundary 逻辑,添加一个 fallback 页面” → 直接恢复任务进度,跳过重复分析。
如果某次提问没有命中记忆,它会边执行边更新——例如你要求“给 user.service.ts 添加日志”,完成后自动记录新增函数名、修改行号以及关联的 API 路径。无需你额外操心。
手动刷新或清理记忆(按需使用)
当项目结构发生重大变更时(例如将 src 重命名为 app),旧记忆可能滞后。此时使用两个轻量命令即可:
- /memory refresh:重新扫描当前目录,合并新旧记忆(保留历史问答,只更新结构)。
- /memory prune:删除超过 30 天未访问的会话记录,释放空间,但不影响项目级记忆。
所有操作均在本地完成,无需导出或导入,也不会上传任何代码。这一点对注重隐私的项目尤其友好。
