Skip to content

Releases: Ling19-YI/coursehelper

课程任务助手 CourseHelper v2.1.4

Choose a tag to compare

@Ling19-YI Ling19-YI released this 21 Oct 03:02

更新内容

本版是三个真实缺陷的修复,都来自真机实测。

修复:答完弹窗却不退场,程序像「卡住不动」

章节测验答对后,弹窗底部会留下一枚蓝色「继续学习」按钮。不点它,弹窗就一直
盖在页面上,程序后续的所有点击都被它挡住——你看到的就是「答完了却不动」。

现在收尾走两条路:先等平台自动收起,没收再找「继续学习」这类按钮点掉。
点完还会再确认一次弹层是否真的退了。

修复:已经做过的题被当成新题重做

交卷之后,平台会把测验页换成一个只读的批阅页。它长得极像答题页:完整的
题目、完整的选项,甚至还显示着「我的答案 B 33.3分」。但它不能作答——没有
可填的输入框,也没有提交按钮。

程序此前会把这里的旧答案当成新题去重做,你看到的就是「反复卡在同一章」
「已经做过的题又填一遍」。现在这种页面会被单独识别并排除出答题范围。

修复:分数不够也算「已完成」,错题永远不重做

实测一门课 2.2 的章节测验:3 题答对 2 题,得 66.6 分(满分 100),平台照样
标「已完成」,目录里的待办也清零了。于是那道答错的题再也不会被重做。

现在程序会读批阅页上的成绩,有错题就如实告诉你:
「本次成绩 66.6/100 分,3 题里错了 1 题(平台仍标记为已完成,这一章不会再重做)」。
分数够时也会记一行「本次成绩 100/100 分」,方便核对。

换了收款码

关于页和下载页的微信收款码已更新为新的。不影响任何功能。

遇到问题?

关于页新增了 QQ 群:1128273483。使用中遇到问题或想反馈建议可以加群,
群里不提供账号代办类服务。

升级说明

旧用户无需重新登录,账号与学习进度沿用上一版的数据目录。

课程任务助手 CourseHelper v2.1.3

Choose a tag to compare

@Ling19-YI Ling19-YI released this 19 Oct 07:22

更新内容

名称与界面改为中性表述

应用名、窗口标题、桌面快捷方式、图标与界面文案统一改为「课程任务助手
CourseHelper」,主按钮改为「开始运行」。

功能没有任何变化——它始终只处理你自己的账号。

修复:一个章节里的多个任务点,之前只做得到第一个

平台改了课程页的结构:一个章节里的视频和测验现在是分标签页呈现的
(章节顶部写着「1课程视频 2章节测验」),同一时刻只加载当前那一个。

之前程序只读到第一个任务点就认为本章没活可干,后面的测验和文档从来没被
处理过——你看到的就是「视频没放完就去答题」。

现在会逐个标签页遍历,当前任务点做完后自动切下一个,直到本章全部处理完。

修复:章节完成状态会「谎报」

之前程序有时会把「还有任务点没做完的章节」报成已完成,让你以为刷完了,
其实一题没做。现在只认一个事实:每个任务点都被平台标记过完成。

顺带修了两处相关问题:测验提交后平台不会立刻打完成标记,程序读得太早会
把刚做完的当成没做;已交过的测验在某些情况下会被当成没交,重新进答题页
又找不到提交按钮。

修复:打不开章节列表 / 未配置 AI 时报错

课程页改版后进入课程的方式也变了,之前会报「未找到章节」,现在会自动
处理。另外没有配置 AI 通道时,之前会在开跑时直接报错退出,现在会正常
提示缺什么并继续跑其它任务。

新增:任务点分页诊断日志

章节有多个任务点时,日志会列出全部标签,切换到第几个也会明确记录。

接口地址自动纠正(延续 v2.1.2)

直接把服务商文档里的完整接口路径粘到「接口地址」即可,保存时会自动
去掉结尾的 /chat/completions。密钥无效时错误提示会明确指出。

升级:账号与进度自动迁移

旧用户无需重新登录,账号与学习进度会自动迁移到新数据目录。旧目录会
保留,确认无误后可自行删除。

遇到问题?

关于页新增了 QQ 群:1128273483。使用中遇到问题或想反馈建议可以加群,
群里不提供账号代办类服务。

刷课助手 CourseHelper v2.1.2

Choose a tag to compare

@Ling19-YI Ling19-YI released this 13 Oct 16:03

更新内容

修复:接口地址填成「完整接口路径」时,一直报接口 400

有用户反馈答题始终报错:

