ccundo: Claude Code 会话的精细化撤销功能
July 07, 2025
隆重推出 ccundo:专为 Claude Code 开发者打造的智能撤销工具
在快节奏的软件开发世界中,错误在所难免。无论是意外删除、错误编辑,还是一系列导致系统不稳定的更改,撤销操作的能力都至关重要。对于使用 Claude Code 的开发者而言,一个名为 ccundo
的全新开源项目将彻底改变您管理代码历史的方式。
ccundo 是什么?
ccundo
是一个命令行工具,旨在为 Claude Code 会话提供精细的撤销功能。与传统追踪整个仓库变更的版本控制系统不同,ccundo
专注于 Claude Code 会话中的单个操作。它直接读取 Claude Code 的会话文件,识别并追踪每一次文件操作——从编辑、创建、删除到重命名,甚至包括 bash 命令。
赋能您工作流的关键特性:
- 精细控制:有选择地恢复单个文件操作。告别一刀切的回滚;精确撤销您所需。
- 自动检测:
ccundo
通过直接读取 Claude Code 的会话文件无缝集成,无需任何配置。 - 详细预览:在提交撤销之前,
ccundo
提供全面的预览,精确显示将受影响的文件以及特定的内容更改(编辑显示差异,恢复显示内容)。 - 级联撤销:这项智能功能确保项目的一致性。如果您撤销某个操作,
ccundo
会自动撤销其之后发生的所有依赖操作,防止出现孤立文件或损坏的引用。 - 多语言支持:
ccundo
目前支持英语和日语,旨在服务全球开发者社区。 - 智能操作追踪:它追踪各种操作,包括
file_edit
(文件编辑)、file_create
(文件创建)、file_delete
(文件删除)、file_rename
(文件重命名)、directory_create
(目录创建)、directory_delete
(目录删除)和bash_command
(bash 命令)。 - 安全备份:在进行任何更改之前,
ccundo
会创建当前状态的安全备份,以便在出现问题时随时恢复。 - 会话管理:轻松列出和切换多个 Claude Code 会话,非常适合同时处理多个项目的开发者。
内部工作原理:
ccundo
实现其强大功能的方法是:
- 读取会话文件:它解析位于
~/.claude/projects/
中的.jsonl
文件,这些文件包含您的 Claude Code 交互的详细日志。 - 提取操作:它智能识别与文件系统修改对应的工具使用事件。
- 追踪依赖关系:通过理解操作的时间顺序和性质,
ccundo
构建了一个依赖关系图,这对其级联撤销功能至关重要。 - 维护状态:它在
~/.ccundo/
中管理自己的配置和撤销历史记录,确保持久的偏好设置和可靠的操作追踪。
ccundo 入门:
通过 npm 安装非常简单:
npm install -g ccundo
安装后,您可以在任何使用 Claude Code 的目录中开始使用它:
- 列出操作:
ccundo list
- 预览更改:
ccundo preview
- 撤销操作:
ccundo undo
ccundo
为这些操作提供交互式和直接命令行选项,让您对工作流拥有完全控制。
欢迎贡献!
作为一款开源项目,ccundo
深受社区贡献的裨益。无论您是对添加新功能、改进文档还是扩展语言支持感兴趣,GitHub 仓库都欢迎拉取请求。
ccundo
不仅仅是一个撤销工具;它是一个精密仪器,为您的 Claude Code 开发过程带来了新的控制和安全水平,确保您的项目无论面对何种挑战,都能保持一致且可恢复。
原创文章:
查看原文