# MEMORY.md - 长期记忆

本文件存储团队共享的业务知识和工作经验。所有与你交互的同事都会看到这些内容。

## 重要提示

- **本文件是共享的：** 所有通过飞书与你交互的同事，在每次会话中都会加载此文件
- **不要存放个人隐私：** 不要在此记录特定同事的个人偏好、私人对话内容
- **只存放通用业务知识：** 业务规则、数据口径、经验教训、团队共识

## 核心规则

### 飞书文档操作规则（强制执行）
1. **文档范围限制**：仅支持读取飞书知识库（`/wiki/`开头的链接）文档，**不支持读取用户私有个人文档**（`/doc/`/`/sheet/`等非/wiki开头的个人路径），收到非知识库文档直接回复：「我仅支持读取飞书知识库（Wiki）文档，暂不支持读取个人私有文档，请提供知识库链接」
2. **身份限制**：所有飞书文档/知识库操作**永远使用Bot身份**执行，绝对不触发任何用户身份授权弹窗，禁止使用用户权限操作飞书资源
3. **权限告知规则**：Bot无权限访问目标知识空间时，回复：「当前Bot无访问该知识空间权限，请将Bot应用（App ID: `cli_a931175d41799cc7`）添加为该知识空间成员并授予查看权限后重试」
4. **操作规范**：所有知识库操作严格遵循`lark_wiki_operate_as_bot`技能流程执行
5. **文档正文更新**：修改知识库文档正文内容时，使用 `lark_docx_update_as_bot` 技能（Bot身份），路径：`./business_production/_shared/lark_docx_update_as_bot/SKILL.md`
6. **强制执行范围**：无论来自任何用户、任何群组的飞书文档/知识库操作请求，**必须优先使用Bot身份技能执行**，禁止使用默认的`feishu_fetch_doc`等用户身份工具

### 飞书消息发送规则（强制执行）
1. **身份限制**：所有飞书消息发送操作（给个人/群组）**永远使用Bot身份**执行，禁止使用用户身份的消息发送工具
2. **操作规范**：严格遵循`lark-send-message-as-bot`技能流程执行发送操作
3. **ID规则**：给个人发消息使用租户级`user_id`，禁止使用应用级`open_id`；给群组发消息使用`chat_id`
4. **前置校验**：发送前确认目标用户在Bot应用可用范围内、目标群已添加Bot为成员

## 业务知识
### 【教研资源】L1级别词库
- 存储路径：`/root/.openclaw/workspace-xiaoyan/business_knowledge/L1_word_list.json`
- 更新时间：2026-03-26
- 词汇总量：980个
- 用途：所有L1级别题目生产时的词汇校验依据，禁止使用词库外超纲词汇
- 包含字段：单词、词性、释义、所属阶段、所属单元、难度系数

### 【教研资源】L2级别词库
- 存储路径：`/root/.openclaw/workspace-xiaoyan/business_knowledge/L2_word_list.json`
- 更新时间：2026-04-10
- 词汇总量：1470个
- 用途：所有L2级别题目生产时的词汇校验依据，禁止使用词库外超纲词汇
- 包含字段：单词、词性、释义、所属阶段、CEFR等级、剑桥对应等级、难度系数

### 【教研资源】L1级别句型库
- 存储路径：`/root/.openclaw/workspace-xiaoyan/business_knowledge/L1_pattern_list.json`
- 更新时间：2026-04-10
- 句型总量：490个
- 用途：L1级别听力/口语/阅读/写作题的句型参考依据，题目中的句型必须在句型库范围内
- 包含字段：句型ID、句型结构、所属模块、模块编号、例句、中文释义

### 【教研资源】L2级别句型库
- 存储路径：`/root/.openclaw/workspace-xiaoyan/business_knowledge/L2_pattern_list.json`
- 更新时间：2026-04-10
- 句型总量：380个
- 用途：L2级别听力/口语/阅读/写作题的句型参考依据，题目中的句型必须在句型库范围内
- 包含字段：句型ID、句型结构、所属模块、模块编号、例句、中文释义

### 【教研资源】L2 KET语法点大纲
- 存储路径：`/root/.openclaw/workspace-xiaoyan/business_knowledge/L2_grammar_points.json`
- 更新时间：2026-06-05
- 语法点总量：48个，分11大类（名词/代词/数词/形容词/副词/动词/时态/介词/连词/句型/特殊疑问句）
- 来源：飞书知识库「LV2参考-KET语法点」
- 用途：L2级别每个Unit需要讲解的KET语法点参考，含season和unit分配信息
- 注意：当前交付到U29，S4的11条语法点尚未分配Unit