多模态 接口 400 … "No static resource api-openai/v1/chat/completions"

原因是接口地址要把服务商文档里的完整路径整段填进去了。软件调用时会在你填的地址
后面自动拼 /chat/completions,所以填成 …/v1/chat/completions 时,真实请求会变成
…/v1/chat/completions/chat/completions——服务端找不到这个路径,只回一句
「No static resource …」,日志里看就是「接口 400」,完全看不出是自己填错了。

这版开始自动纠正:保存时会去掉多余的 /chat/completions 结尾,顺带处理尾斜杠和
误粘的引号;已经填错、存在本机配置里的地址,不用重新保存也会被自动纠正,直接再跑
一次任务即可。设置页也补了一句说明——直接粘贴服务商的完整接口路径也可以。

正确填法示例(填到 /v1、/v4 这一层为止):

服务商 接口地址
DeepSeek https://api.deepseek.com/v1
智谱 https://open.bigmodel.cn/api/paas/v4
通义(阿里百炼) https://dashscope.aliyuncs.com/compatible-mode/v1

改进:接口返回 401 时直接告诉你「密钥无效」

以前只写「接口 401」,得自己对着状态码猜。涉及密钥的失败现在会明确提示
「密钥无效或未授权,请检查 API Key」。

升级方式

已安装 v2.1.1 / v2.1.0:打开软件 →「关于」→ 检查更新。
若提示「已是最新」却没更新,请直接下载安装包覆盖安装。

已安装 v2.0.0 或更早:请直接下载安装包覆盖安装。


注意:各校题目结构差异较大,答题准确率无法保证。识别不出的题目会留空跳过,不会乱猜。

刷课助手 CourseHelper v2.1.1

Choose a tag to compare

@Ling19-YI Ling19-YI released this 13 Oct 15:07

更新内容

修复:AI 答题配好了却一直「无解」(本版最重要)

「为什么本地能跑、用户不行」的根因找到了,是几层问题叠在一起:

一、失败不上浮。 调用 AI 出错时原因只写进了主进程终端,软件里看到的永远是
「无解,留空」。密钥过期、模型名写错、接口地址填错——表现完全一样,全都被误当成
「模型答不出来」。现在失败会把原因一起亮在日志里;如果是推理把输出预算吃光了,
会自动加倍预算重试一次。

二、输出预算一开始就给足。 推理模型会先把输出额度花在「思考」上,正文只能用剩下的。
此前先给一个小的、失败再翻倍,等于烧两遍额度还是拿不到答案。现在第一发就给足。

三、配置判定两边不一致。 接口地址是必填项,但设置页只检查了密钥:只填密钥不填
地址时,设置页显示「已配置」、开关打得开,引擎那头却算出「未配置 AI 接口」。现在两边
判定一致,地址留空会当场拦下。

四、启动自检会说清缺什么。 原来只说「未配置」,现在直接列出是缺 API Key 还是缺接口地址。

调整:AI 只保留一条通道

删掉了「旧版 DeepSeek 单密钥」这条回退路径。它没有界面能维护,密钥过期后完全静默失效,
而设置里根本没有地方能改——是前面那些「配好了却无解」的另一个来源。多模态模型本身
就能读文本,不需要再养第二条密钥。

修复:一个章节里同时有视频、文档和测验时,只做测验

超星把同一章的不同类型任务点并列放在同一个页面里(视频、文档、测验的框架同时存在,
只是显示其中一个)。旧逻辑只问「页面上有没有测验」,有就整章按测验做——所以「视频 + 测验」
的章节里,视频永远不播。

现在按「当前该做的那一个任务点」分派,一页里的视频、文档、测验会依次做完。

修复:一个章节里的第二个任务点被漏掉

实测发现两处:

  • 第一个视频播完后,它身上的「当前目标」标记没被清掉,导致下一轮又选中它,
    第二个视频永远不播,整章就停在那里。
  • 判「看完了」比平台记账早几秒,中间读到的是旧数字,程序误以为「这一轮白做了」
    而放弃整章。现在会等平台确认后再判断。

修复:手机扫码/人脸弹窗一出现就自己「继续」,二维码永远扫不上

