dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
在 DSH 侧边栏(dsh-better-sidebar)连接远程主机的 SSH 终端:逐步查看 agent 命令与输出,内置 ssh_connect / ssh_exec 等工具,记录本机持久化。
An SSH terminal tab for dsh-better-sidebar: connect to a remote host and watch the agent's commands and output step by step, without touching the main conversation. Also ships SSH tools for the agent.
+ menu. Opens a panel with a connection form, a command input, and a live command→output transcript (timestamps, theme-aware colors).ssh_connect creates an isolated SSH process, output buffer, and command queue. The sidebar lists all connections and switches to the selected transcript.ssh_connect / ssh_exec / ssh_disconnect / ssh_status / ssh_list.~/.dsh/ssh-terminal-history.json); the "清空当前" button clears only the selected connection's history.Parallel tasks must keep the connectionId returned by ssh_connect and pass it to subsequent ssh_exec, ssh_status, and ssh_disconnect calls. Different connection IDs can run concurrently; commands on one connection are queued in order so they cannot interleave writes to the same SSH PTY. Calls without an ID remain compatible with the current active connection.
dsh web / DSH Desktop)dsh-better-sidebar (>= 0.12.0) — only needed for the sidebar panel; the agent SSH tools work standalone.Optional: without better-sidebar, this plugin only exposes the agent SSH tools (the model can connect, run commands, disconnect, and see results in the conversation); the sidebar "SSH 终端" panel is not shown.
dsh plugin add github:sunzhyang1616-ui/dsh-ssh-terminal
After installing, hard-refresh the browser (Cmd/Ctrl+Shift+R). Client changes hot-load; only Host changes need a DSH restart.
1. Let a profile use this package: add to ~/.dsh/profiles/<profile>/package.json dependencies
"dsh-ssh-terminal": "link:<absolute path to this dir>"
2. The bundle patch is declared by package.json ("dsh": { "bundle": { "patch": "./cordis.patch.yml" } })
3. Run pnpm install in the profile dir
4. Hard-refresh the browser (Cmd/Ctrl+Shift+R)
| File | Purpose |
|---|---|
lib/index.js | Host half: spawns and isolates multiple ssh -tt sessions by connectionId, keeps transcripts, registers tools + /ssh-terminal/api HTTP route |
lib/client.js | Client half: registers the "SSH 终端" tab via ctx.betterSidebar.registerTab + connection list and isolated transcript UI |
src/client/index.tsx | Client source (tsdown build entry) |
tsdown.config.ts | client build config |
cordis.patch.yml | bundle mount patch |
identity (private key file) auth.ctx.tools.register + a webServer route (no harness), so it works for installed plugins.