ccundo:为 Claude Code 提供智能级联撤销/重做功能的本地插件

工具5个月前发布 小马良
833 0

ccundo 是一款专为 Claude Code 设计的增强型插件,提供无需调用 token 的本地撤销与重做功能。它通过直接解析和跟踪 Claude Code 的会话文件,实现对代码修改操作的精准记录,并支持选择性回滚、完整预览、跨文件级联回退等高级功能。

对于开发者而言,这是一个在本地环境中安全、高效地管理 AI 编码行为的强大工具。

🔥 核心特性

功能描述
 无需 Token 的撤销机制所有操作均基于本地逻辑处理,不消耗 Claude API 的昂贵 token
🔄 智能撤销与重做支持撤销已应用的修改,甚至可以“撤销撤销”,即重做(Redo)
📁 级联操作追踪与撤销自动识别并撤销多个相关文件的更改,确保项目一致性
👁️ 详细变更预览在执行撤销/重做前,可查看具体将要恢复的内容
🛠️ 多类型操作跟踪跟踪文件编辑、创建、删除、重命名以及 Bash 命令
💾 安全备份机制在每次修改前自动创建备份,防止数据丢失
🌍 多语言支持支持英文与日文界面,未来计划加入更多语言
🚀 零配置开箱即用无缝集成于 Claude Code 工作流,无需额外设置即可使用

使用场景

你是否遇到过以下情况?

“我让 Claude Code 修改了一段代码,但改完之后发现效果不如预期,已经应用了修改,现在想撤回来怎么办?”

传统方式下,你只能手动查找改动点进行还原,费时又容易出错。而 ccundo 可以:

  • 精准识别由 Claude Code 引发的所有变更;
  • 提供可视化的差异预览;
  • 一键撤销整个操作及其引发的级联修改;
  • 如果后悔撤销,还能一键“重做”撤销动作。

技术原理简述

ccundo 的核心机制是:

  1. 监听与解析会话文件
    • 实时读取 Claude Code 的本地会话文件;
    • 解析其中的文件操作指令(如写入、删除、移动等);
  2. 构建变更历史图谱
    • 记录每个操作的时间戳、涉及的文件路径及变更内容;
    • 构建操作之间的依赖关系图,支持跨文件、跨目录的级联撤销;
  3. 可视化预览与执行撤销
    • 在执行撤销前展示完整的 diff 预览;
    • 支持逐个操作撤销,或一次性回退到某个时间点;
    • 撤销后仍可重做(Redo),形成完整的 undo/redo 栈;
  4. 安全机制保障
    • 每次修改前自动创建备份快照;
    • 撤销过程不会破坏当前工作状态;
    • 支持撤销失败时的回滚保护;

🧩 功能详解

📂 自动检测 & 解析会话文件

  • 直接读取 .claude  claude_session.json 文件;
  • 支持多种会话格式与版本;
  • 自动识别操作类型(编辑、创建、删除、重命名、终端命令等);

👁️‍🗨️ 详细变更预览

  • 在撤销或重做前显示完整的文本差异;
  • 使用颜色标记添加、删除、修改部分;
  • 支持分文件查看每一步的具体变化;

⚙️ 级联撤销 / 重做系统

  • 自动识别依赖操作(例如一个修改触发多个文件更新);
  • 撤销主操作时,同步回滚所有关联变更;
  • 支持完全级联式的 Undo/Redo 操作栈;

💾 安全备份机制

  • 每次执行变更前生成原始文件副本;
  • 备份存储在 .ccundo_backup 目录中;
  • 支持手动恢复任意备份版本;

🌐 多语言支持

  • 当前支持中文、英文与日文;
  • 用户界面根据系统语言自动切换;
  • 社区可提交翻译 PR 扩展支持语言;

✅ 优势总结

优势描述
🚫 不依赖 Token全部操作在本地完成,不调用任何 API
🔁 双向操作支持支持 Undo 和 Redo,形成完整操作栈
📎 精细粒度控制可按操作单位选择性回滚
🧹 清理无痕撤销后保留原工程结构完整性
🛡️ 安全第一所有变更前创建备份,防误删防崩溃
🧩 无缝集成与 Claude Code 工作流完美兼容,无需额外配置
© 版权声明

相关文章

暂无评论

none
暂无评论...