前言¶
在用 DeepSeek Harness(DSH)构建智能体时,常需要让模型直接操作本地服务。如果服务没有提供 MCP 接口,就需要通过子进程或浏览器窗口来调用。这种方式增加了复杂度和维护成本。
下面介绍一个 DSH 插件,它直接通过 DSH 的原生工具注册机制,把 qBittorrent 的 WebAPI v2 暴露给模型使用。
插件说明¶
wuzhican/dsh-qbittorrent 是一个 DSH 插件,维护者为 wuzhican,分类为「联网工具」。它不依赖浏览器窗口或 MCP 子进程,而是通过 @deepseek-ai/dsh-tools 原生注册工具。插件本身无运行时依赖,@deepseek-ai/cordis 和 @deepseek-ai/dsh-tools 由 harness 提供。
插件的主要用途是让模型能够查询种子列表、查看详情、排查卡死的下载任务,并对种子执行受控的写入操作。
核心功能¶
插件注册了 9 个工具,用于查询和操作种子:
| 工具 | 用途 |
|---|---|
qb_status |
查询 qBittorrent 版本、WebAPI 版本、各状态下的种子数量、传输统计 |
qb_list_torrents |
列出种子,支持 filter / category / tag / hashes / sort,最多返回 200 条 |
qb_torrent_detail |
查看单个种子的属性和文件列表 |
qb_list_categories |
列出所有分类及其保存路径 |
qb_find_orphans |
查找元数据未解析、名称仍为 infohash、或出现错误/丢失文件的种子 |
qb_resume_torrent |
恢复暂停的种子(需 confirm: true) |
qb_pause_torrent |
暂停种子(需 confirm: true) |
qb_set_category |
将种子移动到指定分类(需 confirm: true) |
qb_delete_torrent |
删除种子(需 confirm: true,最多每次 20 个;deleteFiles: true 也会删除磁盘数据) |
写入类工具(恢复、暂停、设置分类、删除)必须显式提供 confirm: true,防止误操作。API 调用失败会以工具结果返回,而不是抛出异常,因此一次调用失败不会中断整个回合。
安装与启用¶
插件安装需要先启动 DSH 的 web profile。安装命令如下:
dsh plugin --profile web add @wuzhican/dsh-qbittorrent
如果 profile 没有自动应用补丁,需要重启 dsh web。
配置¶
插件无需任何配置即可工作。每个配置项都是可选的,可在 patch 行的 config 中设置:
- insert:
- id: qbittorrent
name: '@wuzhican/dsh-qbittorrent'
config:
url: http://192.168.1.10:8080
tokenRef: QBT_API_KEY
配置项说明:
| Key | 默认值 | 说明 |
|---|---|---|
url |
http://127.0.0.1:8080 |
qBittorrent WebUI 地址,也可通过环境变量 QBT_URL 设置 |
tokenRef |
QBT_API_KEY |
存储访问令牌的凭据名称,也可通过环境变量 QBT_TOKEN_REF 设置 |
timeoutMs |
30000 |
单次请求的超时时间(毫秒) |
令牌不会保存在 patch 文件中,而是通过 DSH 凭据服务按名称解析,回退到 process.env。qBittorrent v5.2.x 只接受 Authorization: Bearer <token>,其他形式(X-API-Key、api-key、查询参数)会返回 403。
要求¶
- DSH 版本
>=0.2.0-rc.1 - Node.js
>=18(需要全局fetch和AbortSignal.timeout) - qBittorrent WebAPI v2,并配置 API 令牌
插件本身没有运行时依赖,@deepseek-ai/cordis 和 @deepseek-ai/dsh-tools 作为 peer dependencies 由 harness 提供。
适用场景与注意¶
适合在需要让模型直接管理本地 qBittorrent 下载任务的 DSH 应用中使用。安装前建议查看源码和许可证(MIT)。
插件以当前 dsh 进程的权限运行,因此需要确保 DSH 进程有权限访问 qBittorrent WebAPI 的端口和凭据。
总结¶
这个插件将 qBittorrent 的 WebAPI v2 注册为模型可直接调用的工具,支持查询、分类管理、故障排查和受控的写入操作。无需 MCP 子进程或浏览器窗口,通过 DSH 原生工具机制实现,适合需要让智能体直接管理本地下载任务的使用场景。
插件目录:https://www.skillhub.cn/plugins/wuzhican/dsh-qbittorrent
GitHub:https://github.com/wuzhican/dsh-qbittorrent