Skip to content

Repository files navigation

超星学习通全自动刷课

基于 Samueli924/chaoxing 二次开发,新增编号菜单系统、本地题库、多账号管理、自动签到、题库管理、题目导出。

特性

  • 全任务覆盖:视频、音频、文档、阅读、章节测验、直播
  • 自动签到:监控课程签到,自动完成(普通/手势/位置/拍照/签到码)
  • 多题库后端:本地 SQLite / 阿里云百炼 / 硅基流动 / 言溪 / LIKE / OpenAI
  • 题库自学习:AI 搜到的答案自动存入本地库,越用越准
  • 题库管理:统计、导出、导入,可分享给他人
  • 题目导出:章节测验一键导出 Excel / JSON,用于复习
  • 编号菜单:启动后列举账号,全部数字选择,无需记忆命令
  • 多账号并发:同 IP 最多 3 个,开多个终端各跑一个
  • 反检测:随机延迟、Cookie 登录、403 恢复、字体解密

安装

方式一:exe 直接运行(推荐,开箱即用)

  1. 下载 dist/chaoxing.exe
  2. 放到任意文件夹,双击运行
  3. 首次运行会自动生成 accounts.jsonconfig.ini
  4. 编辑这两个文件,填写账号和配置
  5. 再次双击运行

方式二:pip 安装

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.iniprovider 可选:

说明
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] 返回

题库自学习

使用 BailianSiliconFlow 等 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

免责声明

本项目仅供学习交流,禁止用于商业用途。使用者自行承担一切风险和责任。

About

超星学习通全自动刷课工具 - 自动完成视频/文档/章节测验/直播,支持自动签到、本地题库、AI 答题、多账号并发

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages