前言¶
數學建模競賽(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