前言¶
DeepSeek Harness (DSH) 將一切視爲工作空間。傳統的遠程開發通常依賴 SSH 客戶端或本地鏡像同步,無法無縫融入 DSH 的工具鏈。該插件通過 SSH 協議將遠程文件夾直接映射爲 DSH 工作空間,使文件工具和 Shell 命令直接在遠程主機上執行,無需本地鏡像。
插件介紹¶
名稱: dsh-remote-workspaces
維護者: januory
許可: MIT
包名: dsh-remote-workspaces
該插件通過一個“錨點”機制工作:在本地創建一個空的錨點目錄並記錄元數據,DSH 通過查找錨點將所有文件讀寫(SFTP)和搜索(ripgrep)操作路由到遠程主機。它包含兩部分:運行在 DSH 進程中的宿主端(處理路由與 SSH 傳輸)和瀏覽器端的設置界面。
核心功能¶
- 遠程目錄即工作空間:在瀏覽器中選擇遠程主機的目錄並打開,DSH 會接管該目錄。所有的文件工具(read/write/edit/grep/glob)和 Shell 命令直接在遠程執行,不涉及本地鏡像或同步。
- 多機註冊表:支持添加、編輯、刪除 SSH 主機(別名、主機、端口、用戶、密鑰或密碼)。憑證在本地以 AES-256-GCM 加密存儲,絕不發送回瀏覽器。
- SSH 配置導入:直接讀取並導入
~/.ssh/config中的配置別名,自動填充連接表單。 - 連接測試:在使用前驗證主機連通性。
- 透明工具路由:
read/write/edit通過 SFTP 傳輸。grep/glob運行遠程 ripgrep。bash/pwsh通過 ssh2 exec 執行。- 命令路由跟隨會話而非路徑拼寫,拒絕本地運行非工作目錄路徑。
- 策略感知的遠程變更:DSH 的文件策略(如
read-only、workspace-write、danger-full-access)同樣適用於遠程工作空間。
安裝¶
在 DSH 終端中運行以下命令安裝插件:
dsh plugin --profile web add github:januory/dsh-remote-workspaces
使用方法¶
- 打開 Settings → Remote Workspaces。
- 添加一個 SSH 主機(可手動輸入或從
~/.ssh/config導入),然後點擊 Test connection 確認可用。 - 在添加工作空間的流程中,選擇該遠程主機,瀏覽目錄並打開。
注意事項¶
- 前置環境:需要已安裝 DeepSeek Harness(插件運行時解析宿主服務),宿主程序運行在 Node.js 22+ 上,插件本身要求 Node.js >= 18。
- 遠程依賴:遠程主機需要安裝
rg(ripgrep)以支持搜索功能,以及sha256sum(或shasum)以支持寫入後的校驗。兩者缺失時功能會降級。 - 傳輸依賴:僅依賴
ssh2庫,無需外部 SSH 二進制文件。
結語¶
dsh-remote-workspaces 提供了一種將 SSH 遠程目錄作爲一等公民接入 DSH 的方案,保持了 DSH 的沙箱隔離特性,同時支持基於策略的安全遠程操作。