--- name: daily-vocabulary-test description: 每日单词检测。用户要求每日单词检测、每日复习、今日词汇自测时使用。读取课本已过关主进度,生成五组各十词的交互卡片;最近Part两组,倒数第二和第三Part各一组,其余已过关Part随机一个抽一组。每组只取单一主题,副进度独立,不能超过或推进主进度,每次打开自动更新。 --- # 每日单词检测 用户可见名称和卡片标题使用“每日单词检测”。使用同插件内置 Édito B1 2023 的1110词,不要求重新上传词库。 ## 抽词与进度 - 将“课本单词检测”的正式过关记录作为主进度,本 skill 的复习轮次与自评为副进度。副进度不得超出主进度;不得写入主进度、标记 Part 过关或因每日完成而推进课本。 - 从有效主进度 `mode=textbook` 的已过关且位于 `current` 之前的 Part 按课本顺序确定范围;主进度回退后,保留的后续历史不能提高可抽范围。不能从普通词汇检测、自评次数或副进度推断过关。 - 第1、2组各10词,均从最近过关的倒数第1 Part 抽取;这两组共20个不同词条。第3组10词从倒数第2 Part,第4组10词从倒数第3 Part。第5组先从其余已过关 Part 随机选择一个,再从该单一 Part 抽10词。严格50个不同ID,组内编号1–10。 - 每组必须来自词库 `group` 字段的一个主题;按 Part 与主题标题组合识别主题,同一 Part 同名主题可合并源词条。只选择至少10词的主题。最近 Part 优先选两个不同主题各10词;仅有一个主题时须至少20词,分别抽两组且不重复。第5组先随机选有合格主题的其他已过关 Part,再选其中一个主题抽10词。不得在同组混合主题。 - 固定来源 Part 若没有合格主题,或最近 Part 无法提供两组20个不同词,实际呈现不足提示;保持每组10词要求,不默默改数量、越过主进度或跨主题凑数。 - 至少需要4个正式过关 Part;不足时实际打开卡片显示原因和导入入口,不加入未过关词、不混合第5组、不重复凑数、不假设用户已过关。无需为了看卡片而更改主进度。 - 每次明确打开或点“更新今日词汇”按最新主进度重新抽词。翻词、评分、改选、切组、宿主重复交付同一轮结果不抽新题。跨日自动刷新;“再测本轮”保留同一50词并重置本轮选择,累计保留。 ## 真正呈现卡片 1. 在当前真实工具中查找 `open_daily_vocabulary_test`,有时带 app 前缀;存在时直接调用无参数工具打开每日卡片。该工具返回打开标识,主进度由卡片读取客户端,不能把结果说成模型已读取云端主进度。 2. 缺少工具时读取 [公共呈现路由](../french-vocabulary-test/references/chat-card-rendering.md),遵循宿主 visualize skill,并实际呈现内置 [交互式HTML卡片](assets/interactive-card.html)。不要用 `open_vocabulary_test` 或 `open_textbook_vocabulary_test` 替代每日入口,不把静态链接、Markdown或代码块称为交互卡片。 3. 内置卡片完整含词库、主进度校验、抽词和自评,不依赖外部网络。宿主支持 visualize 时复制到本轮唯一HTML路径并输出对应渲染引用。每次用户明确发起新检测时,将卡片中的 `daily-offline-launch` 替换为本次唯一轮次标识;重试同一张卡片复用该标识,避免重复执行时重新抽词。需要适配用户提供的最新课本导出时,将其 JSON 安全嵌入 [完整HTML](assets/preview.html) 初始化的 `imported=null` 处,保留其他逻辑;优先让用户在卡片中导入有效 `edito-b1-main-progress.json`,不要伪造过关记录。 ## UI 与保存 沿用“法语词汇检测”样式:五个组标签、进度条、粗体法语和序号、大号中文、词旁小音标;点词同步翻开中文和音标,开合不移动位置。每词左下方一对✔/✘框,未翻开时灰色禁用,自评后显示累计、选中整框填色。改选撤回原判定再计新项;重复同项不增计,每词每轮只计最终选择一次。 显示“副进度”、复习日期、已过关主范围、每组来源 Part 及主题:法语标题使用适中字号,中文翻译放在各自法语下方,✔/✘框紧凑;提供“再测本轮”“更新今日词汇”“导入课本主进度”“导出每日记录”。不放过关或推进主进度按钮。 主进度键为 `french-vocabulary-test:edito-b1:main:textbook:v1`;副进度独立键为 `french-vocabulary-test:edito-b1:secondary:daily:v1`。每日只读主键,所有自评写副键;主记录变化、回退或跨日时重新校验抽词范围。 当前主、副进度均为客户端本地记录,不声称跨设备云同步。不同宿主或设备无法读取同一份主记录时,使用课本导出的主进度;导入副本只用于每日检测,不覆盖课本主键。本浏览器已有课本记录时优先使用它并在界面说明。无有效进度时显示等待主进度。存储失败显示提示并可导出;不声称已保存。 只在用户主动调用时打开每日复习卡片;本 skill 名称不代表已创建定时提醒。用户另行明确要求通知时间后再使用宿主定时任务能力。