基于 脚本猫 1693(作者 unrival,GPL-3.0-or-later)二次开发并持续维护的超星学习通学习辅助脚本。当前维护者:li_stu。
本项目仅供学习与技术研究使用。请遵守所在学校/平台的用户协议与学术规范,不要用于代替本人完成应独立完成的考核。
点本页的「安装此脚本」,由脚本管理器接管即可。需要 Tampermonkey / Violentmonkey / ScriptCat 之一。
脚本在课程页以 document-end 自动注入,无需额外配置。首次打开面板时 AI 默认关闭,视频、文档、图书、外链、速课、直播任务照常运行;要用自动答题再按下节填接口。
源码、历史版本、Bug 反馈都在 GitHub:
| 能力 | 说明 |
|---|---|
| 全任务流转 | 视频 / 音频 / 文档 / 图书 / 外链 / 速课 / 直播回放,单一 500ms 调度器统一驱动 |
| AI 辅助答题 | OpenAI 兼容接口,选项有序映射 + 点击回读核验 + 提交门禁 |
| 悬浮控制面板 | 任务配置、课程内容、运行日志一屏可见,不用切标签 |
| 单实例保护 | 心跳租约防止同课程双窗口运行,跨课程多开给出提示 |
| 图片 / 听力题文本化 | 纯字符串分词,不依赖 DOM 与 innerHTML,过滤危险来源 |
| 配置备份 | 全部 ai_* 配置可导出 / 导入 JSON,换设备不用重填 |
一句话:不填任何东西,视频 / 文档 / 图书 / 外链 / 速课 / 直播照常跑。 只有想用自动答题才需要接一个 OpenAI 兼容的模型接口。
LLM 配置: 那一行,点右侧的 展开设置;DeepSeek / Ollama 本地 / NuoAPI / 自定义;接口地址 与 API Key,点 获取模型列表,在「模型」下拉里选一个(拉不到就手填模型名);测试连接,状态栏出现 连接成功(1234ms) 后再点 保存。保存立即生效,不需要刷新页面。状态栏会显示 已保存并启用:AI直连 · 模型名。
| 预设 | 接口地址 | 默认模型 |
|---|---|---|
| 自定义 | — | — |
| DeepSeek | https://api.deepseek.com |
deepseek-flash |
| Ollama 本地 | http://localhost:11434/v1 |
qwen2.5:7b |
| NuoAPI | https://nuoapi.net/v1 |
gpt-5.6-luna |
自定义 接任意 OpenAI 兼容服务商;Ollama 本地 跑本机模型,不花钱也不联网。
NuoAPI 是四个预设里唯一带现成额度的:注册送 1 美元(以官网当前活动为准),按默认模型价位够刷一千道以上题目,先试水一分钱不用充。觉得不够再自己充,几元钱能用很久。
填 base URL 就行,末尾斜杠和具体路径都不用管,脚本会自己补:
http:// / https:// 前缀 → 自动补 https://;/chat/completions → 原样使用;/v1、/v2 这类版本号 → 补 /chat/completions;/v1/chat/completions。所以填 api.deepseek.com 和填 https://api.deepseek.com/v1 效果完全一样。
「AI 答题」下拉只有两档:关闭(只做视频/文档任务) 和 开启 AI 直连答题。但第一次填入接口地址和 Key 后点保存,脚本会自动把它切到「开启」(改了地址或 Key 也算),状态栏会明确提示。
如果只想先把配置存下来、暂时不答题:保存后把下拉改回 关闭 再存一次。之后只要不动地址和 Key,再点保存就不会被自动打开了。
| 参数 | 默认 | 说明 |
|---|---|---|
| 超时 | 22000 ms |
单次响应上限,最低 3000 |
| 温度 | 0.2 |
答题场景保持低温更稳 |
| max_tokens | 1024 |
单次回复长度上限 |
| 失败重试 | 2 |
0–5,遇 429 / 5xx / 超时按 0.8~1.5s 退避 |
| 并发上限 | 2 |
1–6;调高更容易撞上游 429 / 502 |
| 单题上限 | 45s |
连接 5s + 响应 22s + 2 次重试,超限即跳过该题 |
接口不稳时把并发上限调回 1、失败重试加到 3,比换模型更立竿见影。
默认系统提示词已经约定了严格输出格式:单选 → 一个字母(A)、多选 → 全部正确字母(ABD)、判断 → 正确 / 错误、填空 → 多个空用 ||| 分隔。解析器就按这套格式做严格校验,改成「请解释你的思路」会被判为无效答案,反而不答题。想调风格可以,输出格式那几句别动。
设置页最下面的「配置备份」卡片:点 导出配置,把接口地址、Key、模型、超时、提示词等全部序列化进文本框,复制出来存好;换到新浏览器后粘回文本框,点 导入配置。只会写入它认识的字段,多出来的键被忽略;粘的不是合法 JSON 会直接报错,不会动你现有的配置。
API Key 只保存在本机浏览器的油猴沙箱里,不写入源码、不随脚本分发、也不会被上传到任何作者服务器。它只会作为请求头发送给你自己配置的那家服务商。
| 类型 | 说明 |
|---|---|
video |
视频播放,按平台要求上报观看进度 |
document |
文档 / PPT 阅读任务 |
work |
章节测验、作业 |
book |
图书阅读任务 |
hyperlink |
外链任务 |
microCourse |
速课任务 |
live |
直播回放进度上报 |
调度器具备重入保护、超时回收和「只结束一次」的释放语义;未知任务与同步异常会标记失败并写入日志,不会静默卡住。
| 区块 | 内容 |
|---|---|
| 任务配置 | 视频倍速、复习模式、学习进度、章节测试四个开关;宽屏三组并排,窄屏自动折行 |
| 课程内容 / 章节测试 | 同一张卡片,进入章节测试时自动切换(标题追加「· 作答中」) |
| 运行日志 | 增量渲染的实时日志,保留最近 240 条,含跨 iframe 诊断事件 |
{ length: 0 } 之类的元数据混进发给模型的选项。aria-checked。无效的参数:code-1! 并刷新整页。现在脚本接管平台的确认框,只在清单写好之后才替你点确定;清单为空就把框原样留给你,并提示「平台未进入提交流程(凭证未就绪)」,绝不自己造一次空表单 POST。code-1 之类的拒绝文案时直接贴到面板,不再一边弹错误一边显示「已发起提交」。无效的参数:code-1! / 不能为空 等)时,页面上那份旧答案不再计入覆盖率,直接提示取消勾选「跳过已作答」后重新作答。workId 防止重复提交。data:、[DONE]、delta.content)。/models 可拉取候选模型列表;设置页底部「配置备份」可导出 / 导入全部配置(白名单写入,多余键被忽略)。innerHTML,过滤 javascript: / data: / blob: 等来源。需要以下 GM API:GM_xmlhttpRequest、GM_setValue、GM_getValue、GM_info、GM_getResourceText、unsafeWindow。
@connect |
用途 |
|---|---|
passport2-api.chaoxing.com |
平台登录态校验与用户信息 |
zhibo.chaoxing.com |
直播回放观看进度上报 |
pan-yz.chaoxing.com |
仅用于图标与运行日志截图,不发起接口请求 |
api.deepseek.com / nuoapi.net / localhost / 127.0.0.1 |
内置 AI 预设 |
* |
你在「LLM 设置」里自填的任意 OpenAI 兼容接口,域名无法预先枚举 |
脚本运行时加载的第三方前端库与数据:
| 来源 | 内容 |
|---|---|
lib.baomitu.com |
360 前端静态资源 CDN(Greasyfork 允许清单内):jQuery、Vue 2、Element UI、axios、promise-polyfill、cryptico |
forestpolice.org |
字体映射表(静态 JSON,供字体加密题解密) |
字体映射表的静态镜像另存在 https://github.com/hjm-al/chaoxing-font-table(原表作者 wyn665817,MIT),仅在上述上游失效时作为替换地址。
内嵌了 Typr.js(MIT,Copyright (c) 2016 Photopea)用于字体解析。因其为改造过的定制版本,故不通过 @require 引入,已在源码内标注上游地址与版权行。完整第三方许可见 https://github.com/hjm-al/chaoxing-assistant/blob/main/THIRD-PARTY-NOTICES.md。
本脚本不含任何推广参数、返利链接或分成关系。
面板「获取密钥」行与「未配置」时的失败提示里给出的是 NuoAPI 的普通注册地址,不带 aff、ref、utm 等任何追踪参数,作者不会因此获得任何形式的分成或返利。它与 DeepSeek、Ollama 本地预设地位相同,只是「选哪家服务商」的一个示例。
脚本基础任务功能(视频、文档、图书、外链、速课、直播)完全免费且离线可用,是否接入 AI 模型全凭自愿;不配 AI 也能正常跑完非答题类任务。
元数据以 @antifeature payment 声明:脚本会请求第三方付费 AI 接口进行答题,你可以选择停用该功能。
| 现象 | 处理 |
|---|---|
| 面板不出现 | 确认脚本管理器已启用,且当前页面是课程页而非首页 |
| 日志刷「LLM 未启用或未配置」 | 到「任务配置 → LLM 配置 → 展开设置」填接口地址与 API Key 后保存,详见上面「怎么配置 LLM」 |
| 找不到「展开设置」 | 它在「任务配置」里 LLM 配置: 这一行的右侧;考试 / 作业页没有主面板时,用悬浮面板里的「LLM 设置」 |
| 点「获取模型列表」报错 | 有的服务商不开 /models 接口,直接在「模型」输入框手填模型名即可 |
| 「测试连接」通了但答题还是失败 | 多半是模型名不对或提示词被改过,先点「恢复默认」再试 |
| 答题失败率高 | 换更强的模型;并发调回 1;单次超时适当下调 |
| 视频不自动播放 | 浏览器拦截自动播放时需先手动点一次页面 |
| 多个窗口互相干扰 | 关闭其他标签页,脚本会提示哪一窗口在运行 |
许可证 GPL-3.0-or-later。基于 unrival《超星学习通助手》(脚本猫 1693)二次开发并深度重构维护。
代码线(自上游到当前):
上游遗留的智慧树相关分支已全部移除,当前 @match 只覆盖 *.chaoxing.com、*.edu.cn、*.nbdlib.cn、*.hnsyu.net、*.ac.cn。
GPL-3.0-or-later 要求分发时源码可达,所以仓库是公开的。想改、想自己编译一版、想提 PR 都欢迎。