前言¶
写数学建模论文时,聊天窗口里生成一段摘要或模型描述,通常离可提交论文还有距离:数据清洗、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。