DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

wuzhican /

wuzhican/dsh-qbittorrent

Verified

DSH plugin: qBittorrent WebAPI v2 tools

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@d5f99a92

dsh-qbittorrent

English | 中文

A DeepSeek Harness (DSH) plugin that registers qBittorrent's WebAPI v2 as model-facing tools: list and inspect torrents, triage stuck downloads, and apply a small set of guarded mutations. No browser window, no MCP subprocess — the tools are registered natively through @deepseek-ai/dsh-tools.

Install

dsh plugin --profile web add @wuzhican/dsh-qbittorrent

Restart dsh web if the profile does not compose patches on reload.

Configuration

The plugin works with no configuration. Every key is optional and can be set in the patch row's config:

Key Default Meaning
url http://127.0.0.1:8080 qBittorrent WebUI origin (QBT_URL env also honoured)
tokenRef QBT_API_KEY Credential name holding the Bearer token (QBT_TOKEN_REF env also honoured)
timeoutMs 30000 Per-request deadline
- insert:
    - id: qbittorrent
      name: '@wuzhican/dsh-qbittorrent'
      config:
        url: http://192.168.1.10:8080
        tokenRef: QBT_API_KEY

The token is never stored in a patch file. It is resolved through the DSH credential service by name, falling back to process.env. qBittorrent v5.2.x accepts only Authorization: Bearer <token> here; X-API-Key, api-key and query-parameter forms all return 403.

Tools

Nine tools are registered:

Tool Purpose
qb_status Version, WebAPI version, per-state torrent counts, transfer stats
qb_list_torrents List with filter / category / tag / hashes / sort, capped at 200 items
qb_torrent_detail One torrent's properties plus file list
qb_list_categories Every category and its save path
qb_find_orphans Torrents whose metadata never resolved, whose name is still the bare infohash, or that error / miss files
qb_resume_torrent Resume — requires confirm: true
qb_pause_torrent Pause — requires confirm: true
qb_set_category Move into a category — requires confirm: true
qb_delete_torrent Remove — requires confirm: true plus expect matching the hash count; max 20 per call; deleteFiles: true also erases data on disk

Write calls refuse to run without confirm: true. An API failure returns as a tool result rather than an exception, so one bad call does not end the turn.

Requirements

  • DSH >=0.2.0-rc.1
  • Node >= 18 (global fetch and AbortSignal.timeout)
  • qBittorrent WebAPI v2 with an API token

No runtime dependencies. @deepseek-ai/cordis and @deepseek-ai/dsh-tools are peer dependencies supplied by the harness.

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit d5f99a926c4e

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout