chaoxing-auto-study

agent
Guvenlik Denetimi
Basarisiz
Health Uyari
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 11 GitHub stars
Code Basarisiz
  • eval() — Dynamic code execution via eval() in 学习通作业AI代写/chaoxing_dump.js
  • fs.rmSync — Destructive file system operation in 学习通作业AI代写/chaoxing_dump.js
  • os.homedir — User home directory access in 学习通作业AI代写/chaoxing_dump.js
  • process.env — Environment variable access in 学习通作业AI代写/chaoxing_dump.js
  • fs module — File system access in 学习通作业AI代写/chaoxing_dump.js
  • eval() — Dynamic code execution via eval() in 学习通作业AI代写/chaoxing_fill.js
  • os.homedir — User home directory access in 学习通作业AI代写/chaoxing_fill.js
  • process.env — Environment variable access in 学习通作业AI代写/chaoxing_fill.js
  • fs module — File system access in 学习通作业AI代写/chaoxing_fill.js
  • eval() — Dynamic code execution via eval() in 学习通作业AI代写/chaoxing_listen.js
  • process.env — Environment variable access in 学习通作业AI代写/chaoxing_listen.js
  • fs module — File system access in 学习通作业AI代写/chaoxing_listen.js
  • os.homedir — User home directory access in 学习通作业AI代写/inspect_quiz.js
  • fs module — File system access in 学习通作业AI代写/inspect_quiz.js
  • process.env — Environment variable access in 学习通考试AI代答/chaoxing_exam_fill.js
  • fs module — File system access in 学习通考试AI代答/chaoxing_exam_fill.js
  • process.env — Environment variable access in 超星学习通一键挂机刷章节脚本/诊断工具/check_progress.js
  • fs module — File system access in 超星学习通一键挂机刷章节脚本/诊断工具/check_progress.js
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

超星学习通自动化工具箱:挂机刷章节 + 作业AI代写 + 考试AI代答,三模块一键启动(Windows + Playwright + 任意 OpenAI 兼容模型)

README.md

超星学习通(Chaoxing)自动刷章节 + 作业/考试 AI 代写助手

一套基于 Playwright(CDP 连接独立 Edge)的超星学习通自动化工具箱:
挂机刷章节视频/测验 + 作业题目导出 → AI 代写 → 自动填答 → 归档 +
考试逐题导出 → AI 作答(含听力转写)→ 逐题填答 → 归档,全部一键启动。

目录结构

├── 超星学习通一键挂机刷章节脚本/     ← 挂机刷章节(视频 + 测验 + 弹题全自动)
│   ├── chaoxing_course.js           核心引擎(当前 v7.15,约 4600 行)
│   ├── 刷课配置.json                唯一调参入口(热重载,改完 4 秒生效)
│   ├── 一键-启动刷课.bat            启动独立 Edge + 引擎(推荐入口)
│   ├── 一键-暂停刷课.bat / 一键-继续刷课.bat / 一键-停止刷课.bat
│   └── 诊断工具/                    页面探针 / 进度检查 / 导航溯源 / 任务点扫描
├── 学习通作业AI代写/
│   ├── chx.py                       统一入口(doctor / dump / listen / fill / auto / exam / archive / llm)
│   ├── chx_mcp_server.py            MCP 连接器(7 个工具,供 AI 会话直接调用)
│   ├── chaoxing_dump.js             从作业页导出全部题目 → 题目.txt(自动等待 AJAX 渲染)
│   ├── chaoxing_fill.js             读 answers.json 自动填答(含 UEditor 富文本 / 听力填空)
│   ├── chaoxing_listen.js           抓听力音频 + 生成挖空工作单
│   ├── archive_homework.py          按课程归档(题目+答案+解析 → 纯 txt)
│   ├── llm_config.example.json      AI 配置模板(复制为 llm_config.json 填 key)
│   └── 一键-全自动.bat / 一键-导出题目.bat / 一键-自动填答.bat / 一键-归档作业.bat
│   └── 一键-配置AI.bat / 一键-打开浏览器.bat
└── 学习通考试AI代答/
    ├── chaoxing_exam_fill.js        通用考试填答(单选/多选/判断/填空/简答,任何课程通用)
    └── 一键-考试全自动.bat / 一键-只填答.bat

快速开始(刷章节)

  1. 环境要求:Windows + Node.js 22+(需能装 playwright-core)+ Microsoft Edge
  2. npm i playwright-core 后,把 一键-启动刷课.bat 里的 NODE_EXE 路径改成你的 node
  3. 双击 一键-启动刷课.bat → 自动弹出独立 Edge(调试端口 9222,独立用户目录,不影响日常浏览器)
  4. 在 Edge 里登录学习通、进入课程点任意一节 → 之后全自动,可最小化挂后台

核心特性(v7.15)

  • 任务点权威判据:读取 .ans-job-icon 的 aria-label("任务点已完成/未完成"),
    明文属性、不受学习通字体反爬影响
  • 按视频时长自动匹配倍速:判定规则是"累计真实播放秒数 ≥ 总时长 × 完成比例",
    每门课/每节的完成比例(90% / 100%)从页面明文实时解析,逐节生效
  • 视频内弹题自动作答(判断/单选,可配置开关与重试次数)
  • 测验自动作答:优先查本地题库(题库/ 目录),未命中可配置蒙题或导出给 AI
  • 全屏遮罩处理:jobFinishTip 任务完成弹层自动关闭,不再拦截页面点击
  • 防误点机制:所有导航类点击走页面内 el.click() + 目录元素排除白名单
    (修复过 text=确定 子串匹配误中「精确定位」目录行导致无限跳章的经典 bug)
  • 热重载配置:刷课配置.json 改完自动生效,不用重启

刷课配置说明

配置 默认 说明
speed 1.5 倍速上限(会按视频时长自动向下匹配)
autoSpeedByDuration true 按"时长 × 完成比例"反推能一遍过的倍速
completeRatio 0.9 完成比例兜底值(页面明文可读时以明文为准)
autoQuiz / guessUnknown true 自动做测验 / 题库未命中时蒙题
videoQuiz true 视频内弹题自动作答
muted true 静音播放
protectWork true 保护作业页面不被误操作

快速开始(作业 AI 代写)

一条命令全自动(推荐)

  1. 双击 一键-配置AI.bat → 粘贴 API key(智谱 / DeepSeek / 通义 / Kimi 等 OpenAI 兼容接口,只需一次)
  2. 双击 一键-全自动.bat → 在弹出浏览器里登录并点进作业页
  3. 脚本自动:导出题目 → AI 答题 → 自动填答 → 归档到 课程作业\课程名\第N次作业\
  4. 最后一步「提交」仍需人工点击

分步用法

python chx.py doctor                                    # 环境自检
python chx.py browser                                   # 拉起独立浏览器
python chx.py dump                                      # 导出当前作答页题目
python chx.py listen                                    # 抓听力音频(转写后并入答案)
python chx.py fill                                      # 自动填答(自动区分作业页/考试页)
python chx.py archive "数据库原理与应用" "第三次作业"      # 归档(不写次数则自动递增)
python chx.py auto --course "课程名"                     # 作业全自动
python chx.py exam --course "课程名"                     # 考试全自动
python chx.py llm                                       # 检测 AI key 是否可用

AI 配置:复制 llm_config.example.json 为 llm_config.json,填 api_key 即可。
默认走智谱 glm-5.3-flash,自动降级 glm-5.3-flashx → glm-4.5-flash(免费兜底)。

归档产物只有两个纯文本文件:

  • 题目.txt —— 原题
  • 答案.txt —— 题目 + 答案 + 解题思路/考点,期末复习直接看这一个文件

快速开始(考试 AI 代答)

  1. 浏览器进入考试页(验证码 + 诚信承诺必须人工完成)
  2. 双击 学习通考试AI代答\一键-考试全自动.bat(或 python chx.py exam)
  3. 脚本逐题遍历导出(一屏一题的考试版式)→ AI 答题 → 逐题点击/填写 → 归档
  4. 听力题:先用 python chx.py listen 抓音频,转写稿存为 考试听力转写.txt,
    exam 会自动附带给 AI
  5. 最后一步「提交考试」仍需人工点击

通用性:填答脚本不含任何课程相关内容,只依赖学习通考试页的统一 DOM:

题型 处理方式
单选 / 阅读理解的单选小题 点击 span[data=字母]
多选题 连点多个字母(答案 "AC" → 点 A、C)
判断题 自动把「对/错/true/false」翻译成 A/B
填空题 / 简答题 / 计算题 写入 UEditor 富文本编辑器(支持多空拆分)
连线 / 排序等特殊题型 暂不支持,会跳过并记录

注:口语测评、验证码、诚信承诺书等身份核验环节不提供自动化,需本人完成。

诊断工具

工具 用途
nav_tracer.js 导航溯源探针:页面莫名跳走时,hook 全部跳转入口 + CDP 抓导航发起栈,一条命令指认元凶
check_progress.js 读取课程目录完成进度
dump_masks.js dump 当前页面所有弹层/遮罩结构
scan_jobtypes.js / scan_jobtypes2.js 扫描某节的任务点构成(视频/测验/文档)
verify_catalog_read.js 验证目录完成数的读取来源是否正确
test_speed_match.js 倍速匹配公式离线自测(15/15 通过)
exp_speed_judge.js 完成判定规则对照实验
test_videoquiz.js 视频内弹题选择器自测

⚠️ 免责声明

本项目仅供学习交流与自动化技术研究,使用产生的一切后果由使用者自行承担。
请遵守所在学校/平台的相关规定,合理使用。

Yorumlar (0)

Sonuc bulunamadi