cli
Entire CLI 是一款专为开发者设计的命令行工具,它无缝集成到现有的 Git 工作流中,旨在自动记录 AI 编程助手(如 Claude Code、Cursor 等)的完整会话过程。
在日常开发中,AI 生成的代码往往缺乏上下文,导致团队难以理解“代码为何这样修改”,且在 AI 出错时难以快速回退。Entire CLI 解决了这一痛点:它在每次提交时自动捕获提示词、回复内容、修改文件及工具调用等详细信息,并将这些元数据存储在独立的分支中,既保持了主分支提交历史的整洁,又建立了可搜索的代码演变档案。
该工具特别适合频繁使用 AI 辅助编程的软件工程师和技术团队。其核心亮点在于“时间旅行”般的能力——用户可以随时将项目状态“倒带”至之前的任意检查点,无缝恢复中断的会话或撤销错误的修改,极大提升了调试效率与协作透明度。此外,它还满足了审计与合规需求,让每一次代码变更都有据可查。通过简单的两步配置,Entire CLI 即可在不干扰原有习惯的前提下,为项目增添一层智能记忆与安全网。
使用场景
资深后端工程师李明正在利用 AI 助手重构一个遗留的支付模块,需要在多次迭代中频繁调整核心逻辑。
没有 cli 时
- 变更原因成谜:一周后回顾代码,只看到最终的 Git 提交记录,完全忘记当时为何采纳某种特定的算法实现,丢失了关键的决策上下文。
- 试错成本高昂:当 AI 生成的代码导致严重回归错误时,只能手动逐行回滚文件或重置整个分支,极易误删其他有效修改。
- 协作交接困难:同事接手任务时,面对一堆没有前因后果的代码变更,需要花费大量时间重新询问或猜测之前的开发思路。
- 审计合规风险:在需要追溯代码来源以满足安全审计时,无法提供完整的 AI 交互凭证和提示词记录。
使用 cli 后
- 全景追溯决策:Entire 自动将每次 AI 对话的提示词、回复内容及修改文件索引到 Git 历史中,李明可随时查看代码背后的完整推理链条。
- 一键无损回退:发现逻辑偏差时,只需运行
entire rewind,即可瞬间恢复到之前任意一个正常的检查点状态,无缝继续开发。 - 高效团队协同:新成员通过 Entire 记录的“从提示到提交”路径,能迅速理解代码演变过程,大幅缩短上手时间。
- 天然合规归档:所有 AI 交互会话作为版本化记录独立存储,轻松满足企业对代码可追溯性和安全审计的严格要求。
Entire 通过将 AI 会话深度融入 Git 工作流,让代码演进过程从“黑盒”变为透明、可逆且可追溯的资产。
运行环境要求
- macOS
- Linux
- Windows
未说明
未说明

