---
name: xiaozhi-english-vocabulary-dna
description: >
  英语词汇复习：按间隔重复排到期日，每天把到期的词合并成一张词卡。
  触发语："帮我记单词"、"把这个词存进词汇库"、"我单词背了就忘"、"下周要学新课了"、"启动词汇预热"、"帮我复习词汇"、"我的词汇库里有什么"。
  核心功能：三种入库方式 + SM-2 间隔重复排到期日 + 每日一张到期词卡（提醒由 IM 提醒统一发送）+ 课前预热雷达 + 个人遗忘速度调整。
  不处理：句子语法错误的追问（转英语语法突破教练）、整段作文批改（转英语写作进化教练）、发音是否标准（转英语口语陪练）。
compatibility: WorkBuddy / SkillHub / OpenClaw / ClawHub
license: MIT
metadata:
  display_name: 📖 智能词汇DNA系统
  version: 2.1.6
  author: 小智伴学
  category: 英语专项
  grade_bands:
    - 小学高段
    - 初中
  tags: [英语, 词汇, 单词记忆, 间隔重复, 每日词卡, 词汇DNA, 预热雷达, 授权可控]
  depends_on:
    - xiaozhi-learning-dna
---

# 📖 智能词汇DNA系统 SKILL

> **一句话定位：** "今天背，明天忘"不是你的错——是复习的时间点没排好。  
> 在快忘掉之前再见一次，记忆就能续上。  
> 这个SKILL做的事：帮你排复习时间点，然后在你授权后提醒你。

> 技术边界：本 SKILL 依赖能力 [M, T, O, X]，无该能力时按 shared/platform-conventions.md 降级。
> 无 O 时拍照提取词汇改为手动输入词表；无 T 时不承诺主动提醒，改为"进入会话时补发到期词卡"，
> 或由用户说"考我今天该复习的词"；两者都没有时如实告知需自行配合手机提醒。

---

## 一、核心使命

**间隔重复：在快忘掉之前再见一次。**

```
做法：给每个词维护一个"到期日"，用 SM-2 算法按学生自己的表现调整间隔——
  答得又快又准 → 下次间隔拉长
  想不起来     → 间隔缩短，重新开始

⚠️ 本 SKILL 不给"20 分钟后保留 58%"这类保留率数字。
   艾宾浩斯 1885 年的原始实验用的是无意义音节的个人自测，
   真实学习材料的保留率因人、因内容差异很大，不能作为指标呈现给学生。
   曲线的说明与参数只在一处维护：
   `shared/ebbinghaus-schedule.md`。

**对外只有一个出口**：无论学生今天有多少词到期，本 SKILL 每天只贡献
**1 张"今日到期词卡"**（shared/vocab.md §9），由 xiaozhi-im-reminder 合并进当日摘要发送。
本 SKILL 自己不发消息，也不说"我几点会来考你"。
```

---

## 二、功能模块总览

```
智能词汇DNA系统 SKILL
├── 模块A  词汇入库（三种方式）
├── 模块B  每日到期词卡（唯一对外提醒出口）
├── 模块C  新词汇雷达（课前预热）
├── 模块D  个人遗忘速度调整
└── 模块E  词汇库健康报告
```

---

## 三、模块A：词汇入库

### 三种入库方式

**方式①：拍照提取（需能力 O；无 O 时改为粘贴文本）**

```
触发：学生拍照或截图发来单词表、课文词汇
操作：
"我看到这里有[N]个词——我帮你都记下来。
 你想先标记几个'重点词'吗？（这些会排在前面）

 或者全部一视同仁，也行。"

无 O 能力时：
"图片我看不了，把词表打字或粘贴给我就行，一行一个词。"

存入格式（写入 subjectExtensions.english.vocabulary[]）：
批量入库，每个词记：
- word（词形）
- status：新词
- dueDate / intervalDays / easeFactor（由 SM-2 维护）
- 来源与语境（记在会话中，供出词卡时用）
```

**方式②：对话标记**

```
触发：口语/听力/写作练习中遇到好词
触发词："把这个词记下来" / "记下这个" / "存这个"

存入时附带：
- 当前对话的语境（这个词在什么情境下出现的）
- 入库日期和场景标签

反馈：
"[词汇]记下了。
 语境：[当前对话语境摘要]
 它的到期日排在 [日期]；那天它会出现在你的今日词卡里。"

⚠️ 不说"24 小时后我会发来测验"——发送时机由 IM 提醒按每日预算决定。
```

**方式③：手动添加**

```
触发：学生主动说出想记的词
格式示例：
"把 'ambitious' 记下来，我想用它形容有目标的人"

存入时记录：
- 词汇本身
- 学生提供的使用场景
- 标注：主动提出的词，排在同日词卡的前面

反馈：
"'ambitious' 记下了——形容有雄心、有目标的人。
 例：She is ambitious about her future.

 到期日排在 [日期]。到那天的词卡上，我会请你用它造一个
 描述你认识的人的句子。"
```

### 词汇分层标注（按课标词表分档；不使用 AWL 学术词表 ⚠高中）

```
每个词入库时标一个层级，决定它在词卡里的问法：

【课标 1600 词以内】（2022 版义教课标英语三级词汇表，中考范围）
  → 目标：能听懂 + 能自己用出来
  → 词卡形式：造句 / 对话植入

【中考高频超纲词】（各地中考语篇里常见但不在 1600 词表内）
  → 目标：读到/听到时认得出即可
  → 词卡形式：选义 / 上下文猜义

【高考 3000 词范围 ⚠高中】
  → 初中生主动问到才收；标注"这是高中词表里的词，先认识就好"
  → 不计入初中阶段的弱项与掌握度统计

❌ 不使用 AWL（学术词表）分级 ⚠高中：AWL 面向英语学术论文写作，
   与义教课标、中考语篇的词频分布不一致，用它给初中生分层会把方向带偏。
```

---

## 四、模块B：每日到期词卡（唯一对外提醒出口）

### 契约（shared/vocab.md §9）

```
· 发送方唯一：只有 xiaozhi-im-reminder 发提醒；本 SKILL 只能**入队**。
· 入队方式：生成一条 handoverType = "reminder_enqueue" 的交接
  （payload.reminderData.type = "vocab_daily_card"，mergeable = true）。
· 每日额度：无论今天有多少词到期，本 SKILL 只贡献 **1 张"今日到期词卡"**，
  由 IM 提醒并进当日的 1 条合并摘要发送。
· ❌ 不存在"每个词一条提醒""五轮各推一次"；
  ❌ 不存在"12 小时强化推送"——即使学生忘得快，也只能改到期日，不能加额度。
· 无回应策略：连续 3 条无回应 → 暂停词汇类提醒，学生下次进入会话时询问是否恢复。
· 前提：reminderConsent = true；为 false 时只在学生主动进入会话时补发词卡。
```

### 一张词卡长什么样

```
今日到期 [N] 个词，合并成一张卡。每个词按它的**当前状态**选一种问法：

状态 = 新词 / 学习中 → 认词
  "① [词汇] 是什么意思？直接说你记得的，不用查。"

状态 = 复习中（已答对过至少一次）→ 造句
  "② 用 [词汇] 造一句和你自己有关的话。"

状态 = 复习中且已能造句 → 用起来
  "③ 说一句话，把 [词汇1] 和 [词汇2] 都用上。"

学生只回一条消息，把能答的都答了就行；没答完的词留到下一次到期。

答对 → SM-2 拉长 intervalDays，更新 dueDate
答错 → lapses +1，intervalDays 重置，dueDate 提前；不追加额外提醒
```

### 掌握度对照（shared/vocab.md §6）

```
词汇的两个观察层次 → 统一掌握度词表：
  只能认出词义                → masteryLevel = 会复述
  能说清词义差别、能造句       → masteryLevel = 会解释
  能在没有提示的对话/写作中用出 → masteryLevel = 真正掌握

schema 里的 vocabulary[].status（新词/学习中/复习中/已掌握）只表示**复习进度**，
不等于掌握度；向老师端共享时按 §6 转换（真正掌握→已掌握，会解释→基本理解，会复述→仍需巩固）。
```

---

## 五、模块C：新词汇雷达（课前7天预热）

### 触发方式

```
学生发送："下周我要学第[X]课，这是单词表[粘贴/拍照]，
          帮我启动7天预热计划。"

小智确认：
"收到！我看到有[N]个新词。
 我按上课日往前排好了预热：

 上课前 7 天 → 词形 + 音标初见
 上课前 5 天 → 场景联想
 上课前 3 天 → 试着用一用
 上课当天早上 → 一句提醒

 这几天的内容会并进你每天那一张词卡里（不会额外多发消息）。
 想改时间或者不想收，随时说一声。"
```

### 四阶段预热内容

**Day 7（第一次见面）：建立"见过"的印象**

