Claude Code 的撤销按钮:在 AI 改动前备份文件
这是译文。权威版本是英文原文,引用请以原文为准。

如果你不是程序员,拥有自己的文件夹,让 AI 代理进入该文件夹需要一些勇气。两个担忧会反复出现:如果它删除或损坏我的文件怎么办,以及如果它说的话听起来很肯定但却是错的,而我又按照它的说法做了怎么办。Safecall 是为 Claude Code(Anthropic 的 AI 助手,可与你计算机上的文件配合使用)编写的一个免费开源插件,专为这类用户设计。它的承诺很简洁:在副本存在之前,不写入任何内容;在你看到它将要读取的内容清单之前,不读取任何内容;没有任何答案会在不说明哪些内容未被检查的情况下结束。
为什么需要它
Claude Code具有自己的回退功能。它与会话绑定,仅跟踪Claude通过其自身文件工具进行的编辑;通过命令(如删除或移动)更改的文件不在其范围内。Safecall提供了第二种独立的恢复方式:您文件的真实副本保存在自己的文件夹中,保留两周,当您用简单的语言说出来时就会返回。您无需记得创建它们。一个小守护程序在每次重写前执行此操作,当工作从读转为写时,Safecall会复制它即将修改的文件。
其功能
- 改变前先复制。 在Claude写入已存在的文件之前,钩子会复制该文件,然后继续写入。无需征询您,不会停止任何操作,因为复制成本为零。新文件不作处理,阅读不受影响。
- 还原内容(
/safecall:undo)。 说"把它恢复原样",文件就会回到原状。撤销操作本身也可以被撤销。 - 改变前说明改变内容(
/safecall:show),用关于含义的词语而非行差异来描述,并说明最终结果。 - 阅读前列出(
/safecall:before)。 它列出文件夹,在阅读前等待,这样您可以选择哪些文档发送给Anthropic读取,并说明应该保持私密的文件夹类型。 - 答案下的收据(
/safecall:receipt): 三行,已检查、未检查、来源。 - 为您阅读文档。
/safecall:traps在合同、贷款、保单或估计中找出陷阱,每一项都附有原文摘录。/safecall:holes将计划缺少的内容表述为三个问题。/safecall:facts将可验证的内容与意见分开。 - 发送前(
/safecall:send)。 它像陌生人一样阅读信件或投诉:不应该发送的内容、未填写的空白、可能会让您付出代价的语气。 - 检查名称(
/safecall:named): 答案提到的每个文件都必须真实存在于磁盘上。 - 从您停下的地方继续(
/safecall:where)。/safecall:clearer将"嗯,那个银行的事"转化为可以回答的问题,通过大声说出两三个版本的猜测。/safecall:doctor用简明的语言解释为什么AI保持沉默。
在每个会话开始时,Safecall还会告诉Claude您计算机的真实日期和时间,这样它就不会在上午十点祝您晚安,并提醒它您上次停下的地方。
一个具体例子
你要求Claude整理用于税务顾问的笔记文件。当它开始重写notes.txt时,Safecall悄悄地将原文件保存到~/.safecall/copies/,这是位于你的文档外的一个文件夹,这样就不会有人把它当成杂乱。当你看到结果时,你决定原来的措词更好。你写下"放回去",原文件就回来了。
名称中提及密码或密钥的文件会得到特殊处理:秘密的副本就是第二个秘密,因此Safecall不复制它们,而是在更改前询问你。超过14天的副本会自动删除,每个文件夹最多保留20个,超过5 MB的文件被排除,因此副本永远不会填满你的磁盘。
如何开始
您需要 Claude Code 和 Python 3(3.8 或更新版本)。Safecall 不进行网络调用,无需账户和密钥;它写入的所有内容都在您自己的磁盘上,其钩子可在 Mac、Linux 和 Windows 上运行。从 Poly A1 plugins 目录中安装它:
/plugin marketplace add https://raw.githubusercontent.com/vadimchernets/poly-a1-plugins/main/.claude-plugin/marketplace.json
/plugin install safecall@poly-a1
然后,在 /plugin 中打开应用市场,选择 poly-a1 并启用自动更新,这样新版本就会自动到达你。
Safecall 与两个兄弟项目配合很好:Nightcall,用于让 Claude Code 通宵运行,以及 Pocketcall,用于在你外出时让计算机继续工作。Safecall 采用 Apache-2.0 许可证;代码、测试和完整命令列表位于 github.com/vadimchernets/safecall。
Vadym Chernets 还开发了 Poly A1,一个让来自不同公司的人工智能相互检查工作的应用。