快速开始
Entire CLI
Entire 可以无缝集成到你的 Git 工作流中,在你编写代码的过程中捕获 AI 代理会话。这些会话会与提交记录一同索引,从而在你的仓库中创建一个可搜索的代码编写过程记录。
使用 Entire,你可以:
- 了解代码变更的原因 — 查看完整的提示/响应对话记录以及被修改的文件
- 即时恢复 — 当代理行为异常时,回退到已知良好的检查点并无缝继续工作
- 保持 Git 历史整洁 — 将代理上下文保存在单独的分支上
- 更快地完成入职培训 — 展示从提示 → 变更 → 提交的完整路径
- 确保可追溯性 — 在需要时支持审计和合规要求
为什么选择 Entire
- 理解代码为何变更,而不仅仅是变更了什么 — 每次提交都会伴随对话记录、提示内容、涉及的文件、令牌使用情况、工具调用等信息一起被捕获。
- 从任意检查点回退并恢复 — 随时返回之前的代理会话,并从中断的地方继续工作。
- 完整上下文保存且可搜索 — 每次 AI 交互都会生成版本化的记录,并与你的 Git 历史绑定,不会丢失任何信息。
- 无需切换上下文 — 原生支持 Git,两步即可完成设置,兼容 Claude Code、Codex、Gemini 等多种模型。
目录
系统要求
- Git
- macOS、Linux 或 Windows
- 已安装并认证的支持的代理
快速入门
# 通过 Homebrew 安装
brew tap entireio/tap
brew install entireio/tap/entire
# 或通过 Scoop(Windows)安装
scoop bucket add entire https://github.com/entireio/scoop-bucket.git
scoop install entire/cli
# 或通过 Go 安装
go install github.com/entireio/cli/cmd/entire@latest
# Linux:将 Go 二进制文件添加到 PATH(如果尚未配置,请添加到 ~/.zshrc 或 ~/.bashrc)
export PATH="$HOME/go/bin:$PATH"
# 在项目中启用
cd your-project && entire enable
# 检查状态
entire status
典型工作流程
1. 在你的仓库中启用 Entire
entire enable
此命令会安装代理和 Git 钩子,以便与你的 AI 代理协同工作。系统会提示你选择要启用的代理。若需非交互式地启用特定代理,可以使用 entire enable --agent <name>(例如 entire enable --agent cursor)。
钩子会在你工作时捕获会话数据。当你或代理执行 Git 提交时,会创建检查点。你的代码提交将保持干净,Entire 不会在你的当前分支上创建任何提交。所有会话元数据都将存储在名为 entire/checkpoints/v1 的独立分支上。
2. 使用你的 AI 代理
只需像往常一样使用你的 AI 代理即可。Entire 会在后台运行,跟踪你的会话:
entire status # 随时查看当前会话状态
3. 回退到之前的检查点
如果你想撤销部分更改并回到之前的检查点:
entire rewind
此命令会显示当前会话中的所有可用检查点。选择其中一个,即可将代码恢复到该状态。
4. 恢复之前的会话
要为某个分支恢复最新的检查点会话元数据:
entire resume <branch>
Entire 会检出该分支,恢复最新的检查点会话元数据(可能包含一个或多个会话),并输出继续工作的命令。
5. 禁用 Entire(可选)
entire disable
此命令会移除 Git 钩子。你的代码和提交历史将不受影响。
核心概念
会话
会话 表示与 AI 代理从开始到结束的完整交互过程。每个会话会记录所有的提示、响应、修改的文件以及时间戳。
会话 ID 格式: YYYY-MM-DD-<UUID>(例如 2026-01-08-abc123de-f456-7890-abcd-ef1234567890)
会话数据与你的代码提交分开存储在 entire/checkpoints/v1 分支上。
检查点
检查点 是会话中的一个快照,你可以回退到它——相当于工作中的“存档点”。
当您或代理执行 Git 提交时,会创建检查点。检查点 ID 是一个 12 位的十六进制字符串(例如 a3b2c4d5e6f7)。
工作原理
您的分支 entire/checkpoints/v1
│ │
▼ │
[基础提交] │
│ │
│ ┌─── 代理工作 ───┐ │
│ │ 第一步 │ │
│ │ 第二步 │ │
│ │ 第三步 │ │
│ └───────────────────┘ │
│ │
▼ ▼
[您的提交] ─────────────────► [会话元数据]
│ (对话记录、提示、
│ 修改的文件)
▼
检查点会在你工作时保存。当你提交时,会话元数据会被永久存储在 entire/checkpoints/v1 分支上,并与你的提交关联。
策略
Entire 采用手动提交策略,以保持你的 Git 历史整洁:
- 不在你的分支上创建提交 — Entire 绝不会在当前分支上创建任何提交
- 适用于任何分支 — 无论是 main、master 还是特性分支,都能正常使用
- 无破坏性的回退 — 从任意检查点恢复文件,而不会改变提交历史
- 元数据独立存储 — 所有会话数据都保存在
entire/checkpoints/v1分支上
Git 工作树
Entire 可以与 Git 工作树 无缝协作。每个工作树都有独立的会话跟踪,因此你可以在不同的工作树中同时运行多个 AI 会话,而不会发生冲突。
并发会话
同一份提交上可以同时进行多个 AI 会话。如果你在另一个会话尚未提交时启动第二个会话,Entire 会发出警告,并分别跟踪这两个会话。两个会话的检查点都会被保留,可以独立回退。
本地设备认证测试
如果你正在针对本地的 entire.io 代码库开发 CLI 设备认证流程:
# 在你的应用仓库中
cd ../entire.io-1
mise run dev
# 在本仓库中,将 CLI 指向本地 API
cd ../cli
export ENTIRE_API_BASE_URL=http://localhost:8787
# 运行冒烟测试
./scripts/local-device-auth-smoke.sh
开发过程中的一些实用命令:
# 对本地服务器运行登录流程(会提示按 Enter 键后再打开浏览器)
go run ./cmd/entire login --insecure-http-auth
# 运行登录功能的集成测试覆盖
go test -tags=integration ./cmd/entire/cli/integration_test -run TestLogin
命令参考
| 命令 | 描述 |
|---|---|
entire clean |
清理会话数据和孤立的 Entire 数据(使用 --all 可进行仓库范围的清理) |
entire disable |
从仓库中移除 Entire 钩子 |
entire doctor |
修复或清理卡住的会话 |
entire enable |
在您的仓库中启用 Entire |
entire explain |
解释一个会话或提交 |
entire login |
使用 Entire 设备认证对 CLI 进行身份验证 |
entire resume |
切换到分支,恢复最新的检查点会话元数据,并显示继续执行的命令 |
entire rewind |
回退到之前的检查点 |
entire status |
显示当前会话信息 |
entire sessions stop |
将一个或多个活动会话标记为结束 |
entire version |
显示 Entire CLI 版本 |
entire enable 标志
| 标志 | 描述 |
|---|---|
--agent <name> |
要为其安装钩子的 AI 助手:claude-code、codex、gemini、opencode、cursor、factoryai-droid 或 copilot-cli |
--force, -f |
强制重新安装钩子(先移除现有的 Entire 钩子) |
--local |
将设置写入 settings.local.json 而不是 settings.json |
--project |
即使 settings.json 已存在,也仍将其写入 |
--skip-push-sessions |
禁用在 Git 推送时自动推送会话日志 |
--checkpoint-remote <provider:owner/repo> |
将检查点分支推送到单独的仓库(例如 github:org/checkpoints-repo) |
--telemetry=false |
禁用匿名使用情况分析 |
示例:
# 强制重新安装钩子
entire enable --force
# 将设置保存在本地(不提交到 Git)
entire enable --local
配置
Entire 在 .entire/ 目录中使用两个配置文件:
settings.json(项目设置)
团队共享,通常提交到 Git:
{
"enabled": true
}
settings.local.json(本地设置)
个人覆盖设置,默认被 Git 忽略:
{
"enabled": false,
"log_level": "debug"
}
配置选项
| 选项 | 值 | 描述 |
|---|---|---|
enabled |
true、false |
启用或禁用 Entire |
log_level |
debug、info、warn、error |
日志记录的详细程度 |
strategy_options.push_sessions |
true、false |
在 Git 推送时自动推送 entire/checkpoints/v1 分支 |
strategy_options.checkpoint_remote |
{“provider”: “github”, “repo”: “org/repo”} |
将检查点分支推送到单独的仓库(见下文) |
strategy_options.summarize.enabled |
true、false |
在提交时自动生成 AI 摘要 |
telemetry |
true、false |
向 Posthog 发送匿名使用统计 |
助手钩子配置
每个助手将其钩子配置存储在其各自的目录中。当您运行 entire enable 时,钩子会安装到所选助手的相应位置:
| 助手 | 钩子位置 | 格式 |
|---|---|---|
| Claude Code | .claude/settings.json |
JSON 钩子配置 |
| Codex | .codex/hooks.json |
JSON 钩子配置 |
| Copilot CLI | .github/hooks/entire.json |
JSON 钩子配置 |
| Cursor | .cursor/hooks.json |
JSON 钩子配置 |
| Factory AI Droid | .factory/settings.json |
JSON 钩子配置 |
| Gemini CLI | .gemini/settings.json |
JSON 钩子配置 |
| OpenCode | .opencode/plugins/entire.ts |
TypeScript 插件 |
您可以同时启用多个助手——每个助手的钩子都是独立的。Entire 通过检查已安装的钩子来检测哪些助手处于活动状态,而不是通过 settings.json 中的设置。
检查点远程
默认情况下,Entire 会将 entire/checkpoints/v1 推送到与代码相同的远程仓库。如果您希望将检查点数据推送到单独的仓库(例如用于公共项目的私有仓库),可以使用结构化的提供者和仓库配置 checkpoint_remote:
{
"strategy_options": {
"checkpoint_remote": {
"provider": "github",
"repo": "myorg/checkpoints-private"
}
}
}
或者通过 CLI:
entire enable --checkpoint-remote github:myorg/checkpoints-private
Entire 会自动使用与您的推送远程相同的协议(SSH 或 HTTPS)生成 Git URL。它将:
- 如果检查点分支存在于远程但本地不存在,则将其一次性拉取到本地
- 将
entire/checkpoints/v1推送到检查点仓库,而不是您的默认推送远程 - 如果检测到分叉(推送远程所有者与检查点仓库所有者不同),则跳过推送
- 如果远程无法访问,会发出警告并继续操作,而不会阻止您的主要推送
自动摘要
启用后,Entire 会在提交时为检查点自动生成 AI 摘要。摘要会捕获会话中的意图、结果、经验教训、痛点以及待办事项。
{
"strategy_options": {
"summarize": {
"enabled": true
}
}
}
要求:
- 必须安装并认证 Claude CLI(
claude命令需在 PATH 中可用) - 摘要生成是非阻塞的:如果失败,只会记录日志,不会阻止提交
注意: 目前使用 Claude CLI 生成摘要。未来版本可能会支持其他 AI 后端。
设置优先级
本地设置会逐字段覆盖项目设置。运行 entire status 时,会同时显示项目和本地(生效)设置。
特定于代理的步骤与限制
- 为 Codex 启用 Entire 时,该命令还会创建或更新
.codex/config.toml文件,并将codex_hooks = true设置为启用 Codex 钩子。如果您手动配置 Codex,请确保在.codex/config.toml中设置了此标志。或者,在运行entire enable时,从交互式代理选择器中选择 Codex。 - Entire 支持 Cursor IDE 和 Cursor Agent CLI 工具,但目前尚不支持
entire rewind命令。其他命令(如doctor、status等)与其他代理的功能相同。 - Entire 支持 Copilot CLI,但不支持 VS Code 中的 Copilot、其他 IDE 或 github.com 上的 Copilot。
安全与隐私
您的会话记录存储在 Git 仓库的 entire/checkpoints/v1 分支中。 如果您的仓库是公开的,这些数据将对任何人可见。
Entire 在写入 entire/checkpoints/v1 时会自动遮盖检测到的敏感信息(API 密钥、令牌、凭据),但遮盖仅为尽力而为。会话期间使用的临时影子分支可能包含未遮盖的数据,不应推送。有关详细信息,请参阅 docs/security-and-privacy.md。
故障排除
常见问题
| 问题 | 解决方法 |
|---|---|
| “不是 Git 仓库” | 首先导航到一个 Git 仓库 |
| “Entire 已禁用” | 运行 entire enable |
| “未找到回溯点” | 使用您配置的代理工作并提交更改 |
| “影子分支冲突” | 运行 entire clean --force |
SSH 认证错误
如果您在运行 entire resume 时看到如下错误:
无法获取元数据:无法从 origin 获取 entire/checkpoints/v1:ssh:握手失败:ssh:无法认证,尝试的方法 [无, 公钥],没有剩余的支持方法
这是 go-git 的 SSH 处理已知问题。通过将 GitHub 的主机密钥添加到您的 known_hosts 文件来修复:
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
ssh-keyscan -t ecdsa github.com >> ~/.ssh/known_hosts
调试模式
# 通过环境变量
ENTIRE_LOG_LEVEL=debug entire status
# 或通过 settings.local.json
{
"log_level": "debug"
}
清理状态
# 清理当前提交的会话数据
entire clean --force
# 清理整个仓库中的所有孤立数据
entire clean --all --force
# 禁用并重新启用
entire disable && entire enable --force
辅助功能
对于屏幕阅读器用户,可以启用无障碍模式:
export ACCESSIBLE=1
entire enable
这将使用更简单的文本提示,而不是交互式 TUI 元素。
开发
该项目使用 mise 进行任务自动化和依赖管理。
先决条件
- mise - 使用
curl https://mise.run | sh安装
入门
# 克隆仓库
git clone <repo-url>
cd cli
# 安装依赖项(包括 Go)
mise install
# 信任 mise 配置(首次设置时必需)
mise trust
# 构建 CLI
mise run build
###常用任务
# 运行测试
mise run test
# 运行集成测试
mise run test:integration
# 运行所有测试(单元 + 集成,CI 模式)
mise run test:ci
# 代码 lint 检查
mise run lint
# 格式化代码
mise run fmt
获取帮助
entire --help # 一般帮助
entire <command> --help # 命令特定帮助
- GitHub Issues: 在 https://github.com/entireio/cli/issues 报告错误或请求功能
- 贡献: 请参阅 CONTRIBUTING.md 以获取指南
许可证
MIT 许可证 - 详情请参阅 LICENSE。
版本历史
v0.5.32026/04/03v0.5.22026/03/30v0.5.12026/03/19v0.5.02026/03/06v0.4.92026/03/02v0.4.82026/02/27v0.4.72026/02/24v0.4.62026/02/24v0.4.52026/02/17v0.4.42026/02/13v0.4.32026/02/12v0.4.22026/02/10v0.3.132026/02/10v0.3.122026/02/08v0.3.112026/02/05v0.3.102026/02/05v0.3.92026/01/30v0.3.82026/01/28v0.3.72026/01/28v0.3.62026/01/28常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备