Skip to content

Repository files navigation

小雅辅助工具

面向小雅平台的浏览器用户脚本。


功能

  • 视频断点续播:从上次观看位置继续,可保存为本地文件便于离线复习
  • 课件批量下载:个人学习资料离线归档
  • 作业查看与归档:题目查看、作答记录导出 Word、我的答案与标准答案对照
  • 作业手写归档:作业题目与作答一键生成手写版,导出 .hinote / PDF / JPG
  • 讨论区互动
  • 计划调度与全局雷达
  • 进行中课程总览:待办、任务完成率、累计学习时长与课程学习数据概览
  • 脚本更新检查:一键比对最新版本、查看更新内容
  • 一键反馈 Bug

使用说明

本脚本仅用于个人学习资料的查看、整理与离线归档。它不替你完成学习,不提交任何作业,不与平台正常服务进行对抗性交互。请遵守所在学校或平台的使用规定,学术诚信由用户自行负责。


安装

  1. 安装 Tampermonkey 浏览器扩展
  2. 点击安装最新版脚本
  3. 打开小雅平台即可使用

脚本已启用 Gitee 自动更新(@updateURL / @downloadURL),并内置「检查更新」面板,有新版会自动提示。


技术栈

纯原生 JavaScript,零外部依赖,基于 Tampermonkey API。


版本

当前版本 3.7.3.7

更新记录

3.7.3.7 (2026-09-18)

  • 🎯 下载区全选范围限定为当前筛选(文件类型 + 文件名搜索)可见的文件,切换筛选后再次全选范围随之更新
  • 🔗 全选、单个勾选与下载队列状态保持同步,不再误选被过滤的文件

3.7.3.6 (2026-09-16)

  • 🛠️ 网络请求统一超时保护:弱网或服务端无响应时界面不再卡住,长时间挂机更稳
  • ⏱️ 修复教师设置观看时长后仍按默认时长执行的问题,交卷线正确对齐
  • 🛡️ 看门狗与跳转重试修复:防死锁恢复生效;重试计数跨页累计,不再无限重跳
  • 🔒 输出转义加固,规避注入风险

3.7.3.5 (2026-09-14)

  • 🛠️ 修复有些连播不显示当前任务:连播在新标签页/复制链接打开时会被误判为新会话并清空队列,现改为心跳时间戳判定,跨标签页不再断连播
  • 📅 跳转中状态补齐序号显示;跳转失败时 15 秒自动复位,不再卡在「正在跳转」
  • 🔀 三个连播入口(一键连播 / 雷达连播 / 智能排课)共用同一套基础筛选与去重逻辑,去重口径一致,各入口原有能力保持不变
  • 🛠️ 修复待办任务重复入队:重复或无效条目不再被排进队列
  • 💓 心跳请求加固:加入超时保护与重试抖动,长时间挂机更稳

3.7.3.4 (2026-09-10)

  • 📄 脚本头部新增开源协议与第三方声明注释块(GPL-3.0 · 四个引用项目的致谢与归属 · 仓库许可证文件链接),元数据新增 @source;功能代码零改动

3.7.3.3 (2026-09-08)

  • 🎯 任务名可点击跳转:任务明细与今日提示的条目直接进入对应任务页,缺失的章节信息自动从课程资源树反查补齐
  • ⏱️ 时长任务修复:文档提交线动态对齐教师设置的最低观看时长(watch_min_minutes),不再因固定提交线被服务端拒绝后提前跳走
  • 📅 计划调度:入队时长自动按任务要求规划;悬浮卡精简为序号 / 任务名 / 已驻留时间
  • ✨ 交互细节:任务行悬停指示条、「进入 →」箭头微动效、键盘焦点描边

3.7.3.2 (2026-08-31)

  • 📄 统一导出面板:「导出作答文档」与「手写归档」合并,普通导出 / 笔记版手写导出自由切换
  • ✅ 内容自由组合:题目、标准答案、我的作答三项可勾选,导出前实时预览
  • 🖼️ 图片全保留:题目图、选项图、手写上传图在 Word / PDF / 图片 / 笔记版里完整嵌入
  • 🧩 组合题识别:1.1、1.2 大题套小题按子题导出,每道子题旁带题图
  • 🛠️ 修复:长文本溢出页边、行与行重叠

3.7.3.1 (2026-08-29)

  • 🧹 内部清理:移除 15 个废弃函数(反馈旧问卷、Google 表单配置、鼠标模拟/深度伪装手动开关、看门狗停止器等),脚本更轻更稳
  • ✅ 功能零变化:全部引擎照常运行

