dsh-npm-runner
DeepSeek Harness plugin: discovers the npm/pnpm/yarn/bun scripts of the current workspace (never descending into node_modules) and runs any of them in the background from a compact control in the composer area or the session header.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:nobu121/dsh-npm-runner说明文档
阅读完整 README ↗Usage
| Session state | Where it appears |
|---|---|
| New session | Right-aligned on the workspace/mode row. |
| Conversation | In the header's action row, next to DSH's own background-task list. |
The control appears only when the current workspace has at least one script. Clicking it opens the script list:
- One collapsible group per package, labelled with the directory its scripts run in and a script count. With several packages there are also Collapse all / Expand all.
- One row per script, showing the name and the command it expands to. Clicking starts it in the background and expands its live output.
- A running script shows a status dot and elapsed time, with Stop to reap it. A dot on the trigger means something is running, so the state stays visible with the list closed.
- The list is per workspace: every run of the current workspace, including ones started from another conversation, and nothing from another project.
- Clear finished, on the Background runs header, drops completed, failed and stopped runs and leaves live ones alone.
Configuration
Optional, on the plugin row in the profile's cordis.patch.yml:
- id: npm-runner
name: 'dsh-npm-runner'
config:
maxPackages: 60 # packages reported per scan
maxJobs: 12 # retained runs; the oldest finished one is evicted first
maxRunning: 6 # concurrently live runs
bufferBytes: 65536 # retained output per run, in bytes
registerJobs: true # also register runs with DSH's background-job registry
jobScope: session # 'session' keeps a run inside its own conversation; 'global' shares it machine-wide