Files
icampus-learning-assistant/2倍速脚本使用说明.md

242 lines
22 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 学员中心 · 2倍速学习助手使用说明
适用版本:**1.4.3**。浏览器设置核对日期:**2026-10-06**。
[仓库首页](README.md) · [脚本文件](icampus-study-helper.user.js) · [更新记录](CHANGELOG.md)
## 1. 安装篡改猴和配置Chrome
本项目用于桌面Chrome的 [学员中心课程页](https://icampus.yunyinsh.com/course/),匹配 `https://icampus.yunyinsh.com/course/*`。其他学习平台、手机浏览器和其他脚本管理器未做兼容验证。
篡改猴(Tampermonkey/油猴)是运行脚本的浏览器扩展。先安装扩展,再导入本仓库脚本;普通用户无需Node.js或Git。
1. 用Chrome普通窗口访问 [官方商店页面](https://chromewebstore.google.com/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo),点击“添加至Chrome”。也可通过 [篡改猴官网](https://www.tampermonkey.net/index.php?browser=chrome) 的正式版商店入口安装。
2. 点击工具栏拼图图标,找到Tampermonkey,可固定到工具栏方便使用。
3. 地址栏输入 `chrome://extensions`,进入Tampermonkey“详情”,按下表配置。
4. 已安装用户无需重装;检查开关后继续安装脚本。
| 项目 | 设置 |
| --- | --- |
| 扩展启用 | Tampermonkey扩展开关保持开启 |
| Chrome 138及以上 | 详情页开启“允许用户脚本 / Allow User Scripts” |
| Chrome 138以前的适用版本 | 扩展列表右上角开启“开发者模式” |
| 网站访问权限 | 允许 `https://icampus.yunyinsh.com` 自动运行,可选择“在特定网站上”添加 |
| 在无痕模式下启用 | 需要无痕使用时开启“Allow in incognito” |
| 篡改猴开关 | 篡改猴总开关、已安装的本脚本均启用 |
| 允许访问文件网址 | 本脚本的文件导入、复制安装和HTTPS页面运行不需要 |
Chrome版本可在 `chrome://settings/help` 查看。新版Chrome不要仅打开开发者模式便认为权限已经齐全,应检查“允许用户脚本”。版本对应规则见 [Chrome用户脚本文档](https://developer.chrome.com/docs/extensions/reference/api/userScripts)、[篡改猴Q209](https://www.tampermonkey.net/faq.php?locale=zh&q=Q209)。
Chrome不能在无痕窗口内安装扩展,应先普通窗口安装再允许无痕。网站权限应自动允许课程站点,而不是每次点击扩展才临时授权。相关设置见 [Chrome扩展管理帮助](https://support.google.com/chrome_webstore/answer/2664769?hl=en)。
修改权限后刷新课程页。本脚本需要在页面加载时观察课程数据;保持原始脚本匹配规则、运行时机及沙盒设置,不需要额外修改高级选项。浏览器内部地址需复制到地址栏,通常不能从仓库直接点击打开。
## 2. 下载文件导入
1. 在仓库打开 [icampus-study-helper.user.js](icampus-study-helper.user.js)。
2. 点击文件页面的“下载”,或打开“原始文件 / Raw”后保存。文件应名为 `icampus-study-helper.user.js`,不能是仓库HTML网页或误存的 `.txt`。下载整个仓库压缩包的用户先解压。
3. 点击篡改猴图标 →“管理面板 / Dashboard”→“实用工具 / Utilities”。
4. 找到“从文件导入 / Import from file”文件选择按钮,选中该 `.user.js`。
5. 在安装/导入页面核对名称“学员中心 · 2倍速学习助手”和版本 **1.4.3**,按提示确认安装或更新。仅选择文件不等于安装完成。
6. 回到“已安装脚本”,确认开关开启。
7. 刷新课程页,确认左下角版本为 **1.4.3**。
篡改猴导入入口见 [官方导入导出说明](https://www.tampermonkey.net/faq.php?locale=zh&q=Q106)。界面文字可能因版本不同而变化;若该入口不接受 `.user.js`,直接用下一节复制方式,无需将脚本改成JSON。
点击仓库文件后只显示源码也是正常的,可继续下载或复制。不要将SSH仓库地址粘贴到“从URL安装”中。
## 3. 复制代码安装
1. 打开脚本的“原始文件 / Raw”,或用文本编辑器打开下载的 `.user.js`。
2. 全选复制全部代码,包括最前面的 `// ==UserScript==` 配置块和文件末尾。
3. 篡改猴图标 →“添加新脚本 / Create a new script”。
4. 点击脚本编辑区域,`Ctrl+A`全选并删除默认模板,再粘贴全部代码。
5. 按 `Ctrl+S`,或“文件 → 保存”。确认名称、版本和启用开关。
6. 刷新课程页,检查助手面板版本。
不要复制行号、网页其他内容或Markdown代码围栏;不要粘贴到地址栏、浏览器控制台或URL导入框。
**更新旧版本:** 在管理面板点击原脚本进入编辑器,替换全部代码并保存即可,不必新建。文件导入时选择更新原脚本,保留原始名称与namespace,避免两份同时运行。
## 4. 开始、继续和停止
1. 停用旧诊断脚本、倍速实验脚本和重复助手。
2. 登录网站,打开“我的课程”,展开要学习的分组,清除不需要的筛选,确认目标课程已显示。
3. 选择“按列表顺序继续课程”,或进入具体课程选择“仅当前课程”。
4. 默认保留自动测验、后台播放和受限时尝试静音三个勾选;需要全程无声音时,再勾选“全过程静音”,点击“开始”。
5. 需要停止时点击“人工取消”,之后刷新不会自动开始。
| 控件/状态 | 含义 |
| --- | --- |
| 按列表顺序继续课程 | 从当前显示列表首个未完成课程开始;已在课程内时先处理当前课程 |
| 仅当前课程 | 处理当前课程后等待,不继续其他课程 |
| 只做本门测验 | 先进入课程再点击,只处理该课程测验 |
| 自动测验,按平台合格线通过 | 自动答题、交卷和未合格重试;关闭后未合格测验需手动处理 |
| 切标签页继续播放 | 运行期间保留网站正常后台播放与保存流程 |
| 全过程静音 | 默认关闭;勾选后立即静音课程播放器,切换视频/课程、后台和刷新后继续保持 |
| 播放受限时尝试静音 | 有声自动播放被拒绝时尝试一次静音;成功后面板显示“静音” |
| 已启动 · 等待恢复 | 仍启用,查看提示;普通等待会定期检查或随页面变化接续 |
| 人工取消 | 关闭自动运行并暂停助手控制的视频 |
| 收起/展开 | 右上角收起面板成为状态条,点击状态条展开;收纳不停止任务 |
| 拖动标题/收纳条 | 按住并拖动来移动面板;其他按钮仍按正常点击操作 |
| 运行记录 → 更新记录 | 显示当前页的近期运行记录 |
更换运行范围或“只做本门测验”前,先人工取消。启动状态保存在当前标签页会话中,同一页普通刷新和自动恢复刷新都可接续。新标签页、浏览器重启、结束无痕会话不保证保留。手动暂停视频时,助手等待手动播放,不抢占暂停操作。
### 面板收纳和拖拽
点击标题右侧 **“收起”**,完整面板变成小型状态条,显示“运行中”“等待恢复”或“未启动”。收纳仅改变显示,不会暂停视频、取消任务或修改运行选项。鼠标停在状态条上可查看当前提示,点击 **“展开”** 恢复完整面板;需要停止时先展开再点“人工取消”。也可用Tab聚焦收起/展开按钮,按Enter操作。
按住展开面板的标题区域,或按住整个收纳条,拖动到合适位置即可。拖动收纳条后放开不会误展开,普通点击才展开。表单、收起和其他操作按钮不作为拖拽区域。
拖动结束、收起/展开时保存位置和状态,刷新后恢复。窗口缩小或展开后空间不足,会自动调整到可见范围;内容较多时面板内部可滚动。偏好保存在课程站点本地存储,普通/无痕环境分别记忆。浏览器禁止存储时仍可本页拖动和收纳,但不能保证刷新保留。
### 全过程静音
勾选 **“全过程静音”** 后,当前课程播放器立即静音,不用等待点击开始;每次启动、加载新视频或更换课程播放器都会应用静音,网页或用户在播放器中取消静音时也会重新静音。播放位置、音量滑块和播放速度不因该开关改变。
开关开启期间,等待、后台和人工取消后仍保持静音。要恢复声音,应先取消勾选“全过程静音”;播放器将恢复开启前的静音状态,原本已静音的播放器不会被强行打开声音。必要时再用播放器声音按钮取消静音。
偏好保存在课程站点本地存储,刷新后自动恢复;普通和无痕环境分别保存,无痕会话结束后可能丢失。该开关控制课程播放器,不影响其他网站或系统声音。“播放受限时尝试静音”仍是独立的自动播放恢复选项:无论该选项是否开启,全过程静音开启时都会保持静音。
## 5. 完成条件与检查范围
换课条件为 **学习进度完成,且需要测验的课程已由平台判定合格**。有明确学习进度时检查100%;没有该字段才参考平台课程完成标记。合格线由平台判断,脚本不根据分数猜测或写死阈值。
| 状态 | 行为 |
| --- | --- |
| 学习100%,测验75%,平台已合格 | 返回列表核对后下一课程 |
| 学习100%,测验75%,平台未合格 | 继续处理测验 |
| 学习75%,测验已合格 | 继续未完成视频 |
| 学习100%,不要求测验 | 返回列表核对后下一课程 |
| 页面显示完成但尚无平台确认 | 等待,不直接切换 |
视频自然播完且平台确认该资源完成才切换。课程完成后返回列表读取新状态,核对后继续;仅当前课程模式不换课。
自动队列基于当前列表已加载、已显示的课程卡片,按页面顺序处理。不会自动展开所有分组、翻页或扫描账号全部课程。显示范围完成后仍保持启用并等待;不能将提示理解为账号全部课程已检查。
## 6. 整体进度和预计完成时间
面板显示:
- **整体完成:** 已完成课程数÷统计范围课程数。完成必须同时满足学习和测验要求。
- **平均学习进度:** 各课程平台学习百分比的算术平均,按门数而非时长加权,与整体完成分开。
- **待合格测验:** 需要测验但平台还未判定合格的课程数。
- **预计剩余:** 尚需播放的时长按2倍速换算,再预留测验和切换时间。
- **预计完成:** 当前时间加预计剩余,使用浏览器本地日期与时间;停止/等待时显示“等待开始或恢复后计算”。
### 统计范围
默认统计本页面已经收到的课程列表数据,显示“已读取课程列表”。仅当前课程模式只统计当前课;只做测验模式不预测结束时间。直接进入课程、尚未读取列表时显示“未读取列表,暂统计当前课程”,不要把这个百分比当成账号总体。
列表数据中有但页面未展开的课程可能计入统计,却不在自动队列可点击的范围。请展开目标分组以对应运行范围。刷新后需重新读取列表与时长样本;要看整体,先打开“我的课程”再继续运行。
### 估算方法和局限
已读到详情的课程使用各视频时长减去平台返回的已保存位置;完成资源记为零。未读取时长的课程按已知完整视频课程的平均时长,结合其学习百分比粗估,面板明确标记“粗估”和涉及门数。
时间预算另包含每门未合格测验 **2分钟**、每门未完成课程切换 **15秒**。这些是规划预留,不是平台保证。反复重考、网络加载、后台节流、等待人工或保存确认会延后;不同课程长短差异大时粗估误差也会变大。
没有可用时长样本时显示暂无法估算;已知存在未完成的非视频资源时提示需人工处理。暂停时不提供继续倒数的完成时刻。统计范围均完成时显示剩余0分钟。**所有统计和估算仅用于展示,不参与平台完成判定或自动跳课。**
## 7. 自动播放卡住,刷新是否有用
本次实际无痕页面提示“浏览器阻止自动播放,请手动点击网页‘点击播放’”。日志中反复出现播放拒绝;通过网页真实播放按钮恢复后,已观察到2倍速和平台保存确认。
**刷新可以重新加载页面并接续已启动状态,但不能保证解除浏览器的自动播放限制。** 页面加载异常、未捕获课程详情时可以刷新;明确提示自动播放受限时,优先点击网页“点击播放”。
1.4.0默认开启“播放受限时尝试静音”:有声播放被拒绝后尝试一次静音播放,使用Chrome正常允许的播放方式;不修改浏览器安全设置。成功后可在播放器恢复声音;不需要此行为时取消勾选。若静音也被拒绝,则保持启用、等待点击,不再仅靠定时器反复重试或自动刷新。浏览器机制见 [Chrome自动播放说明](https://developer.chrome.com/blog/autoplay/)。
不要在正在手动填写尚未保存答案时直接刷新。普通刷新不会清除本地答案记忆和启动意图,但页面尚未提交的输入可能丢失。
### 进度停滞自动刷新
1.4.3在已启动的自动视频流程中检测异常,超时后保存恢复状态、暂停旧播放器、刷新当前网页并接续,不需要再次点开始。
| 异常 | 前台等待时间 | 行为 |
| --- | --- | --- |
| 新视频加载未就绪 | 90秒 | 尝试刷新恢复 |
| 视频已请求播放但未开始推进 | 20秒 | 尝试刷新恢复 |
| 已在播放的视频位置不再推进 | 超过60秒 | 尝试刷新恢复 |
| 未收到当前视频的保存确认 | 超过75秒 | 尝试刷新恢复 |
| 保存请求成功,但平台返回的位置与学习进度均无增长 | 超过120秒 | 尝试刷新恢复 |
| 视频自然结束,但平台未确认该资源完成 | 超过25秒 | 刷新重新核对,不直接跳过 |
后台相关窗口延长至至少180秒;返回前台后的20秒内允许网站恢复保存。实际检查时刻还受后台定时器限制。
检测会区分视频实际位置、平台保存位置和课程百分比。百分比取整暂时不变、但保存位置在前进时,不会误判;任一平台计数真实增长也会延后判定。没有返回可用的计数字段时,不把缺失字段当成零;仍可通过“没有保存确认”或“视频不动”检测恢复。平台已确认资源完成时,不再要求其进度继续增长。
**所有恢复原因共享每段视频每次运行一次的自动刷新额度,普通和自动刷新后仍保留已用额度。** 恢复后同一视频仍异常时保持启用但等待人工处理,避免刷新循环;处理问题后可手动恢复,人工取消再开始才属于新一轮运行。
这些检查只在自动视频流程中触发。手动暂停、正在等待测验、需要手动答题、浏览器明确拒绝自动播放、登录失效或前置未解锁等情况仍按提示处理。刷新无法保证解除平台限制或断网问题。
## 8. 自动测验与答案记忆
当前流程可能先处理本门未合格测验,再继续视频。支持每题最多8个不同文字选项的单选、判断、多选。
自动选择 → 点击当前可见“交卷” → 确认“确定交卷” → 等待评分。未合格时使用网页“重新测验”入口,根据逐题反馈保留正确答案、排除错误选项或组合,继续重试。没有脚本自设次数上限;已合格不再追求100分。
按题型、题干和选项文字匹配,选项字母换序不会直接照搬字母。仅平台明确反馈该题正确,或本次提交整卷确实100%正确时记为正确;75分合格的试卷不会整卷误记全对。内置第一门课程已验证的7道题答案,其余从反馈中逐步积累。
图片、材料、填空、问答、重复或不能识别的选项需人工处理。平台次数耗尽、入口不可用、缺少必要反馈或无新答案可试时等待,不反复提交相同答案,也不保证每种试卷自动通过。
## 9. 后台和无痕
先开始,再切其他标签页或将浏览器放后台,保持后台开关勾选。电脑保持唤醒、联网,浏览器和课程页保持打开。
Chrome经常回收课程页时,可在“设置 → 性能 → 始终保持活跃的网站”添加 `icampus.yunyinsh.com`。笔记本节能也可能减少后台活动,可根据电源情况调整。参考 [Chrome性能帮助](https://support.google.com/chrome/answer/12929150?hl=en)。
后台模式保留网站原有的正常播放和进度保存定时器,不改写真实页面可见状态、视频位置,不伪造或重放进度请求。关闭后台模式、停止助手或离开页面后恢复正常处理。后台等待和运行锁窗口至少180秒,回前台后给保存20秒恢复时间;仍无保存确认则按一次恢复额度刷新,额度已用则等待处理。休眠、关闭浏览器、冻结/丢弃标签页、断网仍无法保证继续。
无痕使用需允许扩展无痕运行并刷新实际课程页。普通和无痕站点数据隔离,答案记忆、开关及状态不自动共用;所有无痕窗口关闭后站点数据通常清除。运行锁仅在同一站点存储环境内生效,不跨普通/无痕或不同浏览器,同账号请只运行一个页面。
## 10. 更新、停用和数据
仓库推送不会自动更新已安装代码,当前未配置仓库自动更新地址。重新导入最新脚本或在原编辑器替换并保存,然后刷新普通/无痕课程页检查面板版本。原本已启动的页刷新会接续,想先检查设置可提前人工取消。
停用/卸载前先人工取消,再在篡改猴关闭或删除脚本并刷新课程页,才能卸掉已加载代码。
| 保存位置 | 内容 |
| --- | --- |
| 网站本地存储 | 答案记忆、最近提交快照、后台、全过程静音和静音回退偏好、面板位置及收纳状态、标签页运行锁 |
| 当前标签页会话存储 | 启用状态、运行范围和刷新恢复记录 |
| 当前页内存 | 运行记录、已读取课程列表和时长样本 |
本脚本不额外上传日志或账户信息,不保存登录凭据或视频链接;网站自身的请求照常运行。篡改猴导出脚本**不包含**本助手保存在课程网站中的答案记忆。更新脚本不会主动清空记忆;清理网站数据则可能清除答案和网站登录状态。
## 11. 常见问题
| 现象 | 处理 |
| --- | --- |
| 无助手面板 | 检查网址、扩展/脚本开关、用户脚本权限和网站权限;无痕另查无痕权限,最后刷新 |
| 无痕不生效 | 检查扩展无痕权限、实际使用的Chrome用户配置,再刷新无痕页 |
| 显示旧版本 | 确认保存/导入完成,停用重复脚本,刷新当前实际使用的课程页 |
| 已启动按钮不能再点 | 正常;查看下方运行/等待原因。换模式先人工取消 |
| 切换视频不播 | 等待新媒体就绪;自动播放拒绝按上一节处理;检查加载、网络和运行记录 |
| 答完不交卷 | 确认最新版本、是否有未答或不支持的题;1.3.0起已修正电脑侧栏交卷按钮识别 |
| 学习100%仍不换课 | 检查是否已合格、是否仅当前课程、列表是否返回新确认 |
| 75%已合格仍重考 | 确认当前页至少1.3.1,停用旧版并刷新 |
| 整体只显示1门 | 尚未读取课程列表或选择了仅当前课程;先打开“我的课程” |
| 预计时间暂不可用 | 等待视频时长数据;暂停、仅测验或需人工处理时不会显示可靠完成时刻 |
| 估计时间不断变化 | 数据逐步补齐、测验重试、停顿或平台保存更新会改变估计 |
| 当前显示全完成但其他分组还有课 | 展开目标分组并加载列表,必要时刷新获取新状态 |
| 另一个学习页运行 | 在另一个页面人工取消或关闭,等待运行锁释放 |
| 课程重名 | 手动进入目标课程,选仅当前课程 |
| 登录、前置限制、无保存确认 | 按平台提示处理后刷新,同一标签页可接续 |
| 视频没有声音 | 如勾选了全过程静音,先关闭该开关;再检查播放器原有静音状态或受限播放的静音回退 |
| 进度长期不动或没有保存确认 | 1.4.3会在超时后自动刷新一次并接续;仍失败时检查网络、登录和平台状态,查看运行记录 |
| 只看到小型助手状态条 | 面板已收纳,点击状态条展开;收纳期间任务仍继续 |
| 想移动面板 | 拖动标题或收纳条;不要拖动表单或操作按钮 |
反馈时展开“运行记录”并点“更新记录”,提供脚本版本、普通/无痕模式、运行范围、面板文字和必要记录,不要附凭据或完整敏感抓包。
## 12. 验证与恢复边界
116项本地行为测试:16播放/进度、13测验、13媒体恢复、12后台、10持续运行/完成条件、17统计/自动播放回退、10全过程静音、10面板操作、15进度停滞恢复。覆盖平台保存不增长、有响应但进度不变、取整误判、后台宽限、自然结束未确认、刷新后继续和共享额度,及原有播放、测验与面板功能。
面板另在本地模拟课程页面使用Playwright与预装Chrome验证:1280×900桌面及360×640窗口下的收起、展开、标题/状态条拖动、刷新保留、运行意图保留、屏幕边界和键盘展开均通过,无相关控制台错误。该验证只覆盖本地面板交互,没有更新用户浏览器中的已安装脚本;真实课程页和实际触屏设备尚未验证。
现场此前已观察到网页原生2倍速、平台保存响应及点击播放后恢复。全过程静音经过本地模拟测试,尚未在真实课程上验证。整体统计、估算和静音回退也尚未完成所有真实课程和长时间后台端到端验证,不能保证最终学分或全部课程结构兼容。
进度停滞检测与刷新恢复阈值见第7节,新增逻辑经过本地模拟回归,尚未在真实课程页验证。临时播放中断有界重试;播放权限拒绝不进入刷新循环。所有自动恢复均保留真实平台完成判断,不伪造状态。