用Claude Code写代码,最崩溃的时刻是什么?不是它理解错了需求,而是改完三小时后,突然发现某个功能坏了,却死活想不起来是哪一步改崩的。你盯着屏幕,看着眼前能跑通的代码,大脑一片空白:刚才到底让它改了什么?
Cursor有checkpoints(检查点),随时能回滚。Claude Code CLI没有。这个缺口让开发者P32929(GitHub用户名)决定自己动手。
![]()
他写了一个叫ccheckpoints的小工具,本质上就是给Claude Code的每次对话自动拍快照。提交prompt的瞬间,整个工作区被存档;会话结束时,这组检查点自动归档。本地9271端口跑着一个后台服务,浏览器打开localhost就能看时间线、跳转到任意节点、比对文件差异。
不用手动git commit,不用写提交信息,不会污染你真正的代码仓库。想回退?点一下就行。
技术栈很克制:TypeScript + Node.js,SQLite存数据,100%本地运行,不碰云端,不涉及隐私问题。没有轮询,直接hook进Claude Code的原生生命周期,触发时机精准。Web UI内嵌在daemon里,安装完跑一条命令就能用。
一个反直觉的设计选择:存完整文件快照,而不是diff。diff省空间,但遇到重命名、删除、二进制文件会很麻烦。既然只跑本地,磁盘不值钱,"简单粗暴能work"比"精致但脆弱"更重要。ccheckpoints每个检查点存全量文件,diff在浏览器里实时算。
安装只要两行:
npm install -g ccheckpoints
ccheckpoints
然后正常使用Claude Code,检查点会自动出现在仪表盘里。
代码开源在github.com/p32929/ccheckpoints。作者正在收集反馈,特别是hook漏捕获的边缘场景——目前还没遇到,但想提前知道。
这个工具解决的是一个很真实的痛点:AI编程工具把"写代码"变成了"对话式迭代",但对话的代价是历史变得模糊。当AI一小时能生成人类一天的代码量,人类反而需要更强的"时间感知"能力——不是记住AI说了什么,而是记住自己什么时候说了什么,以及当时的世界长什么样。
ccheckpoints的聪明之处在于,它没有试图重做Git,而是给AI会话这个特定场景做了极简适配。自动、无感、本地、可回滚。这四个词背后是对开发者心理的精准把握: mid-session的时候,人是最懒的,任何需要主动操作的东西都会被跳过。
这也暴露了一个产品趋势。Cursor、Windsurf这些AI IDE内置的版本控制越来越重,但Claude Code选择保持CLI的轻量和"无状态"。这个选择有它的道理——不是所有场景都需要IDE——但也留下了工具链的缝隙。ccheckpoints这类社区补完工具,正在定义AI原生开发的标准配件。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.