前言¶
DeepSeek Harness (DSH) 在本地環境中運行時,標準工具通常僅限於操作本地文件系統。當智能體需要在雲端虛擬機、高性能 GPU 實例或容器集羣等遠程環境執行任務時,開發者往往需要編寫臨時的 SSH 腳本或依賴外部工具。這種方式存在連接不穩定、文件操作脆弱(易出現半寫文件)以及缺乏衝突檢測等問題。
dsh-remote-workspace 插件旨在解決上述問題。它將企業級的遠程開發子系統直接集成到 DSH 框架中,提供持久的 SSH2 連接池、原子性 SFTP 文件操作、衝突感知的三向同步以及動態端口轉發能力。
插件介紹¶
- 名稱:
dsh-remote-workspace - 維護者: GooDAnDReaDY
- 分類: 聯網工具
- 定位: DeepSeek Harness 的企業級遠程工作空間解決方案,支持 SSH、SFTP 文件同步與隧道。
核心功能¶
該插件通過 SshService、RemoteFsService、MirrorSyncService 和 TunnelService 四個核心模塊提供以下能力:
-
SSH2 連接池與認證
- 連接池: 按照主機、端口、用戶名維護可複用的 SSH2 會話,減少頻繁連接帶來的開銷。
- 認證方式: 支持 SSH 私鑰(含路徑或 PEM 字符串)、密碼以及 SSH Agent 代理。
- 高級特性: 支持
proxyCommand模式(OpenSSH 風格)與跳板機(Bastion)配置,支持心跳保活以防止防火牆斷開。 - 重連機制: 連接在命令輸出前斷開時,會嘗試自動重連(最多 3 次)。
-
原子性 SFTP 文件操作
- 安全寫入: 文件上傳時先寫入臨時文件,完成後原子重命名,防止網絡中斷導致文件損壞。
- 文件系統操作: 提供
stat、listDir、遞歸mkdir、遞歸remove等基礎操作接口。
-
衝突感知的三向同步
- 狀態追蹤: 在同步目錄維護
.dsh-sync-manifest.json基線文件,記錄 SHA-256 哈希值。 - 衝突檢測: 在同步前比對本地與遠程文件狀態,若發生衝突則停止操作並報告,避免靜默覆蓋。
- 同步方向: 支持
pull(遠程 → 本地)和push(本地 → 遠程)。 - 智能排除: 內置默認忽略規則(
.git,node_modules,.DS_Store等)。
- 狀態追蹤: 在同步目錄維護
-
動態 SSH 端口轉發
- 支持本地端口轉發,允許通過 DSH 主機的本地端口安全訪問遠程服務(如 Web 服務或 API)。
-
交互式 UI
- 提供一個 Web UI 設置卡片,用於可視化管理連接、配置和隧道。
環境與依賴¶
在安裝和使用該插件前,需滿足以下環境要求:
- 運行環境: Node.js 20 或更高版本。
- DSH 版本: 需要安裝以下 Peer Dependencies(核心依賴):
@deepseek-ai/cordis(建議版本 ^4.0.1)@deepseek-ai/dsh-host-webserver(建議版本 ^0.1.0-rc.6)@deepseek-ai/dsh-settings(建議版本 ^0.1.0-rc.6)@deepseek-ai/dsh-tools(建議版本 ^0.1.0-rc.6)@deepseek-ai/schemastery(建議版本 ^3.18.1)
使用方式¶
插件提供了一組工具供智能體調用,主要包括:
- remote_exec: 在遠程服務器上執行命令。
- remote_fs: 執行文件系統操作。
- sync: 同步文件(支持衝突檢測)。
- tunnel: 創建 SSH 端口轉發。
注意事項¶
- 權限安全: 該插件以當前 DSH 進程的權限運行。在安裝前,請務必檢查插件的源代碼與許可證(MIT)。
- 連接管理: 空閒連接池(無隧道且無運行命令)在 30 分鐘後會自動關閉。
- 終端會話: 終端會話不共享連接池,關閉終端僅關閉該 SSH 會話。
總結¶
dsh-remote-workspace 爲 DeepSeek Harness 填補了遠程操作能力的空白。通過連接池、原子文件操作和三向同步機制,它能夠安全、穩定地處理遠程開發任務,減少手動腳本的維護成本,並提升智能體在分佈式環境中的協作能力。
- 目錄頁: https://www.skillhub.cn/plugins/GooDAnDReaDY/dsh-remote-workspace
- 源碼地址: https://github.com/GooDAnDReaDY/dsh-remote-workspace