xzwwwwww/dsh-mathmodeling-workflow:一個賽題文件夾跑完 8 步數學建模流水線

前言

數學建模競賽(CUMCM / MCM / 國賽等)的常見痛點是:賽題、數據、代碼、圖表、論文散在多個工具裏,agent 每次從零開始。已經有人做的是把建模拆成一個長提示詞,讓 LLM 一口氣寫完,但結果不可復現、中間產物沒有驗收。dsh-mathmodeling-workflow 是 DSH 上的一個工作流插件,維護者是 xzwwwwww,它把整條鏈路固化成一個確定性 8 步流水線:賽題分析、建模求解、編程實現、數據圖、流程圖、邏輯對抗複覈、論文撰寫、編譯 PDF。下面介紹這個插件是什麼、怎麼裝、怎麼用。

這是什麼

一句話:把一個賽題文件夾當作輸入,插件逐號子代理串行跑完 8 個步驟,最終產出一份 LaTeX 論文 PDF,以及全部源碼、圖表和中間產物。它不是另一種模型,也不是通用 agent 框架,而是掛在 DSH 插件機制上的一個 bundle。

倉庫地址:https://github.com/xzwwwwww/dsh-mathmodeling-workflow
目錄頁:https://www.skillhub.cn/plugins/xzwwwwww/dsh-mathmodeling-workflow
分類是「工作流」,GitHub 星標 1,許可證 MIT,npm 版本 0.3.11。

它解決的具體問題是:建模結果是「跑完一輪後」纔有的,而現有做法缺少分步驗收節點。這個插件每一步結束都有確定性閘門檢查,不通過就帶着修復提示重派,最多重試 2 次,主會話只做調度和驗收。

核心功能

1. 8 步流水線

# 步驟 幹什麼
01 賽題分析 拆子問題、定義變量、規劃建模思路和圖表清單
02 建模求解 假設、模型建立、求解、檢驗、邏輯合同
03 編程實現 寫可運行代碼、跑出結果、生成結果 JSON
04 圖表生成 數據圖(matplotlib,按 manifest 對賬)
05 流程圖/架構圖 DrawIO 或 HTML 引擎畫流程、架構、TikZ 圖
06 邏輯對抗複覈 六類邏輯缺口複覈(方向反、跨問矛盾、任務讀歪…)
07 論文撰寫 LaTeX 正文、摘要、圖表嵌入、引用;strict 時做數據真實性覈對
08 編譯與合規檢查 XeLaTeX 編譯、模板完整性、圖嵌入、AI 聲明合規

步驟可以被開關裁掉:flowchart_engine=html 把第 05 步換成 HTML 引擎;skip_figures 去掉 04 和 05;enable_comp_review=false 去掉 06;fast 模式跳過 06 的深度複覈和數據覈對。

2. 閘門驗收

每個步驟結束由確定性閘門驗收,檢查點包括產物是否存在、圖表是否對賬、正文頁數是否達標、邏輯合同是否建立、AI 聲明是否合規、數據是否經過覈對。不通過就帶着修復提示重派,最多重試 2 次。

3. 賽項適配

competition 開關支持 11 種賽項(cumcm、wuyi、huazhong、apmcm_zh、diangong、mathorcup、zhongqing、yangtze、liaoning、huashu、huawei、generic),每個賽項對應不同的競賽規則、默認正文頁數和 LaTeX 模板。多數賽項默認正文 30 頁,apmcm_zh 是 25 頁。

安裝與啓用

前置條件:DSH(桌面版或 Web 版)。用 npx 方式安裝需要 Node.js + pnpm;如果只有純 Node 環境,先 npm i -g pnpm。DSH 桌面版自帶 pnpm。

其餘依賴按需安裝,缺哪個隻影響對應那一步:

  • Python 3.10+(可 import matplotlib):數據圖、結果核對
  • XeLaTeX(TeX Live / MiKTeX):編譯論文 PDF
  • Chromium 內核瀏覽器(Edge / Chrome):僅 flowchart_engine=html 時需要
  • 中文字體:編譯中文模板(初始化時會嘗試從系統字體回填)

兼容性:README 註明已在 DSH 0.2.2-rc.1 實測通過(工具註冊、系統提示注入、8 步流水線、提問中轉、開關改寫、閘門驗收全部正常)。升級 DSH 後如果插件管理裏顯示未啓用,重新啓用一次即可,因爲升級可能重置 profile 裏的 bundle 選擇。

方式一:npx 一條命令(推薦)

npx -y @deepseek-ai/dsh plugin --profile desktop add github:xzwwwwww/dsh-mathmodeling-workflow

這條命令會拉取倉庫、裝進 desktop profile、自動註冊進 bundle 列表。Web 版把 desktop 換成 web。

方式二:從本地目錄裝

先克隆倉庫:

git clone https://github.com/xzwwwwww/dsh-mathmodeling-workflow.git

然後在 DSH 裏二選一。桌面端在插件管理 → 安裝 bundle,目標填克隆下來的目錄;Agent 側直接調用:

plugin_manager({ action: "install_bundle", target: "<克隆目錄的絕對路徑>" })

更新:方式一重跑 npx 命令;方式二 git pull 後把插件關閉再啓用一次(或重啓 DSH)。卸載:插件管理裏移除,或 plugin_manager({ action: "remove_bundle", target: "@local/dsh-mathmodeling-workflow" })。

典型用法

1. 把賽題和數據放進一個文件夾

2026國賽A/
├─ 賽題A.docx          # 賽題原文:PDF / DOCX / MD 都行
├─ 數據.csv            # 附件數據:csv / xlsx / json
└─ 自定義要求.md        # 可選:導師規範、評審偏好、必須包含的內容

2. 在 DSH 裏說一句話

最簡調用,全部開關走默認值:

用建模插件跑這個賽題:D:\2026國賽A

帶要求的調用,只寫在意的部分:

用建模插件跑:D:\2026國賽A,國賽 A 題,正文 25 頁,
數據圖用 nature 風格,流程圖用 HTML 引擎,嚴格審查

agent 收到後會回顯最終開關,然後生成工作區,目錄名形如 modeling-2026國賽A-<時間戳>/。

3. 一個完整示例

用建模插件跑:D:\2026國賽A,國賽 A 題,正文 25 頁,
數據圖用 nature 風格,流程圖用 HTML 引擎(modern 版式),
AI 聲明按"使用過 AI 工具"寫,開啓邏輯對抗複覈,
自定義要求:摘要不超過一頁,必須包含靈敏度分析。

agent 會回顯開關摘要,例如:

賽項:國賽 (CUMCM)(cumcm) | 題號=A | 頁數(正文)=25 | 數據圖風格=nature
流程圖=html/modern | 豐滿模式=關 | 審查=strict | AI聲明=used | 對抗複覈=開
→ 8 步,工作區 modeling-2026國賽A-20261104-2030/

4. 跑起來之後的工作方式

  • 每步一個子代理、串行執行,上一步閘門通過才進下一步,主會話只做調度和驗收。
  • 子代理拿不準關鍵信息(題號口徑、數據取捨、硬性要求)會先來問,拿到回答再繼續;能靠合理假設推進的,會在產物裏寫明假設。
  • 隨時可以問進度:看下當前進度,會列出 8 步狀態、產物大小和待答問題。
  • 工作區根目錄有 PROBLEM_ANALYSIS.md、MODELING_REPORT.md、RESULTS.md、code/、figures/、paper/main.pdf。

開關一覽(20 個)

初始化參數只有 3 個不是開關:input_dir(必填,賽題目錄)、workspace_name(工作區目錄名,默認按目錄名+時間戳)、overwrite(工作區已存在時是否重建)。

主要開關:

開關 取值 默認 用途
competition 11 種賽項 cumcm 決定競賽規則、默認頁數、LaTeX 模板
problem_id A/B/C… 空 題號,寫進參數和規則段
title 任意字符串 空(取目錄名) 論文標題 / 賽題簡稱
max_pages 正整數 賽項默認 正文頁數目標(下限),不含摘要/目錄/參考文獻/附錄/AI 聲明
figure_style default / nature default 數據圖風格
flowchart_engine drawio / html drawio 流程圖引擎;drawio 產物可拖拽編輯
diagram_style mono / plain / modern mono 流程圖版式,僅 html 引擎生效
rich_mode true / false false 豐滿模式:正文 40-60 頁、30+ 圖、摘要 1500-2200 字
validation_mode strict / fast strict strict 含論文數據真實性覈對;fast 跳過複覈和深度自修
enable_comp_review true / false true 是否插入邏輯對抗複覈步
ai_disclosure off / none / used off AI 聲明:off 不寫且不許殘留;none 一句話
skip_figures true / false false 跳過兩個圖表步
skip_drawio true / false false 只跳過流程圖步
flow_per_problem true / false false 逐問流程圖
min_figures / min_tables / min_models 整數 或 auto auto 數量下限參考,寫進 CLAUDE.md 供技能自檢
custom_requirements 自由文本 空 自定義要求,最高優先級,會進 CLAUDE.md

可選:生成概念圖 / 機理圖 / 逐問框架圖

數據圖和流程圖都是全本地的(matplotlib / 本機瀏覽器渲染),不需要任何 key。只有「概念圖 / 場景圖」這類需要圖像模型,工作區裏已經帶了配置文件:

<workspace>/_utils/_gpt_image_config.json
{
  "api_key": "",
  "base_url": ""
}

api_key 從中轉站或官方取得;base_url 中轉站給接口地址就填,留空則用官方 https://api.openai.com/v1。也可以不改文件,直接設環境變量 GPT_IMAGE_API_KEY / GPT_IMAGE_BASE_URL,環境變量優先級更高。檢查是否配好:python _utils/gpt_image.py --check。沒配也能跑,規劃裏的概念圖會被自動跳過,不影響其餘步驟。

場景圖和機理圖分別注入固定風格(MCM Academic Illustration / Scientific Mechanism Diagram),你只需寫內容主題。逐問框架圖(--style framework)默認關閉,只有 flow_per_problem: true 且 custom_requirements 裏明確寫了用 image 纔會規劃。

適用場景與注意

適合誰:在 DSH 裏做數學建模競賽、需要可復現的賽題到論文流水線的用戶;想用 agent 產出結構化 LaTeX 論文、又要求中間產物可驗收的場景。

注意事項:

  • 插件以當前 DSH 進程權限運行,安裝第三方 bundle 前應先檢查源碼與許可證。許可證爲 MIT。
  • 編譯 PDF 依賴 XeLaTeX,沒有 TeX 環境時第 08 步會失敗;中文模板還需要系統中文字體。
  • 數據圖的第 04 步需要 Python 3.10+ 且 import matplotlib 可用。
  • flowchart_engine=html 額外依賴 Chromium 內核瀏覽器。
  • 20 個開關中 max_pages 是正文頁數下限,不是全文上限,避免按「不超過 N 頁」來理解。
  • custom_requirements 優先級最高,寫進 CLAUDE.md,子代理會照它執行。
  • 升級 DSH 後若 bundle 顯示未啓用,重新啓用即可。

結尾

這個插件的價值在於把建模競賽的一次性長任務拆成 8 個有閘門的步驟,每步產物落盤、對賬後再進下一步,降低返工成本。它仍依賴本機 LaTeX、Python、瀏覽器等環境,且是社區作者維護的工作流,不是 DeepSeek 官方應用。你可以通過目錄頁或 GitHub 倉庫查看完整說明並裝來試用。

目錄頁:https://www.skillhub.cn/plugins/xzwwwwww/dsh-mathmodeling-workflow
GitHub:https://github.com/xzwwwwww/dsh-mathmodeling-workflow

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

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

小夜