Cursor 的 Debug 模式误删我 E 盘 921GB 文件

1 天前
 tianhehechu

大家慎用 Windows 系统下 Cursor 的 Debug 模式。

我已被 Cursor 误删 E 盘上 921GB 的重要数据。我有备份,但最新备份是 2024 年的。

手机码字,电脑在恢复数据,不敢再开任何应用。事故现场截图我等数据恢复完再贴上。事发过程简述如下。

近日业余时间,本来在用 Cursor 愉快地 「 vibe coding 」一个有趣的个人开源项目(此处我必须模糊表述,想留点悬念,等数据恢复处理完,收收尾会发布。本来憋了个大的准备发布时发个帖子,还想象了项目发布后和其他 V 友一样获得点关注,没想到最后关头 Cursor 给我拉了坨大的。但我不恨 Cursor ,已经很惊艳了。)。

继续说。项目即将完成,我整在添加和调试一些 Demo 。

调试过程中,考虑将所有依赖 Node 的 Demo ,统一升级到较新的 Node 版本。我和 Cursor 一起评估规划了方案,Cursor 建议我直接统一依赖到 Node24+ 。

方案制定好了,我想到我本机的 Node24 有点问题,一是 npm install 无控制台日志输出( npm install --verbose 才能看到日志),二是 npm install 下载 Electron 依赖时,会卡在 postinstall { code: 0, signal: null }(国内镜像源能解决此问题,但我比较排斥)。于是我让 Cursur 帮我排查。

此时 Cursor 是开着上文提到的那个项目的,我将 Cursor 切到了 Debug 模式,给 Cursor 如下的提示词(回忆版且适当概括):

① 我的操作系统是 Windows 10 ,使用解压版的 nvm 管理多个版本的 Node ,我下载了多个版本的 Node 解压版,解压并以 vxxxx (版本号)的形式命名后放在了 nvm 根目录。nvm list 可正常识别,nvm use 可正常完成 Node 版本切换;

② Node18 工作和控制台日志输出正常,20 、22 、24 存在问题(上文已描述过)。

③ 贴了 nvm 、node (当前使用的是 24 ) 和 npm 的版本信息,nvm 根目录截图以及 nvm list 的输出。贴了当前系统 path 下所有环境变量。

④明确告知 Cursor ,可以在当前先后根目录下的 tmp 文件夹内,创建调试用的 Electron 小项目。如果需要其他信息或需要我协助执行操作,可以询问我。

经过一番排查,Cursor 给出的方案是在用户目录下的 npmrc 中,添加 loglevel=info ,并指定 Electron 的国内镜像源。我手动添加、指定了。问题排查到此没必要继续了,控制台输出问题已解决,国内镜像源只能接受。于是我按照提示点击了 [ Mark fixed ] 按钮,表示已修复。

在上述排查过程中,Cursor 在当前项目目录(项目在 E 盘,但非 E 盘根目录,在 E 盘根目录下第 4 层)的根目录(强调:是当前项目根目录)的 tmp 文件夹内直接或间接(调用工具、指令)自动生成了名为 node-diag 的子文件夹,该子文件夹的原貌已不可知。在事故发生后,在残留的此文件夹上(没错,该删的没删干净,不该删的全删了)点进去后,内层都是单个文件夹,最内层是一个名为 default_app.asar 的文件,从 tmp 到 default_app.asar 的路径为 .\node-diag\node_modules\electron\dist\resources\default_app.asar 。

我点击了 [ Mark fixed ] 按钮后,Cursor 按照惯例,开始了 Debug 完成后的自动清理,本次调试不涉及埋点, 因此 Cursor 开始自动清理 Debug 过程中 tmp 目录内产生的调试文件和日志文件。一分钟后 Cursor 前端提示执行成功,一切就如往常一样顺利,此时的我还沉浸在项目收尾的激动中,丝毫没意识到今晚(现在是凌晨,所以准确说是昨晚)将是个不眠之夜。

我忘记了我是因何打开了资源管理器并进入了 E 盘,也许是上天眷顾吧。我突然发现原本爆红的 E 盘血槽空白,下面显示 950 GB 可用(此处为了保护隐私,取了约数),我第一反应是系统显示有误,下意识在资源管理器右键刷新了一下,还是一样。

一瞬间我意识到,坏菜了,Cursor 这是要删库跑路了 。

