Skip to content

Context Linked Commits zh

LeonXu edited this page Apr 1, 2026 · 1 revision

Context-Linked Commits

自动将 Git commit 与产生它的 AI 对话绑定。

问题

Git 记录了什么发生了变化(代码 diff),但没有记录为什么(对话和推理过程)。当你回到历史 commit 时,Memora 之前只能通过时间戳猜测相关对话——这并不总是精确的。

解决方案

当你的 AI 编程工具在对话中进行 commit 时,Memora 的 hook 会检测到并记录关联:

commit abc1234 ←→ session 2130af27-a863-4d3c-bc7c-747020ceccfe

这创建了代码变更与产生它的对话之间精确的、不可断裂的关联。

工作原理

  1. AI 工具完成一个轮次(例如 Claude Code 执行了一个命令)
  2. Memora 的 hook 在 turn-complete 时触发
  3. Hook 检查最近 30 秒内是否有新的 Git commit
  4. 如果有,写入一个 commit-link 事件,映射 commit hash → session ID
  5. 下次同步时,关联被存入数据库

视觉指示

有关联对话的 commit 会显示 💬 图标:

💬 abc1234  feat: add user authentication     +156  Mar 31 at 15:24
   def5678  fix: typo in README               +1    Mar 31 at 14:00
  • 💬 = 完整对话上下文可用(可恢复确切的推理过程)
  • 无图标 = 纯代码 commit(回退到基于时间的上下文匹配)

对其他功能的影响

Recall

当你从 💬 commit 进行 Recall 时,Memora 加载的是确切的对话 session,而非通过时间猜测。100% 精确的上下文。

History Branching

当你从 💬 commit 创建分支时,新分支中的 CLAUDE.md 包含的是导致这个代码状态的实际对话。

优雅降级

  • 旧的 commit(此功能之前的):无 session_id,无图标,与以前一样基于时间匹配
  • 手动 commit(非 AI 创建的):hook 不会触发,无关联,与旧行为相同
  • 新的 AI 辅助 commit:自动关联,💬 图标,精确上下文

无需数据迁移。该功能增强新数据,不影响旧数据。

Clone this wiki locally