如果你遇到过「弹出扫码或人脸采集,二维码却一直在刷新、根本来不及扫」——这版修好了。
根源是两个机制问题叠在一起,都不是「识别不准」:

  • 程序嘴上说「已暂停自动操作」,但它在页面里还留着一个每 0.3 秒动一下的保活动作
    (本来是防止视频被平台判为挂机的)。而平台正是按「页面有没有变化」决定要不要重刷
    二维码的——于是二维码被程序自己一遍遍刷掉。现在人工介入期间,页面内的动作会
    和主程序一起彻底停住。
  • 判「弹窗没了 = 你处理完了」。可二维码每次重绘都会让弹窗短暂消失,程序立刻以为你
    扫完了就恢复动作,动作又让二维码重刷,来回振荡。现在要求「连续几秒都查不到弹窗」
    才算真的处理完;等待超时也不会再自动恢复动作。

修复:被平台风控拦截时,会假装「任务完成」

承接上一条。被平台风控页(提示页面 / 安全验证)接管后,页面里读不到课程目录,之前
会把剩下的课程全部标成「跳过」,最后照样报一句「🎉 任务完成」——
看起来刷完了,其实一个都没做。现在会明确停下,并说明「本轮被平台风控中断(不是
任务完成)」,同时告诉你要去哪里手动完成验证。

新功能:中途手动切换章节,就从你点的那一节接着刷

以前你在浏览器里点了别的章节,程序会照自己的顺序继续,甚至把你拽回去,还可能把
完成记录记到错误的章节上。现在它会发现你切了章节,从你点的那一节重新开始;
被切走的那一章不记账(免得下次续刷时被误跳过)。

修复:随堂弹题的三个毛病

  • 「每个视频只处理一次」的限制从未生效(计数写在了循环里,每轮都被重置)
  • 弹题走了一条会回退到纯文本模型的答题通道
  • 卡住时的提示没说清开关在哪,现在会指出设置里的位置

修复:在线更新对部分用户不可用

更新时会自动加一个缓存破坏参数,而备用下载源(GitCode)只要 URL 带任何查询串就
返回 404
,所以这条回退路径从来没有成功过。报错文案看起来像「文件没传上去」,
方向被带偏了很久。现在两个下载源都能正常检查更新。

其他

  • 上一版把 DeepSeek 专栏从设置里删了,但旧版残留的密钥仍会被读取;现在启动时清掉这些残留字段
  • 识别不出的题目继续留空跳过,不会乱猜

升级方式

已安装 v2.1.0:打开软件 →「关于」→ 检查更新。

若提示「已是最新」但没有新版本,说明你走的是备用下载源,请直接下载安装包覆盖安装
(更新器的备用源有一条已知缺陷,本版已修复;装上这一版之后两个源都正常)。

已安装 v2.0.0 或更早:请直接下载安装包覆盖安装。


注意:各校题目结构差异较大,答题准确率无法保证。识别不出的题目会留空跳过,不会乱猜。

刷课助手 CourseHelper v2.1.0

Choose a tag to compare

@Ling19-YI Ling19-YI released this 12 Oct 15:00

更新内容

修复:一章有多个任务点时,只刷第一个就跳过

超星把同一章的多个任务点并列在同一个页面里(一章两节视频很常见)。之前的逻辑点开一个、刷完就跳去下一章,剩下的任务点再也不会被访问。

更麻烦的是它全程不报错——日志里看起来一切正常,只是"跳过了",所以这个问题拖了很久才定位到真正原因。

现在改为在页面内逐个推进:刷完一个接着刷下一个,不再回目录重进。顺带修了同一章两个视频会同时播放、互相抢播放器的问题。

修复:右侧浏览器遮挡左侧操作面板

窗口越宽,右侧学习通界面盖住左侧面板越多(1920 宽时约 260px),导致按钮点不到。

根因是左侧面板宽度被算了两遍:界面自己按窗口百分比算,主进程另按一套规则算,两者对不上。现在统一由主进程下发,三种窗口尺寸实测偏差 0。

修复:AI 自动答题其实一直没生效

这是本版最值得说的一条。多模态配置一直是好的,但截图搜题那条路径从来没被接上——调用方漏传了通道参数。而代码里那句「未配置多模态通道」的提示说反了:明明配好了却报未配置,把人引向错误方向。

修好之后,图片题干和超星字体替换(font-cxsecret)的题目才真正能识别作答。

修复:课程正文被误判成「人脸识别弹窗」,整门课卡死

人工智能、风险管理这类课程的正文里出现「人脸识别」「验证码」属于课程内容。但检测逻辑扫的是整页文本,于是把正文当成了平台风控弹窗,一命中就停下等人工处理——表现是"这门课永远刷不动,还会连累后面的课"。

现在只认「像覆盖层」的元素(脱离文档流 + 有层级 + 文案短),正文不再误判。

修复:换账号后检测不到任务点

切换账号后课程列表用的还是上一个账号的缓存,新账号打不开旧账号的班级链接,目录里自然一个任务点都没有。

现在换账号会清掉课表缓存;目录为空时会明确告知属于「无权限 / 会话失效 / 页面未加载完 / 确实没有任务点」中的哪一种,不用再靠猜。

修复:需要向下拖动的文档任务点做不了

有些阅读器是按住往下拖的,不响应滚动。旧逻辑只认可滚动容器,探测不到就直接跳过——连试都不试。现在额外走真实鼠标拖拽。

修复:同一个视频反复播放

判「看完了」和判「跳过已播完」用了两个不同阈值(5 秒 vs 1 秒)。477 秒的视频停在 475 秒时两头不靠:刚判完完成又被当成没播完重新播。现在两处共用同一阈值,并按平台自己的完成标记兜底。

修复:窗口大小改了不记住

窗口尺寸没有持久化,改小一次重启又变回去。现在会记住位置与大小。

调整:验证类弹窗默认不再暂停

「遇到人脸识别 / 验证码时暂停等人工」默认改为关闭——这类词误判代价太高。真遇到验证码时视频会停滞并被卡顿检测跳过,不会无限等待。

其他

  • 「AI 自动答题」总开关现在真正生效(此前关掉也照样答题)
  • 开跑前会打印一行 AI 通道自检,一眼看出配没配上、回退到了哪个通道
  • 截图识别会显示本次消耗的 token 用量
  • 设置页去掉了 DeepSeek 备用通道栏
  • 多模态接口地址不再预填服务商,由使用者自行填写
  • 清理约 1000 行无用代码;修复了部分环境下开发模式启动失败的问题

升级方式

已安装 v2.0.0 的用户打开软件 →「关于」页 →「软件更新」→ 检查更新 → 下载 → 重启安装。

也可直接下载安装包覆盖安装。


注意:各校题目结构差异较大,答题准确率无法保证。识别不出的题目会留空跳过,不会乱猜。


项目主页:https://ling19-yi.github.io/coursehelper/

图文介绍、功能演示与历次更新日志。遇到问题可开 issue,附日志页截图会快很多(请先遮住账号与本地路径)。

刷课助手 CourseHelper v2.0.0

Choose a tag to compare

@Ling19-YI Ling19-YI released this 11 Oct 15:22

更新内容

修复:AI 答题卡死

用户反馈答题时界面一直卡住不动,只能强杀进程。根因是视觉接口的 HTTP 请求完全没有超时——中转服务一旦不响应,请求就永久挂起;而答题期间卡顿检测被冻结,导致没有任何机制能把控制权交还给视频流程。

本次加了三层兜底:

  1. 单请求超时 75 秒 — 到期主动中断并报「视觉接口超时」,不再无限等待
  2. 单轮答题总预算 240 秒 — 超时后不再发送新请求,用已获得的答案作答剩余题目
  3. 视频层看门狗 150 秒 — 到点跳过本轮答题、关闭残留弹窗、视频继续播放

超时中止只作用于当前这一轮答题,不会中断整个刷课任务。

顺带修正

之前代码里的答题时长预算参数虽然传了值,但从未真正生效,属于摆设。现已接入实际计时。

升级方式

已安装 v1.3.0 的用户打开软件 →「关于」页 →「软件更新」→ 检查更新 → 下载 → 重启安装。

也可直接下载安装包覆盖安装。


注意:AI 答题失败时现在会跳过并继续播放视频,未作答的题目保持空白。本版本是止损措施,不代表所有学校的题目结构都已适配。

刷课助手 CourseHelper v1.6.0

Choose a tag to compare

@Ling19-YI Ling19-YI released this 11 Oct 06:57

更新内容

修复:AI 答题卡死

用户反馈答题时界面一直卡住不动,只能强杀进程。根因是视觉接口的 HTTP 请求完全没有超时——中转服务一旦不响应,请求就永久挂起;而答题期间卡顿检测被冻结,导致没有任何机制能把控制权交还给视频流程。

本次加了三层兜底:

  1. 单请求超时 75 秒 — 到期主动中断并报「视觉接口超时」,不再无限等待
  2. 单轮答题总预算 240 秒 — 超时后不再发送新请求,用已获得的答案作答剩余题目
  3. 视频层看门狗 150 秒 — 到点跳过本轮答题、关闭残留弹窗、视频继续播放

超时中止只作用于当前这一轮答题,不会中断整个刷课任务。

顺带修正

之前代码里的答题时长预算参数虽然传了值,但从未真正生效,属于摆设。现已接入实际计时。

