DeepSeek Harness 插件:强制删除走回收站

前言

在 DeepSeek Harness (DSH) 的开发中,智能体经常需要调用文件系统工具。直接使用 del、rm 或 Remove-Item 等命令会导致文件永久丢失,难以恢复。即使使用 sdelete 或 shred 等安全擦除工具,也容易造成不可逆的破坏。该插件通过拦截破坏性命令,强制删除操作走系统回收站,并在空间不足时暂停执行。

插件简介

该插件名为 dsh-plugin-recycle-bin,由开发者 Xylocarpro 维护,属于 admin-security 类别。它运行在 Windows 平台,通过依赖 DSH 宿主提供的 @deepseek-ai/* 运行时工作。其核心价值在于为智能体提供了一个“安全删除”的兜底机制。

核心功能

  1. 强制删除走回收站:提供 file_trash 工具,调用 Microsoft.VisualBasic 的 SendToRecycleBin 方法,确保文件进入回收站。
  2. 拦截磁盘删除命令:拦截 del、rm、Remove-Item、erase、rd、rmdir、deltree、find -delete、unlink 等命令。
  3. 拦截安全擦除命令:拦截 sdelete、shred、srm、cipher /w、wipe 等试图永久擦除数据的命令。
  4. 拦截清空回收站:禁止执行清空回收站的命令。
  5. 容量不足停手:删除前检查剩余空间,若低于阈值则停止操作并询问用户。
  6. 查看回收站状态:提供 trash_status 工具,用于查看回收站容量和支持情况。
  7. 注入安全提示:向系统提示注入 safety:recycle-bin 区段,引导模型正确使用工具。

安装与启用

使用 DSH 插件管理器导入发布包,并在配置中启用插件。示例配置如下:

# cordis.patch.yml
- insert:
- id: recycle-bin
  name: 'dsh-plugin-recycle-bin'
  config:
    enabled: true
    blockDestructiveCommands: true
    forbidEmptyRecycleBin: true
    forbidWipe: true
    minFreeBytes: 104857600
    reserveBytes: 52428800

典型用法

插件主要提供两个工具接口:

  1. file_trash:用于删除文件或目录。
    file_trash(paths: ["C:\\Project\\draft.md", "C:\\Project\\old-temp"])
返回值可能为 `deleted`、`skipped`、`blockedFull` 或 `message`。
  1. trash_status:用于查看指定路径的回收站状态。
    trash_status(path: "C:\\Project")

适用场景与注意事项

适用场景:需要严格控制智能体文件操作权限,防止误删或恶意清空数据的 Windows 环境开发。

注意事项:
1. 平台限制:仅支持 Windows 平台,依赖 Microsoft.VisualBasic。
2. 环境依赖:依赖 DSH 宿主解析提供 @deepseek-ai/* 运行时。
3. 已知边界:持久 shell 会话、PTC/run_code 直接调用、第三方工具可能绕过拦截。
4. 许可证:MIT 许可证。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