基于 ChatGPT + DeepSeek 双模型协同,支持 电工杯、国赛、美赛、亚太杯 四大竞赛场景的全流程数学建模论文自动生成系统。
- 🤖 双模型协同:ChatGPT 负责问题分析/模型设计/论文写作,DeepSeek 负责代码实现/数据处理/全网检索
- ⚡ 4大竞赛场景:电工杯 / 全国数学建模竞赛(国赛)/ 美赛(MCM/ICM)/ 亚太杯,每个场景独立配置
- 🌏 亚太杯中/英双语:亚太杯支持中文赛项和英文赛项自由切换
- 🇺🇸 美赛全英文输出:论文、图表标签、参考文献全部英文,符合 MCM/ICM 规范
- 🔎 全网检索:通过秘塔AI搜索实时检索参考资料和学术论文
- 📄 一键全流程:输入赛题后一键自动生成完整论文,后台运行不阻塞
- ✅ 格式审查:自动格式检查 → 自动修复 → LLM语义审查 → 最终确认
- 📊 智能图表:ChatGPT 规划图表方案 + DeepSeek 生成专业科研图表
- 🖥️ 桌面应用:支持打包为 Windows exe,双击即用,无需安装环境
- 🔄 后台任务:全流程任务可在后台持续运行,切换页面后返回继续查看进度
| Agent | 竞赛 | 语言 | 论文格式 | 特殊规则 |
|---|---|---|---|---|
| ⚡ 电工杯-Agent | 电工杯 | 中文 | GB/T 7714 | 25页以内 |
| 📊 数模-Agent | 全国数学建模竞赛 | 中文 | GB/T 7714 | 20页以内,必须含附录 |
| 🇺🇸 美赛-Agent | MCM/ICM | 英文 | IEEE | 全英文论文/图表 |
| 🌏 亚太杯-Agent | 亚太地区 | 中/英 | GB/T 7714 或 IEEE | 中文赛项/英文赛项可选 |
pip install -r requirements.txt在 .env 文件中填入你的 API Key:
# OpenAI API(ChatGPT,可使用中转站)
OPENAI_API_KEY=your_key_here
OPENAI_BASE_URL=https://your-proxy.com/v1
OPENAI_MODEL=gpt-4o
# DeepSeek API
DEEPSEEK_API_KEY=your_key_here
DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
DEEPSEEK_MODEL=deepseek-chat
# 秘塔AI搜索 API(可选)
METASO_API_KEY=your_key_here# 启动桌面版(推荐)
python desktop_app.py桌面版基于 Vue 3 + FastAPI + pywebview,自动启动后端服务并打开原生窗口。
# 构建前端
cd frontend && npm install && npm run build
# 启动桌面应用
cd .. && python desktop_app.py# Windows
build.bat打包产物位于 dist/MCM-Agent/MCM-Agent.exe,将整个 dist/MCM-Agent 目录压缩后发送给其他人,对方解压双击即可运行,无需安装 Python 或 Node.js。
打开应用后,在首页选择竞赛场景 Agent(电工杯/国赛/美赛/亚太杯),输入项目名称,点击「✨ 开始建模」。
亚太杯 Agent 额外提供 🇨🇳中文赛项 / 🇺🇸英文赛项 选择。
- 📝 输入赛题:粘贴文本或上传 PDF/Word 文件
- 📎 上传资料:支持数据文件、图片、附件
- 🔍 问题分析:ChatGPT 自动分析赛题
- 🔎 资料检索:DeepSeek 全网搜索
- 📊 数据获取:自动解析数据文件/搜索数据集/生成模拟数据
- 🧮 模型建立:ChatGPT 设计数学模型
- 💻 代码实现:DeepSeek 生成代码 + 智能图表
- 📄 论文写作:ChatGPT 根据 Agent 配置撰写论文
- ✅ 质量检查:格式自动检查与优化
- 📥 导出论文:生成 Word / PDF / Markdown
点击侧边栏「🚀 一键全流程」,自动执行所有阶段。任务在后台持续运行,可以切换到其他页面,返回后继续查看进度。
在聊天区域直接向智能体提问,获取建模建议。
Math-Setup/
├── desktop_app.py # 桌面应用入口
├── build.bat # 一键打包脚本
├── mcm_agent.spec # PyInstaller 打包配置
├── config.py # 全局配置
├── .env # API Key 配置
├── requirements.txt # Python 依赖
│
├── agents/ # Agent 核心模块
│ ├── agent_configs.py # Agent 配置中心(4个竞赛场景)
│ ├── orchestrator.py # 双模型协同调度器
│ ├── chatgpt_agent.py # ChatGPT Agent
│ ├── deepseek_agent.py # DeepSeek Agent
│ └── prompts/ # 提示词模板
│ ├── system_prompts.py # 系统提示词
│ ├── analysis_prompts.py # 问题分析
│ ├── modeling_prompts.py # 模型建立
│ ├── writing_prompts.py # 论文写作
│ ├── review_prompts.py # 格式审查/优化
│ ├── revision_prompts.py # 修订提示词
│ └── data_prompts.py # 数据获取
│
├── backend/ # FastAPI 后端
│ ├── main.py # FastAPI 入口
│ ├── database.py # SQLite 数据库
│ ├── models.py # ORM 模型
│ ├── routers/ # API 路由
│ │ ├── project_router.py # 项目管理
│ │ ├── chat_router.py # 对话接口
│ │ ├── ws_router.py # WebSocket 实时通信
│ │ ├── upload_router.py # 文件上传
│ │ ├── data_router.py # 数据获取
│ │ ├── review_router.py # 评价修改
│ │ ├── export_router.py # 论文导出
│ │ └── config_router.py # 配置管理
│ └── static/ # 前端构建产物
│
├── frontend/ # Vue 3 + Vite 前端
│ └── src/
│ ├── pages/
│ │ ├── Home.vue # 首页(Agent 选择)
│ │ ├── Project.vue # 项目工作台
│ │ ├── Pipeline.vue # 全流程页面
│ │ ├── History.vue # 历史项目
│ │ └── Settings.vue # 设置页面
│ ├── stores/
│ │ └── pipelineStore.ts # 全局 Pipeline 状态管理
│ ├── apis/
│ │ └── project.ts # API 接口封装
│ ├── router/index.ts # 路由配置
│ └── App.vue # 根组件
│
├── services/ # 外部服务
│ ├── llm_service.py # LLM API 调用
│ ├── search_service.py # 搜索引擎 API
│ ├── chart_service.py # 图表生成
│ ├── data_acquisition_service.py # 数据获取(四级回退)
│ ├── data_analysis_service.py # 数据分析
│ ├── file_processor_service.py # 文件处理
│ └── image_gen_service.py # 图片生成
│
├── paper/ # 论文生成与格式检查
│ ├── docx_generator.py # Word 生成
│ ├── latex_generator.py # LaTeX 生成
│ ├── pdf_generator.py # PDF 生成
│ ├── paper_engine.py # 论文引擎
│ ├── format_checker.py # 格式检查引擎
│ └── format_optimizer.py # 格式优化器
│
├── knowledge/ # 知识库
│ ├── format_standards.md # 格式规范知识库
│ ├── format_templates.json # 电工杯排版模板
│ ├── competition_rules.md # 竞赛规则
│ ├── scoring_criteria.md # 评分标准
│ ├── best_practices.md # 最佳实践
│ ├── excellent_papers.md # 优秀论文范例
│ ├── community_cases.json # 社区案例数据
│ ├── meisai/ # 美赛知识库
│ │ ├── README.md # 美赛赛事概要(英文)
│ │ └── format_templates.json # 美赛排版模板
│ ├── shumo/ # 国赛知识库
│ │ ├── README.md # 国赛赛事概要
│ │ └── format_templates.json # 国赛排版模板
│ └── yataibei/ # 亚太杯知识库
│ ├── README.md # 亚太杯赛事概要
│ └── format_templates.json # 亚太杯排版模板
│
├── workflow/ # 工作流
│ └── state_manager.py # 状态持久化
│
├── sandbox/ # 代码沙箱
│ └── code_runner.py # 安全执行代码
│
├── output/ # 输出目录
│ ├── papers/ # 生成的论文
│ ├── code/ # 生成的代码
│ └── charts/ # 生成的图表
│
└── data/ # 数据目录
└── math_setup.db # SQLite 数据库
赛题输入 → 问题分析(ChatGPT) → 全网检索(DeepSeek)
→ 模型建立(ChatGPT) → 数据获取(四级回退: 上传→文本提取→搜索→模拟)
→ 代码实现(DeepSeek) → 智能图表生成
→ 论文写作(ChatGPT, 根据 Agent 配置) → 格式检查与优化(7步流程)
→ 导出论文(Word/PDF/Markdown)
自动格式检查(FormatChecker)
→ 自动格式修复(FormatOptimizer)
→ LLM语义审查(ChatGPT)
→ LLM格式优化(ChatGPT)
→ 自动复检
→ 最终确认(LLM)
→ 内容质量检查 + 降重检查
- 前端:Vue 3 + Vite + TypeScript + CSS Variables
- 后端:FastAPI + uvicorn + WebSocket
- 桌面容器:pywebview + FastAPI
- 打包分发:PyInstaller(onedir 模式)
- 数据库:SQLite + SQLAlchemy
- LLM:OpenAI API (ChatGPT) + DeepSeek API
- 搜索引擎:秘塔AI搜索 (Metaso API)
- 论文生成:LaTeX (xelatex) + python-docx + reportlab
- 格式检查:FormatChecker(自动规则引擎) + FormatOptimizer(自动修复) + LLM语义审查
- 数据处理:numpy + pandas + matplotlib + seaborn
- 图表生成:matplotlib + seaborn(多类型:折线/柱状/热力图/雷达/小提琴/龙卷风等)
- 知识库:多场景格式模板 + 评分标准 + 竞赛规则 + 优秀论文范例