dsh-workspace-enhancement
No description
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 25, 2026
- Updated
- Aug 26, 2026
Introduction
dsh-workspace-enhancement
English | 中文
DeepSeek Harness plugin: local and remote (SSH) workspaces in one place. Remote execution uses a single SSH connection (multi-hop jumps allowed); bash and files share that link (PTY via the terminal seam). Multi-machine registry with TOFU host keys and OS keychain. Web UI for adding workspaces and editing machines. Also ships 3 sw_* model tools. Built on ssh2.
Features
| Feature | Description |
|---|---|
| Remote workspaces | ctx.subprocess + ctx.fs remote providers: one SSH chain (multi-hop) runs bash / files / PTY (terminal). Tools on those seams switch to remote with no code changes |
| Multi-machine registry | remote-workspaces/machines.json + ssh://<id>/<path> routing; recognizes ~/.ssh/config aliases |
| Security | TOFU host keys (accept-new / verify / off); per-machine OS keychain (DPAPI / security / secret-tool); credentials redacted in error messages |
| Web UI | Add workspace (connection sidebar + remote directory browser); machine settings (CRUD / test / set current / forget fingerprint) |
| Model tools | sw_status, sw_connect (save:false for temporary), sw_pick_workspace |
Architecture
flowchart LR
subgraph local["Your machine"]
agent["agent loop<br/>orchestration · memory · LLM calls"] --> seam["this plugin<br/>ctx.subprocess · ctx.fs"]
end
subgraph remote["Remote host"]
run["bash · files · PTY (terminal)"]
end
seam -- "one SSH connection (multi-hop jumps)" --> run
No DSH install on the remote: the model orchestrates locally, commands run remotely, results come back into context.
Install
# from npm (v0.1.0+)
dsh plugin --profile web add dsh-workspace-enhancement
# from source: npm run build first (host loads lib/)
dsh plugin --profile web add <this-repo-path>
First install with DSH's supply-chain pnpm: native build scripts are blocked by default — allow them once per profile in
pnpm-workspace.yaml(unstrictallowBuilds):ssh2,cpu-features,koffi,node-pty,dsh-subprocess-local— then rundsh plugin --profile web install. Without it the firstaddexits non-zero (ERR_PNPM_IGNORED_BUILDS) and the bundle is not appended.
Roadmap
Current status and remaining milestones: docs/ROADMAP.md.
References
- dsh-ssh: remote execution engine —
ctx.subprocess/ctx.fsproviders, jump chains, PTY, directory-picker seam,session.routeplaceholder. - dsh-remote: workspace helper — machines registry, TOFU, OS keychain, web UI and settings page.
License
MIT