dsh-console
Console commands for DeepSeek Harness: web service / SSH tunnel management, one-shot ask, and the dsh-tui launcher.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Isanti2016/dsh-console说明文档
阅读完整 README ↗Configuration
All keys carry sensible defaults; set them in the profile's cordis.patch.yml (or a --patch overlay), overriding the row this bundle adds:
- id: dsh-console
config:
webPort: 3080 # dsh web UI port
dshBin: '' # path to apps/cli/lib/bin.js; empty = auto-detect
tunnelHost: '192.168.1.100'
tunnelUser: 'root'
tunnelKey: 'C:\\Users\\you\\.ssh\\id_rsa'
tunnelLocalPort: 3081
tunnelRemotePort: 3080
askTimeout: 150
consoleCommand: 'python C:\\tools\\dsh-tui\\main.py'
| Key | Default | Meaning |
|---|---|---|
webPort | 3080 | The dsh web UI listens on 127.0.0.1:3080 by default; /web start spawns it there. |
dshBin | auto | Absolute path to your checkout's apps/cli/lib/bin.js. Empty = detected from the running process (process.argv[1]), so a from-source dsh usually needs no config. |
tunnelHost | '' | SSH server host. Empty disables /tunnel start. |
tunnelUser | root | SSH user on the server. |
tunnelKey | '' | Absolute path to your SSH private key (-i). Omit for agent/other auth. |
tunnelLocalPort | 3081 | Local listen port of the tunnel (127.0.0.1:3081). |
tunnelRemotePort | 3080 | Remote port the tunnel forwards to (127.0.0.1:3080 on the server). |
askTimeout | 150 | Seconds before /ask is killed. |
consoleCommand | '' | Shell command launching your console TUI. |
How the tunnel is wired
your machine SSH server (tunnelHost)
127.0.0.1:3081 ──ssh -L──▶ 127.0.0.1:3080
▲ ▲
│ /tunnel start binds here │ dsh web runs here (or any service)
/tunnel start runs ssh -N -L :127.0.0.1: @ (with -i when set) as a detached process. /tunnel stop finds and kills the listener on tunnelLocalPort.
Typical setups
- Local launcher (CLI/headless profile) — manage the web UI from a terminal:
/web start→ openhttp://127.0.0.1:3080;/web stop→ stop it. - Remote web (this machine reaches another host) — point
tunnelHostat the remote, browsehttp://127.0.0.1:. - In the web profile itself —
/web statusand/tunnel statusare safe;/web stop|restartkill the process serving the current UI — manage deliberately.