核心用法
GitNotesMemory 是一个面向 Claude 的静默自动记忆系统,利用 Git Notes 实现分支感知的持久化存储。其核心设计哲学是 "JUST DO IT" —— 完全在后台运行,绝不询问用户、绝不-announce 操作、绝不展示命令输出。
典型工作流
1. 会话启动:自动执行 sync --start 加载当前分支的上下文概览(关键记忆、高频主题、记忆总数)
2. 会话中静默记录:通过 remember 自动捕获用户决策(-i h)、偏好(-i c/h)、学习任务等,支持标签分类与重要性分级(c/h/n/l 四级)
3. 智能检索:通过 get <topic>、search "<query>" 或 recall 按需调取上下文
4. 会话结束:可选执行 sync --end 触发维护
显著优点
| 优势 | 说明 |
|------|------|
| **真正的零干扰** | 严格禁止询问/宣布/展示,用户体验无感知 |
| **分支隔离+继承** | 每个 Git 分支拥有独立记忆空间,新分支自动继承 main,合并后支持 `merge-branch` 同步 |
| **智能实体提取** | 自动识别 topic/subject、#hashtag、"引号短语"、首字母大写术语等,构建知识图谱 |
| **类型自动检测** | 基于关键词识别 decision/preference/learning/task/question/progress 等 8 类记忆 |
| **进化追踪** | `evolve` 命令支持记录决策变更历史,避免信息覆盖 |
| **结构化存储** | JSON 格式内容,支持多字段决策记录(含理由、备选方案等) |
潜在局限性与风险
| 局限 | 说明 |
|------|------|
| **Git 依赖** | 必须在 Git 仓库内运行,非 Git 项目无法使用 |
| **路径配置** | 需正确配置 `$SKILL_PATH` 和 `$DIR`,配置错误导致失效 |
| **静默失效难察觉** | 若命令执行失败,用户和 Claude 均无法感知,可能导致"失忆" |
| **分支混淆风险** | 频繁切换分支若未及时 `sync --start`,可能加载错误上下文 |
| **重要性主观性** | `-i c/h/n/l` 分级依赖 Claude 判断,存在误判可能 |
| **隐私边界模糊** | 文档未明确说明敏感信息(密码、API key)的自动过滤机制,存在泄露风险 |
适合人群
- 长期项目协作:需要跨数周/数月维持上下文连续性的开发者
- 多分支并行工作:在 feature 分支间切换、需要隔离+合并记忆的场景
- 高上下文依赖任务:复杂架构决策、逐步演进的系统设计讨论
常规风险
1. 过度记忆:缺乏明确的存储上限与自动清理策略(仅 -i l 可修剪),长期项目可能累积冗余
2. 检索噪声:实体提取的自动化可能索引过多无意义术语,降低检索精度
3. 分支遗留:已删除的 Git 分支若未清理对应 notes,造成存储浪费
4. Claude 幻觉干扰:若记忆内容与当前实际代码状态脱节,可能导致基于过时信息的错误建议