3.7.3.0 (2026-08-28)

  • ✨ 新增「作业手写归档」:作业题目与作答一键生成手写版,导出 .hinote / PDF / JPG,手写作业免手抄
  • 🛡️ 修复「文件预览确认」弹窗卡住问题,挂机流程不再被拦截
  • 📝 修复访问非本人课程时误显示学情概览的问题
  • 📝 作业区数据全面修复:适配平台新版接口,浏览页与答题页的题目、作答记录、批改状态均可正常识别
  • 🧹 面板精简:移除冗余开关,仅保留「强制静音」,各引擎默认开启
  • ⚡ 作业自动拉取增加 10 秒冷却,避免请求过于频繁

3.7.2.6 (2026-08-27)

  • 🎨 界面美化:优化了一处样式细节

3.7.2.5 (2026-08-25)

  • 🖱️ 滚轮滚动接力优化:面板任意位置可滚,不再需要贴着滚动条
  • ✨ 系统控制区压缩为单行工具条,节省面板空间
  • 📜 面板缩小后内容可上下滚动(全分区统一)
  • 🛠️ 修复收起后残留空白大框
  • 🛠️ 修复学情概览在小面板下被压扁
  • 🎬 视频直链下载:VOD 视频换流出公网 mp4 直接保存
  • 📐 主控台浮窗自由缩放:八向拖拽 + 双击 grip 复位
  • 🛠️ 修复收起残留空白、概览压扁、缩小后无法滚动
  • ✨ 系统控制条瘦身单行化;🖱️ 滚轮任意位置可滚自动接力

3.7.2.4 (2026-08-24)

  • 🎬 视频直链下载:VOD 视频换流出公网 mp4 直接保存
  • 📐 主控台浮窗自由缩放:八向拖拽 + 双击 grip 复位

3.7.2.3 (2026-08-22)

  • 课程内 /task/home/courseTools 及裸 /mycourse/{id} 统一进入学情概览,不再有独立任务页/工作台
  • 学情概览进入即用缓存渲染,秒开且不再闪回原区;原「待命区」更名为「🛰️ 小雅引擎」
  • 区域切换日志全部静默,移除任务页 zone 及配套代码,与学情概览零冲突

3.7.2.2 (2026-08-22)

  • 修复旧页面扫描与课程学习数据概览并发时反复切换「进行中课程总览 / 课程学习数据概览」的问题
  • 固定打开的学情概览由中央分区仲裁保护,自动扫描不会覆盖当前查看内容;右上角显式返回仍可恢复原分区

3.7.2.1 (2026-08-22)

  • 新增全局与单课程两层「今日学习提示」:按待办状态、截止时间和完成情况给出可解释的行动顺序,并支持直达原任务
  • 课程总览与课程学情支持稳定往返;任务明细展开状态会保留,异步扫描不会覆盖用户正在查看的概览
  • 加固同课程作业切换的陈旧响应、下载鉴权与文件名安全、SPA 文档监听器生命周期

3.7.2 (2026-08-21)

  • 课程学习数据概览改为主控台正式区域,任务与作业明细支持展开查看和直达原任务
  • 修复概览路由重复切换、日志刷屏和滚动冲突,优化学习时长与任务完成度的视觉层级
  • 修复情报站超长链接横向溢出,公告链接会在控制台内自动换行

3.7.1 (2026-08-21)

  • 进行中课程依次展示有可做待办、无可做但有已截止任务、其余课程;每组按截止时间从早到晚、总任务数从多到少排序

3.7.0 (2026-08-21)

  • 新增「我的课程」进行中课程总览,汇总当前可做待办、任务完成率和累计学习时长,并支持课程搜索与待办筛选
  • 新增课程学习数据概览:展示学习时长、任务完成度、作业成绩与详情跳转
  • 作业状态清晰区分待提交、已截止、待批阅、已批阅;0/0 显示暂无任务,不再显示满进度条
  • 脚本检查更新与 Tampermonkey 自动更新统一切换至 Gitee 发布源