```
并入当日词卡：
"📡 新词预热（距上课还有 7 天）

 下周你会遇到这些词，我们先认识一下：

 [词汇1] /[IPA 音标]/  口型提示：[一句话说清舌位/唇形]
 [词汇2] /[IPA 音标]/  口型提示：[…]
 ...

 今天只做一件事：照着音标读三遍——
 不需要记意思，只是让它们不再陌生。"

⚠️ 只用 IPA 音标 + 口型提示，**不用拼音或汉字近似音注音**：
   "think 读作 丝-ing-k"会把 /θ/ 直接教成 /s/，
   等于亲手制造 P01（th 音替代）这个顽固发音弱项。
   例：think /θɪŋk/ —— 舌尖轻轻伸到上下门牙之间送气，不是 s 的位置。
```

**Day 5（场景联想）：从符号变成有画面的概念**

```
并入当日词卡：
"📡 新词预热 · 第2天

 给这几个词配上画面——
 
 [词汇1]：[一张有画面感的场景描述或图示引导]
 [词汇2]：[场景描述]
 
 想象这个场景，把词和画面连在一起。
 下次见到这个词，画面会先出现，意思就跟着来了。"
```

**Day 3（轻松使用）：主动激活**

```
并入当日词卡：
"📡 新词预热（距上课还有 3 天）

 用这 3 个词和我聊几句——用到哪个算哪个：
 [词汇1] / [词汇2] / [词汇3]"
```

**上课当天早上（一句提醒）**

```
并入当日词卡：
"📡 新词预热 · 最后一次

 今天上课会遇到这些词，你已经见过它们几次了。

 特别留意：[2-3个最重要的词]——听听老师怎么用它们造句。"
```

---

## 六、模块D：个性化遗忘速度追踪

### 按学生表现调整间隔（SM-2 的 easeFactor）

```
调整的是**到期日**，不是提醒条数——每日仍然只有 1 张词卡。

答得快又准（连续 2 次）：
→ easeFactor 上调，intervalDays 拉长 → 这个词在词卡上出现得更少

想不起来 / 答错：
→ lapses +1，easeFactor 下调，intervalDays 重置到最短一档
→ 该词在**次日词卡**上重新出现（不是"12 小时后加推一条"）

某个词反复答错（lapses ≥ 4）：
→ 换问法：从"这个词什么意思"改成"这句话里它是什么意思"（给上下文）
→ 仍然反复错 → 问学生要不要暂时把它放回"以后再说"，不占每天的词卡位置
```

### 今日词卡的排序（词多时选谁上卡）

```
一张词卡放不下所有到期词时，按这个顺序取：
① 逾期最久的词（dueDate 距今最远）
② lapses 最多的词
③ 学生自己主动要求记的词
④ 其余按 dueDate 先后

没上卡的词不丢，顺延到下一天；不会因此多发一条提醒。
```

---

## 七、模块E：词汇库健康报告

**触发：** 学生说"帮我看看词汇情况"（不按月自行生成；无 X 能力时只报本次会话内可见的内容并标 🟡）

```
📊 词汇库健康报告 · [时间段]  🟢/🟡（按 shared/vocab.md §7 标注）

■ 词库总览（只报个数，不报百分比）
  词库总量：[N] 个词
  本期新增：[N] 个词
  status = 已掌握：[N] 个词
  逾期未复习：[N] 个词

■ 哪类词更容易忘（按次数，不按比例）
  lapses 最多的 5 个词：[列举]
  这些词的共同点：[如 都是抽象名词 / 都是形近词]
  建议：[基于以上给出 1 个具体做法]

■ 用起来的情况
  在口语/写作里主动用出来的词：[N] 个 → masteryLevel 记为"真正掌握"
  只能认出词义的词：[N] 个 → masteryLevel 记为"会复述"
  建议：挑 [2-3 个] 放进接下来的词卡，改成造句形式

■ 下阶段重点
  需要优先复习：[列举]
  可以拉长间隔：[列举]
```

### 档案落点（仅在 `meta.consentStatus.profileEnabled = true` 时写入）

```
写入路径（dna-profile.schema.json）：
  subjectExtensions.english.vocabulary[]
    { word, dueDate, intervalDays, easeFactor, lapses,
      status: 新词 / 学习中 / 复习中 / 已掌握 }
  subjectExtensions.english.subtypes[]
    V01-V06 词汇类子类型的状态与计数（子类型定义见
    shared/english-error-dimension-table.md §三）

状态五档与"3 次顽固"口径：按 shared/vocab.md §4-§5
掌握度：按 shared/vocab.md §6（会复述 / 会解释 / 真正掌握）
置信度：🟢/🟡/🔴 按 shared/vocab.md §7
```

写回学习DNA的交接示例（与 `handover-protocol.schema.json` v2.1 一致）：

```json
{
  "sessionId": "sess-eng-vocab-001",
  "protocolVersion": "2.1.6",
  "handoverType": "subject_profile_writeback",
  "sender": "xiaozhi-english-vocabulary-dna",
  "recipient": "xiaozhi-learning-dna",
  "consent": { "crossSkillSharing": true },
  "payload": {
    "profileData": {
      "updateTarget": "subject_extension",
      "subjectExtensionPatch": {
        "english": {
          "vocabulary": [
            { "word": "ambitious", "dueDate": "2026-09-10", "intervalDays": 7,
              "easeFactor": 2.5, "lapses": 0, "status": "复习中" }
          ]
        }
      }
    }
  },
  "timestamp": "2026-09-03T20:30:00+08:00"
}
```

入队今日词卡的交接示例（唯一允许的提醒方式，shared/vocab.md §9）：

```json
{
  "sessionId": "sess-eng-vocab-001",
  "protocolVersion": "2.1.6",
  "handoverType": "reminder_enqueue",
  "sender": "xiaozhi-english-vocabulary-dna",
  "recipient": "xiaozhi-im-reminder",
  "consent": { "crossSkillSharing": true, "reminderConsent": true },
  "payload": {
    "reminderData": {
      "reminderId": "rem-vocab-20260904",
      "type": "vocab_daily_card",
      "scheduledTime": "2026-09-04T19:30:00+08:00",
      "dueDate": "2026-09-04",
      "content": "今日到期词卡：ambitious, curious, achieve…（共 6 个）",
      "targetKnowledgePoint": "本周新词",
      "priority": 3,
      "mergeable": true
    }
  },
  "timestamp": "2026-09-03T21:00:00+08:00"
}
```

授权：任何写入前检查 `meta.consentStatus.profileEnabled` 与 `crossSkillSharing`；入队提醒前检查 `reminderConsent`；给家长看的摘要前检查 `parentSharingConsent`（本 SKILL 默认不生成家长版内容）。

### 隐私与数据控制入口
- 查看：「查看我的词汇库」
- 更正：「更正我的词汇库」
- 删除：「删除我的词汇库」（删除后不可恢复，会先确认一次）
- 暂停：「这次不要记忆」/「暂停提醒」
- 共享控制：「不要共享给其他SKILL」/「不要给家长看」
- 导出：「导出我的词汇库」（以文本形式给出，便于转存）

---

## 八、两个观察层次

```
层次①：被动识别（看到/听到认识）
  标准：看到这个词能理解意思 → masteryLevel = 会复述

层次②：主动使用（能自己说/写出来）
  标准：在没有提示的情况下能用这个词表达想法 → masteryLevel = 真正掌握
  （中间态：能说清它和近义词的差别，但用得不稳 → 会解释）

两个层次分开出词卡：
→ 层次①的词：认词 / 上下文猜义
→ 层次②的词：造句 / 对话植入

优先把哪些词推到层次②：课标 1600 词表内、且在学生的写作/口语里
用得上的词。超纲词与 ⚠高中 词维持层次①即可，不设固定比例。
```

---

## 九、与其他SKILL的协作

```
智能词汇DNA系统 SKILL
    ←── 英语口语陪练（在用户同意时，将对话中的好词加入词汇库）
    ←── 个性化听力训练师（在用户同意时，将听力生词加入词汇库）
    ←── 英语写作进化教练（在用户同意时，写作批改中推荐词汇入库）
    ──→ IM提醒（reminder_enqueue，每日 1 张到期词卡，见 §四契约）
    ──→ 学习DNA（subject_profile_writeback，仅在用户同意时）
    ──→ 英语语法突破教练（固定搭配/介词搭配的正确用法联动确认）
协调：学习系统协调器（xiaozhi-skill-coordinator）
```

## 十、参考资源

- `references/vocabulary-radar-topics.md` - 新词雷达话题模板（按话题 + 词表分组、四阶段预热模板与提示词，供模块C使用）
- `shared/english-error-dimension-table.md` — 英语错因维度表（V01-V06 词汇子类型）
- `shared/ebbinghaus-schedule.md` — 遗忘曲线说明与间隔参数（全库唯一一处）
- 方法说明：间隔重复的排程采用 SM-2 算法（SuperMemo）的公开形式；本 SKILL 只维护到期日，不复述遗忘曲线的保留率数字。

---

> 💡 **小智说：**  
> "你不需要记住复习时间表。  
>  你只需要做一件事：  
>  每天那张词卡来的时候，把能答的答一答。  
>  就这一件事，把'背了就忘'变成'见过好几次，自然就记住了'。"
