🤖 MathModelAgent 📐
专为数学建模设计的 Agent
自动完成数学建模,生成一份完整的可以直接提交的论文。
⬇️ 下载最新桌面版(推荐)
🎨 姊妹项目:sci-box —— 科研图表 & 流程图 SKILL 合集
---
## 🖥️ 桌面版(推荐使用方式)
> **不想折腾环境?直接下载桌面版,开箱即用。**
>
> 👉 **[前往 Releases 下载最新版本](https://github.com/jihe520/MathModelAgent/releases/latest)**
桌面版已内置 Claude Code 与全套 MathModelAgent SKILLS,无需安装 Python / Node.js / Redis,也无需手动配置 SKILL,装好填一个模型 API Key 即可开始建模。
| 系统 | 下载文件 |
|------|----------|
| macOS(Apple 芯片 M 系列) | `mathmodel--arm64.dmg` |
| macOS(Intel 芯片) | `mathmodel--x64.dmg` |
| Windows 64 位 | `mathmodel--x64.exe` |
macOS 安装包已 Developer ID 签名并通过 Apple 公证。
> [!TIP]
> 不确定自己的 Mac 是哪种芯片?点击左上角 → 关于本机,看「芯片」一栏:显示 Apple M 系列选 arm64,显示 Intel 选 x64。
> [!WARNING]
> Windows 安装包当前未签名,首次安装或运行时可能出现 Microsoft Defender SmartScreen 提示,请选择「更多信息」→「仍要运行」,并务必从官方 [Releases 页面](https://github.com/jihe520/MathModelAgent/releases/latest) 下载。
安装后应用会自动检查更新(macOS 支持自动更新,Windows 待代码签名证书配置完成后启用)。
如果你是开发者,想自行部署或参与贡献,请继续阅读下方的 [SKILLS](#skills) 与 [使用教程](#-使用教程)。
---
## 🌟 愿景:
3 天的比赛时间变为 1 小时
自动完整一份可以获奖级别的建模论文
## ✨ 功能特性
- 🔍 自动分析问题,数学建模,编写代码,纠正错误,撰写论文
- 💻 Code Interpreter
- local Interpreter: 基于 jupyter , 代码保存为 notebook 方便再编辑
- 云端 code interpreter: [E2B](https://e2b.dev/) 和 [daytona](https://app.daytona.io/)
- 📝 生成一份编排好格式的论文
- 🤝 multi-agents: 建模手,代码手,论文手等
- 🔄 multi-llms: 每个 agent 设置不同的、合适的模型
- 🤖 支持所有模型: [litellm](https://docs.litellm.ai/docs/providers)
- 💰 成本低:workflow agentless,不依赖 agent 框架
- 🧩 自定义模板:prompt inject 为每个 subtask 单独设置需求
- 🌐 Web Search: Agent 自主搜索互联网获取真实数据(Tavily API)
- 📚 RAG 知识库: 从本地知识库检索建模方法、代码模板、论文写作参考(ChromaDB + Rerank)
- 🤝 HIL 人机协作: 关键节点暂停等待用户审批,支持 6 种决策动作(confirm / edit / regenerate / ask / skip / abort)
- 🛡️ 四层容错: 有限重试 → Fallback Hand Off → Evaluator Shadow Mode → Feedback Rerun
---
---
我在平台中托管了一个在线版本,方便使用,欢迎体验:
https://mathmodel.top/home
## SKILLS
项目蒸馏成完全由 SKILLS 驱动
不再做 Harness 层
### Intro
MathModelAgent SKILL —— 直接在 Harness 中驱动的数学建模自动化方案.
**💰 开源免费,接入任意模型**
完全开源免费,可接入任何模型。
**🧠 端到端自动化**
从问题分析、建模、编码、绘图到论文排版和验收,一条 `/1start-mathmodel` 命令全自动完成,中间阶段自动串联,无需人工干预。
**📄 17 套 Typst 论文模板**
内置中英文主流赛事模板(国赛、华数杯、华为杯、MCM/ICM 等),自动匹配赛事类型,生成排版精良、可直接提交的 PDF 论文。
**📐 内置建模知识库**
包含完整的建模规范、模型选择决策树(AHP、TOPSIS、ARIMA、GA 等)、常见易错模式和 MCM/ICM 评分标准,每个阶段自动参考,降低模型幻觉。
**✅ 9 步自动验收**
文本泄漏检测 → 数值一致性校验 → Typst 编译 → PDF 可视化检查,确保论文零低级错误。
**🔧 可组合、可扩展**
每个阶段是独立 Skill,可单独调用(如只跑分析、只写论文);模板和知识库可自由扩展;支持 Typst 生态排版。
### 🎨 姊妹项目:sci-box(科研图表 & 流程图)
科研绘图和流程图模板已独立成仓库 **[jihe520/sci-box](https://github.com/jihe520/sci-box)**,可单独安装、单独使用:
| SKILL | 内容 |
|-------|------|
| `scibox-figure` | SHAP / ROC / Taylor / 云雨图 / 和弦图 / 环形热图等科研图表复刻模板(Python + Matplotlib,导出 PNG / PDF / SVG) |
| `scibox-diagram` | 可编辑的 draw.io 模板:五层技术路线图、三栏研究框架、三栏流程图、横向任务流水线 |
```
npx skills add jihe520/sci-box
```

### Install & Usage
安装 SKILL
```
npx skills add jihe520/MathModelAgent --all
```
运行
```
// claude
claude --dangerously-skip-permissions
claude: /1start-mathmodel 完成这个数学建模任务
// codex
codex --yolo
codex: $start-mathmodel 完成这个数学建模任务
```
其他命令
```
/doctor: 检查环境配置
/typst-author: typst 知识
```
### What Can You Contribute?
项目以后只会做 SKLLS 层的迭代和优化,不会再做其他部分。
如果你希望寻找 Agent 开发岗位,你可以研究该项目 Agent 设计并贡献,我会尽量合并.
你能做什么:
- 优化贡献比赛 typst Template , 你可以找一些 LaTeX 转成 typst
- 优化 SKILL Workflow
- 在不同的 Harness 上测试 不同的 LLM, 提供反馈和案例放在 example 仓库
Harness SKILL 的优化需要大量黑盒测试和调优.
### Thinking
- 两年前,我做了一个 Mulit-Agent 的数学建模项目并开源出来,收到了社区的欢迎和很多 star, 感谢大家支持。
- 感谢开源的 latex 模板,我在此基础上转化为 typst 模板
- 此 SKILL 是一个基础模板,你可以基于此构建更适合你自己的 MathModel SKILL
- For Agent DEVs : 两年前,我都是自己实现一套 Agent 框架,现在和以后更多的 Agent 产品直接基于 Harness 如 Codex / Claude Code / Pi + SKILLS 来构建
---
---
## 🚀 后期计划
- [x] 添加并完成 webui、cli
- [x] 完善的教程、文档
- [ ] 提供 web 服务
- [ ] 英文支持(美赛)
- [ ] 集成 latex 模板
- [ ] 接入视觉模型
- [x] 添加正确文献引用
- [x] 更多测试案例
- [x] docker 部署
- [ ] human in loop ( HIL ): 关键节点暂停等待用户审批,支持 6 种决策动作(confirm/edit/regenerate/ask/skip/abort)
- [ ] feedback: 评估器评分 + 反馈注入重跑,先 Writer 后 Coder
- [x] codeinterpreter 接入云端 如 e2b 等供应商..
- [ ] 多语言: R 语言, matlab
- [ ] 绘图 napki,draw.io,plantuml,svg, mermaid.js
- [ ] 添加 benchmark
- [ ] web search tool: Tavily API 搜索互联网获取真实数据
- [ ] RAG 知识库: ChromaDB + Rerank 检索建模方法、代码模板、论文写作参考
- [ ] A2A hand off: Fallback 自动切换备用模型 + 有限重试 + Evaluator Shadow Mode
- [ ] chat / agent mode
## 视频demo
> [!CAUTION]
> 项目处于实验探索迭代demo阶段,有许多需要改进优化改进地方,我(项目作者)很忙,有时间会优化更新
> 欢迎贡献
## 📖 使用教程
提供三种部署方式,请选择最适合你的方案:
1. [docker(最简单)](#-方案一docker-部署推荐最简单)
2. [本地部署](#-方案二-本地部署)
3. [脚本本地部署(社区)](#-方案三自动脚本部署来自社区)
下载项目
```bash
git clone https://github.com/jihe520/MathModelAgent.git # 克隆项目
```
> 如果你想运行 命令行版本 cli 切换到 [master](https://github.com/jihe520/MathModelAgent/tree/master) 分支,部署更简单,但未来不会更新
### 🐳 方案一:Docker 部署(推荐:安全简单)
> 确保电脑安装了 docker 环境
1. 启动服务
在项目文件夹下运行:
```bash
docker-compose up
```
2. 访问
现在你可以访问:
- 前端界面:http://localhost:5173
- 后端API:http://localhost:8000
3. 配置
侧边栏 -> 头像 -> API Key
### 💻 方案二: 本地部署(推荐项目开发者部署)
> 确保电脑中安装好 Python, Nodejs, **Redis** 环境
#### step1:安装依赖
1. 下载Redis(记得设置环境变量redis_path)
- windows 下载地址:
- linux or mac 下载地址:
2. 安装后端依赖
```bash
# ============ 安装依赖 ============
# 1. 切换到 backend 目录
cd backend
# 2. 安装 uv 包管理器(推荐)
pip install uv
# 3. 同步项目依赖
uv sync
```
```bash
# ============ MacOS / Linux 安装命令 ============
# 1. 设置环境变量
export ENV=DEV
export REDIS_URL=redis://localhost:6379/0
```
```powershell
# ============ Windows PowerShell 安装命令 ============
# 1. 设置环境变量
$env:ENV="DEV"
$env:REDIS_URL="redis://localhost:6379/0"
# 2. 设置 PowerShell 执行策略策略为 RemoteSigned
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
# 3. 创建虚拟环境
python -m venv venv
```
3.安装前端依赖
```bash
cd frontend # 切换到 frontend 目录下
npm install -g pnpm
pnpm i
```
#### step2:启动项目
**windows用户直接双击运行项目中的win_start.bat 即可启动项目**
1.启动 Redis
```bash
redis-server
```
2.启动后端
```bash
# ============ MacOS / Linux 安装命令 ============
# 1. 激活虚拟环境
source .venv/bin/activate
# 2. 启动后端服务(激活后可直接使用 uvicorn 命令)
uvicorn app.main:app --host 0.0.0.0 --port 8000 --ws-ping-interval 60 --ws-ping-timeout 120 --reload
```
```bash
# ============ Windows PowerShell 安装命令 ============
# 1. 切换到 backend 目录
cd .\backend\
# 2. 激活虚拟环境
.\venv\Scripts\Activate.ps1
# 3. 启动后端服务
uvicorn app.main:app --host 0.0.0.0 --port 8000 --ws-ping-interval 60 --ws-ping-timeout 120 --reload
```
3.启动前端
```bash
cd .\frontend\
pnpm run dev
```
修改 backend/.env.dev 的环境变量 **REDIS_URL**
配置API Key
1. 使用 WebUI
侧边栏 -> 头像 -> API Key
2. 修改 backend/.env.dev 文件
先将.env.example文件 改为.env.dev
然后在.env.dev中 修改各 Agent API 配置
### 🚀 方案三:自动脚本部署(来自社区)
有没有自动部署的脚本 ?
[mmaAutoSetupRun](https://github.com/Fitia-UCAS/mmaAutoSetupRun)
[教程](./docs/md/tutorial.md)
运行的结果和产生在`backend/project/work_dir/xxx/*`目录下
- notebook.ipynb: 保存运行过程中产生的代码
- res.md: 保存最后运行产生的结果为 markdown 格式
需要自定义自定义提示词模板 template ?
Prompt Inject : [prompt](./backend/app/config/md_template.toml)
网络状况太差难以配置Docker等设置?
网络不畅时的配置过程示例:[网络环境极差时的MathModelAgent配置过程](docs/md/网络环境极差时的MathModelAgent配置过程.md)
## ⚙️ 新功能配置
MathModelAgent 支持以下可选功能,默认已关闭,开启后未配置外部依赖时自动降级跳过。详见 [升级说明](./升级说明.md)。
| 功能 | 配置开关 | 说明 |
|------|----------|------|
| Web Search | `SEARCH_ENABLED` + `TAVILY_API_KEY` | Agent 自主联网搜索真实数据(Tavily API) |
| RAG 知识库 | `RAG_ENABLED` | 从本地知识库检索建模方法和代码模板(ChromaDB + Rerank) |
| HIL 人机协作 | `HIL_ENABLED` | 关键节点暂停等待用户审批,支持 6 种决策动作 |
| Fallback Hand Off | `FALLBACK_*` 系列 | 主模型故障自动切换备用模型 |
| Evaluator + Feedback | `EVALUATOR_*` 系列 | 输出质量评估 + 反馈重跑 |
快速启用 Web Search:注册 [Tavily](https://tavily.com) 获取 API Key,在 `backend/.env.dev` 中设置 `TAVILY_API_KEY=tvly-xxx`。
## 🤝 贡献和开发
[DeepWiki](https://deepwiki.com/jihe520/MathModelAgent) | [Zread](https://zread.ai/jihe520/MathModelAgent)
> [!TIP]
> 如果你有跑出来好的案例可以提交 PR 在该仓库下:
> [MathModelAgent-Example](https://github.com/jihe520/MathModelAgent-Example)
- 项目处于**开发实验阶段**(我有时间就会更新),变更较多,还存在许多 Bug,我正着手修复。
- 希望大家一起参与,让这个项目变得更好
- 非常欢迎使用和提交 **PRs** 和 issues
- 需求参考 后期计划
clone 项目后,下载 **Todo Tree** 插件,可以查看代码中所有具体位置的 todo
`.cursor/*` 有项目整体架构、rules、mcp 可以方便开发使用
## 📄 版权License
个人免费使用,请勿商业用途,商业用途联系我(作者)
[License](./docs/md/License.md)
## 🙏 Reference
Thanks to the following projects:
- [OpenCodeInterpreter](https://github.com/OpenCodeInterpreter/OpenCodeInterpreter/tree/main)
- [TaskWeaver](https://github.com/microsoft/TaskWeaver)
- [Code-Interpreter](https://github.com/MrGreyfun/Local-Code-Interpreter/tree/main)
- [Latex](https://github.com/Veni222987/MathModelingLatexTemplate/tree/main)
- [Agent Laboratory](https://github.com/SamuelSchmidgall/AgentLaboratory)
- [ai-manus](https://github.com/Simpleyyt/ai-manus)
## 其他
### 💖 Sponsor
[☕️ 给作者买一杯咖啡](./docs/md/sponser.md)
https://linux.do/
#### 企业
[302.AI](https://share.302.ai/UoTruU) 是一个按用量付费的企业级AI资源平台,提供市场上最新、最全面的AI模型和API,以及多种开箱即用的在线AI应用
#### 用户
[danmo-tyc](https://github.com/danmo-tyc)
### 👥 GROUP
有问题可以进群问
点击链接加入腾讯频道【MathModelAgent】:https://pd.qq.com/s/7rfbai3au
点击链接加入群聊 779159301【MathModelAgent】:https://qm.qq.com/q/Fw2cCJPoki
[Discord](https://discord.gg/3Jmpqg5J)
> [!CAUTION]
> 免责声明: 注意,AI 生成仅供参考,目前水平直接参加国赛获奖是不可能的,但我相信 AI 和 该项目未来的成长。