omdsh-remdev:DeepSeek Harness 的 SSH 遠程開發插件

前言

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 設置命名空間,用於存儲服務器和憑證信息。
  • 標識:遠程工作區行會顯示地球圖標,以區分本地和遠程。

使用方式

  1. 打開遠程窗口:使用快捷鍵 CmdOrCtrl+Shift+C,或點擊側邊欄尾部的“Remote connect”按鈕。
  2. 選擇主機:在彈出的窗口中選擇要連接的 SSH 服務器。
  3. 配置工作區:選擇服務器上的文件夾,插件會自動在該目錄上創建一個“普通工作區鏡像”。
  4. 同步技能:連接建立後,項目中的技能文件會通過 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