Commit Graph
7 Commits
Author SHA1 Message Date
shenleiandClaude Opus 5 a69d221ab6 refactor: 将 AppState 本地存档序列化拆分到 app_state_snapshot.dart
纯代码搬移,不改行为:_restore、快照 JSON 构建及相关解析函数移入 part 文件。
已用覆盖全部存档字段的快照比对验证,重构前后写出的存档逐字节一致。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 17:07:23 +09:00
shenleiandClaude Opus 5 2795987c3a fix: 登录同步后首页恢复课程位置与复习卡片
- 拉取合并时还原当前课程与分段位置,位置只前进不后退,跳过其他设备已完成的课
- 由云端掌握项重建复习卡片,并纠正旧客户端写坏的首次复习到期时间
- 同 checkpoint 时以证据更多的一方为准;推送缺卡片项时不再用当前时间作到期时间
- 登录/注册及合并逻辑升级后强制全量拉取一次

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 17:05:15 +09:00
shenleiandClaude Opus 5 c2361c5c3a chore: 联网测试端点变量接受完整地址
应用里配置的地址本身就带 /v1/responses,直接当基址拼接会变成
.../v1/responses/v1/responses。改用 KOUYU_AI_ENDPOINT,填完整端点或
基址都可以,内部归一化后再拼出待测的两个端点,并补一条不联网的归一化测试。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 16:42:58 +09:00
shenleiandClaude Opus 5 3124bee288 chore: 联网测试密钥改从环境变量读取
live_endpoint_test.dart 里硬编码了一个真实 API key。改为读取
KOUYU_AI_API_KEY(可选 KOUYU_AI_BASE_URL、KOUYU_AI_MODEL),未设置时
整组测试跳过,不再把缺少凭据的联网测试当成通过。

注意:旧 key 仍留在提交历史中,需要在服务端作废并重新签发。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 16:40:54 +09:00
shenleiandClaude Opus 5 7e29c5449f feat: 重做阅读找答案题与 AI 情境对话,并归拢本地识别、查词等既有改动
阅读"在对话里找到答案":
- 16 道题全部重写,干扰项真实出现在对话里,靠说话人归属或否定句才能作答
- 选项按题目内容确定性打乱,答案不再固定排第一;听力环节同样处理
- 去掉超纲干扰项、重复题干,收紧自由作答匹配(过去单个字母也能判对)

AI 情境对话:
- 提示词区分"AI 这一句要做什么"与"学习者随后要完成什么",并下发已教词句清单
- JSON 只强制 reply,translation/feedback 可选;不再索要用不上的 slots/evidence
- AI 不可用时页面明确提示当前回复来自内置示范脚本
- 删掉按 stage 下标猜中文翻译的兜底,避免译文与英文对不上
- 整课对话改用逐轮必需表达校验,替换"关键词沾边就算过";修正自由场景正则误伤
- 总结的"完成任务"按实际通过的轮次生成;模型点评只在结束页呈现一次
- 自由场景支持草稿续练(独立存储槽);修正回答轮数文案与永不解锁的场景标注

同时提交此前工作区中累积的改动:SenseVoice 本地识别、查词/句型解析卡、
复习与测评页调整等,并补充对话校验、选项分布和句子解析的测试。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 16:38:23 +09:00
shenlei ef2fce207a feat: install_app.sh 脚本支持打包安装 macOS 桌面版 2026-09-16 10:36:57 +09:00
shenlei 4341726162 feat: 增加AI配置文件与TTS自动朗读,修复二级页面返回按钮与音频播放 2026-09-15 19:11:39 +09:00