Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 BMAD — 研究型学位申请智能助手

Tauri v2 + React 19 + FastAPI 全栈桌面应用

Tech React FastAPI Python TypeScript License


📖 简介

BMAD 是一款面向研究型学位(硕士/博士)申请者的桌面 AI 助手。通过多阶段智能分析,帮助申请人高效完成从简历解析、院校筛选、导师匹配到套磁信生成的完整申请流程。

六阶段工作流

阶段 名称 功能
1 画像设置 PDF 简历 AI 解析,自动提取教育背景、研究经历、技能标签、研究方向
2 院校录入 全球大学排名数据浏览(QS / ARWU / THE / USNews),CSV 批量导入院校导师
3 初筛匹配 基于研究方向的快速匹配,筛选候选院校与导师
4 论文分析 GitHub / arXiv 论文检索,AI 深度分析导师研究内容
5 深度匹配 多维度综合评分(方向契合度、学术背景、技能匹配)
6 套磁信 AI 个性化生成中英文套磁信,支持编辑导出

核心特性

  • 🤖 LLM 驱动 — DeepSeek / OpenAI 兼容接口,本地 API 密钥配置
  • 📄 简历解析 — PDF 上传自动提取姓名、邮箱、教育经历、技能、研究方向标签
  • 🌍 全球排名 — 内置 QS、ARWU、THE、USNews、软科中国 5 大排名(8,600+ 院校)
  • 📚 论文检索 — 关键词发现 + GitHub/arXiv 论文匹配
  • 🎯 智能匹配 — 三级匹配引擎(P1 快速初筛 → P2 综合评分 → P3 深度分析)
  • ✉️ 套磁信 — 个性化生成,中英双语,支持编辑与导出
  • 🖥️ 本地优先 — 所有数据存储本地,支持隐私模式

🛠️ 技术栈

桌面外壳

  • Tauri v2 — Rust 桌面框架,轻量级 WebView 容器
  • Cargo — Rust 包管理器

前端

  • React 19 — UI 框架
  • TypeScript — 类型安全
  • Tailwind CSS v4 — 原子化 CSS
  • Zustand — 状态管理
  • Lucide React — 图标库
  • Recharts — 数据可视化

后端

  • FastAPI — Python 异步 API 框架
  • SQLAlchemy 2.0 — ORM (aiosqlite 异步驱动)
  • Alembic — 数据库迁移
  • httpx — 异步 HTTP 客户端
  • PyMuPDF / PyPDF2 — PDF 解析
  • python-docx — Word 文档处理

LLM 集成

  • DeepSeek (deepseek-chat) 默认
  • 支持任意 OpenAI 兼容 API
  • UI 内热配置,无需重启

🚀 快速开始

前提条件

  • Python 3.11+
  • Node.js 20+
  • Rust (如需 Tauri 桌面打包)

1. 克隆仓库

git clone https://github.com/Howie131/Taoci.git
cd Taoci

2. 后端

cd backend
python -m venv .venv
.venv\Scripts\activate      # Windows
# source .venv/bin/activate  # macOS/Linux

pip install -r requirements.txt
cp .env.example .env         # 编辑 .env 填入 LLM API 密钥
alembic upgrade head
python -m uvicorn main:app --port 8400

3. 前端

cd frontend
npm install
npx vite --port 1420

4. 一键启动 (Windows)

双击 start.bat,自动启动后端 + 前端并打开浏览器。

访问地址

  • 前端界面:http://localhost:1420
  • 后端 API:http://localhost:8400
  • API 文档:http://localhost:8400/docs

📁 项目结构

├── backend/
│   ├── api/            # FastAPI 路由层
│   ├── core/           # 配置、数据库、模型、Schema
│   ├── data/           # 静态数据(国家代码等)
│   ├── engines/        # AI 引擎(解析/匹配/分析/生成)
│   ├── gateway/        # LLM 网关、认证
│   ├── services/       # 业务逻辑层
│   └── alembic/        # 数据库迁移
├── frontend/
│   ├── src/
│   │   ├── api/        # API 客户端
│   │   ├── components/ # UI 组件
│   │   ├── data/       # 静态数据
│   │   └── stores/     # Zustand 状态管理
│   └── src-tauri/      # Tauri 桌面配置
├── start.bat           # 一键启动脚本 (Windows)
└── start.sh            # 一键启动脚本 (macOS/Linux)

⚙️ 环境变量

复制 backend/.env.examplebackend/.env

DEV_MODE=true
DATABASE_URL=sqlite+aiosqlite:///app.db
LLM_BASE_URL=https://api.deepseek.com/v1
LLM_API_KEY=sk-your-key-here
LLM_MODEL=deepseek-chat

也可在应用内的 LLM API 设置 界面直接配置,无需手动编辑 .env


🏗️ 打包为桌面应用

cd frontend
npm run build              # 构建前端静态文件
cd src-tauri
cargo tauri build          # 打包为 exe / dmg / AppImage

📝 License

MIT

About

研究型学位申请智能助手 - Tauri v2 + React 19 + FastAPI

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages