Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add dsh-runninghub-api
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
README
English | 中文
A DeepSeek Harness (DSH) plugin that integrates RunningHub cloud ComfyUI workflows: a configuration form for your API key and workflow library, nine runninghub_* tools for agents, a sha256 media upload cache, a local concurrency gate with FIFO queueing and timeouts, background tasks with completion notifications, and a durable task ledger with automatic restart recovery.
Install
dsh plugin --profile web add dsh-runninghub-api
or install/update from the in-app plugin market (dshmarket). Then open the sidebar's Plugins page and open the dsh-runninghub-api card: the configuration form sits below the description (on DSH ≥ 0.1.6-alpha.2, plugin configuration moved out of Settings → Plugins onto the Plugins page).
Settings (runninghub namespace)
| Field | Default | Purpose |
|---|---|---|
apiKey |
— | Literal key (role('secret')); prefer apiKeyEnv |
apiKeyEnv |
RUNNINGHUB_API_KEY |
Credential reference resolved per request |
baseUrl |
https://www.runninghub.cn |
OpenAPI base |
pollIntervalMs |
5000 |
Status poll interval (min 1000) |
runTimeoutMs |
3600000 |
Run-phase timeout (0 = unlimited) |
queueTimeoutMs |
0 |
Queue-phase timeout (0 = unlimited) |
maxConcurrentTasks |
3 |
Local concurrency gate |
uploadUseLegacy |
false |
Legacy multipart upload endpoint |
workflows |
[] |
Saved workflow definitions |
Tools
runninghub_list_workflows, runninghub_fetch_workflow, runninghub_run_workflow (two-phase: reports missing required params/media — and values outside a node's declared enum choices — as needs_input instead of submitting), runninghub_get_task, runninghub_list_tasks, runninghub_cancel_task, runninghub_upload_file (sha256-deduplicated), runninghub_refresh_workflow, runninghub_note_workflow (append a per-workflow usage gotcha).
Remote (ctx.remote.runninghub)
fetchWorkflow (workflow JSON fetch + parse), validateWorkflow (free dry-run payload assembly), describeWorkflow (LLM catalog description, attention params, and usage notes — fed the node registry's enum/bounds constraints and this workflow's recent failures), runTest (real paid submit for the configuration form), testConnection. The browser half self-mounts this namespace via ctx.remote.$mount() at startup.
Development
pnpm install # canonical (npm registry)
pnpm build # Typert artifacts + host lib + client bundle
pnpm test # vitest
pnpm typecheck
Offline against a local deepseek-harness checkout (no registry access):
node scripts/link-local-dsh.mjs [/path/to/deepseek-harness]
pnpm build
Note: when link-installed into a live dsh profile (dsh plugin add <this dir>), the
@deepseek-ai/* entries in node_modules must be symlinks into the local DSH
checkout — real npm copies would duplicate the cordis singleton. Re-run
node scripts/link-local-dsh.mjs after every pnpm install, before restarting dsh.
One command rebuilds and installs into the local web profile (a link install — it verifies the profile really resolves to this build, then says what to do):
npm run update:dsh # or: npm run update:dsh -- <profile dir>
Then restart DSH — dsh-hmr watches the profile manifest and patch files, not plugin contents. First-time install into a profile:
dsh plugin --profile web add /path/to/dsh-runninghub-api
tests/ covers the gateway against a mocked fetch (endpoints A–F, status codes 0/804/805/813, secret masking, no-key fast-fail), workflow prompt mapping, payload validation/override reconciliation, and the media cache.
License
Comments
Comments live in GitHub Discussions. Sign in with GitHub to post or react.