3.6.4 (2026-08-17)

  • 修复下载按钮事件委托与资源 ID 映射,点击后正确进入获取链接和下载流程
  • 兼容数组/对象两种课程资源返回结构,补齐 quote_id 与嵌套资源识别
  • 按参考脚本恢复下载链路:携带站点 Authorization 并采用流式读取
  • 修复批量下载等待流读取完成时长期停留在 0/1 (0%) 的问题,显示当前文件流式进度并确保成功/失败都能结束计数
  • 文件服务器缺少 Content-Length 时显示当前文件名和已接收字节数,并支持从 Content-Range 推断总大小
  • 下载进度改为紧凑卡片布局,长文件名自动省略,进度信息和操作按钮不再互相挤压
  • 单个下载按钮与批量下载共用进度卡片,显示 0/1、文件百分比、已接收大小和完成状态
  • 修复下载区课程切换时旧请求覆盖当前课程资源的问题
  • 修复下载失败被误判为空资源、无法自动重试的问题
  • 统一下载资源 ID,修复批量下载与目录树 ID 不一致
  • 增强动态 HTML 转义,降低动态内容注入风险
  • 优化 UI 观察器、持久定时器和异步异常处理

3.6.3 (2026-08-11)

  • 新增脚本更新模块:面板头部一键「检查更新」,显示当前/最新版本与更新内容
  • 面板头部改版为分段操作条(当前区域 / 反馈 / QQ群 / 检查更新)
  • 元数据启用 Tampermonkey 原生自动更新
  • 开源协议改为 GPL-3.0

3.6.2 (2026-08-02)

  • 调度任务库对齐雷达树状(课程→单元→任务)
  • 显示全部学生课程
  • 默认关闭开机动画,启动更快

3.6.1 (2026-08-02)

  • 课程目录区:树状目录浏览,点击跳转资源
  • 下载区单元顺序树状呈现 + 类型勾选筛选
  • 全局雷达:课程→单元→任务 树状展示
  • 自动破除系统弹窗(刷课区/下载区)

3.6.0 (2026-08-02)

  • 作业答题台全新 UI(作答/结果双 Tab),支持 AI 作答模板提取与一键提交作答记录
  • 提交结果面板:成绩摘要 + 每题状态徽章/我的答案/标准答案
  • 下载区排序(单元顺序/文件名/上传时间)+ 彩色扩展名徽章(色弱友好)+ 长文件名横向滚动

3.5.7 (2026-07-22)

  • 新增反馈入口:面板新增「反馈」按钮,一键跳转提交 Issue
  • 清理未使用的 SurveyJS 等 CDN 依赖,精简脚本

3.5.6 (2026-06-17)

  • 作业题目自动解析,支持 course_paper 路径
  • 课件下载增强,未加入课程也能下载
  • 修复面板双击及 SPA 竞争条件

3.5.5 (2026-06-15)

  • 新增作业导出 Word (.docx),含图片

3.5.4 (2026-06-12)

  • 一键连播按 DDL 智能排序
  • 情报站本地化

3.5.3 (2026-05-18)

  • 精简高级开关面板

3.5.2 (2026-05-18)

  • 视频断点续播

3.5.1 (2026-05-17)

  • 修复讨论区自动点赞

3.5.0 (2026-05-16)

  • 初始版本

开源协议与第三方许可

本项目采用 GPL-3.0 协议开源,许可证全文见 LICENSE。 你可以自由使用、修改和再分发本脚本;当对外分发修改后的版本时,整体衍生作品需同样以 GPL-3.0 协议发布,并完整保留版权声明。 本脚本按「原样」提供,不附带任何明示或暗示的担保。

第三方代码

本脚本开发过程中引用了下述开源项目的部分代码,在此向各位作者致谢:

项目 作者 原始许可证
小雅爬爬爬 zygame1314 MIT License
小雅做做做 zygame1314 MIT License
小雅自动刷 Qy Apache License 2.0
小雅粘粘粘 Qy Apache License 2.0

上述第三方代码原始许可文件随本仓库一并提供(LICENSE-MIT、LICENSE-APACHE),源码内已完整保留对应的版权与归属声明,项目详情参见 THIRD_PARTY_NOTICES.md。

许可兼容性说明:MIT License、Apache License 2.0 均与 GPL-3.0 协议兼容。当本项目整体对外分发时,包含第三方代码在内的整个衍生作品受 GPL-3.0 约束;若单独提取剥离上述第三方源码单独分发,则仍遵循其原始许可证。

若你是上述项目的作者,认为署名、许可证标注存在错误,欢迎提交 Issue,我会及时更正。

免责声明

本脚本按「原样」提供,不附带任何明示或暗示的担保。使用本脚本产生的一切后果由使用者自行承担,请遵守所在学校、平台以及当地法律法规。

About

武汉理工/理工智课/小雅(Xiaoya)学习平台 Tampermonkey 辅助脚本:课件批量下载 · 作业导出 Word · AI 作答 · 视频文档自动播放 · 学情总览 | Browser userscript helper for the Xiaoya e-learning platform

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages