Back to home@Aampidy

dsh-mcmp

Deepseek-Harness数学建模竞赛论文全自动撰写流水线插件。Deepseek-Harness fully automatic pipeline plugin for writing mathematical modeling competition papers.

Stars
2
Language
JavaScript
Created
Aug 18, 2026
Updated
Aug 20, 2026
GitHub repo

Introduction

dsh-mcmp · 数学建模论文自动化流水线(v2)

npm

DeepSeek Harness 持久化 Cordis 插件:面向全国大学生数学建模竞赛论文撰写的全自动流水线。 粘贴赛题 → 发送一条以 /loopbegin 开头的消息 → 插件按 8 大步骤、每步多次迭代自动完成论文撰写, 全程由专家子智能体「先质疑、再迭代」驱动,成果全部落盘保存,右下角浮动面板实时显示进度百分比。 无论流水线正常完成、出错还是被中止,最终都会生成一版完整、干净的 Markdown 论文(论文定稿.md)。

功能特性

  • 消息触发:输入文本以 /loopbegin 开头即自动运行(兼容斜杠命令路径)
  • 8 大步骤 × 多迭代:每轮 19 次迭代,外循环轮数可配置(--round=N,默认 1 轮)
  • 质疑驱动:每个子智能体必须先对上一版成果提出 ≥3 条质疑,再开始本轮工作
  • 图表视觉自检与修复:S5 步骤自动探测识图插件——检测到识图服务/工具(如 vision_describe、read_image)即自动调用逐张检查定稿图;没有识图能力则让子智能体编写脚本做文本包围盒重叠/越界/乱码分析,发现问题必须修复并复检(A 级问题清零),而不是只写报告
  • 评审问题修复闭环:S7 合并"合规检查 + 评审",建立《问题跟踪表》,每个 A/B 级问题必须在论文/图表/代码中实际修复并经复核验证,禁止"只写问题不修复"
  • 跨步骤缺陷回传(台账机制):后续步骤发现前序步骤的错误时,必须登记 00_缺陷与裁决台账.md直接修复出错文件(标注修正来源),下游以台账最新裁决为最高权威——错误在源头修掉,不打下游补丁
  • 论文兜底定稿:S8 组装完整、可直接提交的 论文定稿.md;即使流水线提前出错或中止,也会追加一次兜底定稿
  • 成果全落盘:每步迭代完整追加保存(含质疑清单),旧内容绝不覆盖;代码保留全部历史版本;全新运行时旧目录自动归档为 数学建模流水线_历史归档_*
  • 实时进度面板:独立浮动窗口(可拖拽/最小化/关闭),显示百分比进度条、当前轮/步骤/迭代、8 步骤打点、日志、产出文件,支持一键中止
  • 原生工作流卡片:聊天区实时显示每个子智能体的运行状态(按阶段分组)

八大步骤(每轮 19 次迭代)

步骤内容迭代次数
S1赛题分析与建模方案2 次(赛题精读与拆解→建模方案定稿)
S2模型建立与求解3 次(模型建立→模型求解→模型验证设计)
S3编程实现与数值验证3 次(核心代码→调试与数值验证→封装与自测)
S4图表与流程图生成3 次(基础图表与结构图→美化统一→精选定稿)
S5图表视觉自检与修复2 次(视觉自检与问题清单→修复与复检)
S6论文撰写2 次(初稿→润色终稿)
S7评审与修复落实3 次(合规检查与评审→修复落实→修复复核)
S8论文定稿与提交包1 次(必产出完整 论文定稿.md)

跨步骤纠错机制:每一步骤开工前必须先读 00_缺陷与裁决台账.md(由 S1 创建)。发现前序步骤的错误时:①登记台账(编号/证据/修复方案)→ ②直接编辑修复出错文件并标注「第R轮·Sx修正:D#编号」→ ③同步所有下游引用。任何文件与台账最新裁决冲突时,以台账为准。S8 终检台账,未闭环项列入「遗留缺陷清单」。

使用方法

  1. 发送赛题:把数学建模竞赛题目完整粘贴到对话框并发送;
  2. 触发插件:发送一条以 /loopbegin 开头的消息:
    • /loopbegin —— 默认 1 轮
    • /loopbegin --round=3 —— 3 轮外循环(上限 10)
    • /loopbegin --from 题目.txt —— 从文件读取赛题(支持含空格/中文的文件名,如 --from 2024 年高教社杯全国大学生数学建模竞赛题目.md,也可用 --from=文件 形式)
  3. 查看进度:右下角浮动面板(百分比、步骤打点、日志、文件)+ 聊天区工作流卡片。

辅助命令:/loopstatus(查看进度)、/loopabort(中止,已产出成果保留)。

触发规则

消息内容是否触发
/loopbegin --round=3(开头)
/loopbegin(前导空格)
题目正文… /loopbegin(不在开头)
/loopstatus/loopabort辅助命令,不触发

安装方式

插件包已发布到 npm(dsh-mcmp),并声明了 dsh.bundle 补丁:安装后自动注册配置行,无需任何手动步骤。

安装(唯一方式)

# 一条命令完成:安装包 + 自动注册(通过 bundle 机制)
pnpm dsh plugin --profile web add dsh-mcmp
# 等价调用形式:
#   dsh plugin --profile web add dsh-mcmp
#   npx @deepseek-ai/dsh plugin --profile web add dsh-mcmp

# 然后重启:
#   重启 pnpm dsh web → 刷新网页
#   验证:浏览器访问 /mcmp-api/state,返回 JSON 即成功

升级:

pnpm dsh plugin --profile web update dsh-mcmp

卸载:

pnpm dsh plugin --profile web remove dsh-mcmp

输出目录(工作区 数学建模流水线/)

数学建模流水线/
├── 00_赛题原文.md        # 启动时自动保存的赛题
├── 00_缺陷与裁决台账.md   # ★ 跨步骤缺陷台账:错误登记、裁决、向上修复的唯一权威
├── 01_赛题分析.md ~ 08_论文定稿.md   # 八大步骤完整成果(逐迭代追加,含质疑清单/问题跟踪表)
├── 论文定稿.md           # ★ 最终交付:完整、干净的 Markdown 论文(无论成败都会生成)
├── 代码/                 # 全部验证与求解代码(_vN 后缀保留历史版本,绝不删除)
│   └── results/          # 权威结构化结果(CSV/JSON + 结果索引)
├── 图表/                 # 全部图表(定稿/ 为论文插图,归档/ 为冗余图)
└── 数学建模流水线_历史归档_*/  # 全新运行时,上一次运行成果自动归档(改名,不删除)

架构

用户消息(/loopbegin 开头)
   │  session/event 全局监听(或 commands 斜杠命令)
   ▼
Host 插件(dsh-mcmp,HOST 组合)
   ├─ 提取赛题(对话文本或 --from 文件)
   ├─ 识图能力探测(宿主服务/工具注册表扫描;S5 子智能体再自检,以自检为准)
   ├─ 断点续跑:扫描会话日志中 tool-workflow/* v2 记录,跳过已完成迭代
   ├─ 编排器:按 8 步骤 × 19 迭代 × N 轮逐个启动专家子智能体(subagents.spawn)
   │       子智能体:读必读文件 → 质疑先行 → 完成任务 → 追加落盘 → 返回总结
   ├─ 兜底定稿:若 S8 未完成(出错/中止),追加一次子智能体组装完整 论文定稿.md
   ├─ 向会话追加 tool-workflow/* 事件 → 聊天区原生工作流卡片
   └─ 面板 API:webServer 路由 /mcmp-api/{state,abort,reset}
   ▲
Client 插件(dsh-mcmp,标准 __ModuleLoader__ bundle)
   ├─ shell.overlay 浮动面板,每 1.2s fetch('/mcmp-api/state') 轮询
   └─ 进度条/步骤打点/日志/文件/中止按钮(拖拽仅绑定标题文字)

文件说明

仓库根目录即插件包本体(发布到 npm 的内容 = lib/ + cordis.patch.yml + package.json;tests/ 不随包发布)。

文件内容
package.json插件包清单:dsh.bundle 补丁声明、dsh.client 声明、exports 入口(. → Host,./client → 面板 bundle)
cordis.patch.ymlbundle 补丁:安装时自动注册插件行(insert: mcmp),无需手动编辑配置
lib/index.jsHost 半:命令注册、识图能力探测、断点续跑、Host 侧子智能体编排(8 步骤 + 兜底定稿)、/mcmp-api 面板路由
lib/client.jsClient 半:浮动进度面板(标准 __ModuleLoader__ bundle,fetch 轮询)
tests/smoke.mjs冒烟测试:伪造 Cordis ctx 驱动插件,验证启动/触发/断点续跑(含多轮)/中止/兜底/--from/识图探测等路径,node tests/smoke.mjs(不随 npm 包发布)

License

MIT