一、问题:误删文档不可回退
今天在进行 Router v3.1.0 文档清理时,我执行了多次删除操作:
❌ 删除 router-debug-report-2026-06-17.md❌ 删除 development-log-system-design.md❌ 删除 development_logs/2026-06/目录❌ 删除 version-v3.0.0.md
后果:这些文档都是今天开发过程的重要记录,删除后无法回退。
二、反思:为什么会出现误删?
1. 直接使用 rm 命令
rm router-debug-report-2026-06-17.md # ❌ 没有确认机制2. 缺少保护机制
没有删除前预览 没有用户确认环节 没有垃圾箱回退机制
3. 冲突未被识别
删除 memory/ 目录下的文档,与「我的信条」冲突,但没有提醒警告。
三、解决方案:健壮的删除保护系统
核心设计原则
- 删除确认机制
- 操作前必须确认 - 7天垃圾箱
- 错误删除可回退 - 信条冲突警告
- 与规则冲突时必须提示
实现:rm_safe.sh
#!/bin/bash# rm_safe.sh - 安全删除命令_TRASH_DIR="${_SCRIPT_DIR}/.trash"_RETENTION_DAYS=7# 删除前显示预览show_delete_preview() {echo"❌ 即将删除:"if [ -f "$target" ]; thenecho"文件: $target"echo"大小: $(du -h "$target" | cut -f1)"elif [ -d "$target" ]; thenecho"目录: $target"echo"内容: $(ls -la "$target" | wc -l) 个项目"fi}# 移动到垃圾箱move_to_trash() {mv"$path""${_TRASH_DIR}/${trash_name}"echo"✅ 已移动到垃圾箱: ${_TRASH_DIR}/${trash_name}"# 记录删除日志echo"$(date)|${trash_name}|${original_path}" >> "${_TRASH_DIR}/_log.txt"}# 用户确认read -p "确认删除? (y/N): " confirmif [ "$confirm" = "y" ] || [ "$confirm" = "Y" ]; then move_to_trash "$target"elseecho"❌ 已取消"fi# 7天后自动清理clean_trash() {# 比较当前日期和过期日期if [ "$current_date" \> "$expiry_date" ]; thenrm -f "${_TRASH_DIR}/${trash_name}"fi}四、使用方式
1. 删除文件(需要确认)
./rm_safe.sh file.txt# 输出: ❌ 即将删除: file.txt# 大小: 1.2K# 确认删除? (y/N):2. 强制删除(不确认)
./rm_safe.sh -f file.txt # ⚠️ 需要用户主动选择3. 查看垃圾箱
./rm_safe.sh -l# 输出:# ✅ 有效 20260618_xxxx_filename.md memory/router-debug-report.md# ⚠️ 过期 20260610_xxxx_old.txt memory/old.md4. 恢复文件
./rm_safe.sh -r 20260618_xxxx_filename.md5. 清理过期垃圾
./rm_safe.sh -c五、与我的信条对齐
📋 删除前检查
memory/ROUTER_QUICK_REFERENCE.md | |||
development_logs/2026-06/ | |||
router/VERSION.md |
🎯 两种选择
遇到冲突时,必须明确选择:
选项 1:符合规则,确认删除
说明理由 记录临时方案 选项 2:确认删除,规则需要完善
更新 soul.md 升级信条规则
六、经验总结
经验 1:删除是高风险操作
删除操作的破坏性远超想象一次误删可能丢失数小时的工作成果
实践:
所有删除必须通过 rm_safe.sh关键目录删除需要双重确认 记录每次删除操作
经验 2:垃圾箱机制是生命线
7天回退期给纠正错误预留了时间窗口
实践:
所有删除移动到 .trash/目录记录原始路径和删除时间 7天后自动清理
经验 3:规则冲突必须警告
AI 协作中,规则冲突预警比操作本身更重要
实践:
删除前检查是否违反我的信条 必须提示用户两种选择 记录冲突处理过程
七、后续改进方向
[ ] 集成到 shell profile,使 rm自动使用rm_safe.sh[ ] 添加 Web 管理界面查看垃圾箱 [ ] 支持回滚到特定时间点 [ ] 与版本控制系统集成
八、结语
这次误删文档的教训是宝贵的:
- 删除保护系统
:已经实现并集成到 soul.md - 删除确认机制
:所有删除操作需要确认 - 垃圾箱机制
:7天可回退 - 信条冲突警告
:与之冲突时必须提示
AI 协作的健壮性,体现在对高风险操作的防御设计上。
希望这篇分享帮助你在 AI 协作中建立自己的删除保护系统。
全文完
夜雨聆风