一个 本地优先、隐私友好、轻量可改造 的推免 / 保研准备管理系统。
用一个网页工作台集中管理:院校项目、导师套磁、申请材料、待办事项与面试题库。
推免准备不是单纯填几张表,而是一个持续数月的信息管理过程:
- 院校、学院、夏令营、预推免、九推信息不断变化;
- 导师主页、研究方向、近期论文、套磁信和回复状态分散在不同地方;
- 简历、成绩单、证明材料、报名表、面试稿需要反复修改版本;
- Excel 可以记录进度,但和本地文件、导师信息、院校材料之间的关联并不顺手;
- 在线工具虽然方便,但个人材料、成绩单、证件、套磁记录等内容并不适合随意上传云端。
这个项目希望把 “表格记录”、“本地资料管理” 和 “申请进度看板” 连接到同一个轻量网页中,让推免准备过程更清晰、更安全、更容易备份。
| 总览 | 套磁 |
|---|---|
![]() |
![]() |
| 资源 | 院校 |
|---|---|
![]() |
![]() |
| 待办 | 面试 |
|---|---|
![]() |
![]() |
| 模块 | 功能说明 |
|---|---|
| 总览 | 数据大屏展示关注院校、入营 / 报名、优营 / 通过、套磁回复 / 发送、待办和近期文件 |
| 套磁 | 管理导师信息、套磁状态、套磁信、相关论文和本地文件,自动合并重复导师展示 |
| 资源 | 按文件夹层级浏览材料,支持搜索、上传、归类、备注、预览和删除,并显示文件类型图标 |
| 院校 | 管理学校、学院 / 项目、申请阶段、截止时间、账号、状态和备注,支持状态排序与同状态手动排序 |
| 待办 | 跟踪任务范围、截止日期、优先级、完成状态和备注 |
| 面试 | 整理面试题、答案要点、主题分类和标签 |
| 设置 | 修改头像、工作台标题、首页横幅、主题配色和页面风格 |
| 备份 | 一键备份本地 SQLite 数据库,降低误删和版本丢失风险 |
这个项目适合:
- 正在准备推免、保研、夏令营、预推免、九推的同学;
- 同时关注多个学校、多个学院、多个导师的申请者;
- 需要管理大量简历、成绩单、证明、报名表、套磁信和论文材料的人;
- 希望材料保存在本地,而不是上传到在线系统的人;
- 觉得纯 Excel 不够顺手,但又不想使用复杂管理软件的人。
默认运行在:
http://127.0.0.1:8848
数据保存在本机,不依赖云服务。
个人数据库、头像、备份文件和本地材料目录默认不会提交到 Git:
data/
保研准备/
项目适合个人本地使用,不需要注册账号,也不会主动上传个人文件。
项目只使用:
- Python 标准库 HTTP 服务;
- SQLite;
- 原生 HTML / CSS / JavaScript。
没有复杂框架,方便阅读、修改和二次开发。
网页中记录信息,本地文件仍然可以用系统默认程序打开。
PDF、Word、PPT、表格、图片等材料都保留原有文件管理习惯,同时在资源页中获得更清晰的索引和归类。
后端已经拆分为标准 Python 包,前端也按页面和通用能力拆分为模块。你可以继续扩展:
- 增加导师评分;
- 增加院校优先级;
- 增加报名材料清单;
- 增加面试复盘;
- 增加导出功能;
- 增加更多数据看板指标。
确保本机已经安装 Python 3。可以在终端中检查:
python --version在项目根目录运行:
python app.py浏览器打开:
http://127.0.0.1:8848
Windows 用户也可以直接双击:
start.bat
如果默认端口被占用,可以手动指定端口:
$env:BAOYAN_PORT="8891"
python app.py然后访问:
http://127.0.0.1:8891
- 将个人申请材料放入
保研准备/目录; - 启动项目并进入网页工作台;
- 在左侧点击 扫描材料,同步本地文件索引;
- 在资源页为文件设置归类,例如:
基本材料、套磁、院校、项目、面试、参考; - 归类为
套磁的文件,可以关联具体导师; - 归类为
院校的文件,可以关联具体学校或项目; - 在套磁页集中查看导师信息、套磁信和相关文件;
- 在院校页集中管理项目时间、账号、状态和备注;
- 在待办页记录报名、材料、邮件、面试等任务;
- 定期点击 备份数据,备份 SQLite 数据库。
.
├── app.py # 轻量启动入口
├── baoyan_app/ # 后端应用包
│ ├── analytics.py # 总览统计与数据大屏指标
│ ├── bootstrap.py # 启动迁移、清理、扫描
│ ├── config.py # 路径、端口、默认设置
│ ├── contact.py # 套磁工作区聚合
│ ├── db.py # SQLite 表结构与种子数据
│ ├── materials.py # 文件扫描、分类、上传、删除
│ ├── repositories.py # 通用 CRUD、下拉选项、排序
│ ├── server.py # HTTP 路由与静态文件服务
│ ├── settings.py # 设置与头像
│ ├── taxonomy.py # 状态、阶段、分类字典
│ └── utils.py # 通用工具
├── web/
│ ├── index.html # 页面入口
│ ├── style.css # 页面样式
│ └── js/ # 前端模块
├── imgs/ # README 展示截图
└── data/ # 本地数据库和头像,默认不提交
项目运行后,会自动使用或生成本地私有目录:
data/
├─ app.db
└─ backups/
保研准备/
└─ 网页添加/
建议将自己的申请材料统一放在 保研准备/ 目录下,例如:
保研准备/
├─ 基本材料/
├─ 套磁信/
├─ 论文/
├─ 院校项目/
├─ 夏令营/
├─ 面试/
└─ 网页添加/
资源页会扫描本地文件,并按目录层级展示。
| 层级 | 方案 |
|---|---|
| 后端 | Python 标准库 HTTP 服务 |
| 数据库 | SQLite |
| 前端 | 原生 HTML / CSS / JavaScript |
| 数据位置 | 本机 data/app.db |
| 文件位置 | 本机 保研准备/ |
| 运行方式 | 本地浏览器访问 127.0.0.1 |
如果这个项目对你有帮助,欢迎Star本项目。或者你也正在准备推免 / 保研,欢迎交流使用体验和改进建议。
- GitHub: BlairCode/baoyan_workbench
- Email:
zhanghoubing777@Gmail.com
本项目基于 MIT License 开源。
本网站为开源项目,仅供学习与交流使用,使用风险由用户自行承担





