Issue一个使用简单, 开源安全的北师大自动抢课/蹲课程序, 支持公选课/专业课, 支持批量抢课/蹲课, 欢迎点亮 Star 关注本项目~

注: 请下载最新版 (即你下载时标注有 latest 的版本), 图中的版本可能不是最新的


MacOS下软件未签名, 所以MacOS下可能提示软件已损坏,请参见这篇文章修复,或自行下载源码进行编译 (见文末的手动构建方法), 或安装Windows虚拟机使用Windows版本 (不推荐)偶尔你会发现一个版本号比
latest版本更高的版本, 这是小鸦抢课的测试版. 测试版通常会加入一些新功能, 但没有经过充分测试, 可能会有一些问题, 所以请谨慎使用.
首次开启软件会自动显示教程, 也可以点击右上角的 ? 图标再次查看教程. 下面是软件内教程提到的一些额外的详细信息 (选读)
总而言之, 要抢课就用 抢课 模式, 插电蹲课用 多线程蹲课, 边上课边蹲课用 单线程蹲课
| 模式 | 开启教务页面数 | 如果系统未开启 | 如果可选人数为零 | 多个课程中一个成功 | 多个课程中一个出错 | 速度 | 耗电量 |
|---|---|---|---|---|---|---|---|
| 抢课 | 每个课程一个 | 刷新 | 退出 | 继续剩余课程 | 继续剩余课程 | 快 | 课程越多越高 |
| 多线程蹲课 | 每个课程一个 | 退出 | 刷新 | 继续剩余课程 | 退出 | 快 | 课程越多越高 |
| 单线程蹲课 | 最多两个 | 退出 | 刷新 | 退出 | 退出 | 课程越多越慢 | 较低 |
北师大的选课系统分为 按开课计划选课、按上课时间选课、选公共选修课 三个大类, 其中 按开课计划选课 和 选公共选修课 可以选的课程有部分重叠, 而 按上课时间选课 则包含了所有课程
小鸦抢课只支持 按开课计划选课 和 选公共选修课 两个类别, 所以请确保你要选的课程在这两个类别里
对于大一新同学, 一个简单的判断方式是: 你必修的课、专业选修课都不在 选公共选修课 里, 且大多数 选公共选修课 里的课程的上课班号只有 01
据传, 选课系统同时只支持约三/四/五(说法不一)个页面同时操作, 小鸦抢课会为每门课都打开一个页面 (单线程蹲课 模式除外), 所以如果要同时选多门课, 请自行承担风险 (但是我这边测试的时候, 排除了上面说的其他年级抢课的影响, 同时多线程蹲六门课也是正常的, 所以应该是误传)
后端基于 Go, 前端基于 TypeScript, 使用 Wails、React、Playwright、AntDesign 等工具或框架开发; 由于抢课时没有选择直接发送请求, 而是以浏览器自动化的方式实现, 所以使用风险较小, 但是效率也会低一些
1.4.0 及以前的二进制文件仅在 Windows 下测试过, 1.5.0 及以后的二进制文件仅在 MacOS 下测试过, 其他平台如果有问题请提交 Issue 或 Pull Request
Go、Node.js、Bun (请自行前往官网下载安装)go install github.com/wailsapp/wails/v2/cmd/wails@latest 安装 Wailsgit clone https://github.com/LeafYeeXYZ/BNUCourseGetter.git 克隆本项目cd BNUCourseGetter 进入项目目录wails build 编译项目build/bin 目录下找到编译好的二进制文件, 执行即可$ claude mcp add BNUCourseGetter \
-- python -m otcore.mcp_server <graph>