AI 记忆管理
让 AI 跨会话"记住"项目的决策、架构、Bug 模式、API 约定,每次开新会话不必从零讲起。
智码 AICoder 把项目级的"长期记忆"独立成一个数据层(DB 表 project_memories),与会话历史解耦。AI 可以自动从对话中提取生成,你也可以手动编辑、归类、标签化。
8 种分类
记忆按用途分 8 类,便于在新会话启动时按需注入:
| 分类 | 用途 |
|---|---|
summary | 项目整体摘要、当前阶段、近期重点 |
decision | 技术决策(如"选择 Tauri 而非 Electron 的理由") |
architecture | 架构图、模块划分、数据流 |
bug | 已知 Bug、踩过的坑、复现步骤 |
pattern | 代码模式、约定、最佳实践 |
api | API 接口约定、参数形状、返回值 |
note | 临时笔记、待办、想法 |
other | 不属于以上分类的杂项 |
每条记忆可加自定义标签(逗号分隔),用于跨分类聚合检索。
自动 vs 手动
| 来源 | 标记 | 触发时机 |
|---|---|---|
| AI 自动生成 | is_auto = true | 关闭/导出会话时自动从对话中抽取摘要、决策、Bug 修复,归类入库 |
| 手动添加 | is_auto = false | 在记忆面板里点击「新建」,填标题 + 内容 + 分类 + 标签 |
每条自动生成的记忆都会保留来源会话信息:
| 字段 | 含义 |
|---|---|
source_session_id | 来源会话的应用 ID(可点击跳转) |
source_session_title | 来源会话的标题 |
jsonl_path | 来源 JSONL 文件路径,便于 AI 读取详细上下文 |
启动会话时注入
新建会话对话框里勾选「启用项目记忆」后,启动 CLI 时会自动:
- 从 DB 读取该项目所有记忆
- 按分类组织成 markdown 格式
- 通过
--append-system-prompt(Claude Code)/ 初始 PROMPT(Codex)/-i参数(Gemini)注入
启用后会话默认带紫色(#a855f7)标记,便于在侧边栏识别"哪些会话是带记忆开始的"。
记忆 vs CLAUDE.md
两者互补而非替代:
- CLAUDE.md 适合"对所有会话都生效的常驻指令"(编码风格、禁止项、术语表)—— CLI 会自动加载到系统提示
- 项目记忆 适合"动态积累的项目知识"(决策、Bug、架构演进)—— 由 GUI 在启动时按需注入
CLAUDE.md 是写死的规则,记忆是累积的事实。
记忆面板操作
侧边栏右键项目目录 → 「记忆管理」打开面板:
| 操作 | 说明 |
|---|---|
| 新建 | 选分类 + 填标题/内容/标签 → 入库 |
| 编辑 | 双击或点击编辑图标,所见即所得 |
| 删除 | 单条或批量 |
| 按分类筛选 | 顶部 8 个分类 Tab 快速切换 |
| 按标签搜索 | 标签云点击或全文搜索 |
| 跳转来源会话 | 自动生成的记忆显示来源链接,点击打开历史会话查看上下文 |
跨实例同步
记忆是「同步范围」之一:在 WebDAV 云同步 时勾选 项目记忆,所有项目的记忆会一起同步到云端。
跨实例导入时(开发实例 ↔ 生产实例),项目路径会按 app_data_root 自动对齐——不会因为路径前缀不同导致记忆"丢失"。
数据持久化
| 字段 | 含义 |
|---|---|
| 数据库表 | project_memories(schema v8 引入) |
| 加密 | 否(明文存储,与会话历史一致) |
| 同步范围 | 包含在 SyncScope.project_memories 中 |
| 导出格式 | JSON(含分类、标签、来源、时间戳) |
相关章节
- 会话管理 — 会话历史归档时自动生成记忆
- WebDAV 云同步 — 记忆跨设备同步
- 配置档案管理 — 多账号场景下记忆按实例隔离
