Entire - Git 与 AI 会话检查点融合示意图

最近在使用 [[Claude Code]] 做项目的时候,遇到了一个反复让我头疼的问题:每次开新会话,AI 对上一次为什么这样写代码、选择这个架构、为什么放弃了某个方案,完全没有记忆。代码变更留在 Git 历史里,但那些和 AI 的对话、推理过程、权衡讨论,全部随着会话关闭而消失了。

直到我发现了 [[Entire]] 这个工具,才意识到这个问题是可以从根本上被解决的。

代码有版本,推理没有版本

我们已经习惯了用 Git 管理代码的每一次变化,git blame 可以告诉你某一行代码是谁在什么时间写的,git log 可以追溯整个演进历史。但这套体系有一个盲区:它只记录了代码”是什么”,完全无法告诉你代码”为什么这样”。

在 AI 辅助编程越来越普及的今天,这个盲区变得格外突出。当你和 Claude Code 或者 Gemini CLI 协作了几个小时,讨论了架构选型、踩了几个坑、最终选择了某个方案,这整个推理过程就是一座知识金矿。但第二天打开新会话,这些全都不见了。你要重新解释背景、重新踩坑、重新权衡,AI 也不得不从零开始理解项目上下文,大量 token 就这样被浪费掉了。

Entire 的切入点就在这里——它把 AI 会话的完整上下文,以 Git 原生的方式版本化保存下来。

Entire 是什么

Entire 是一个与 [[Git]] 深度集成的开发者工具,通过 Git 钩子(hooks)在你正常提交代码的同时,自动捕获 AI 编程助手的完整会话数据,并以”检查点”(Checkpoints)的形式存储,与代码提交形成关联。

这里有一个设计上很聪明的地方:捕获的检查点不会作为额外的提交出现在你的分支历史里,也就是说,你的 git log 保持干净整洁,AI 会话数据以 Git 的底层对象形式独立存储,只在需要的时候才会浮现出来。

每个检查点里包含的内容相当丰富:与 AI 助手的完整对话记录、使用的 prompt、本次会话中 AI 涉及的文件列表、token 使用量统计,以及所有工具调用的详细记录。这些信息与具体的 git commit 绑定,形成一条完整的”代码 + 推理”双轨历史。

目前 Entire 已经支持几款主流的 AI 编程助手:

  • [[Claude Code]]
  • Gemini CLI
  • OpenCode
  • Factory Droid

从支持列表来看,它瞄准的正是当下最活跃的那批 AI 编程工具用户。

核心功能

Entire 的功能设计围绕着一个核心理念展开:让 AI 会话成为 Git 历史的一等公民。

在存储层面,它采用的是 Git 原生存储方案,会话数据随着 git push 一起同步到远程,不需要额外的云服务或中间层。整个体系是本地优先的,数据完全在开发者自己的环境里运行,没有第三方云端依赖,隐私方面更有保障。

时间回溯是另一个让我觉得特别有用的功能。想象一下,两周前 AI 帮你分析了某个接口的设计方案,当时觉得没问题就过了,现在发现有 bug。你可以直接回到那个检查点,重新加载当时完整的 AI 会话,把整个推理过程重新过一遍,找到是哪个假设出了问题。这种能力在传统开发工作流里是完全缺失的。

可搜索历史则让整个知识库变得可以查询。你可以跨代码库搜索之前和 AI 的对话内容,比如搜索”为什么选 Redis 而不是 Memcached”,或者”OAuth 那次集成遇到了什么坑”,这些过去的讨论都变成了可检索的团队知识资产。

Entire 采用 MIT 许可证开源,代码完全透明,这对于需要处理敏感代码库的团队来说是一个重要的信任基础。

如何开始使用

安装 Entire 有几种方式,macOS 用户可以直接用 [[Homebrew]] 安装,Linux 用户可以用官方脚本,或者也可以从源码编译。

安装完成后,在项目仓库里运行一条命令就可以启用:

entire enable

这条命令会在当前 Git 仓库里安装对应的钩子,之后就完全是透明的了。你照常使用 Claude Code 或其他 AI 助手写代码、照常 git commit、照常 git push,Entire 在后台默默完成检查点的捕获和同步,不改变任何现有的工作流习惯。

这种”零侵入”的设计选择我觉得是很明智的。对于开发者来说,任何需要改变已有工作流的工具都会面临很高的采纳阻力,而 Entire 选择完全融入 Git 的自然节奏,阻力降到了最低。

对团队协作的意义

个人使用 Entire 当然有价值,但我觉得它真正有趣的场景在于多人团队的 AI 辅助开发。

当团队里每个人都在用 AI 助手写代码,每个人的 AI 会话都可以被捕获并推送到共享仓库时,就形成了一个集体的 AI 协作知识库。新成员接手模块时,不仅能看到代码历史,还能看到前任开发者当初是如何和 AI 讨论、权衡、决策的,上手成本会大幅降低。

更重要的是,这可以有效减少重复推理的浪费。AI 辅助开发中一个常被忽视的成本是:同一个问题,不同的开发者、不同的会话,可能在和 AI 重复讨论相同的背景信息。Entire 把这些讨论固化下来,团队可以直接复用已有的推理结果,而不必每次都从头开始让 AI 理解上下文。

最后

Entire 解决的是一个在 AI 编程助手广泛普及之后才开始变得迫切的问题:如何保留 AI 与开发者协作产生的知识,而不仅仅是保留最终的代码输出。

Git 已经成为代码领域最成功的版本控制基础设施之一,Entire 选择在这个基础上构建,而不是另起炉灶搭建新的数据平台,这个决策我觉得是正确的。对开发者来说,接受一个融入已有工作流的工具,远比接受一个全新系统容易得多。

目前 Entire 还处于相对早期的阶段,支持的 AI 助手数量有限,功能上也还在发展中。但它提出的核心问题和解法方向,我认为是对的。随着 AI 编程助手的渗透率越来越高,”AI 会话版本化管理”这个需求只会越来越强烈,Entire 值得持续关注。