Lode 需求雷达
--卡片
--主题
--失败
HN讨论 · 身份未知

AI 编码代理执行破坏性 shell 命令时缺一套覆盖未跟踪文件的安全网

使用 AI 编码代理时,代理运行的清理类命令可能删除未提交、未跟踪或仓库之外的文件,现有 git、沙箱和检查点都覆盖不到。作者构建了一个在命令执行前快照受影响文件、可撤销误删的工具,指向开发者对代理操作兜底保护的具体需求。

目标用户

使用 Claude Code 等 AI 编码代理、让代理在真实项目目录中执行 shell 命令的开发者。

潜在需求

开发者需要一个不替代 git 的兜底机制,在代理命令运行前自动快照将要触及的文件,以便误删后能恢复 git、沙箱和检查点保护不到的数据。

发生场景

编码代理整理项目时运行清理类 shell 命令,可能删除未跟踪、被 .gitignore 忽略或仓库之外的文件;git checkout、git clean、git reset --hard 等命令也可能由代理触发并清空未提交工作。

来源证据

Do-over 接入 Claude Code hooks,在命令运行前快照将要触及的文件,目的是保护 git 未覆盖的未跟踪、被忽略及仓库外文件。

Hello HN, I built this after a coding agent deleted my files while tidying a project. Do-over plugs into Claude Code's hooks and snapshots what a command is about to touch right before it runs. I know what you're thinking. Why don't you just commit more often? This tool doesn't seek to replace git. What it does is: [1] Protect the stuff git doesn't protect: your untracked/ignored files and files that exist outside your repo (which is how a guy lost 50GB of data - Claude code issue tracker) [2]
https://news.ycombinator.com/item?id=49371211

为什么值得留意

这条信号把“AI 代理删文件”从模糊担忧拆成可定位的缺口:真正风险点是 git 覆盖范围之外的文件,以及代理把 git 本身当作破坏工具。作者已给出一种可行解法,并用真实事故说明现有措施为何不够,适合继续观察用户是否愿意为这类保护付费或采用。

已有方案

  • git
  • 沙箱
  • 检查点

未满足部分

  • git 不保护未跟踪、被忽略和仓库之外的文件
  • 代理可执行 git checkout .、git clean -fd、git reset --hard 等破坏性 git 命令,使 git 本身成为删除来源
  • 开发者忘记提交时 git 无法提供保护
  • 沙箱和检查点等现有手段仍覆盖不到这类最后一公里风险

可能延伸 · 模型推测

  • 将命令前快照机制抽象成与 Claude Code 解耦的通用 agent shell 安全层(模型推测)
  • 在执行前展示受影响文件清单,让开发者先确认再允许代理运行(模型推测)
  • 把快照恢复扩展到容器或远程开发环境(模型推测)

目前未知

  • 信号来自项目作者自述,尚无独立用户测试结果
  • 只有一个评论且为作者请求反馈,无法判断实际采用情况
  • 快照机制在大型项目上的性能影响未提及

继续核实

  • Claude Code 等代理用户中,因破坏性 shell 命令丢失未提交文件的频率和损失有多大?
  • 现有 sandbox/checkpoint 方案在什么具体环节失效,导致仍需要命令前快照?
  • 开发者对“命令前自动快照”这类额外安全步骤的接受度和性能敏感度如何?

主题词

ai coding agentsshell command safetyfile recoveryuntracked filesdestructive git commands

管理令牌