拦截删除命令,误删文件可随时恢复
27.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add LeonSone/dsh-trash该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 拦截删除命令
- 误删文件可恢复
一个 DeepSeek Harness (DSH) 插件:每次删除操作都经过可恢复的回收站存储——误删只需一次恢复即可找回。
README
由 DeepSeek 最新模型翻译生成dsh-trash — DSH 回收站插件
一个 DeepSeek Harness 插件:在最高权限(danger-full-access)下,所有删除操作一律不再永久删除,而是先进入回收站(trash store)。误删可以随时恢复。
- 拦截 pwsh / bash / run_code 中的删除指令(Remove-Item、rm、del、rd、rmdir、unlink、[System.IO.]::Delete、fs.unlink/rm/rmdir、os.remove、shutil.rmtree …),拒绝执行并把模型引导到回收站工具。
- 提供 4 个工具:trash(删除=移入回收站)、trash-list(查看)、trash-restore(恢复)、trash-purge(确认后彻底清空,唯一真正删除)。
- 零运行时依赖(只用 node 内置模块),任意方式安装(registry / file: / link: / GitHub)都无需额外依赖解析。
工作原理
| 层 | 说明 |
| 拦截层 | 挂在工具流水线 tools/pre-execute 瀑布(prepend 最先执行),扫描 pwsh.command / bash.command / run_code.code 中的删除模式。
展开完整文档(README 剩余 1 节)
dsh-trash — DSH 回收站插件
一个 DeepSeek Harness 插件:在最高权限(danger-full-access)下,所有删除操作一律不再永久删除,而是先进入回收站(trash store)。误删可以随时恢复。
- 拦截 pwsh / bash / run_code 中的删除指令(Remove-Item、rm、del、rd、rmdir、unlink、[System.IO.]::Delete、fs.unlink/rm/rmdir、os.remove、shutil.rmtree …),拒绝执行并把模型引导到回收站工具。
- 提供 4 个工具:trash(删除=移入回收站)、trash-list(查看)、trash-restore(恢复)、trash-purge(确认后彻底清空,唯一真正删除)。
- 零运行时依赖(只用 node 内置模块),任意方式安装(registry / file: / link: / GitHub)都无需额外依赖解析。
工作原理
| 层 | 说明 |
| 拦截层 | 挂在工具流水线 tools/pre-execute 瀑布(prepend 最先执行),扫描 pwsh.command / bash.command / run_code.code 中的删除模式。命中即返回 { kind: "deny" }——deny 是单调的,后续任何阶段(审批、guard、dispatch)都无法放行。模型会收到可操作的引导信息,改用 trash。 |
| 回收站存储 | 每次"删除"在回收站根目录(默认 $DSH_HOME/trash)下生成一个条目:data/ 保留原始文件名,meta.json 记录原始路径、删除时间、大小、可选原因。跨卷移动自动退化为 复制+清理。 |
| 工具 | trash / trash-list / trash-restore / trash-purge,见下方。 |
/
/
data/... 被“删除”的内容(保留原始文件名) meta.json 原始路径、删除时间、大小、原因
安装
本地源码(开发/link 模式,改源码即时生效)
dsh plugin --profile web add link:D:/path/to/dsh-trash
或直接从 GitHub 安装(本机需有 git 与 GitHub 凭据)
dsh plugin --profile web add github:LeonSone/dsh-trash
dsh plugin add 会把包加入 profile 的 dependencies;因为包声明了 dsh.bundle,会自动追加到 dsh.profile.bundles。重启 dsh web(或无头 runner)后插件生效。
无头(headless)profile 同理:dsh plugin --profile headless add 。
使用
装好后,模型的行为自动变为:
| 场景 | 行为 |
| 模型执行 Remove-Item / rm / del 等 | 被拦截,返回说明回收站工作方式的提示 |
| 模型调用 trash(paths=[...]) | 文件/目录移入回收站(可恢复) |
| 误删了 | trash-restore(entry_id=...) 恢复到原始路径;或 trash-restore(path="原路径片段") 按路径找回最新匹配条目 |
| 彻底清空 | trash-purge(confirm: true)(可选指定 entry_ids) |
工具参考
| 工具 | 用途 |
| trash(paths, reason?) | 把文件/目录移入回收站,返回 entry_id、trash_root、moved。 |
| trash-list(path?) | 列出回收站条目(删除时间、大小、原因、原始路径),可按原始路径子串过滤。 |
| trash-restore(entry_id? 或 path?, target_path?, overwrite?) | 恢复条目到原始位置(单条目条目可用 target_path 指定新位置)。目标已存在时默认拒绝;传 overwrite: true 会先把现有内容自动移入回收站再恢复——任何一步都不会丢数据。 |
| trash-purge(entry_ids?, confirm: true) | 彻底删除回收站条目。整个插件中唯一真正的删除。 |
配置(可选)
在 profile 的 cordis.patch.yml 中追加:
- id: dsh-trash
config:
location: D:/data/dsh-trash # 回收站根目录(建议与工作区同盘,移动为瞬时重命名) interceptPwsh: true # 是否拦截 pwsh 删除(默认 true) interceptBash: true # 是否拦截 bash 删除(默认 true) interceptRunCode: true # 是否拦截 run_code 中的 fs. 删除(默认 true)
安全设计
- fail-safe 方向:检测器宁可误拦(如教学文本里出现 Remove-Item 字样),也不放走真正的删除;误拦时提示会说明原因并给出替代方案。短别名(rm/del/rd/ri)只在命令位置命中,因此 cat /tmp/rm、Test-Path C:\rd、grep 'rm -rf' docs 这类"读/搜"不会被误拦。
- 真正的删除只有一条路:trash-purge(confirm: true),且只作用于回收站内部。
- 恢复安全:entry_id 严格校验(不允许路径穿越);target_path 禁止指向回收站内部。
- 覆盖安全:恢复覆盖已有文件时,现有内容会先自动进入回收站——每一步都可逆。
开发与测试
node test/unit.test.mjs # 48 个用例:检测器命中/不命中矩阵 + 回收站存储全流程
卸载
dsh plugin --profile web remove dsh-trash
(回收站目录本身不会被删除;如需保留数据请先手动移走。)
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
LeonSone/dsh-trash
拦截删除命令,误删文件可随时恢复
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,384已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。