DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。在构建智能体时,删除操作往往是不可逆的。直接使用系统命令 rm 或 rmdir 会永久移除文件,不仅风险高,还会打断 agent 的执行流。dsh-shield 是为 DSH 脱手模式设计的插件,它在删除目录时将文件先移入回收站,并对链接操作做了特殊处理,在保证安全的同时保持零审批、零弹窗,让 agent 体验不变。
插件介绍¶
这是一个用于 DSH 脱手模式的安全网插件。它通过拦截并改写删除命令,实现目录删除进回收站、链接删除不跟随。插件由 x2802490130-prog 维护,开源协议为 MIT,分类属于 admin-security。
核心功能¶
- 目录删除进回收站:支持 bash 的
rm -r/-rf、cmd 的rmdir/rd/del /s、fs 工具的目录删除,执行前将目标文件/目录重命名至回收站(同卷瞬时操作),命令照常执行。 - Glob 抢救:支持
rm -rf dir/*、dir/*.log等场景,逐个抢救匹配的子项。 - 链接绝不跟随:对于符号链接,
rm -rf link/会删除链接本身,而不是跟随链接删除真实内容;父目录是链接时,会顺链解析并抢救真实目标内容。 - 回收站管理:提供设置页「回收站」分区,支持查看、恢复、删除、清空操作。
- 系统回收站兼容:可配置
trashMode: system走系统回收站,失败时自动回落。 - 零侵入:只抢救不拦截,命令实际执行,agent 无感知。
- 本地安全:管理 API 仅本机回环可用。
配置¶
插件通过 profile 补丁层进行配置,以下为可选配置项:
- id: dsh-shield
config:
trashRoot: D:\\path\\to\\trash # 默认 $DSH_HOME/trash
retentionDays: 14 # 保留天数
maxTrashBytes: 5368709120 # 最大占用 5GB
trashMode: dir # dir | system
典型用法¶
- 常规删除:直接使用
rm -rf dir,文件会被移入插件管理的回收站。 - Glob 抢救:执行
rm -rf dir/*.log,匹配到的所有 log 文件会被逐一抢救。 - 链接处理:执行
rm -rf link/,直接删除 link 目录本身。 - 系统回收站:在配置中设置
trashMode: system,删除操作将尝试进入系统回收站。
适用场景与注意¶
- 适用场景:适合需要在自动化脚本或 agent 中执行删除操作,但又希望具备容错机制的场景。插件已覆盖单目标及常见 glob 场景,对于极端的 shell 花样会以回收站兜底。
- 自动清理:回收站内容若超过 14 天或占用超过 5GB,会自动清理。
- 运行权限:插件以当前 DSH 进程权限运行,建议安装前检查源码与许可证。
- 生态说明:DSH 理念是「一切皆插件」。社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-shield 在保持 agent 体验不变的前提下,通过回收站机制降低了误删风险。更多信息可查看其 GitHub 仓库 或 社区目录。