DeepSeek Harness 插件:dsh-zcode-farm —— ComfyUI 集羣負載均衡調度方案

前言

DeepSeek Harness (DSH) 採用插件化架構,擴展智能體能力的方式是通過插件提供的工具集。在本地或集羣環境中部署 ComfyUI 時,爲了提升吞吐量,通常需要運行多個 ComfyUI 進程,每個進程對應一塊 GPU。

現有的成熟插件 dsh-comfyui 主要針對單一端點設計,智能體在與該單一接口交互時,無法感知集羣中其他節點的負載情況。這會導致所有任務堆積在負載最高的節點上,而空閒 GPU 卻無人調度。dsh-zcode-farm 插件填補了這一空白,它讓智能體能夠“看見”整個 ComfyUI 集羣,並提供負載感知的調度能力。

插件介紹

dsh-zcode-farm 是一個 DeepSeek Harness 插件,歸屬於“工作流”類別,由 BOWLUNA 維護。

它的核心作用是讓智能體能夠探測 ComfyUI 集羣中所有實例的實時狀態(GPU 利用率、顯存餘量、隊列深度),並根據預設的規則將任務調度到最空閒的實例上執行,而不是盲目地將任務發送到已滿載的單個節點。

核心功能

插件提供三個核心工具:

  1. comfyui_farm_status
    查看整個集羣的實時狀態。返回數據包括每臺機器的 GPU 信息、剩餘顯存、當前隊列深度、正在運行的任務以及系統建議的下一個任務分配對象。
  2. comfyui_farm_pick
    僅選擇實例而不執行任務。支持按顯存下限、隊列上限、GPU 名稱、排除列表進行篩選,並返回選擇該實例的具體理由(例如:顯存充足且隊列爲空)。
  3. comfyui_farm_run
    執行負載感知的調度。可以自動選擇最優實例(默認行爲),也可以強制指定實例。支持接收原始 API 工作流或簡單的文本生成請求。

安裝與啓用

通過 DSH 的命令行工具安裝插件。安裝後需要重啓應用以使智能體獲得新工具。

dsh plugin --profile web add dsh-zcode-farm

配置說明

在 DSH 的配置文件(YAML 格式)中聲明插件實例及其參數。必須配置 primaryUrl 作爲基準地址,並在 instances 列表中列出所有 ComfyUI 節點的地址。

配置示例:

- id: comfyui-farm
  config:
    primaryUrl: 'http://127.0.0.1:8188'
    instances:
      - { id: gpu-18301, baseUrl: 'http://127.0.0.1:18301', label: '5090 shard' }
      - { id: gpu-18303, baseUrl: 'http://127.0.0.1:18303', label: 'Blackwell 102G' }
    needVramGb: 8
    maxQueueDepth: 3
    queueWeight: 1000
    probeTimeoutMs: 5000
    probeRetries: 1

節點選擇邏輯

系統採用兩階段篩選機制:
1. 過濾:剔除不可達的實例、剩餘顯存低於 needVramGb 的實例,以及隊列深度超過 maxQueueDepth 的實例。
2. 排序:在候選實例中,根據公式計算得分:
score = freeVramGb - queueDepth × queueWeight
默認 queueWeight = 1000,這意味着隊列深度對排名的影響遠大於顯存大小。如果希望“大顯存優先”,可設置 queueWeight: 0。

使用示例

安裝並配置完成後,智能體可以調用以下命令:

# 查看全站狀態
comfyui_farm_status

# 挑選一個空閒實例
comfyui_farm_pick

# 執行任務(自動調度)
comfyui_farm_run

技術特點與依賴

  • 零運行時依賴:插件僅使用 Node.js 內置的 fetch 和 AbortController,無需安裝額外的 Python 或 C++ 依賴。
  • 無工作流編輯能力:它不負責編輯 ComfyUI 的工作流圖,這屬於 dsh-comfyui 的職責。它只負責“誰去跑”。
  • 無本地性假設:插件將所有實例視爲一個 URL 列表。無論是 SSH 隧道、局域網還是遠程主機,處理邏輯完全一致。
  • 探測重試機制:針對 SSH 隧道可能出現的抖動,探測失敗時會自動重試,並在結果中返回嘗試次數,便於智能體判斷節點是否真正不可用。

生態關係

該插件與 dsh-comfyui(77★)是互補關係,而非競爭關係。

  • dsh-comfyui:專注於工作流管理、技能包和畫布編輯,與單一端點通信。
  • dsh-zcode-farm:專注於集羣感知、實例選擇和負載調度。

兩者可以共存,且互不依賴。dsh-comfyui 處理流程邏輯,dsh-zcode-farm 負責將生成的流程分發到具體的物理節點上執行。

注意事項

  1. Node.js 版本:要求 Node.js 版本 >= 20(根據 README 文檔)或 >= 22(根據 package.json 引用)。
  2. 權限與安全:插件以 DSH 進程的權限運行,安裝前請檢查源碼與許可證(MIT)。
  3. 工程規範:本項目遵循 ZCode 社區的一些工程規範(如雙語文檔校驗、提交前的檢查流程),但代碼本身爲自研,無代碼繼承關係。

總結

dsh-zcode-farm 解決了智能體在多 GPU 環境下的調度盲區。通過提供狀態查看、實例篩選和負載調度三個工具,它讓 DeepSeek Harness 代理能夠高效利用本地或遠程的 ComfyUI 集羣資源,避免任務堆積在單一節點。

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

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

小夜