用 mstar-harness 給 DeepSeek Harness 裝上確定性工程工作流

前言

用智能體寫代碼,最容易出問題的往往不是「會不會改文件」,而是流程本身站不住。plan 寫了一半就開始動手,QC 變成口頭同意,status.json 和真實分支對不上,子代理遞歸把自己派出去——這些事只靠 prompt 提醒,模型隨時可以繞過去。

DeepSeek Harness(dsh)把模型、工具、技能、會話和工作流都做成可替換插件,官方倉庫的原話是 everything is a plugin。社區目錄 DeepSeek Harness 插件庫 是獨立站點,與 DeepSeek / 幻方沒有從屬關係,用來發現這類插件。目錄把 mstar-harness 歸在「開發與運行時」,維護者是 btspoony

本文按插件目錄頁、GitHub 倉庫 README / README_CN.mdplugin.jsonpackages/dsh 文檔、CHANGELOG 和官方 deepseek-ai/deepseek-harness 覈對後整理:它是什麼、門禁怎麼執行、在 dsh 上怎麼裝、三種入口怎麼用。

這是什麼

mstar-harness 在倉庫裏的產品名是 Morning Star(啓明星)。它是面向 harness 工程工作流的 Agent Plugin:TypeScript 引擎 @mstar-harness/engine 強制執行確定性門禁,mstar-* 技能負責角色、門禁判斷和工作流編排。目錄頁的簡介是「技能驅動的 Harness/Loop 工程工作流智能體插件」。

倉庫歸屬 GitHub 用戶 btspoony,根清單 plugin.json 裏的作者是 Bohao Tang,插件包名爲 morning-star-harness。許可證是 MIT,主要語言是 TypeScript。GitHub 倉庫帶有 dsh-plugin topic。截至 2026-08-17 覈實時,倉庫 46 星,最新發布標籤是 v2.3.0(2026-08-16);根清單、CLI、引擎和 @mstar-harness/dsh 都對齊到這個版本。

它要解決的問題可以收成一句:把「看起來像工作流」變成「引擎真的會擋」。門禁跑在 TypeScript 裏,而不是隻寫在提示詞裏。判斷規則仍以 mstar-* 技能爲唯一事實來源(SSOT)。同一套引擎和技能還可以接到 omp、OpenCode、Cursor、Kimi Code、ZCode、Codex;README 給出的推薦宿主順序是 dsh = omp ≥ OpenCode ≥ Cursor > Kimi = ZCode > Codex。本文只展開 dsh 這一條。

核心功能

倉庫當前交付四塊:

組件 作用
Harness Workflow Engine @mstar-harness/engine,用 TypeScript 強制執行 path / status / lease / dispatch / sdd / iteration / lint 門禁
mstar CLI @mstar-harness/cli,給 omp、OpenCode、Cursor 等做安裝引導;沒有 dsh target
mstar-* skills 角色、門禁與工作流判斷的 SSOT
宿主適配 dsh、omp、OpenCode、Cursor、Kimi Code、ZCode、Codex

引擎強制執行,判斷留在技能裏

README 把邊界寫得很清楚:確定性門禁由引擎執行;角色怎麼分工、什麼時候過閘、迭代怎麼收口,仍以技能文本爲準。dsh 專用包 @mstar-harness/dsh 是一個 cordis 函數插件,把引擎掛進當前進程,實現 HostAdapterhost: 'dsh'),並且不改 dsh 自帶工具本身,只走 seam 上的拒絕 / 諮詢通道。

掛載之後,packages/dsh 文檔列出的能力包括:

  • 狀態門禁:校驗 {HARNESS_DIR}/status.json 的寫入。
  • 派發門禁:在 subagent / subagent_fork 執行前校驗 Assignment 文本(字段、反遞歸、默認分支),再加 dsh 側的 lease 與 worktree 檢查。
  • 技能與產物 lint:對掛載技能根下的 SKILL.md,以及 DESIGN.md、審計計劃、知識文檔等寫入做引擎級檢查。
  • bundled 命令:向 ctx.commands 註冊 /iteration-start/iteration-drive/iteration-loop/codebase-audit
  • catalog 行:每個組合後的 agent 步驟追加一條 mstar-engine-status,帶版本、harness 目錄、enforcement,以及 plan / residual / 分支 / lease 等摘要。
  • Web 工作流面板:CHANGELOG 寫明 web 客戶端會掛「MStar 工作流」面板,用 catalog 證據畫階段環和 plan 狀態機。

默認是 warn-only:違規會打日誌、發 advisory,動作仍繼續。要變成真正否決,需要迭代 compass、Assignment 頭或插件配置裏把 enforcement 設成 hard。文檔同時說明:狀態 / 技能 lint 在 hard 模式下對「已經不合法的文件」會放行修復寫入,避免修文件本身被門禁卡死。

三種工作流入口

README 把用法收成三種,不跑迭代時走同一套 per-plan 門禁:

  1. 不跑迭代:進入 PM,然後按 Prepare → Execute → QC → QA gate → Done 推進單個 plan 或 hotfix。
  2. 跑迭代:Phase 1–5,從方向鎖定、compass、集成分支,到執行、收口、開 PR、merge-ready。
  3. 代碼庫審計:只讀掃描,產出帶優先級的改進計劃,不改源碼。

消費方 plan 默認落在 .mstar/。進程產物(plans/iterations/status.jsonsdd/ 等)按約定 gitignore;跟蹤進倉庫的是 {HARNESS_DIR}/AGENTS.mdknowledge/specs/

角色與技能

先加載 mstar-harness-core,再按 mstar-roles 按需加載專題技能。角色包括:project-manager(路由、分派、階段推進)、product-managerarchitectfullstack-dev / fullstack-dev-2frontend-devqa-engineercode-reviewerqc-specialist 三審、ops-engineerwriting-specialistprompt-engineer

和流程直接相關的技能還有:mstar-phase-gatesmstar-iterationmstar-dispatch-gatesmstar-sddmstar-branch-worktreemstar-plan-artifactsmstar-review-qcmstar-auditmstar-host,以及 dsh 上的 PM 入口技能 pm

安裝與啓用

先有 DeepSeek Harness。官方倉庫當前的啓動方式是:

npx @deepseek-ai/dsh web

官方 README 標明項目仍處於 developer preview,會有破壞性變更。Web UI 默認在 http://127.0.0.1:3080

社區目錄頁給出的安裝命令原文是:

dsh plugin add github:btspoony/mstar-harness

需要可復現安裝時,目錄頁的寫法是把 commit 哈希釘在後面(把 commit 換成真實哈希):

dsh plugin add github:btspoony/mstar-harness#commit

倉庫自己的安裝說明和目錄頁不完全一樣,這裏以倉庫 README 爲一手來源。dsh 不走 npx @mstar-harness/cli init(該 CLI 沒有 dsh target,只覆蓋 omp / OpenCode / Cursor / Kimi / ZCode / Codex)。在 dsh 上,README 和 @mstar-harness/dsh 文檔推薦用宿主自帶的 profile bundle:

dsh plugin --profile web add @mstar-harness/dsh

這是 npm 上的發佈形態,當前版本與倉庫 release 2.3.0 對齊,安裝時不需要再構建。本地改插件則進入 packages/dsh 後執行 dsh plugin --profile web add .,並且要先 bun run build

基於角色的 subagent persona 配置是可選能力,文檔要求用第二條獨立命令安裝,不要把它折進 mstar 自己的 bundle:

dsh plugin --profile web add dsh-llm-fallbacks

不裝這一條時,mstar 插件仍可啓動;persona 會退回到包內 harness-agents/ 鏡像或插件配置。

目錄頁的安全提示需要照讀:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前檢查源碼倉庫和 MIT 許可證。

典型用法

