Skip to content

Releases: lu0973-cb02d/ClassCue

ClassCue 0.2.9

Choose a tag to compare

@github-actions github-actions released this 18 Oct 01:33
f598e18

本版本是 0.2.8 的维护更新,识别、提醒、录音和 AI 相关的代码都没有改动。

隐私

  • 换新手机时的设备间迁移现在也不会带走课堂历史数据库。此前只有云备份排除了它,设备迁移规则漏掉了,与说明不符。数据库的 -wal、-shm、-journal 旁路文件也一并排除。
  • 录音和 API Key 一直被排除在云备份与设备迁移之外,没有变化。

安装包

  • 安装包缩小约 4.7 MiB(85.45 → 80.78 MiB):不再打包 sherpa-onnx 自带的两个 C/C++ API 原生库,应用从不加载它们。

升级

  • 0.2.8 由 CI 临时生成的证书签名,本版本的签名证书与它不同,因此不能直接覆盖安装 0.2.8。请先在“历史记录”中导出需要保留的录音和 Markdown,卸载 0.2.8 后再安装本版本。卸载会同时删除应用内的记录和录音。

验证

  • 107 项 JVM 单元测试通过(新增 3 项备份规则测试,云备份、设备迁移和旧版备份规则都必须排除历史数据库、API Key 存储和录音)。
  • Android Lint 0 个错误,警告和提示数与 0.2.8 相同。
  • 公开版 APK 构建成功。移除原生库后的中/大档离线识别只做了静态检查(原生库的依赖关系和加载路径),尚未在真机上验证;如果中/大档识别无法启动,请反馈。

签名与升级

  • 安装包名为 com.classcue.kexing.github,是经过 R8 优化、不可调试的公开版;可以和此前发布的测试版(com.classcue.kexing.debug)同时安装,旧版里的记录导出后再卸载即可。
  • 注意:本 APK 由 CI 临时生成的证书签名,之后的版本不能直接覆盖升级。升级前请先在“历史记录”中导出需要保留的录音和 Markdown,再卸载旧版。

ClassCue 0.2.8

Choose a tag to compare

@github-actions github-actions released this 16 Oct 05:10

本版本同时包含未单独发布的 0.2.7 的全部内容。

课表与确认课程

  • 新增“课表”页:按星期、节次时间、起止周和单双周录入课程,可填写上课地点;设置学期第一周的周一后自动计算当前周次。
  • 点“开始听课”时,如果已经录入课表,会先弹出确认框,默认选中正在上或即将开始的课程,也可以改选其他课程或手动输入。
  • 听课页会提示“下一节课”,一键改用。
  • 可选的上课提醒:在上课前若干分钟发通知,点通知打开课醒并弹出这节课的确认框。提醒只会提示,绝不会自动开始录音;重启手机或修改时间后会自动重新安排。

历史记录

  • 每节课有独立的详情页:按时间线显示转写、提醒和 AI 回答,自带播放器,点任意一句即可跳到录音中对应位置附近播放。
  • 历史记录支持全文搜索,跨课程查找转写、提醒和 AI 回答。
  • 课次列表改由数据库中的课次表维护,课程多时打开历史记录更快。

录音更可靠、更省空间

  • 结束听课改在后台线程完成,界面不再卡住;最后一句话也会完整识别后再收尾。
  • 应用被系统杀掉或手机重启时,未写完的录音会自动修复为可播放的 WAV,并在听课页提示“上节课意外中断”。此前超过两小时的未完成录音会被删除,现在只要有声音就一律保留。
  • 课后在电量充足时把 WAV 压缩为 AAC(约 32 kbit/s,每小时约 14 MB,WAV 约 110 MB),校验时长一致后才保留压缩件。默认仍保留原始 WAV,可在历史记录中一键清理已压缩的原始文件。

提醒更准、AI 花费可控

  • 点名判断改为综合打分:学号、全名、读音相近的姓名和称呼分别计分;单字称呼必须出现在点名语境中才会触发。在自建的讲课文本测试集上,默认灵敏度下的误报从 7 次降到 0 次。
  • 按读音匹配姓名:识别成同音或近音字(如平翘舌、前后鼻音不分)也能认出是在叫你。
  • 新增“自动回答范围”:默认只对点到你的问题自动请求 AI;可改为“全部问题”。自动请求默认每 10 分钟最多 6 次,可调整。
  • AI 回答改为流式显示,通知和界面会边生成边更新。
  • 实验功能“姓名热词”:让中/大档识别器更倾向于识别出你的名字(默认关闭)。
  • 新增“省电识别”选项,中/大档使用 2 个线程。

模型下载

  • 新增国内镜像(hf-mirror.com)下载源,可在设置中选择;首选来源失败时自动改用另一个来源。两个来源都校验同一组固定的 SHA-256 和文件大小,校验失败的文件会被删除。
  • 中、大档模型包校验固定的 SHA-256 和精确文件大小,校验通过后才会安装;服务器声明的大小不符时在下载前停止(0.2.7)。

隐私

  • 课堂历史数据库不再进入系统云备份和设备迁移备份,录音与 API Key 也一直被排除。

安装与升级

  • 从本版本起,Releases 中的 APK 是经过代码优化、不可调试的公开版,安装包名为 com.classcue.kexing.github。它会作为一个新应用安装,不会覆盖 0.2.6 及更早的测试版(com.classcue.kexing.debug);旧版中的记录请先在“历史记录”中导出,确认新版正常后再卸载旧版。
  • 华为手表端仍只与正式签名的 com.classcue.kexing 配对,公开版不能连接手表。

验证

  • 104 项 JVM 单元测试通过(新增课表、历史数据库与搜索、录音修复与压缩判定、姓名读音匹配、提醒打分、流式 AI 协议、模型下载与镜像回退等测试)。
  • Android Lint 0 个错误。
  • 公开版 APK 构建成功。录音压缩和上课提醒尚未在真机上做长时间验证,如遇问题可在设置中关闭“课后压缩录音”。

签名与升级

  • 安装包名为 com.classcue.kexing.github,是经过 R8 优化、不可调试的公开版;可以和 0.2.7 及更早的测试版(com.classcue.kexing.debug)同时安装,旧版里的记录导出后再卸载即可。
  • 注意:本 APK 由 CI 临时生成的证书签名,之后的版本不能直接覆盖升级。升级前请先在“历史记录”中导出需要保留的录音和 Markdown,再卸载旧版。

ClassCue 0.2.6

Choose a tag to compare

@github-actions github-actions released this 22 Sep 13:37

课堂识别与手表通信

  • 恢复华为 Lite Wearable 手表端源码,并在手机端接入 Wear Engine,可向已配对手表发送课堂提醒和 AI 答案。
  • 设置页增加手表开关、包名、HAP 签名指纹和直连测试入口;未配置正式 HAP 指纹时会安全阻止发送。
  • 手表源码、签名前校验脚本和 SDK 完整性校验已随源码公开;正式 HAP 仍需使用开发者自己的 DevEco 工具链与签名材料构建。

远场识别与稳定性

  • 延长结束课堂时的识别收尾,避免最后一段老师讲话丢失。
  • 识别队列改为有界等待与背压,减少高负载下静默丢帧。
  • 放宽远场低音量门控,改善 Magic8 Pro 等手机在远距离场景的可用输入。
  • 收紧“先叫名后提问”的弱信号判定,降低吐字不清和普通课堂话语造成的误报。
  • Markdown 导出改为流式写入,长期课堂记录导出更稳。

使用提示

  • 本 APK 是 Android Debug 签名测试包,不能覆盖安装其他证书签名的正式包。
  • 手表端需要正式签名 HAP、配对设备和真机回归;本 Release 不包含签名 HAP。
  • 远场识别仍受距离、回声、口音和麦克风采集能力影响,请在实际课堂中逐步验证。

