前言¶
在 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_discoverfleet_pairfleet_ssh_execfleet_workspacefleet_uploadfleet_downloadfleet_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,可設爲:
mdnssshboth
禁用某個模塊後,該模塊下的工具不會註冊。
安裝與啓用¶
下面按已覈實的命令介紹安裝方式。
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_execfleet_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_uploadfleet_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.json的engines要求 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/cordispeer 依賴- 目標設備的 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