dsh-gopeed-downloader

toolsnpmMIT

Agent tools for a local Gopeed downloader: create, inspect, pause, resume and remove downloads, diagnose or launch the Gopeed process, and receive download-complete events through a DSH background job that wakes an idle agent. Process diagnostics and launching are Windows-only; the download tools wo

下载量 / Downloads
565

Install

dsh plugin --profile web add dsh-gopeed-downloader

Sandbox test

This plugin has not been tested yet. Submit a test →

README

<p align="center">

<img src="icon.svg" width="88" height="88" alt="dsh-gopeed-downloader">

</p>

<h1 align="center">dsh-gopeed-downloader</h1>

<p align="center">

English | <a href="https://github.com/Keridium/dsh-gopeed-downloader/blob/main/docs/README.zh.md">Chinese</a>

</p>

<p align="center">

<b>7 tools</b> &nbsp;|&nbsp; HTTP, magnet and <code>.torrent</code> URLs &nbsp;|&nbsp; process control <b>Windows-only</b> &nbsp;|&nbsp; needs <b>Gopeed 1.9.3+</b>

</p>

[!IMPORTANT]
Reading this as an agent? Stop and open docs/AGENTS.md instead.
That file is the contract: the seven tools with the result fields DSH validates, the do-not-poll rule
for gopeed_add, the save-location order, an error playbook keyed on verdict, and an explicit do-not
list. This README is the human landing page and deliberately does not repeat it.
If you maintain an agent that uses this plugin, point it at that URL -- not at this file.

Turn a local Gopeed download manager into agent tools inside **DeepSeek Harness

(DSH)**: start downloads, follow them, steer them, diagnose or launch the Gopeed process, and receive

download-complete events -- including a background job that wakes an idle agent.

Any link Gopeed itself accepts works: HTTP/HTTPS direct links, magnet links and **remote .torrent

URLs**. A local .torrent file is not accepted -- there is no upload path, so hand over the URL it came

from instead. BitTorrent detail (peers, DHT, trackers, seeding) stays with Gopeed; the plugin creates the task

and reads its progress, nothing more.

The agent hands a URL to Gopeed over its loopback HTTP endpoint; Gopeed owns the outbound traffic and the

files on disk, so nothing passes through the model or a shell. Gopeed's desktop build listens on a random port

per launch by default, so the plugin reads the live port from the running process (port: 0) unless you pin

one. See [Configuration](#configuration).

What it does

Goal · Tool

Start a download and be told when it ends · gopeed_add -- takes a direct link, a magnet link or a remote .torrent URL, and returns a background job; the completion notice is DSH's own, so a busy agent reads it next step and an idle agent is woken.

Watch progress · gopeed_list, gopeed_status -- one flat task shape (percent, sizeKnown, speed, real save directory).

Steer a download · gopeed_control -- pause / resume / remove through an action enum. remove deletes the files too unless force: false.

Fix the setup · gopeed_process -- one of six verdicts plus pid, memory, version, executable path and webhook status.

Start a stopped Gopeed · gopeed_launch -- the agent-side equivalent of double-clicking the icon.

Hear downloads finish · gopeed_events -- reads the DOWNLOAD_DONE / DOWNLOAD_ERROR pushes Gopeed sent; action: "apply" saves the webhook address into Gopeed's config in auto mode.

What it does not do

  • No tool can restart or kill Gopeed. Restarting is the red Restart Gopeed button on the plugin

settings page, a user action, because it interrupts downloads in flight. gopeed_launch only starts an

absent process and has no parameters.

  • Process control is Windows-only. gopeed_process, gopeed_launch, the restart button and executable

auto-discovery all call Windows tools. The download tools work wherever Gopeed runs.

  • The webhook listener binds 127.0.0.1 only. A Gopeed in Docker or on another machine cannot push to it

without extra networking; poll gopeed_list / gopeed_status instead.

  • The plugin never writes into the conversation. No user-role messages, no forged follow-ups; guidance

rides inside a tool's own result.

Requirements

  • DSH, running, with a profile that can install bundles (the plugin_manager tool, or the Web

Plugins page).

  • Gopeed 1.9.3 or newer, reachable on host:port. Verified against 1.9.3.
  • No Node.js, npm or pnpm is needed to run this plugin. It is a Cordis plugin inside the DSH host process

and never shells out to a package manager.

  • Windows PowerShell 5.1 is enough -- the process helpers only use tasklist, taskkill,

powershell.exe, netstat and netsh.

Installation

dsh-gopeed-downloader is on npm. In any DSH session, tell the agent:

Install the dsh-gopeed-downloader bundle from npm.

That is plugin_manager with action: "install_bundle" and target: "dsh-gopeed-downloader". DSH installs it

with its own package manager and enables the bundle; restart DSH when it asks.

Nothing needs to be installed on your machine first -- no Node.js, no npm, no pnpm. The profile carries its

own package manager; this plugin only needs DSH and Gopeed. If you would rather use a shell,

dsh plugin --profile web add dsh-gopeed-downloader is the equivalent.

From Git instead -- for a development build, or to pin a commit:

Install the dsh-gopeed-downloader bundle from github:Keridium/dsh-gopeed-downloader.

Both forms accept a version pin: dsh-gopeed-downloader@0.3.2, or

github:Keridium/dsh-gopeed-downloader#v0.3.2.

Uninstall with action: "remove_bundle", target: "dsh-gopeed-downloader". The Web UI equivalent is

Plugins -> Installed.

Then open Plugins -> Installed -> Gopeed Downloader -> row gopeed -> Configure and, if Gopeed uses a

token or a fixed port, enter them there. A first run looks like this:

gopeed_add  { "url": "https://example.com/file.iso" }
# -> taskId, path, jobId; stop here -- the completion notice arrives on its own

<details>

<summary>Accepted <code>target</code> forms (read from the DSH plugin manager)</summary>

target · Accepted · Notes

dsh-gopeed-downloader · yes · An npm package name, resolved from the

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::3,最后更新 2026-11-01

Links

GitHub · Homepage · npm

Same category