总任务
–
引擎累计处理任务
运行中
–
正在执行的任务
已完成
–
刷课成功完成
异常
–
失败 / 异常任务
平均进度
–%
未完成任务的均值
题库沉淀
–
本地题库已缓存题目
完成率 0%
0/0已完成 / 总数
状态分布
运行中0
已完成0
异常0
队列0
平均进度 0%
0%未完成任务均值
答题对错闭环 & 风控
· 题库沉淀 · 猜题校准 · 防挤号加载中…
任务进度
· 最近任务正在加载数据…
暂无任务商城下单后,刷课任务将在这里显示实时进度
加载失败请检查引擎与数据库连接
| 课程 | 章节 | 当前任务 | 进度 | 状态 |
|---|
运行概览
· 健康监控 检测中…
引擎控制
实时进度
· 引擎运行与课程任务点正在刷的视频
课程进度 · 点击课程查看章节任务点明细
课程完成任务点总进度
任务进度
· 按账号+课程聚合,每账号每课最新一条加载中…
暂无任务记录
加载失败
| 课程 | 账号 | 章节 | 当前任务 | 进度 | 状态 | 开始 / 结束 | 操作 |
|---|
任务队列
· th_wk_queue加载中…
队列为空
加载失败
| 任务 ID | 账号 | 课程 | 优先级 | 状态 | 重试 | 入队时间 | 操作 |
|---|
账号库
· th_wk_user · 密码已脱敏加载中…
暂无账号
加载失败
| 账号 | 密码 | 昵称 | 学校 | fid | 操作 |
|---|
引擎日志
· superauto.log 实时尾部加载日志…
显示设置
· 面板本地偏好自动刷新数据
开启后定时拉取最新任务 / 进度 / 日志
刷新间隔
自动刷新的时间间隔
引擎地址
面板桥接引擎(只读展示)
面板令牌
请求头 X-Panel-Token(当前留空 = 不校验)
刷课设置
· 时段 · 间隔 · 时长上限 · 倍速 · 并发 · 快刷刷课时段窗口
开启后仅在窗口内刷课,窗口外自动暂停等待
时段起止
每日刷课时间,支持跨天(如 09:00 ~ 次日 02:00)
换视频间隔(秒)
两个视频之间停留秒数,风控建议 300 秒(5 分钟);0 = 不额外间隔
视频快刷(秒刷)
开启后视频直接提交满进度瞬间完成(快);默认关闭=真实播放,更稳、导出表看不出
单日时长上限(分钟)
每日累计刷课上限,到点自动停止;0 = 不限,风控建议 600~800
播放倍速
视频播放速度,默认原速 1.0(符合守则);调高更接近风控
并发任务数
同时刷的任务点数量,默认 4;过高易触发风控
引擎控制
· 触发任务处理答题能力
· 题库 / 大模型兜底正在检测题库与大模型…
检测失败
题库源状态
· 本地题库 + 千问大模型正在检测题库源…
题库检测失败
查题验证
· 输入题目看答案本地题库优先 · 千问大模型兜底
本地题库
…加载中…
本地题库暂无题目刷课答题后自动沉淀,或有数据后再看
加载失败
| 题目 | 答案 | 来源 |
|---|
题库日志
· tikuAdapter 请求记录加载中…
配置文件
· 引擎运行时配置加载中…
API 文档
· 引擎对接 + 面板管理接口统一响应格式
{"msg":"…","code":200,"data":…,"requestId":"…","systemTime":"…"}
引擎接口 ① 提交刷课任务
POST /api/task/submit(面板已封装为 api.php?a=submit)
参数:user、password、course_id、course_name、order_id
引擎接口 ② 查询用户课程
POST /api/task/courses(面板 api.php?a=courses)
参数:account、password → 返回课程列表(含 courseId)
引擎接口 ③ 状态与章节
GET /api/status · POST /api/task/chapters
动态下单模式无需手动启动:下单即自动刷课;chapters 只重扫章节任务点、不刷课
面板接口(api.php?a=…)
stats统计 ·progress任务进度 ·queue队列 ·users账号库 ·logs引擎日志health健康汇总 ·config引擎配置 ·answer_status答题/题库/猜题/防挤号统计tiku_status题库适配器状态 ·tiku_search查题 ·tiku_questions本地题库 ·tiku_logs题库日志task_retry重试任务 ·task_delete删队列 ·task_clear清记录 ·user_add/user_delete账号管理
增强能力
- 卡死自动重试:视频/文档/阅读类任务卡死自动重试(≤3 次),全部失败置异常并记错误原因
- 防挤号检测:检测到账号在别处登录 → 任务暂停(不重登踢学生),状态码 6
- 答题对错闭环:题库命中/大模型兜底/随机猜题(src=guess)全部入日志,猜题可纠错回写
大模型(答题兜底)
- 阿里云·千问 DashScope:qwen-plus 作答,题库未命中时自动兜底,密钥已配置
- 识别 1305 / SetLimitExceeded / TooManyRequests 等限流错误 → 退避重试,杜绝"限流被当无答案"随机猜题
题库(tikuAdapter)
- 答题链路:本地题库优先(th_local_tiku)→ 千问 qwen-plus 兜底 → 随机,命中自动沉淀回本地题库,越刷越准
- 命中解析:bestAnswer / allAnswer / answerText / answerKey 自动识别
- 命中答案自动沉淀进本地题库(th_local_tiku),越刷越准
错误码
10001账号或密码错误20001任务已存在20009账号在别处登录(检测到挤号,任务暂停)201系统异常
对接示例
· cURL / PythoncURL 提交刷课任务(商城下单对接)
curl -X POST "http://你的面板地址:8080/api.php?a=submit" \
-H "Content-Type: application/json" \
-d '{"loginAccount":"账号","password":"密码","courseId":"266429496","courseName":"2025级美育","orderId":"订单号"}'
Python 查询课程并提交
import requests
P="http://你的面板地址:8080/api.php"
courses=requests.post(P+"?a=courses",
json={"account":"账号","password":"密码"}).json()["data"]
cid=[c["courseId"] for c in courses][0]
requests.post(P+"?a=submit",
json={"loginAccount":"账号","password":"密码","courseId":cid,"orderId":"订单号"})
Python 题库查题(面板接口)
import requests
P="http://你的面板地址:8080/api.php"
r=requests.post(P+"?a=tiku_search",json={
"question":"特殊侵权责任的归责原则是?",
"options":["A.过错责任","B.过错推定责任","C.无过错责任"],
"type":0})
print(r.json()["data"]["answer"]) # 命中答案 → 已写回本地题库
Python 查看答题/风控统计
import requests
s=requests.get("http://你的面板地址:8080/api.php?a=answer_status").json()["data"]
q=s["quiz"]
print("本地题库",q["local_tiku"],"答题",q["answer_log"],
"猜题",q["guess"],"防挤号暂停",q["kick_paused"])
面板接口速查
# 全部管理接口(GET/POST 均可,POST 传 JSON body)
# a=stats 总览统计 a=progress 任务进度(按账号去重)
# a=progress_detail 单课全部任务点 a=queue 任务队列
# a=users 账号库 a=submit 提交刷课任务
# a=courses 查询课程 a=start 引擎状态检测
# a=rescan 重扫章节任务点 a=stop 停止全部任务
# a=config 引擎配置 a=logs 引擎日志
# a=answer_status 答题/风控 a=tiku_status 题库状态
# a=tiku_search 查题 a=tiku_questions 本地题库
# a=tiku_logs 题库日志 a=alerts 告警中心
# a=task_retry 重试任务 a=task_delete 删队列
# a=task_clear 清记录 a=user_add/user_delete 账号管理
# a=alert_read / alert_clear 告警已读 / 清空
# 统一返回 {"msg":"…","code":200,"data":…}
告警中心
· 挤号 / 漏刷 / 系统异常 / 题库熔断加载告警…
暂无告警引擎稳定运行中,一切正常
加载失败
| 级别 | 类型 | 标题 | 内容 | 时间 | 状态 |
|---|