升级方式

已安装 v1.3.0 的用户打开软件 →「关于」页 →「软件更新」→ 检查更新 → 下载 → 重启安装。

也可直接下载安装包覆盖安装。


注意:AI 答题失败时现在会跳过并继续播放视频,未作答的题目保持空白。本版本是止损措施,不代表所有学校的题目结构都已适配。

刷课助手 CourseHelper v1.5.1

Choose a tag to compare

@Ling19-YI Ling19-YI released this 10 Oct 09:06

更新内容

修复:AI 答题卡死

用户反馈答题时界面一直卡住不动,只能强杀进程。根因是视觉接口的 HTTP 请求完全没有超时——中转服务一旦不响应,请求就永久挂起;而答题期间卡顿检测被冻结,导致没有任何机制能把控制权交还给视频流程。

本次加了三层兜底:

  1. 单请求超时 75 秒 — 到期主动中断并报「视觉接口超时」,不再无限等待
  2. 单轮答题总预算 240 秒 — 超时后不再发送新请求,用已获得的答案作答剩余题目
  3. 视频层看门狗 150 秒 — 到点跳过本轮答题、关闭残留弹窗、视频继续播放

超时中止只作用于当前这一轮答题,不会中断整个刷课任务。

顺带修正

之前代码里的答题时长预算参数虽然传了值,但从未真正生效,属于摆设。现已接入实际计时。

升级方式

已安装 v1.3.0 的用户打开软件 →「关于」页 →「软件更新」→ 检查更新 → 下载 → 重启安装。

也可直接下载安装包覆盖安装。


注意:AI 答题失败时现在会跳过并继续播放视频,未作答的题目保持空白。本版本是止损措施,不代表所有学校的题目结构都已适配。

刷课助手 CourseHelper v1.5.0

Choose a tag to compare

@Ling19-YI Ling19-YI released this 10 Oct 06:37

更新内容

修复:AI 答题卡死

用户反馈答题时界面一直卡住不动,只能强杀进程。根因是视觉接口的 HTTP 请求完全没有超时——中转服务一旦不响应,请求就永久挂起;而答题期间卡顿检测被冻结,导致没有任何机制能把控制权交还给视频流程。

本次加了三层兜底:

  1. 单请求超时 75 秒 — 到期主动中断并报「视觉接口超时」,不再无限等待
  2. 单轮答题总预算 240 秒 — 超时后不再发送新请求,用已获得的答案作答剩余题目
  3. 视频层看门狗 150 秒 — 到点跳过本轮答题、关闭残留弹窗、视频继续播放

超时中止只作用于当前这一轮答题,不会中断整个刷课任务。

顺带修正

之前代码里的答题时长预算参数虽然传了值,但从未真正生效,属于摆设。现已接入实际计时。

升级方式

已安装 v1.3.0 的用户打开软件 →「关于」页 →「软件更新」→ 检查更新 → 下载 → 重启安装。

也可直接下载安装包覆盖安装。


注意:AI 答题失败时现在会跳过并继续播放视频,未作答的题目保持空白。本版本是止损措施,不代表所有学校的题目结构都已适配。

刷课助手 CourseHelper v1.4.0

Choose a tag to compare

@Ling19-YI Ling19-YI released this 10 Oct 03:09

更新内容

修复:AI 答题卡死

用户反馈答题时界面一直卡住不动,只能强杀进程。根因是视觉接口的 HTTP 请求完全没有超时——中转服务一旦不响应,请求就永久挂起;而答题期间卡顿检测被冻结,导致没有任何机制能把控制权交还给视频流程。

本次加了三层兜底:

  1. 单请求超时 75 秒 — 到期主动中断并报「视觉接口超时」,不再无限等待
  2. 单轮答题总预算 240 秒 — 超时后不再发送新请求,用已获得的答案作答剩余题目
  3. 视频层看门狗 150 秒 — 到点跳过本轮答题、关闭残留弹窗、视频继续播放

超时中止只作用于当前这一轮答题,不会中断整个刷课任务。

顺带修正

之前代码里的答题时长预算参数虽然传了值,但从未真正生效,属于摆设。现已接入实际计时。

升级方式

已安装 v1.3.0 的用户打开软件 →「关于」页 →「软件更新」→ 检查更新 → 下载 → 重启安装。

也可直接下载安装包覆盖安装。


注意:AI 答题失败时现在会跳过并继续播放视频,未作答的题目保持空白。本版本是止损措施,不代表所有学校的题目结构都已适配。