验证

  • 35 项 JVM 单元测试通过。
  • Android Lint 0 个错误。
  • Debug APK 构建成功。
  • 手表源码 JavaScript、配置 JSON 和 Wear Engine SDK SHA-256 校验通过。

ClassCue 0.2.5

Choose a tag to compare

@github-actions github-actions released this 22 Sep 11:24

识别稳定性优化

  • 临时转写只更新界面,提醒改为等待最终转写结果,降低远场噪声和吐字不清造成的误报。
  • 为识别输入加入保守的分帧能量门控和语音停顿保护,原始 WAV 继续完整保存。
  • 缩短采集块并延长端点等待,减少自然停顿造成的断句和漏识别。
  • 收紧泛化课堂问题的判定,模糊的单词片段不再直接触发提醒。

继承自 0.2.4f

  • 修复 0.2.4p 启动时读取课次归档 SQL 拼接错误导致的打开即闪退。
  • 远场离线识别增强和麦克风输入策略。
  • 课堂文字与 WAV 长期本机保留、手动删除。
  • 按课次、课程或全部课程导出 Markdown。

ClassCue 0.2.4f

Choose a tag to compare

@github-actions github-actions released this 02 Sep 05:37

紧急修复

  • 修复 0.2.4p 启动时读取课次归档 SQL 拼接错误导致的打开即闪退。
  • 新增课次归档 SQL 边界测试,防止 WHERE 或 GROUP BY 再次与前一段语句粘连。

继承自 0.2.4p

  • 远场离线识别增强和麦克风输入策略。
  • 课堂文字与 WAV 长期本机保留、手动删除。
  • 按课次、课程或全部课程导出 Markdown。

请勿继续使用存在启动崩溃的 0.2.4p APK。

ClassCue 0.2.4p(请勿使用)

Choose a tag to compare

@github-actions github-actions released this 01 Sep 14:46

Caution

此版本存在启动时读取课次归档 SQL 拼接错误,可能导致打开即闪退。请改用已修复的 v0.2.4f,不要继续安装或传播本页 APK。

本次更新

  • 新增面向远距离课堂声音的离线自适应增益与软限幅。
  • 新增系统自动、手机内置和外置麦克风输入策略。
  • 课堂文字和 WAV 录音改为长期本机保留、手动删除。
  • 新增按单节课、当前课程或全部课程导出 Markdown。
  • 新增按课程和课次整理的本地归档。

说明

  • 远场增强只作用于离线识别输入,原始 WAV 保持不变。
  • 原始录音不会上传给 AI 服务;AI 仍只接收用户配置服务所需的文字上下文。
  • 远距离、回声和多人重叠说话仍会影响识别,软件增强不能恢复麦克风未采集到的语音。

ClassCue 0.2.3p

Choose a tag to compare

@github-actions github-actions released this 24 Aug 15:32

本次更新

  • 版本由 0.2.2p 迭代至 0.2.3p。
  • 新增可直接下载安装的 Android APK。
  • 新增 GitHub Actions 自动测试、Lint、APK 构建与 Release 发布。
  • 新增 APK 的 SHA-256 校验文件和对应源码提交记录。

当前功能

  • 课堂音频本地录制与离线实时转写。
  • 点名、提问表达及自定义强提醒词识别。
  • 高优先级通知、震动强度调节与课堂上下文捕获。
  • 多个兼容 OpenAI Chat Completions 的 AI 服务并行回答。
  • 录音、转写、提醒与 AI 回答本地历史记录。
  • 离线语音模型下载、暂停、断点续传及失败重试。

ClassCue 0.2.2p

Choose a tag to compare

@lu0973-cb02d lu0973-cb02d released this 24 Aug 06:17

版本更新

  • 首个公开源码版本。
  • 提供课堂音频本地录制与离线实时转写。
  • 支持点名、提问表达及自定义强提醒词识别。
  • 支持多个兼容 OpenAI Chat Completions 的 AI 服务并行回答。
  • 支持录音、转写、提醒与 AI 回答本地历史记录。