dsh-ssh:爲 DeepSeek Harness 接入 ZCode 風格的 SSH / WSL / Docker 遠程工作區

前言

用 DeepSeek Harness(DSH)做開發時,常見做法是本機起一個 dsh 進程,agent 和工具調用都在當前環境裏跑。代碼在遠端 Linux、WSL 或容器裏時,要麼在 SSH 裏手動敲命令,要麼把倉庫同步到本機再開工作區——和「聊天裏直接讓 agent 改遠端目錄」的體驗不一致。

dsh-ssh(包名 dsh-ssh-remote)由維護者 longguanhong0755 發佈,分類爲客戶端插件。它在遠程主機上部署並監管常駐的 dsh 運行時,把遠程目錄投影到 DSH 原生側欄;本機負責選目錄、聊天和看狀態,關掉本地 dsh 後,遠程 agent 與正在生成的回答仍可繼續。README 寫明適用版本爲 DeepSeek Harness Desktop 0.2.1-rc.5,並已在 AlmaLinux 9.5 的 SSH 主機上做過端到端驗證。

這是什麼

一句話:給 DSH 加上與 ZCode 相近的遠程工作區能力,覆蓋 SSH(密碼 / 私鑰 / agent)、Windows 上的 WSL 發行版、Docker 容器三類目標。

社區目錄頁:https://www.skillhub.cn/plugins/longguanhong0755/dsh-ssh(與 GitHub 倉庫相互獨立,並非 DeepSeek / 幻方官方應用商店)。源碼倉庫:https://github.com/longguanhong0755/dsh-ssh,許可證 MIT;package.json 中版本爲 0.3.1,要求 Node ≥ 22。安裝與使用前,建議自行查閱源碼與許可證,並牢記插件隨當前 dsh 進程權限運行。

核心功能

下面按 README 已列能力歸納,不超出文檔表述。

設備與連接

  • 新建連接嚮導與 ZCode 一致,支持從 ~/.ssh/config 導入;SSH / WSL / Docker 統一入口(macOS 上不出現 WSL 入口)。
  • 遠程設備列表:狀態、 root@host:22 形式地址、最近在線時間、項目數;可搜索設備名、地址或項目。
  • 設備行菜單:編輯、斷開、重裝 / 重啓 / 停止遠端服務、移除設備;「斷開」僅斷本機連接,遠程任務照常。

項目與工作區

  • 創建項目:項目名 + 設備 + 文件夾;本機用系統對話框選路徑,遠程用內嵌 SFTP 文件夾瀏覽器(可輸入路徑、顯示隱藏目錄、逐級進入)。
  • 遠程工作區出現在 DSH 原生側欄:雲朵(在線 / 啓動中 / 離線 / 異常)+ 項目名 + 設備名;... 菜單支持新建任務、查看文件、編輯項目、置頂、刪除。刪除只清本機投影和遠端服務,遠程項目文件夾保留。

會話與部署

  • 回答在遠端生成、本地流式顯示;支持思考、工具調用、取消;agent 進程、工具調用和文件讀寫發生在遠程主機。
  • 狀態包括:運行中 / 啓動中 / 已停止 / 異常 / 不可達,以及 PID、運行時長、內存、CPU、HTTP 狀態。
  • 首次連接會在遠端自動安裝 Node 與 dsh、同步模型憑證、註冊 systemd(或 setsid)服務,之後複用。

數據與安全(文檔原文)

  • 設備與設置保存在本機 $DSH_HOME/ssh-remote/state.json(POSIX 上權限 0600)。
  • 遠程 dsh 只監聽 127.0.0.1,不向局域網暴露端口。
  • 首次連接記錄主機指紋,指紋變化會拒絕連接。
  • 可選將本機模型憑證以 0600 同步到遠程工作區。

安裝與啓用

在 DeepSeek Harness 至少啓動過一次之後,於插件目錄執行安裝(<插件目錄> 替換爲你本地的 dsh-ssh 解壓或檢出路徑,勿自行拼接未在文檔出現的 dsh plugin add 命令)。

macOS / Linux / WSL:

node <插件目錄>/bin/install.mjs --profile desktop

Windows:

node <插件目錄>\bin\install.mjs --profile desktop

然後完全退出並重新啓動 DeepSeek Harness;側邊欄出現「SSH 遠程」即表示安裝成功。

卸載(只移除本地插件;遠程服務需在界面上刪除項目):

node <插件目錄>\bin\uninstall.mjs --profile desktop

POSIX 上路徑分隔符與 Windows 示例相同,換用 /bin/uninstall.mjs 即可。

典型用法

README 給出的可復現流程如下。

  1. 添加設備:設置 → 遠程設備 → 新建連接,填寫地址和賬號後測試並保存。
  2. 創建項目:主界面「創建項目」→ 選設備(第一項爲「此電腦」,其後爲已保存的遠程設備,也可直接添加新設備)→ 選文件夾 → 確認信任並創建。首次會在遠端安裝 dsh,之後複用。
  3. 開始對話:點側欄裏的遠程工作區直接聊天,回答在遠端流式生成。
  4. 管理:懸停遠程行,在 ... 中可編輯名稱或刪除項目;刪除保留遠程目錄。

說明:左側「SSH 遠程」面板只管理設備;工作區統一在主界面創建。

適用場景與注意

較適合

  • 代碼與構建環境在遠端 Linux、本機 WSL 或 Docker 容器,希望與本地 DSH 側欄、流式會話同一套交互的開發者。
  • 需要關掉本地客戶端後仍讓遠端 agent 繼續跑長任務的場景。

限制(來自 README)

  • 遠程目標需要 Linux 環境,Node ≥ 22 或能下載便攜運行時,且能訪問 npm 鏡像。
  • 每個會話首輪有約 3 秒的遠端進程啓動開銷,之後追問即時。
  • 本地不鏡像遠程文件,agent 與工具都在目標環境執行。
  • WSL 需要 Windows + 已安裝 WSL;Docker 需要運行中的容器;不支持 Windows 遠程主機。
  • macOS 上不提供 WSL,與 ZCode 一致。

生態上 DSH 奉行「一切皆插件」;本插件通過 Cordis patch 與客戶端 UI 注入集成(見 package.json 中 dsh.bundle.patch 與 dsh.client 字段)。GitHub 上該倉庫公開星標爲 6、2 forks(以倉庫頁面爲準,會變動)。

結尾

dsh-ssh 把「遠端常駐 dsh + 本機投影工作區」落到 SSH、WSL、Docker 三條連接路徑上,並強調本機關閉不中斷遠程生成。若要查看截圖級交互說明,可看倉庫 README 中的效果演示章節。

羽毛球分组比赛记分
小程序二维码

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

小夜