我马上让 Cursor 核查刚刚 Debug. 时执行了什么命令,导致 E 盘被清空。Cursor 回答,在 Debug 完清理 tmp 下的调试文件和日志时,它在执行了危险的删除命令,但它没处理好 Windows Poweshell 下的引号有问题,导致删除对象从 tmp 内的文件(或文件夹),变成了 E 盘根目录下的所有文件(或文件夹),并且删除是直接删不放回收站。

事已至此,Cursor 给了我一堆诸如从备份盘、网盘恢复等没卵用的建议,并向我表达了同情,让我节哀的意思。Cursor 在思考过程中,我还看到它在检查是否有 git 记录可供恢复数据,有是不可能有的,别说根目录了,就连原本有 git 的当前项目目录,也被它删除干净了。

以上是事故过程简述。

Cursor 以及它所依赖的大模型,似乎都不太擅长 Windows 命令行操作,不知这锅该 Windows 背,还是该大模型背。

总之,大家慎用 Windows 系统下 Cursor 的 Debug 模式,严格控制删除命令。最好在远程或虚拟机下使用。

用 DiskGenius 的提示信息结语:

「数据无价,谨慎操作」。 ④明确告知 Cursor ,可以在当前先后根目录下的 tmp 文件夹内,创建调试用的 Electron 小项目。如果需要其他信息或需要我协助执行操作,可以询问我。

经过一番排查,Cursor 给出的方案是在用户目录下的 npmrc 中,添加 loglevel=info ,并指定 Electron 的国内镜像源。我手动添加、指定了。问题排查到此没必要继续了,控制台输出问题已解决,国内镜像源只能接受。于是我按照提示点击了 [ Mark fixed ] 按钮,表示已修复。

在上述排查过程中,Cursor 在当前项目目录(项目在 E 盘,但非 E 盘根目录,在 E 盘根目录下第 4 层)的根目录(强调:是当前项目根目录)的 tmp 文件夹内直接或间接(调用工具、指令)自动生成了名为 node-diag 的子文件夹,该子文件夹的原貌已不可知。在事故发生后,在残留的此文件夹上(没错,该删的没删干净,不该删的全删了)点进去后,内层都是单个文件夹,最内层是一个名为 default_app.asar 的文件,从 tmp 到 default_app.asar 的路径为 .\node-diag\node_modules\electron\dist\resources\default_app.asar 。

我点击了 [ Mark fixed ] 按钮后,Cursor 按照惯例,开始了 Debug 完成后的自动清理,本次调试不涉及埋点, 因此 Cursor 开始自动清理 Debug 过程中 tmp 目录内产生的调试文件和日志文件。一分钟后 Cursor 前端提示执行成功,一切就如往常一样顺利,此时的我还沉浸在项目收尾的激动中,丝毫没意识到今晚(现在是凌晨,所以准确说是昨晚)将是个不眠之夜。

我忘记了我是因何打开了资源管理器并进入了 E 盘,也许是上天眷顾吧。我突然发现原本爆红的 E 盘血槽空白,下面显示 950 GB 可用(此处为了保护隐私,取了约数),我第一反应是系统显示有误,下意识在资源管理器右键刷新了一下,还是一样。

一瞬间我意识到,坏菜了,Cursor 这是要删库跑路了 。

我马上让 Cursor 核查刚刚 Debug. 时执行了什么命令,导致 E 盘被清空。Cursor 回答,在 Debug 完清理 tmp 下的调试文件和日志时,它在执行了危险的删除命令,但它没处理好 Windows Poweshell 下的引号有问题,导致删除对象从 tmp 内的文件(或文件夹),变成了 E 盘根目录下的所有文件(或文件夹),并且删除是直接删不放回收站。

事已至此,Cursor 给了我一堆诸如从备份盘、网盘恢复等没卵用的建议,并向我表达了同情,让我节哀的意思。Cursor 在思考过程中,我还看到它在检查是否有 git 记录可供恢复数据,有是不可能有的,别说根目录了,就连原本有 git 的当前项目目录,也被它删除干净了。

以上是事故过程简述。

Cursor 以及它所依赖的大模型,似乎都不太擅长 Windows 命令行操作,不知这锅该 Windows 背,还是该大模型背。

总之,大家慎用 Windows 系统下 Cursor 的 Debug 模式,严格控制删除命令。最好在远程或虚拟机下使用。

用 DiskGenius 的提示信息结语:

「数据无价,谨慎操作」。

天河何处 2026 年 5 月 22 日 凌晨 在住处

4500 次点击
所在节点    Cursor
89 条回复
tianhehechu
1 天前
@BetterJason 哈哈,不生气不生气,好像是有点
tianhehechu
1 天前
@hellodigua Windows 挺好用的,但图形界面对人友好,对 AI 不够友好。再者程序员偏爱 Linux 命令,没几个开源项目的文档会给出 Windows. 命令,AI 缺乏相关训练,又要扮演程序员(扮演偏爱 Linux )。导致了 AI 在 Windows 下表现不佳。
owtotwo
1 天前
不是兄弟 你都用 Cursor 了 还在意 950G 硬盘取约保护隐私吗 这是否有点…

哈哈就是吐槽一下别介意

我感觉现在用 AI 的话 最好还是限制以下 agent 的写入权限比较好
允许它读取所有地方 但写入操作只能在工作空间/项目空间中以及特定目录比如 TEMP 下进行
前者用隐私换便捷(李彦宏表示同意) 后者讨个心安(agent 乱修改和写入真是血克系统洁癖患者)

(毕竟 agent 写 bash 还行但 PowerShell 就很拉 优先建议 wsl 也不是没道理的
不然就是各种出错乱动%USERPROFILE%和%APPDATA%甚至环境变量都给你删了
最离谱的莫过于 AI 在项目里生成自动化用的 Python 代码 然后用管理员权限来执行 直接绕过写 shell 命令 调用你的 py.exe 把你盘给删了)
tianhehechu
1 天前
@maolon 有审核,每条都有,可是 Debug 清日志,正常没风险,且标记解决后自动执行,无法干预也无法撤销
tianhehechu
1 天前
@owtotwo 是这样的。为时已晚。以后只在虚拟机使用了。
bzw875
1 天前
YES 工程师终于知道了不能一直点 YES 了
nicaiwss
1 天前
现在只用 yolo 模式,审核限制啥的都没啥用,一个命令有无数种写法,我发现 AI 总有无数种方法那能绕过我给的限制,索性不管了
ruanimal
1 天前
@tianhehechu
> 每块硬盘的实际大小都是不同的,这个数值公开的话,就和公开自己身份证号一样。

黑人问号?
seedhk
1 天前
@tianhehechu #8 我听说过能通过打印机泄密,能通过声波泄密,能通过震动频率泄密,但是通过通过硬盘大小泄密真的是闻所未闻,难道你公开以下你的硬盘具体大小,比如 950.23456g ,别人就能完整的推算出你硬盘上每一个区块上的所有 0 和 1 ? 哥们,过于离谱了吧
edisonwong
1 天前
@seedhk #49 所以你想想他为什么会被删 ,不就是认知问题
ykk
1 天前
能不用 win 就不用,像我 linux mac win 三端切换,还是喜欢 linux ,win 是不得已没办法才用的
owtotwo
1 天前
@tianhehechu 纯虚拟机跑倒也不必 还是失去了很多便捷性的 Win 的话用 NTFS 的高级权限功能 给 Cursor 开个专门的用户 然后细分一下权限(类似 Chroot Jail 或者说 Cgroups) 基本就可以限制住绝大部分离谱操作了 毕竟就算想动注册表 其实也是要动 C:\Windows\System32 下的东西的 花一点时间配置一下 搞定一个后 其他 Agent 类应用也照猫画虎就行 之后就省心了 放开了让它随便跑 也就不用因噎废食了
Torpedo
1 天前
ai 编程两个不利因素:cursor ,win
特别是 win ,ai 对于 win 的命令总是有些问题
simo
1 天前
从头开始看,结果你让我看两个一瞬间
bowencool
1 天前
@simo 赛博鬼打墙
bowencool
1 天前
明知道 Windows 不利于 vibe coding,为什么不用 WSL ?
bowencool
1 天前
虽然我用了十几年 Windows ,但是我接触 Mac 的那一年,Windows 就只配当游戏机了,Mac 用了也快 10 年了
lovelyxiaod
1 天前
你监控我电脑了么, 刚把 agent 的权限设置为总是自动执行任何命令.

现在慌得一批, 在想要不要改回去.
wclebb
1 天前
@simo 我看到中间发行有些内容重复,大概 OP 写到时候写草稿把上下内容复制粘贴一遍没注意到内容乱了,鉴于他在用手机码字,只能表示理解,但是我阅读很痛苦,于是我把它扔了 AI 重新读一遍。
tianhehechu
1 天前
@ykk 我是 Win 粉 Mac 黑,吸取教训了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1214556

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX