dsh_mission-control:DeepSeek Harness 的 Agent Teams 任務駕駛艙

前言

在 DeepSeek Harness(DSH)裏用實驗性 Agent Teams 做多工蜂協作時,常見問題很具體:子會話一多就失控、spawn_teammate 沒有任務級上限;工蜂上下文頂滿後需要人工換人;主會話裏的人類指令要等 Lead 轉述才能到全體;進度散落在多個窗口裏,收尾時還要自己找產出文件。

Mission Control(dsh_mission-control)是社區維護者 Psychologist-jpg 發佈的工作流類插件(當前 GitHub 星標爲 0),在 Agent Teams 之上補上「任務(Mission)」這一層:人數上限、上下文哨兵自動交接、駕駛艙廣播、蜂巢模式 UI,以及按主會話獨立的實時進度懸浮窗。宿主側完成檢測與輪詢,README 明確說明不消耗各會話的模型 token。

這是什麼

插件 npm 包名爲 @local/mission-control,版本 1.5.2,MIT 許可證。定位一句話:DeepSeek Harness 的 Agent Teams 任務駕駛艙——任務級人數上限、上下文哨兵自動交接、駕駛艙廣播與實時進度懸浮窗。

它讓一個 Lead 主會話把多名工蜂組織成一場任務:頭部可一鍵開蜂巢模式並鎖定人數;運行中測量各工蜂上下文壓力並在將滿時自動續任;人類在主會話發出的消息可即時扇出給存活工蜂;進度集中在可拖動、可摺疊的懸浮窗;結束時可收集結果文件、歸檔子會話並提示 Lead 彙總。

強依賴 @deepseek-ai/dsh-experimental-agent-team(agentTeams 等服務)與 @deepseek-ai/cordis;採用 profile 本地 link: 安裝,不依賴 npm 發包。

七個工具與典型協作流

README 列出七個 mission_* 工具,分工如下。

工具 作用
mission_start 聲明任務目標與併發工蜂上限 workers;之後才允許創建工蜂,超限拒絕。
mission_scale 按期望子會話清單「只補差額」開子會話;已存在跳過,一次配平。
mission_set_model 爲指定工蜂切換模型,或 revert: true 回到默認。
mission_image 通過配置的圖像接口出圖並落盤(圖像模型不走普通對話)。
mission_report 工蜂自報 current / completed,供駕駛艙顯示進度。
mission_status 只讀任務與各工蜂狀態、上下文佔比、當前任務。
mission_stop 結束任務:清除上限並停止上下文哨兵。

下面介紹一種與文檔一致的協調方式,Lead 側契約由插件通過 systemPrompt 注入(有任務時才注入):

  1. mission_start 寫明目標與 workers 上限(也可用會話頭部蜂巢開關:按 defaultCap 建佔位任務,首條人類消息可自動成爲真實目標)。
  2. 建好任務板後,用 mission_scale 一次把工蜂數配平到 min(待認領子任務數, 上限)。
  3. 工蜂執行子任務並定期 mission_report;需要全貌時 Lead 調 mission_status。
  4. 主會話需要全體同步時直接發消息即可觸發駕駛艙廣播(暫停蜂巢時不向子會話下發,子會話仍可用工具繼續工作)。
  5. 收尾:懸浮窗「結束任務」或調用結束接口鏈路,或 mission_stop;完整收尾會中斷存活子會話、清理臨時文件、歸檔子會話、收集產出並提示 Lead 彙總。

不必一定先調 mission_start:頭部「普通 / 蜂巢 / 已暫停」開關與 2–10 人上限選擇、子會話管理彈窗(歸檔 / 徹底刪除等)與工具並行可用。關閉或暫停蜂巢後,插件會在系統提示中標註「蜂巢模式已關閉」,要求不再創建子會話、不再調用 mission_*,避免歷史契約誤導模型。

支撐機制(宿主側)

人數上限守衛:mission_start 或頭部開關設定 workers;在每次 spawn_teammate 前統計 running / provisioning 成員,超限即拒。mission_scale 受同一上限約束。

任務拆解與配平:統計待辦、未認領數、現有工蜂與缺口,寫入 /mission-dashboard-v2.json 的 scale 字段,懸浮窗標題欄展示工蜂數、待辦與建議再開人數,並驅動 Lead / 工蜂側提示詞。

上下文哨兵與自動交接:按 pollIntervalMs 用 tokenMeter 測量佔用比(分母優先會話 contextWindow,否則 fallbackContextWindow)。達到 handoffRatio 時中斷成員、生成交接摘要,並以 fresh 上下文創建續任者(如 <name>-rN)。

駕駛艙廣播:任務進行中,主會話 user/message 包裝爲 [駕駛艙廣播] 扇出給當前任務全部存活工蜂;廣播前過濾已歸檔或已刪除成員。

生圖策略:圖像模型不支持 chat,默認 imageModelSwitch: false,出圖走 mission_image;可按關鍵詞或 mission_scale 的 image / provider / model 配置(詳見下文配置表)。

實時懸浮窗:dashboard.js 每 2 秒輪詢 /mission-dashboard-v2.json,每主會話一個窗口,顯示配平統計、工蜂狀態、上下文進度條、模型與暫停態等;「結束任務」經 POST /mission-end-v1 做完整收尾。

結束任務時(README 列舉的順序):中斷存活子會話 → 按 cleanupGlobs / cleanupDirs 清臨時項(不動結果文件)→ 歸檔存活子會話(可選 deleteSessionLogs 刪日誌)→ 清理孤兒歸檔 → 從工具調用與文件改動收集產出 → 向 Lead 投遞「【蜂巢任務已結束】」彙總提示。

安裝與啓用

本插件以 profile 本地 link 安裝。因 link: 不會自動安裝 peer 依賴,需先把聚合包 @deepseek-ai/dsh-experimental-agent-team-profile(內含核心、工具、客戶端 UI)加入 profile 的 dependencies 與 bundles。

前置 peer 依賴(package.json):

  • @deepseek-ai/dsh-experimental-agent-team:0.2.2-rc.1
  • @deepseek-ai/cordis:~4.1.0

步驟:

  1. 將倉庫放到本地(README 給出的獲取方式爲 clone 到本機,路徑自定)。
  2. 編輯 ~/.dsh/profiles/<profile>/package.json,加入依賴與 bundle(路徑改爲你的本地目錄):
{
  "dependencies": {
    "@deepseek-ai/dsh-experimental-agent-team-profile": "0.2.2-rc.1",
    "@local/mission-control": "link:C:/path/to/mission-control"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-experimental-agent-team-profile",
        "@local/mission-control"
      ]
    }
  }
}
  1. 在 profile 目錄執行 pnpm install(或由 DSH 桌面端觸發),重載客戶端。
  2. 新建會話後,頭部應出現蜂巢模式開關,頁面出現「蜂巢任務」懸浮窗,工具列表中出現 mission_start、mission_scale、mission_report、mission_status、mission_stop 等(README 列出的啓用集)。

若 profile 已由其他 bundle 提供 agentTeams 等同名服務,可省略聚合包,但必須保證 agentTeams 可用。

更短的第一次上手路徑見倉庫內 docs/QUICKSTART.md(README 稱約 5 分鐘跑通一次完整蜂巢任務)。

配置

通過 bundle patch(cordis.patch.yml)與 index.js 的 DEFAULT_CONFIG 傳入。常用項如下(默認值以 README 爲準):

配置項 默認值 說明
pollIntervalMs 15000 哨兵輪詢間隔(毫秒,最小 2000)。
warnRatio 0.65 預警閾值。
handoffRatio 0.85 觸發自動交接的上下文佔用比。
defaultCap 3 頭部開關建任務時的默認人數上限。
fallbackContextWindow 131072 無法讀取真實窗口大小時的回退分母。
freshProvider "spawn" 續任者 provider。
deleteSessionLogs false 結束/刪除時是否物理刪除子會話日誌。
imageModelSwitch false 是否允許按關鍵詞自動切圖像模型。
imageModel "qwen-image-2.1" 默認圖像模型。
imageApiKeyRef "USTC_API_KEY" 憑據庫或環境變量中的密鑰名。

patch 示例(節選):

- insert:
    - id: mission-control
      name: '@local/mission-control'
      config:
        pollIntervalMs: 15000
        handoffRatio: 0.85
        defaultCap: 3
        imageModelSwitch: false
        imageModel: qwen-image-2.1
        imageApiKeyRef: USTC_API_KEY

生圖相關還有 imageProvider、imageApiBaseUrl、imageApiSize、imageKeywords 等字段,見倉庫 README 配置表。

適用場景與注意

適合誰:已在 DSH 啓用實驗性 Agent Teams、需要把「多工蜂並行 + 人類坐在主會話指揮」做成可控工作流的開發者;任務帶明確子任務拆分、需要可視化進度與統一收尾時,懸浮窗與結束流水線價值更明顯。

權限與安全:插件隨當前 DSH profile 與進程權限運行,能讀寫工作區、管理子會話、調用配置的圖像 API。安裝前應在本地審閱 GitHub 源碼 與 MIT 許可證;圖像密鑰通過 imageApiKeyRef 指向憑據或環境變量,勿把密鑰寫進可被同步的明文配置。

生態說明:DSH 主張「一切皆插件」;SkillHub 目錄頁 爲社區收錄,與 DeepSeek / 幻方無官方從屬關係。本插件分類爲工作流,當前目錄星標爲 0,選型時建議自行試用與跟版 peerDependencies 版本。

結尾

Mission Control 把 Agent Teams 從「能開很多子會話」推進到「有上限、有哨兵、有廣播、有面板、有收尾」的任務形態;協調邏輯主要在 Host 與 UI 完成,減輕 Lead 會話的 token 負擔。進一步細節(HTTP 接口全文、QUICKSTART 逐步操作)以倉庫 README 與 cordis.patch.yml 爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/Psychologist-jpg/dsh_mission-control
  • GitHub:https://github.com/Psychologist-jpg/dsh_mission-control
羽毛球分组比赛记分
小程序二维码

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

小夜