前言¶
DeepSeek Harness(DSH)的設計理念是“一切皆插件”。默認情況下,工作區、終端和代理在本地運行。如果需要將開發環境遷移到遠程服務器,omdsh-remdev 提供了一種標準化的連接方式,使得遠程工作區在操作邏輯和界面表現上與本地工作區保持一致。
插件介紹¶
omdsh-remdev 是一個由 omdsh-plugins 維護的客戶端插件。它的核心作用是將 DSH 工作區連接到 SSH 服務器。連接建立後,工作區的文件、終端、對話和代理都會在服務器上運行,包括“Work”模式。
核心功能¶
該插件在界面交互和底層服務上做了以下增強:
- 遠程連接入口:在側邊欄“Workspaces”欄的尾部,會出現一個“Remote connect”按鈕。
- 遠程開發窗口:通過快捷鍵或按鈕打開,用於管理服務器列表、配置和實時日誌。
- 插件中心卡片:在 DSH 的插件中心顯示服務器列表、可調優參數以及憑證管理。
- 會話管理:在會話頭部增加“在服務器上”按鈕,用於快速切換到遠程窗口;支持列出服務器上的會話列表並恢復對話。
- 技能同步:通過 SFTP 將掛載項目的技能目錄(
.dsh/skills、.agents/skills)同步到本地,使 Agent 能訪問遠程技能。 - 快捷命令:註冊了
remdev.connect快捷命令,默認組合鍵爲CmdOrCtrl+Shift+C。 - 設置命名空間:提供
omdsh-remdev設置命名空間,用於存儲服務器和憑證信息。 - 標識:遠程工作區行會顯示地球圖標,以區分本地和遠程。
使用方式¶
- 打開遠程窗口:使用快捷鍵
CmdOrCtrl+Shift+C,或點擊側邊欄尾部的“Remote connect”按鈕。 - 選擇主機:在彈出的窗口中選擇要連接的 SSH 服務器。
- 配置工作區:選擇服務器上的文件夾,插件會自動在該目錄上創建一個“普通工作區鏡像”。
- 同步技能:連接建立後,項目中的技能文件會通過 SFTP 自動掛載到本地。
技術實現細節¶
- 普通工作區鏡像:插件會在本地
$DSH_HOME/remotes/<server>/<project>創建一個真實的、空的鏡像目錄。這個目錄作爲佔位符,讓 DSH 的文件系統、會話存儲等組件能夠像處理本地目錄一樣處理遠程連接。 - 技能提供者:插件註冊了一個名爲
remdev的服務提供者。當 Agent 需要讀取文件或啓動進程時,會先詢問這個服務。如果當前路徑屬於掛載的遠程項目,它會通過 SFTP 讀取技能文件(.dsh/skills或.agents/skills)。 - 資源訪問限制:技能中的
resourceBase被定義爲“不透明”而非目錄。這意味着技能模板和腳本存在於服務器上,本地工具無法直接讀取。Agent 需要通過遠程終端或文件面板來使用這些資源。
注意事項¶
- 系統要求:插件運行需要 Node.js 版本
^22.19.0 || >=24.0.0,並使用pnpm@11.7.0。 - 變更監聽:遠程目錄的變更不會被實時監視。如果服務器上的文件或技能發生變化,需要在插件中心手動刷新或重新連接才能看到更新。
- 資源訪問:由於
resourceBase是不透明的,本地 Agent 無法直接讀取遠程技能的模板文件,必須通過遠程工具訪問。 - 許可協議:該插件使用 MIT 許可證。
結語¶
該插件將 SSH 遠程開發能力無縫集成到 DSH 中,使得在遠程服務器上維護文件、運行終端和執行 Agent 任務成爲可能。
- 插件目錄:https://www.skillhub.cn/plugins/omdsh-plugins/omdsh-remdev
- GitHub 倉庫:https://github.com/omdsh-plugins/omdsh-remdev