前言¶
DSH 把工具能力拆成插件。做智能體開發時,如果本地 harness 需要操作另一臺機器上的 shell、文件、終端和 LSP,常見做法是把命令逐條轉發到遠端執行。dsh-ssh 是 UynajGI 維護的 DeepSeek Harness SSH remote-execution plugin,用一條 SSH 連接把 Bash、文件工具、PTY 終端和 LSP 放到遠端主機執行。
這是什麼¶
dsh-ssh 是 DSH 的 SSH 遠程執行插件。它基於 ssh2,爲 ctx.subprocess 和 ctx.fs 提供遠程 provider,讓本地 DSH 保留進程,命令執行、文件訪問和 PTY 落到遠端。它支持 multi-hop ProxyJump chains、SFTP upload/download,以及 full auth coverage。
核心功能¶
下面列出的能力來自已覈實的插件描述:
- SSH remote-execution plugin for DeepSeek Harness
- Moves Bash, file tools, PTY terminals, and LSP onto a remote host over a single SSH connection
- Multi-hop ProxyJump chains
- SFTP upload/download
- Full auth coverage
- Built on
ssh2 - Remote providers for
ctx.subprocessandctx.fs - Web Add-workspace flow with connection sidebar and directory browser
~/.ssh/confighost alias resolution and registration- Local native folder picker via
local.pickNative - Connection management and remote directory browsing over the
/dsh-sshRPC channel
安裝與啓用¶
安裝命令:
npm i dsh-ssh
啓用時,可以先在 cordis.yml 裏掛載聚合行。host、username、cwd 是必填項;cwd 必須是 absolute POSIX path。
- id: ssh-remote
name: dsh-ssh
config:
host: server.example.com
port: 22
username: root
privateKey: ~/.ssh/id_ed25519
cwd: /root/workspace
如果目標需要經過跳板機,可以加 jump 數組。數組的第一跳來自本地,最後一跳指向目標主機。
jump:
- host: bastion.example.com
如果部署中需要單獨組合 provider,也可以分別掛載 subpath rows:
- id: ssh
name: dsh-ssh/ssh
- id: subprocess-ssh
name: dsh-ssh/subprocess
- id: fs-ssh
name: dsh-ssh/fs
當 strictHostKeyChecking 爲 true 時,需要配置 knownHosts。
Web Add-workspace 用法¶
Web 端啓用 dsh-ssh 的 Add-workspace 流程時,需要先禁用動態目錄 picker 行,再插入 SSH backend。這裏的 name 用作匹配條件,所以按 id 禁用更合適。
- id: directory-picker
name: '@deepseek-ai/dsh-host-directory-picker-auto'
disabled: true
- insert:
- id: ssh-remote
name: dsh-ssh
config: { ...same config as the quick start... }
- id: directory-picker-ssh
name: dsh-ssh/picker
- id: ssh-web-channel
name: dsh-ssh/web
選擇遠端目錄時,先調用 session.route 獲取一個本地 placeholder cwd,再創建 session。
const { cwd } = await rpc('session.route', { id: connectionId, path: remotePath })
ctx.sessions.create({ cwd })
適用場景與注意¶
適合本地 DSH 需要驅動遠端主機的 shell、文件工具、PTY 終端和 LSP 的情況。已覈實資料明確說明,harness 不需要安裝在遠端。
使用前建議檢查源碼與 MIT 許可證。插件以當前 dsh 進程權限運行,安裝前應確認本地進程可訪問的憑據、文件和權限是否符合預期。
另外,remote sessions 不會進入 DSH local workspace registry。抓取到的 README 與 package.json 末尾均被截斷,後續 scripts 和完整 limitations 沒有完整顯示,因此不要依賴未顯示的限制說明做完整安全判斷。
鏈接¶
- GitHub: https://github.com/UynajGI/dsh-ssh
- 目錄頁(插件線索給出的獨立目錄站點): https://www.skillhub.cn/plugins/UynajGI/dsh-ssh