dsh-devices:dsh 多設備組網插件

前言

在 DSH / 智能體開發場景中,經常會出現一臺機器運行 dsh 會話,但需要訪問另一臺開發機、雲主機或測試機的情況。手工處理時,通常要先確認網絡位置,再手動 SSH、複製文件、檢查密鑰是否配對。

dsh-devices 是一個 dsh 插件,面向這類多設備協作場景。它提供 mDNS 同網發現、設備密鑰配對、SSH 跨網直連執行命令、遠程工作區設置/查看、文件上傳/下載、配對設備存活探測,以及邀請碼一鍵加入艦隊。

DSH 的擴展方式偏“一切皆插件”;插件目錄是獨立社區站點,與 DeepSeek / 幻方無官方從屬關係。

這是什麼

dsh-devices 用於讓多臺安裝 dsh 的設備通過插件工具協作。

已覈實的信息包括:

  • 插件名:dsh-devices
  • 倉庫地址:https://github.com/polaris-smart/dsh-devices
  • 插件目錄頁:https://www.skillhub.cn/plugins/polaris-smart/dsh-devices
  • 許可證:MIT
  • 抓取到的 package.json 版本:0.1.2
  • 安裝命令:dsh plugin add dsh-devices

安裝後,插件會在 dsh 會話內註冊 fleet_* 工具,供 dsh 會話中的 agent 調用。已覈實的工具名包括:

  • fleet_discover
  • fleet_pair
  • fleet_ssh_exec
  • fleet_workspace
  • fleet_upload
  • fleet_download
  • fleet_status

核心能力

同網發現與配對

同網場景使用 mDNS 發現設備。

已覈實的能力包括:

  • fleet_discover:掃描 LAN 中的設備
  • fleet_pair:與設備密鑰配對
  • mDNS 爲 beta 狀態
  • 僅限同一 LAN / 同一子網
  • 需要 UDP 5353

配對是雙向的。設備完成配對後,只能訪問已配對設備。

fleet 密鑰位於:

~/.fleet/ssh-keys/

該目錄中的密鑰文件權限要求爲 0600

SSH 跨網直連執行命令

跨網場景使用 SSH 直連。

已覈實的能力包括:

  • fleet_ssh_exec:在已配對設備上執行命令
  • fleet_workspace:設置或查看遠程工作區
  • 當前版本下,NAT 隔離設備無法互連
  • 跨網依賴 SSH 可達性

文件上傳與下載

已覈實的能力包括:

  • fleet_upload:上傳文件到已配對設備
  • fleet_download:從已配對設備下載文件
  • 插件描述中提到 SFTP 文件傳輸

配對設備存活探測

fleet_status 用於探測已配對設備的存活狀態。

已覈實的信息包括:

  • 可返回在線狀態
  • 可返回延遲
  • 可返回最後使用時間

邀請碼加入艦隊

邀請碼流程用於新設備入隊。

已覈實的 CLI 命令包括:

fleet8 invite <your-ip-or-host> --user <remote-user> --port 22
fleet8 join <invite-code>
fleet8 allow <device-id> "<public key from the step above>"

模塊控制

插件支持按模塊禁用工具註冊。

已覈實的配置項爲 modules,可設爲:

  • mdns
  • ssh
  • both

禁用某個模塊後,該模塊下的工具不會註冊。

安裝與啓用

下面按已覈實的命令介紹安裝方式。

1、安裝 dsh

先安裝 dsh:

npm install -g @deepseek-ai/dsh

2、安裝 dsh-devices

使用插件安裝命令:

dsh plugin add dsh-devices

如果使用本地 tgz 包,可以用:

dsh plugin add ./dsh-devices-<version>.tgz

3、查看 Node 要求

package.json 中的 engines 字段爲:

"node": ">=22.18"

README 的 Linux 平臺說明中寫有:

Node ≥ 22.19 required

兩處表述不一致。安裝前建議按目標平臺說明檢查 Node 版本。

4、查看 peer 依賴

package.json 中的 peerDependencies 包含:

"@deepseek-ai/cordis": "*"

資料中同時出現 @deepseek-ai/dsh@deepseek-ai/cordis,但二者關係未說明。安裝前建議查看依賴說明。

5、查看補丁字段

package.json 中有:

"dsh": {
  "bundle": {
    "patch": "./cordis.patch.yml"
  }
}

README 中寫有 Zero core changes / uninstall leaves no core patches。由於資料中同時存在“零核心改動”的描述和 dsh.bundle.patch 字段,安裝前應檢查 ./cordis.patch.yml 與插件源碼。

典型用法

同網:發現並配對

同網使用先做發現,再做配對。

1、至少準備 2 臺設備,並且每臺設備都安裝 dsh-devices

2、在一臺設備上啓動 mDNS 相關服務:

fleet7 serve

3、在另一臺設備上通過 fleet_pair 與該設備密鑰完成配對。

4、配對完成後,在 dsh 會話中調用 fleet_discover 查看 LAN 設備。

跨網:SSH 直連

跨網使用先確認 SSH 可達,再執行命令。

1、目標設備需要開放 SSH,常見端口爲 22

2、將公鑰加入目標設備的 authorized_keys

3、執行測試命令:

fleet8 ssh my-server "hostname"

4、在 dsh 會話中使用:

  • fleet_ssh_exec
  • fleet_workspace

邀請碼入隊

下面是一個三步流程。

1、在已有設備上生成邀請碼:

fleet8 invite <your-ip-or-host> --user <remote-user> --port 22

2、在新設備上加入艦隊:

fleet8 join <invite-code>

3、回到已有設備授權新設備:

fleet8 allow <device-id> "<public key from the step above>"

完成後,新設備可以進入已配對設備列表。

文件傳輸

文件上傳和下載通過 agent 工具調用:

  • fleet_upload
  • fleet_download

會話內快捷調用

安裝後,可以在 dsh 會話中直接說:

call fleet_discover

查看同網設備。配對完成後,可以用:

fleet_ssh_exec

對遠程設備執行命令。

適用場景與注意

適用場景

dsh-devices 適合以下場景:

  • 在一臺 dsh 設備上訪問同一局域網內的其他設備
  • 通過 SSH 管理跨網主機
  • 讓 dsh 會話中的 agent 調用 fleet_* 工具執行命令、查看工作區、上傳或下載文件
  • 使用邀請碼讓新設備加入已配對艦隊

使用前提

至少需要 2 臺設備,並且每臺設備都安裝 dsh-devices

配對是雙向的。單臺設備沒有可配對對象。

網絡限制

同網發現依賴 mDNS。

已覈實的限制包括:

  • mDNS 爲 beta
  • 僅限同一 LAN / 同一子網
  • 需要 UDP 5353
  • 跨網設備使用 SSH 直連
  • NAT 隔離設備當前版本無法互連

macOS 注意

macOS 的 SSH server 默認關閉。

如果要讓其他設備遠程命令這臺 macOS 機器,需要開啓 Remote Login。

Linux 注意

Linux 平臺已覈實的注意事項包括:

  • README 平臺說明要求 Node ≥ 22.19
  • package.jsonengines 要求 Node ≥ 22.18
  • 作爲被管設備時,需要 sshd 運行
  • authorized_keys 權限爲 600
  • ~/.ssh 權限爲 700
  • 雲安全組需要放行 SSH 22

Windows 注意

Windows 作爲被管設備時,需要安裝 OpenSSH Server。

Windows 作爲控制器時,&& 鏈可能只返回第一條命令輸出。建議拆分複合命令。

權限與安全

插件以當前 dsh 進程權限運行。安裝前建議檢查:

  • 插件源碼
  • MIT 許可證
  • package.json
  • ./cordis.patch.yml
  • @deepseek-ai/cordis peer 依賴
  • 目標設備的 SSH 配置和密鑰權限

已覈實的運行約束包括:

  • 只能訪問已配對設備
  • 密鑰文件權限要求爲 0600
  • 錯誤返回可讀文本,而不是直接拋異常

結尾

dsh-devices 的價值在於把同網發現、密鑰配對、SSH 跨網執行、文件傳輸和艦隊入隊放進 dsh 會話工具中,讓 agent 可以直接調用。

使用前需要確認設備數量、網絡位置、SSH 可達性、Node 版本、密鑰權限,以及插件源碼和補丁文件。

相關地址:

  • 插件目錄頁:https://www.skillhub.cn/plugins/polaris-smart/dsh-devices
  • GitHub:https://github.com/polaris-smart/dsh-devices
羽毛球分组比赛记分
小程序二维码

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

小夜