chaoxing-auto-study
agent
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.
超星学习通自动化工具箱:挂机刷章节 + 作业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
快速开始(刷章节)
- 环境要求:Windows + Node.js 22+(需能装
playwright-core)+ Microsoft Edge npm i playwright-core后,把一键-启动刷课.bat里的NODE_EXE路径改成你的 node- 双击
一键-启动刷课.bat→ 自动弹出独立 Edge(调试端口 9222,独立用户目录,不影响日常浏览器) - 在 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 代写)
一条命令全自动(推荐)
- 双击
一键-配置AI.bat→ 粘贴 API key(智谱 / DeepSeek / 通义 / Kimi 等 OpenAI 兼容接口,只需一次) - 双击
一键-全自动.bat→ 在弹出浏览器里登录并点进作业页 - 脚本自动:导出题目 → AI 答题 → 自动填答 → 归档到
课程作业\课程名\第N次作业\ - 最后一步「提交」仍需人工点击
分步用法
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 代答)
- 浏览器进入考试页(验证码 + 诚信承诺必须人工完成)
- 双击
学习通考试AI代答\一键-考试全自动.bat(或python chx.py exam) - 脚本逐题遍历导出(一屏一题的考试版式)→ AI 答题 → 逐题点击/填写 → 归档
- 听力题:先用
python chx.py listen抓音频,转写稿存为考试听力转写.txt,exam会自动附带给 AI - 最后一步「提交考试」仍需人工点击
通用性:填答脚本不含任何课程相关内容,只依赖学习通考试页的统一 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)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi