x2802490130-prog/dsh-shield

DSH 脱手模式安全网:删除目录先进回收站、删除链接绝不跟随,零审批。

Bundle 已验证 MIT JavaScript 未知
Bundle 已验证

已收录

0

Dev

Bundle 已验证

版本未知
语言JavaScript
许可证MIT
在 GitHub 查看

功能介绍

脱手模式安全网:agent 删除的目录先进回收站、链接绝不跟随,零审批。

适合

  • 需要在零审批提示下,把 agent 删除的目录先移入可恢复回收站的脱手工作流。
  • 希望在设置页查看、恢复、删除和管理本地回收站保留策略的用户。
  • 要求受保护删除过程不跟随符号链接的工作流。

不适合

  • 要求删除必须先经人工批准或直接拦截的工作流;插件只抢救目标,命令仍会继续执行。
  • 依赖超出文档所述单目标与常见 glob 覆盖范围的特殊 shell 写法的场景。
  • 不接受按配置的时间或容量阈值自动清理、且又不调整相关设置的用户。

README

dsh-shield

DSH 脱手模式安全网:删除目录先进回收站、删除链接绝不跟随。零审批、零弹窗,agent 体验不变。

能力

  • 目录删除先进回收站:bash 的 rm -r/-rf、cmd 的 rmdir/rd/del /s、fs 工具的目录删除,执行前把目标 rename 进回收站(同卷瞬时),命令照常执行
  • glob 抢救:rm -rf dir/*、dir/*.log 逐个抢救子项;父目录是链接时顺链接解析,抢救真实目标内容
  • 链接绝不跟随:rm -rf link/ 自动改写为删链接本身
  • 回收站管理:设置页「回收站」分区 —— 查看 / 恢复 / 删除 / 清空;超 14 天或 5GB 自动清理
  • 可选系统回收站:配置 trashMode: system 走系统回收站(失败自动回落)

配置(profile 补丁层,均可省略)

- id: dsh-shield
  config:
    trashRoot: D:\\path\\to\\trash      # 默认 $DSH_HOME/trash
    retentionDays: 14
    maxTrashBytes: 5368709120
    trashMode: dir                            # dir | system

安全边界

  • 只抢救不拦截:命令仍会执行,agent 无感
  • 单目标 + 常见 glob 场景已覆盖;极端 shell 花样以回收站兜底
  • 管理 API 仅本机回环可用

测试

node test.mjs   # 27 项

License

MIT

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:x2802490130-prog/dsh-shield。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。