前言¶
寫數學建模論文時,聊天窗口裏生成一段摘要或模型描述,通常離可提交論文還有距離:數據清洗、EDA、建模、求解、章節撰寫、圖表與排版,需要按順序推進,也需要每一步留下可檢查的產物。DeepSeek Harness(DSH)插件可以把這類步驟裝成可安裝、可續跑的流程。
dsh-mcmp 是一個 DeepSeek Harness 持久化 Cordis 插件,面向全國大學生數學建模競賽論文撰寫的全自動流水線。發送一條以 /loopbegin 開頭的消息後,它會按五個階段、二十二個子階段推進,並用中控臺、評級處置和落盤索引把過程約束住。最終無論正常完成、出錯還是中止,都會生成一版 Final_Paper.md。
這是什麼¶
dsh-mcmp 的定位是:在 DSH 裏提供一條數學建模競賽論文撰寫流水線。輸入賽題後,它按“初始化、EDA、建模、撰寫、排版”五個階段執行,每個階段包含子階段,最終產出論文文件、階段產物和運行記錄。
倉庫地址爲 https://github.com/Aampidy/dsh-mcmp,許可證爲 MIT。插件包已發佈到 npm,安裝時通過 pnpm dsh plugin --profile web add dsh-mcmp 添加。
核心功能¶
觸發方式¶
輸入文本以 /loopbegin 開頭時觸發自動運行。輔助命令如 /loopstatus、/loopabort、/loopreset 不觸發流水線,只用於查看、中止或重置。
五階段與二十二個子階段¶
流水線按五個階段線性推進:
- 初始化
- EDA
- 建模
- 撰寫
- 排版
五個階段合計 22 個子階段。每個子階段完成後,結果會進入中控臺檢查,再決定是否推進。
中控臺雙重質疑¶
中控臺包含掃描驗證模塊與評審決策模塊。掃描驗證通過後,流程推進;發現問題時,進入評審決策模塊進行處置。
問題按 P0-P3 評級處置:
- P0/P1/P2:階段級回滾。
- P3:精確定點修改。
回滾教訓會持久化到 ROLLBACK_LESSONS.yaml,執行 Agent 啓動時會讀取。產出物位置、狀態與依賴記錄在 FILE_INDEX.yaml。
失敗處理與兜底¶
非質量問題導致的失敗會重試 3 次,指數退避間隔爲 5s/10s/20s,並寫入 transactions.log。全部重試失敗後暫停,等待人工介入。
同一階段回滾上限默認 10 次,允許範圍 1~99。達到上限後會強制 FORCED_FINAL 鎖定,並通知人工。無論流水線正常完成、出錯或中止,都會生成 Final_Paper.md。
進度與續跑¶
右下角浮動面板會即時顯示進度、中控臺、回滾計數、日誌與產出文件。聊天區也會有原生工作流卡片,顯示子智能體狀態。
插件支持斷點續跑與重置。涉及圖表的子階段可調用視覺模塊;不可用時標記待人工確認。
安裝與啓用¶
安裝插件包的唯一方式是:
pnpm dsh plugin --profile web add dsh-mcmp
安裝後會自動註冊配置行,不需要手動編輯配置。隨後重啓 Web 服務並刷新頁面:
pnpm dsh web
在瀏覽器訪問以下地址,返回 JSON 即表示啓用成功:
/mcmp-api/state
面板相關接口路由爲 /mcmp-api/state、/mcmp-api/abort、/mcmp-api/reset。
升級:
pnpm dsh plugin --profile web update dsh-mcmp
卸載:
pnpm dsh plugin --profile web remove dsh-mcmp
典型用法¶
先準備題目。可以把數學建模競賽題目完整粘貼到對話框併發送。然後發送觸發命令:
/loopbegin
默認啓動 22 個子階段。
如果需要調整參數,可以這樣寫:
/loopbegin --rollback-limit=5
將同一階段回滾上限改爲 5 次。
如果題目已經放在文件裏,可以用:
/loopbegin --from 題目.txt
從文件讀取賽題。
如果希望顯式覆蓋模型,可以寫:
/loopbegin --model glm-vision/glm-4.7-Flash
運行中可以用輔助命令:
/loopstatus
/loopabort
/loopreset
/loopstatus 查看進度;/loopabort 中止流水線,已產出成果保留;/loopreset 清空狀態與斷點續跑記錄。
適用場景與注意¶
適合需要把數學建模競賽題目推進到完整 Markdown 論文的場景,尤其是希望保留階段產物、回滾記錄、日誌和索引文件的流程。
使用前注意:
- 插件會讀取題目、調用模型並寫文件,安裝前應檢查源碼與 MIT 許可證。
- 它沿用當前 dsh 進程權限運行,運行權限取決於你的 dsh 環境。
- npm 包不包含
tests/目錄,倉庫中的測試內容不隨插件包發佈。 - 如果流水線中止或出錯,仍會生成
Final_Paper.md,但需要結合transactions.log、FILE_INDEX.yaml和麪板日誌判斷哪些產物可用。
dsh-mcmp 的價值在於把數學建模論文撰寫拆成可檢查、可回滾、可續跑的流水線,而不是隻把題目丟給模型一次性生成。更多細節可以查看 GitHub 倉庫:https://github.com/Aampidy/dsh-mcmp。