DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Download Guard — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
D

dsh-download-guard

Download Guard

DeepSeek Harness 插件:在工具执行前钩子中拒绝 Shell 下载命令,强制所有大文件下载通过本地 aria2 引擎完成。返回确切的 aria2 替代命令。强制下载统一走 aria2 的 DSH 插件。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:BeiWay1145/dsh-download-guard#1aecbcfd72155c1c6526ebd2c703c42fa67b3f4d
README兼容性版本

兼容性与来源证明

Download Guard 以 dsh-download-guard 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/13

版本

0.1.0stable
2026/9/13

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/17
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 security-access 分类下经过校验的插件。

Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Auto Reviewdsh-auto-review针对 DeepSeek Harness 审批请求的第二模型 AI 自动审查:只读审查子代理在审批应答链上决定允许或拒绝,并采用故障关闭回退机制和完整的会话日志审计。

README

dsh-download-guard

把「下载必须走 aria2」从技能里的建议变成运行时的强制。

为什么需要它

aria2-download 技能把规则写在提示词里,而提示词只是建议。实际发生的是:

aria2 通道绕过通道
引擎aria2-next (Motrix Next)node 单连接 https
实测速度11.78 MB/s0.13 MB/s
Motrix 可见✅❌
断点续传✅部分

同一条 4.76 GB 的 Windows 11 镜像,两条路差了 约 90 倍。而 agent 手头只要有一个 download.cjs,就会顺手用它——因为在 shell 层面 node download.cjs 和 aria2-dl.js 长得一模一样,没有任何机制能区分。

本插件把这条规则搬到运行时:拦截工具调用,拒绝并给出正确的 aria2 命令。

工作原理

监听 cordis 的 tools/pre-execute 钩子(waterfall 模式),在工具真正执行之前裁决:

模型请求 pwsh("curl -o x.iso https://...")
    ↓
tools/pre-execute 钩子触发
    ↓
识别为下载 → 返回 { kind: 'deny', reason: '<改用 aria2 的完整命令>' }
    ↓
工具被拒绝,reason 原样呈现给模型(工具体从未执行)

为什么不用审批钩子

approval/request 在审批策略为 never 时会失效——ApprovalService.decide() 在派发 waterfall 之前就 return "rejected":

if (this.effectivePolicy(session) === "never") return "rejected";  // ← 在这里返回
const answer = ... this.ctx.waterfall(..., "approval/request", ...)   // ← 永远走不到

而 tools/pre-execute 是独立的 waterfall,没有这个短路,所以任何策略下都有效。

拦截规则

判据来自技能本身:是否需要把字节写到磁盘,而不是 URL 长什么样、文件多大。

拦截放行
curl -o F / curl -O / curl --output Fcurl https://api.x/status(只输出到 stdout)
wget <url>(默认落盘)wget -O - <url>(显式输出到 stdout)
Invoke-WebRequest ... -OutFile FInvoke-WebRequest https://api.x/status
Invoke-RestMethod ... -OutFile FInvoke-RestMethod https://api.x/data
Start-BitsTransfer ...—

明确不拦(按设计):

  • pip install / npm install 等包管理器——不在本插件职责内
  • git clone——git 自有传输层
  • 注释行里的命令(shell 不会执行)
  • 非 shell 工具(即使参数里含 curl -o 字样)
  • 仅仅是提到某文件名(例如日志里打印 download.cjs)——曾有一条按文件名匹配的规则,因误伤已删除

检测刻意偏向漏判而非误判:拦截一条正常命令是可见的体验倒退,而漏掉一次下载只是现状。

拦截后模型看到什么

BLOCKED by dsh-download-guard: this command downloads a file to disk
(matched: curl-output), and downloads must go through the local aria2 engine
(Motrix Next) so they are multithreaded, resumable and visible in the download manager.

Use instead:
  node "$env:USERPROFILE\.dsh\skills\aria2-download\scripts\aria2-dl.js" "<URL>" --out=<filename>

Options: --dir=<dir> for the destination, --header="K: V" for headers,
--no-wait to enqueue and return immediately (then query with --status <gid>).
A blocked command is never partially executed.

Blocked command: curl -o Win11.iso https://.../y.iso

URL 会被自动提取并填进建议命令——被拒绝的一方不需要猜该怎么改。

安装

cd ~/.dsh && dsh plugin --profile <your-profile> add "dsh-download-guard@github:BeiWay1145/dsh-download-guard"

安装后重启 DSH 生效。

已知边界

  • 拦不住「命令内部的下载」:python script.py 里用 urllib 下载,钩子看到的是 python script.py,看不到它内部在做什么。彻底收口需要本地代理层,不在本插件范围。
  • 拦不住非 DSH 发起的下载:在 DSH 之外的终端里 curl -o 不受影响。
  • 依赖宿主提供 tools/pre-execute 钩子(已在 DSH 0.1.5-rc 系列上实测)。

开发

npm install
npm test          # 构建 + 检测器单测 + 真实 ToolRuntime 运行时测试
npm run typecheck

测试分两层:

  • tests/detect.test.mjs — 纯函数检测规则(38 项,含大量「必须放行」的反例)
  • tests/guard.runtime.mjs — 把构建产物装进真实 cordis + ToolRuntime,验证 deny 真的拦住了工具体

运行时测试会自行在本机寻找已安装的 DSH 树;找不到时跳过而非失败,这样裸克隆仓库也能通过。

许可

MIT