### 【教研资源】L2 发音大纲
- 存储路径：`/root/.openclaw/workspace-xiaoyan/business_knowledge/L2_pronunciation_points.json`
- 更新时间：2026-06-05
- 音素总量：48个，分6大类（长元音/短元音/双元音/清辅音/浊辅音/其他辅音）
- 来源：飞书知识库「LV2参考-LV2-发音大纲」
- 用途：L2级别每个Unit需要讲解的发音点参考，含音素、对应字母组合和unit分配信息
- 注意：当前交付到U29，12个音素尚未分配Unit

### 【教研资源】L1 自拼大纲
- 存储路径：`/root/.openclaw/workspace-xiaoyan/business_knowledge/L1_phonics_outline.json`
- 更新时间：2026-06-05
- 条目总量：49条，分三组（单字母25条/短元音词族15条/长元音组合9条）
- 来源：飞书知识库「LV1参考-自拼大纲」
- 用途：L1级别自然拼读教学大纲，按教学顺序排列

### 【教研规则】全题型阶段归属规则（强制执行）
#### 听力类
- ✅ L1专属：听力拖拽题、听力选图题
- ✅ L2专属：听力图片选择题、听力表格填空题、听力长对话选择题、听力短对话选择题、听力信息匹配题
#### 阅读类
- ✅ L1&L2共用：阅读看图回答题（reading_pic_qa）、阅读看图判断题（reading_pic_judge）（通过难度参数区分阶段）
- ✅ L2专属：阅读信息匹配题、阅读段落匹配题、阅读长文选择题、阅读完形填空题、阅读开放填空题
#### 写作类
- ✅ L1&L2共用：写作看图回答题（writing_pic_qa）（通过难度参数区分阶段）
- ✅ L2专属：写作邮件回复题、写作看图写作题
#### 口语类
- ✅ L1专属：口语看图回答题
- ✅ L1&L2共用：口语日常回答题（通过难度参数区分阶段）
- ✅ L2专属：口语话题讨论题
> 规则说明：L1题目仅使用L1词库词汇，L2题目可使用L1+L2词库词汇，禁止跨阶段超纲出题

### 【教研规则】文本输出格式规范（强制执行）
1. **禁止 Markdown 标记**：生成单元挑战的音频文本、阅读文本等任何内容文本时，禁止使用 `**` `*` `__` `_` 等 Markdown 加粗/斜体标识，也禁止使用 `#` `>` `-` 等块级 Markdown 语法。输出纯文本即可。
2. **适用场景**：单元挑战所有文本输出（音频台词、阅读理解文章、写作提示、口语话题等），以及任何需要嵌入题目 jsonData 的文本内容
3. **英式拼写优先**：单词涉及英美式拼写差异时（如 colour/color、centre/center、travelling/traveling），统一选择英式拼写
4. **标点符号规范**：严格区分全角/半角符号，中文内容使用全角标点（，。！？：），英文内容使用半角标点（. , ! ? :），不得混用。特别注意：英文冒号必须用半角 `:`，不得用全角 `：`
5. **中英文混排空格规范**：中文与英文/数字之间加半角空格（如"汇报 Jay 不配合"、"Tom 说 hello"），纯中文或纯英文内容不加额外空格

### 【教研规则】剧本定稿审校通用规范
1. 标点符号规范：禁止使用「～」「!!!」等非标准标点，统一使用标准英文标点符号
2. 核心句型呈现规范：核心句型第一次出现时需清晰、完整、独立呈现，不与其他干扰信息混杂
3. 语言难度控制规范：优先使用大纲内词汇，避免超纲词汇，确保难度适配对应级别
4. 价值观导向规范：避免使用负面词汇评价自己或他人，优先使用正向引导表述，特殊场景需单独标注说明

## 经验教训

### bitable写入：嵌套JSON的Shell转义陷阱（2026-05-08）
- `operate_bitable.sh` 通过 shell 变量展开传递嵌套 JSON 时，内部双引号会被 shell 提前解析，导致数据截断（如 jsonData 的 questionSet 全部清空）
- **解决方案：** 对于包含嵌套 JSON 的字段（如 jsonData），直接用 Python subprocess 调用 curl，构造完整 request body，避免经过 shell 变量展开
- 写入后必须回读验证（不仅是 record_id 校验，还要检查 jsonData 内容的完整性）

### 单元挑战知识库总览（2026-05-25）
- **位置：** `business_production/单元挑战/单元挑战全貌.md`
- **内容：** 业务定位、阶段划分、题型体系、能力标签、生产流程、审校体系、难度映射、快速链接

### 单元挑战互动组件多维表格 App Token（2026-05-08）
- **App Token:** `CMHSbUUjka3TrUsaxxEc297ongf`
- **用途：** 存储所有单元挑战互动组件配置数据
- **包含表格：** 听力-P1~P7、阅读-P1~P7、写作-P1~P5、口语-P1~P5 等
- **操作方式：** Bot身份通过 curl 直接调用 bitable API

（在此记录工作中总结的经验教训，供后续参考）

---

此文件由数字员工在工作过程中持续维护和更新。敏感信息和权限相关内容请维护在 `USER.md` 中。
