dsh-fleet:DSH 多機算力組網插件

前言

DSH 的插件化方向是「一切皆插件」。在智能體開發、長任務調試或多項目並行時,單機算力或本地環境可能不夠用。scriptsnet/dsh-fleet 是一個 DSH 插件,目標是把朋友間、局域網裏、雲上 ECS 的閒置算力接入同一個團隊,由一臺機器把任務派發給其他在線機器,worker 自動執行並回流結果。

這個插件由 scriptsnet 維護,許可證爲 MIT。

這是什麼

scriptsnet/dsh-fleet 解決的是多機協同調用問題:每臺機器生成自己的機器身份,加入一個或多個團隊;團隊成員可以互相查看在線狀態;master 側可以用 fleet_dispatch 把任務發給指定成員;worker 側執行任務,並把會話掛到工作區,便於回溯。

它支持 Windows、Linux、macOS,運行時只依賴 Node 內置模塊。插件啓動後會註冊 12 個模型工具,並在側邊欄提供「算力艦隊」面板。

核心能力

機器身份與機器名片

安裝後,每臺機器會生成 machineId 和永久 SK。

機器名片是一行可複製字符串,用於把這臺機器加入團隊,減少手工配置。

多團隊

每臺機器可以同時屬於多個團隊。不同團隊之間的成員名錄相互獨立。

信任握手

插件使用 challenge-response + HMAC-SHA256 做信任握手,用於證明持有 SK。SK 永不明文過網。

心跳監控

成員通過長連接上報心跳,並上報 RTT、內存等資源信息。斷線後會自動重連,在線狀態可以即時查看。

任務派發

fleet_dispatch 用於把任務發給在線成員。worker 自動執行任務,並回流結果。

任務執行時使用臨時 taskToken,通過 HMAC 驗籤防僞造。worker 擁有最終否決權。

會話保留

worker 執行任務後,任務會話會自動掛載到工作區,便於在本地查看和回溯。

安裝與啓用

如果本機已經安裝 harness,可以使用 DSH 插件命令安裝:

dsh plugin --profile web add https://github.com/scriptsnet/dsh-fleet

安裝完成後,重啓 harness 後生效。

插件啓動後會監聽默認端口:

47900

同時會註冊 /fleet/api/* 路由,供側邊欄面板使用。該路由僅迴環可訪問。

插件還會註冊 12 個模型工具,用於名片、團隊、成員、聯通測試和任務派發等操作。

如果目標機沒有 harness,項目提供 Windows / Linux 離線安裝器,用於離線安裝 harness 和插件。

環境變量

以下環境變量會影響插件運行目錄和任務後會話處理方式:

DSH_FLEET_HOME:默認 $DSH_HOME/fleet 或 ~/.dsh/fleet
DSH_FLEET_DISPOSE_AFTER_TASK:默認 0

DSH_FLEET_HOME 用於身份和名錄目錄。本地多機模擬時,可以爲每臺機器分別指定。

DSH_FLEET_DISPOSE_AFTER_TASK 默認保留任務會話,便於在 GUI 中查看。

典型用法

先完成安裝並重啓 harness。

1、查看本機機器名片:

查看我的機器名片 → fleet_card

2、把這臺機器加入指定團隊:

把這張名片加入 XX 團隊 → fleet_add

3、查看團隊和成員在線情況:

有哪些團隊?成員在線嗎? → fleet_teams

4、向指定團隊或成員派發任務:

用 fleet_dispatch 把任務發給「XX艦隊」的成員

派發時可以指定 provider/model 與 keyHint:

keyHint: inherit / self

任務完成後,worker 會把結果迴流到調用側,worker 側的任務會話也會掛載到工作區。

適用場景與注意

適合以下場景:

  • 已經在使用 harness,希望把多臺 Windows、Linux、macOS 機器組成 DSH 算力團隊。
  • 有朋友閒置 PC、局域網服務器、雲上 ECS,希望複用這些機器的算力。
  • 需要跨機器派發任務、查看在線狀態、保留 worker 會話。

需要注意:

  • 插件以當前 dsh 進程權限運行。安裝前應檢查源碼、依賴面和 MIT 許可證是否符合你的使用要求。
  • SK 是機器身份憑證,不要泄露給不信任的人或環境。
  • /fleet/api/* 僅迴環可訪問,不要把它暴露到公網。
  • 任務執行依賴臨時 taskToken 和 worker 否決權,但這不改變本地權限邊界。
  • 當前路線圖待實現項包括:任務日誌流式迴流 / 產物回傳、UDP 打洞、邀請碼入隊,以及發佈 npm(dsh-plugin topic)後走標準 dsh plugin add 安裝。npm 包是否已發佈,不能從當前已覈實資料中確認。

資源鏈接

GitHub 倉庫:

https://github.com/scriptsnet/dsh-fleet
羽毛球分组比赛记分
小程序二维码

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

小夜