dsh 上 PM 不會自動加載。README 寫的是通過 mstar skill 提供者使用 pm 技能。迭代類命令則已經打進 harness-commands/,在 web 客戶端裏點選後會先把 /命令名 填進輸入框,帶參數 hint,按 Enter 才提交。

1. 單 plan / hotfix:不跑迭代

進入 PM 後,從 status.json 選中一個 active plan,按 Prepare → Execute → QC → QA → Done 走完。QC 默認是三審;QA gate: mandatory 時由 qa-engineer 做驗收,否則可以由 PM 按 acceptance 清單收口。還有殘留 findings 時,要在 status.json 裏登記或明確接受,不能靜默標成 Done。

2. 多 plan 迭代

三條命令都來自倉庫 README 和 commands/

/iteration-start [direction] [pause]
/iteration-drive
/iteration-loop [direction] [scale]
  • /iteration-start:Phase 1 做交互式 grill-me,鎖定 compass 和集成分支,然後默認自動進入 Phase 2→5。加上 pause 則停在 Phase 1,之後用 /iteration-drive 續跑。
  • /iteration-drive:在已經鎖定的迭代上恢復 Phase 2→5。
  • /iteration-loop:Phase 1→5 全自動,不做 grill-me;可選 direction,以及規模 S|M|L|XL

Phase 2 默認是每個 plan 一個 worktree 加 lease,並且 Findings cleanup: zero-residual。只有顯式寫 Worktree mode: waivedFindings cleanup: allow-residual 才能改掉這兩條。

3. 只讀審計,先搞清楚該做什麼

/codebase-audit [關鍵詞]

文檔強調:只讀顧問,改源碼。產出寫到 {PLAN_DIR}/audit-.../,可以再餵給 /iteration-start 的 Research,或走普通 Prepare → Execute。

關鍵詞按 README:

  • 深度:quick / deep(默認 standard
  • 類別:securityperftests
  • 範圍:branch(僅當前分支變更)、next / roadmap(只出方向候選)、simplify(聚焦技術債:死碼、重複、投機性、過度構建)

適用場景與注意事項

比較適合已經在用 dsh web profile、希望把多智能體交付收成可檢查狀態機的人:要 plan 登記、分支 / worktree、QC 三審、QA 門禁,並且希望違規時至少能留下引擎級證據。倉庫把自己和 omp 並列寫成推薦宿主,dsh 上還有 catalog 行和工作流面板,信息會比純技能文本完整一些。

使用前值得先看這幾條邊界:

  1. 插件跟當前 dsh 進程同權限,能讀寫工作區、攔截工具調用。不信任源碼就不要裝。
  2. DeepSeek Harness 仍是 developer preview,mstar 的 @deepseek-ai/dsh-* peer 也按 rc 線對齊。升級 dsh 之後,以倉庫 CHANGELOG 和 @mstar-harness/dsh 文檔爲準複查兼容性。
  3. 默認 enforcement 是告警不是硬攔截。需要真正擋住派發,必須顯式打開 hard
  4. {HARNESS_DIR}會話工作區根探測(.mstar/.agents/.plans/plans/),不會從啓動 cwd 往上走到 ~/.mstar。倉庫根不叫這些名字時,要在插件配置裏設 harnessDir
  5. 目錄頁的 github:btspoony/mstar-harness 和 README 的 @mstar-harness/dsh 是兩條安裝路徑。在 dsh 上優先按倉庫當前文檔使用 profile bundle;若用目錄頁命令,裝完後確認實際掛上的是預期包。

小結

mstar-harness 不是又一份「請按步驟幹活」的提示詞合集。它把 path、status、lease、dispatch 這些門禁做成 TypeScript 引擎,把判斷留在 mstar-* 技能裏,並在 dsh 上提供 PM 入口、迭代命令、只讀審計和 Web 工作流面板。當前發佈面是 2.3.0,MIT 許可。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/mstar-harness/

GitHub:https://github.com/btspoony/mstar-harness

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

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

小夜