DSH 派發臺 (dsh-dispatch)

DeepSeek Harness (DSH) 採用插件化架構。本插件(dsh-dispatch)允許將任務派發給本機 ZCode CLI 的無頭進程,並在 DSH 頁面右下角的懸浮面板中監視這些進程。它提供單寫者互斥、用量聚合和通道管理等功能。

安裝

本項目不發佈 npm 包,必須從 GitHub 倉庫安裝並指定子目錄。

dsh plugin --profile web add "github:Shuffle-1992/dsh-dispatch#path:dispatch"

說明:#path:dispatch 不能省略。本倉庫是 monorepo,插件本體位於 dispatch/ 子目錄中。DSH 實際執行 pnpm add 時,pnpm 默認取倉庫根目錄,根目錄沒有插件 package.json,裝出來只會得到佔位符。

核心功能

本插件主要提供以下能力:

  • 派發:支持將 prompt、任務文件或目標描述交給 ZCode 運行,支持 build / edit / plan / yolo 四種模式。
  • 單寫者互斥:通過 repo / memory 文件鎖及進程內 FIFO 隊列,確保同鎖任務串行執行,衝突任務排隊不報錯,避免多會話併發互相干擾。
  • 實時監視:顯示每個 job 的狀態、耗時、上下文佔用、退出碼及鎖持有者,支持拉取最近輸出(tail)。
  • 續跑 / 重跑:支持同會話內 --resume 重發原提示詞,或在同一會話裏發送新指令。
  • 通道與降級鏈:支持切換套餐通道 / 模型;額度耗盡或未開通時按降級鏈自動交接重跑。
  • 免費額度通道:支持 ZCode Start Plan(活動贈送額度),通道 ID 爲 account:<family>-start-plan(如 account:bigmodel-start-plan),面板顯示爲“免費額度(Start Plan)”。
  • 用量聚合:本地臺賬支持 5 小時滾動、本週、今日統計,並顯示套餐剩餘額度(數據源不可用時如實標註 available:false)。
  • 派發總開關:一個跨會話的真值文件,設爲 false 時任何會話都不得派發。
  • Agent 工具:註冊 dispatch 命令,與面板操作一一對應。

配置

插件字段在 dispatch/ 目錄下的 cordis.patch.yml 中配置。

字段 默認值 說明
demo false UI 演示模式,使用內置假數據渲染,不觸達 dispatcher。
maxConcurrent 3 同時運行的 run 上限。
runnerPath '' runner 腳本絕對路徑。
ledgerPath '' 臺賬 dispatch-runs.jsonl 絕對路徑;留空則跳過用量聚合。
workRoot '' 派發器工作根目錄(存放 locks/、state/、logs/);留空則落到插件目錄 .data/。
switchPath '' 派發總開關真值文件路徑;留空則開關不可寫。

注意:runnerPath 與 workRoot 任一爲空則不創建 dispatcher。面板會走 demo 降級,agent 工具返回可讀錯誤。這是刻意設計,不靜默跑錯。

Agent 工具

插件註冊了 dispatch 工具,支持以下子命令:

dispatch | list | kill | dismiss | tail | quota | status | switch | channels | channel | retry | fallback

  • dispatch:派發任務,參數包括 kind(prompt/task/target)、provider、mode、lock、cwd 等。
  • list / tail(id,n):查看任務列表及輸出。
  • kill(id) / dismiss(id):終止任務並從列表移除。
  • quota:查看用量。
  • status / switch(enabled):讀取或切換派發總開關。
  • channels / channel / retry / fallback:管理通道、重試、降級鏈。

注意事項

  1. 依賴 ZCode CLI:插件不自己存儲憑據,而是讀取 ZCode CLI 的 ~/.zcode/v2/config。若 ZCode 更新憑據後未同步回 config,可能導致 401 錯誤。
  2. 免費額度限制:免費額度通道是時間窗口型,不支持 --resume/--target/--memory-bench;官方 MCP 在託管進程內不可用。
  3. 與姊妹項目區別:本項目提供獨立的 ZCode 進程和工具支持;姊妹項目 dsh-connect-zcode 將免費額度接成 DSH 的模型對話通道,但 DSH 工具層不參與(如 browser_*、Agent Teams 等)。若需 agent 自主使用工具,優先使用派發臺。
羽毛球分组比赛记分
小程序二维码

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

小夜