基于 Samueli924/chaoxing 二次开发,新增编号菜单系统、本地题库、多账号管理、自动签到、题库管理、题目导出。
- 全任务覆盖:视频、音频、文档、阅读、章节测验、直播
- 自动签到:监控课程签到,自动完成(普通/手势/位置/拍照/签到码)
- 多题库后端:本地 SQLite / 阿里云百炼 / 硅基流动 / 言溪 / LIKE / OpenAI
- 题库自学习:AI 搜到的答案自动存入本地库,越用越准
- 题库管理:统计、导出、导入,可分享给他人
- 题目导出:章节测验一键导出 Excel / JSON,用于复习
- 编号菜单:启动后列举账号,全部数字选择,无需记忆命令
- 多账号并发:同 IP 最多 3 个,开多个终端各跑一个
- 反检测:随机延迟、Cookie 登录、403 恢复、字体解密
- 下载
dist/chaoxing.exe - 放到任意文件夹,双击运行
- 首次运行会自动生成
accounts.json和config.ini - 编辑这两个文件,填写账号和配置
- 再次双击运行
cd chaoxing
pip install -e .装完后任意目录输入 chaoxing 启动。
chaoxing ===================================
超星学习通刷课工具
===================================
编号 姓名 账号
-----------------------------------
[1] 张三 13800138001
[2] 李四 13800138002
-----------------------------------
[T] 题库管理
[0] 退出
-----------------------------------
请选择账号: 1
> 已选择: 张三 (13800138001)
-----------------------------------
[1] 查看课程列表
[2] 开始刷课(全部课程)
[3] 指定课程刷课
[4] 导入 cookies
[5] 签到监控
[6] 导出题目到 Word/Excel
[0] 返回上级
编辑 accounts.json:
{
"accounts": [
{
"id": 1,
"name": "张三",
"username": "13800138001",
"password": "password1",
"latitude": "30.1234",
"longitude": "120.5678",
"address": "河南省郑州市中原区XX大学"
},
{
"id": 2,
"name": "李四",
"username": "13800138002",
"password": "password2"
}
]
}签到相关字段(可选):
| 字段 | 说明 | 默认值 |
|---|---|---|
latitude |
位置签到纬度 | 30.1234 |
longitude |
位置签到经度 | 120.5678 |
address |
位置签到详细地址 | 空 |
photo_object_id |
拍照签到用的照片 objectId | 空 |
编辑 config.ini,provider 可选:
| 值 | 说明 |
|---|---|
TikuLocal |
本地 SQLite,无需 API Key |
Bailian |
阿里云百炼(qwen-plus 等) |
SiliconFlow |
硅基流动(DeepSeek-V3 等) |
TikuYanxi |
言溪题库 |
TikuLike |
LIKE 知识库 |
TikuAdapter |
TikuAdapter |
AI |
OpenAI 兼容接口 |
[tiku]
provider = TikuLocal
db_path = data/tiku.db
submit = true
cover_rate = 0.5[common]
speed = 1.0 # 播放倍速 (1.0-2.0)
jobs = 4 # 章节并发数
notopen_action = continue # 关闭任务点: retry/ask/continue启动后选 [5] 签到监控,程序将每 30 秒检查一次所有课程是否有新的签到活动,检测到后自动完成。
支持类型:
| 类型 | 支持 | 说明 |
|---|---|---|
| 普通签到 | 自动 | 直接签到 |
| 手势签到 | 自动 | 直接签到 |
| 位置签到 | 自动 | 使用账号配置的经纬度 |
| 拍照签到 | 需准备 | 上传照片到超星云盘,命名为 0.jpg |
| 签到码签到 | 需手动 | 输入老师给的 4 位数字 |
| 二维码签到 | 不支持 | 需扫码,暂无法自动处理 |
主菜单按 T 进入题库管理:
===================================
题库管理
===================================
总题目数: 128
single: 85
multiple: 23
judgement: 15
completion: 5
-----------------------------------
[1] 导出题库到 JSON
[2] 从 JSON 导入题库
[0] 返回
使用 Bailian、SiliconFlow 等 AI 题库刷课时,搜到的答案会自动存入 TikuLocal 的 SQLite 库。下次刷课遇到相同题目优先命中本地库,无需再调 AI,覆盖率越高速度越快。
- 导出为 JSON 可分享给他人,或备份
- 从 JSON 导入别人分享的题库,快速扩充覆盖率
选账号后按 [6],登录后选择课程,即可将章节测验题目导出为 Excel 或 JSON,用于复习。
开多个终端,各选不同账号,最多 3 个同时跑(同 IP 上限)。
终端1: chaoxing → 选 1号
终端2: chaoxing → 选 2号
终端3: chaoxing → 选 3号
chaoxing/
├── main.py # 入口 + 菜单
├── accounts.json # 账号存储
├── config.ini # 配置
├── api/ # 超星 API 协议
│ ├── base.py # 核心类(登录、课程、视频、答题)
│ ├── answer.py # 题库(TikuLocal 等,含自动保存)
│ ├── sign.py # 签到(普通/位置/拍照/手势/签到码)
│ ├── decode.py # HTML 解析
│ ├── cipher.py # AES 加密
│ ├── captcha.py # 验证码识别
│ └── ...
├── data/
│ └── tiku.db # 本地题库
└── resource/
└── font_map_table.json
本项目仅供学习交流,禁止用于商业用途。使用者自行承担一切风险和责任。