ai_member_xiaoyan/memory/.dreams/short-term-recall.json

3125 lines
175 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"version": 1,
"updatedAt": "2026-06-04T09:21:44.866Z",
"entries": {
"memory:memory/2026-05-07.md:57:74": {
"key": "memory:memory/2026-05-07.md:57:74",
"path": "memory/2026-05-07.md",
"startLine": 57,
"endLine": 74,
"source": "memory",
"snippet": "3. **第三轮(用户要求重新发送三份文件后重算):** 最终确认 **表1有但表2表3都没有 = 255个** - **第三轮详细统计:** - 三表共有230 - 表1 ∩ 表2492 - 表1 ∩ 表3448 - 表2 ∩ 表3427 - 表1有表2没有472其中217个表3也有 - 最终255个 - **关键发现:** - 表1分类词表覆盖了大量基础生活词汇表3L1词表覆盖了其中的448个 - 最终的255个独有词主要集中在抽象名词advantage, attitude, courage、学术/学科词汇composition, grammar, pronunciation、专业/特定领域词cancer, clone, industry等偏中高难度的词汇 - 表1和表3有大量重叠448个说明两个L1级别的词表覆盖范围高度一致 - 从上一轮260变成255差5个差异主要来自表2/表3重新解析后个别单词的增删 - **输出文件:** `/root/.openclaw/workspace-xiaoyan/output/单词对比结果_最终版.xlsx` - Sheet 1255个单词完整清单序号+单词+中文释义) - Sheet 2全部统计指标汇总 - **用户 user_id** `58fd6864`(租户级) - **发送消息时踩坑记录:** ou_xxx 是 open_id 非 user_idBot 缺少 contact:user.id:readonly 权限",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1.6621249966506229,
"maxScore": 1,
"firstRecalledAt": "2026-05-07T08:48:55.437Z",
"lastRecalledAt": "2026-05-21T07:31:52.322Z",
"queryHashes": [
"c2c576894acd",
"dca4eb1f24b7"
],
"recallDays": [
"2026-05-07",
"2026-05-21"
],
"conceptTags": [
"学术/学科词汇",
"专业/特定领域词",
"差异主要来自表2/表3重新解析后个别单词的增删",
"user-id",
"ou-xxx",
"open-id",
"user.id",
"第三"
]
},
"memory:memory/2026-05-07.md:215:235": {
"key": "memory:memory/2026-05-07.md:215:235",
"path": "memory/2026-05-07.md",
"startLine": 215,
"endLine": 235,
"source": "memory",
"snippet": "3. He is (4) Japan. → from男孩穿和服背景富士山 4. She is a (7). → student女孩背书包进校门 - **JSON 结构:** questionSetID=020102, category=writing, type=writing_pic_qa - **关键教训:** - 初版设计错误:让学手写 Anna/China 等非知识点词,被用户纠正 - 初版 questionDesc \"She is a (7) girl.\" 不自然,修正为 \"She is a (7).\" - writing_pic_qa 题型核心考察点知识点词本身am/from而非题干已知信息 - 挖空字母数标记(如(4))必须与答案单词字母数一致 - **词库缺口发现:** L1和L2词库均缺失人称代词(I/you/he/she)、be动词(am/is/are)、介词(from)、国家名等基础功能词,写题时先绕过词汇校验硬性约束 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 单元挑战新增3个题型已完结 - 详见上文 11:19-11:28 记录 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 写作看图回答题 \"I am ready / Thank you\" 样题生产 - **时间:** 15:53 ~ 15:55 - **需求:** 使用知识点 \"I am ready! / Thank you for...\" 再生产一套",
"recallCount": 4,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 4,
"maxScore": 1,
"firstRecalledAt": "2026-05-08T01:18:18.412Z",
"lastRecalledAt": "2026-05-26T01:58:13.120Z",
"queryHashes": [
"390d35f8d143",
"be437071312f",
"12653110bb68",
"ab90b7e9cde8"
],
"recallDays": [
"2026-05-08",
"2026-05-11",
"2026-05-25",
"2026-05-26"
],
"conceptTags": [
"writing-pic-qa",
"anna/china",
"am/from",
"i/you/he/she",
"am/is/are",
"19-11",
"japan",
"男孩"
]
},
"memory:memory/2026-05-07.md:199:219": {
"key": "memory:memory/2026-05-07.md:199:219",
"path": "memory/2026-05-07.md",
"startLine": 199,
"endLine": 219,
"source": "memory",
"snippet": "### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 写作看图回答题 \"I am... / I am from...\" 样题生产 - **时间:** 15:38 ~ 15:52 - **需求:** 使用知识点 \"I am... / I am from...\" 生产一套写作看图回答题writing_pic_qa - **状态:** ✅ 已完成,用户确认 - **题型级别:** L2因L1词库缺少所有代词/be动词/介词/国家名) - **难度:** A级 - **题量:** 4小题 - **核心原则(用户明确):** 1. 挖空必须是考察知识点本身的单词am/from/student不是手写姓名/国名等附带信息 2. 只能为1个单词挖空不能两个及以上 3. 正确模式示例:`I (2) Anna.` → 挖空am数字标记字母数 4. 图片提供语境线索名牌→am地标→from国家书包→student学生填写核心知识点词 - **输出文件:** `output/writing_pic_qa_I_am_from_020102.json` - **题目清单:** 1. I (2) Anna. → am女孩指着名牌图片语境提示姓名已给出 2. I am (4) China. → from女孩站在长城前国家名已给出 3. He is (4) Japan. → from男孩穿和服背景富士山 4. She is a (7). → student女孩背书包进校门 - **JSON",
"recallCount": 5,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 5,
"maxScore": 1,
"firstRecalledAt": "2026-05-08T01:18:18.412Z",
"lastRecalledAt": "2026-05-26T01:58:13.120Z",
"queryHashes": [
"390d35f8d143",
"be437071312f",
"12653110bb68",
"4010d52c12f3",
"ab90b7e9cde8"
],
"recallDays": [
"2026-05-08",
"2026-05-11",
"2026-05-25",
"2026-05-26"
],
"conceptTags": [
"writing-pic-qa",
"因l1词库缺少所有代词/be动词/介词/国家名",
"am/from/student",
"不是手写姓名/国名等附带信息",
"彦江",
"写作",
"回答",
"生产"
]
},
"memory:memory/2026-05-07.md:1:20": {
"key": "memory:memory/2026-05-07.md:1:20",
"path": "memory/2026-05-07.md",
"startLine": 1,
"endLine": 20,
"source": "memory",
"snippet": "# 2026-05-07 工作日志 ## 会话记录 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 单元挑战新增3个题型 - **时间:** 11:19 ~ 11:28 - **需求:** 单元挑战新增3个题型阅读看图回答题reading_pic_qa、阅读看图判断题reading_pic_judge、写作看图回答题writing_pic_qa - **状态:** ✅ 已完成题型规范落地 - **交付内容:** 1. 创建3个题型SKILL.md - `reading/common/reading_pic_qa/SKILL.md` — 阅读看图回答题(共享大图+多题Yes/No判断 - `reading/common/reading_pic_judge/SKILL.md` — 阅读看图判断题(每题独立配图+Yes/No判断 - `writing/common/writing_pic_qa/SKILL.md` — 写作看图回答题(看图+提示答案开头+填空) 2. 更新 `MEMORY.md` 全题型阶段归属规则 3. 明确题型JSON结构、难度等级A/B/C/D四级、能力标签、校验规则 - **关键决策:** 3个题型均为 L1&L2 共用通过难度参数区分阶段reading_pic_qa 共享大图reading_pic_judge 每题独立配图 ### 李应瑛 (ou_1bd7317ae2ccfeb57e1132028847279e) — 单词表对比请求",
"recallCount": 12,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 12,
"maxScore": 1,
"firstRecalledAt": "2026-05-08T01:18:18.412Z",
"lastRecalledAt": "2026-05-29T00:23:17.392Z",
"queryHashes": [
"390d35f8d143",
"fd4c9b7de37b",
"be437071312f",
"0e27779653c1",
"5c08c6f8788a",
"4ab75020b1ab",
"7ca0207f1308",
"d592c9ed5e0a",
"5f858a7d5e0b",
"ab90b7e9cde8",
"fbf96ac9320e",
"bd790c7e2a35"
],
"recallDays": [
"2026-05-08",
"2026-05-09",
"2026-05-11",
"2026-05-12",
"2026-05-14",
"2026-05-17",
"2026-05-26",
"2026-05-28",
"2026-05-29"
],
"conceptTags": [
"reading-pic-qa",
"reading-pic-judge",
"writing-pic-qa",
"创建3个题型skill.md",
"多题yes/no判断",
"yes/no判断",
"memory.md",
"a/b/c/d四级"
]
},
"memory:memory/2026-04-13.md:1:5": {
"key": "memory:memory/2026-04-13.md:1:5",
"path": "memory/2026-04-13.md",
"startLine": 1,
"endLine": 5,
"source": "memory",
"snippet": "## 2026-04-13 12:28 [童瑶需求] 读取飞书文档https://makee-interactive.feishu.cn/wiki/QkY5wkcZYindgzkv5O0cpApRnzh内L1S1_Unit 11【其他需求】中所有的图片并根据【描述】列的ID重命名为\"ID.png\" [执行结果] 完成35张图片的提取和重命名保存到unit11_final_images/目录下包含L1-L5全级别教研图、选项图全部符合命名规则。",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-11T02:19:37.985Z",
"lastRecalledAt": "2026-05-11T02:19:37.985Z",
"queryHashes": [
"6f88450e9f9b"
],
"recallDays": [
"2026-05-11"
],
"conceptTags": [
"id.png",
"保存到unit11-final-images/目录下",
"包含l1-l5全级别教研图",
"需求",
"https",
"makee",
"interactive.feishu.cn",
"wiki"
]
},
"memory:memory/2026-05-08.md:33:55": {
"key": "memory:memory/2026-05-08.md:33:55",
"path": "memory/2026-05-08.md",
"startLine": 33,
"endLine": 55,
"source": "memory",
"snippet": "**图片资源新规:** - 每个题组共享一张图(非每题独立配图) - 产出 JSON 同时输出图片描述 prompt英文卡通简线条风格 - prompt 写入 bitable `图片描述` 列,格式 `{\"first\": \"...\", \"second\": \"...\"}` **通用化写入流程:** - 单元挑战全题型适用:定位 bitable 表 → 创建/更新记录 → 写入 `题目集合 ID` + `jsonData` + `图片描述` - 各题型仅 jsonData 结构不同,写入流程统一 **重写文件:** - `business_production/单元挑战/skills/unit_challenge/questions/writing/common/writing_pic_qa/SKILL.md`11节完整规范 - `business_production/单元挑战/skills/unit_challenge/questions/writing/writing_pic_qa/SKILL.md`(简化为快速入口) **bitable 更新:** 已将新 JSON每题组1图2题+ 图片描述写入 `recviZlAxxXlAb` ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 图片描述格式修正 - **时间:** 09:46 ~ 09:51 - **修正:** 用户给出中文样例格式,要求图片描述从英文 prompt 改为纯中文结构化列表 - **新格式:** 编号 `1.` / `2.` 自上而下,每段",
"recallCount": 12,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 12,
"maxScore": 1,
"firstRecalledAt": "2026-05-11T02:19:37.985Z",
"lastRecalledAt": "2026-06-02T01:49:17.841Z",
"queryHashes": [
"6f88450e9f9b",
"be437071312f",
"11ea0881b126",
"08b6f3142a2b",
"d3bb2a2fd2ad",
"688d2dceca9d",
"37d5e066d57f",
"e637236fe74b",
"14d903a64d04",
"ab90b7e9cde8",
"240a6a5dca41",
"7e6aa000abdb"
],
"recallDays": [
"2026-05-11",
"2026-05-13",
"2026-05-18",
"2026-05-20",
"2026-05-25",
"2026-05-26",
"2026-06-02"
],
"conceptTags": [
"创建/更新记录",
"图片",
"资源",
"共享",
"一张",
"每题",
"独立",
"同时"
]
},
"memory:memory/2026-05-08.md:1:23": {
"key": "memory:memory/2026-05-08.md:1:23",
"path": "memory/2026-05-08.md",
"startLine": 1,
"endLine": 23,
"source": "memory",
"snippet": "### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — writing_pic_qa 样题生产 \"I am / I am going to / I am ready / Thank you for\" - **时间:** 09:26 ~ 09:34 - **需求:** 生产 writing_pic_qa A级样题ID=0000012题组各2小题 - **状态:** ✅ 已完成,已写入飞书多维表格 - **目标表格:** 单元挑战 → 写作-P3-看图回答题 (tblFc9TVl2PeM2tg)record_id=recviZlAxxXlAb - **题目清单:** 题组1 (first): 1. I (2) a student. → am女孩穿校服举手考察be动词am 2. I am (5) to school. → going男孩背书包走向校门考察going 题组2 (second): 3. I am (5)! → ready男孩穿泳衣戴泳镜考察状态词ready 4. Thank you (3) the book. → for女孩接书微笑考察介词for - **核心修正(用户反馈):** 1. 挖空必须考察知识点核心词非附带信息you → for 2. 不能挖空题干已有信息(如姓名/国家名),只挖知识点词本身 3. 只能为1个单词挖空 4. question与questionDesc人称必须一致统一改为 What does [角色] say? → 第一人称直接",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-11T02:37:23.203Z",
"lastRecalledAt": "2026-05-11T02:37:23.203Z",
"queryHashes": [
"be437071312f"
],
"recallDays": [
"2026-05-11"
],
"conceptTags": [
"writing-pic-qa",
"写作-p3-看图回答题",
"record-id",
"如姓名/国家名",
"彦江",
"生产",
"going",
"ready"
]
},
"memory:memory/2026-05-11.md:39:55": {
"key": "memory:memory/2026-05-11.md:39:55",
"path": "memory/2026-05-11.md",
"startLine": 39,
"endLine": 55,
"source": "memory",
"snippet": "- `基础信息表达|个人信息问答` — 姓名/年龄/家庭/外貌类 - `表达喜好与理由` — 偏好/观点/意愿类 - `过去经历描述Past Activities` — 过去事件类 - `互动应答|问答交流` — 社交场景类 - `信息交换|双向问答` — 物品归属/需求类 - 未使用标签(属看图/发音题型专用):图片描述类(3个)、图片对比、故事讲述、发音与语调 - **分类逻辑**基于关键词匹配what do you say → 互动应答; what did you/last → 过去经历; favorite/like/want → 喜好; name/age/from/family → 个人信息; whose/need → 信息交换) ### 刘彦江 — reading_matchInfo 阅读信息匹配题4套: 010901/011001/011101/01120118:55 ~ 19:15 - **需求:** 4套 reading_matchInfoL2 A级能力标签 标识与通知理解|标识 & 通知 - 每套 first=5q + second=5q每题含 questionImage/question/options/answer/ability/explanation - **表:** 阅读-P1-信息匹配题tblCgfYDnnqwLfgH - **自动化问题:** 该表存在异步自动化,创建后会将 jsonData 改写为模板壳(减少题量+覆盖 ability - **解决方案:** 两阶段延迟写入先创建空记录→等35s让",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-12T01:33:44.968Z",
"lastRecalledAt": "2026-05-12T01:41:17.155Z",
"queryHashes": [
"4ab75020b1ab",
"7ca0207f1308"
],
"recallDays": [
"2026-05-12"
],
"conceptTags": [
"姓名/年龄/家庭/外貌类",
"偏好/观点/意愿类",
"物品归属/需求类",
"属看图/发音题型专用",
"you/last",
"favorite/like/want",
"name/age/from/family",
"whose/need"
]
},
"memory:memory/2026-05-11.md:20:43": {
"key": "memory:memory/2026-05-11.md:20:43",
"path": "memory/2026-05-11.md",
"startLine": 20,
"endLine": 43,
"source": "memory",
"snippet": "- **需求:** 2套 reading_pic_qaL2 A级能力标签 图文判断|句图一致性 - 每套5+5道 Y/N 判断3Y2N平衡4-7词陈述句 - **状态:** ✅ 已完成2套全部入库 + 图片描述回填验证通过 - **脚本:** `scripts/batch_reading_pic_qa_2.py` | ID | 题组1 | 题组2 | record_id | |----|-------|-------|-----------| | 010701 | notebook/star/folder/diary/contact | friendly/crazy/brilliant/kind/afraid | recvjiQuGtsVp8 | | 010801 | uncle/aunt/grandma/neighbour/pet | expensive/entrance/upstairs/downstairs/toast | recvjiQvc8EsB8 | - 表:阅读-P7-看图回答题tblweY65jGBiwSdt - 当前该表累计11条记录000001~010801含reading_pic_judge类型 4 条及其他) ### 刘彦江 — 口语-P1-日常回答 ability 标签填充18:15 ~ 18:25 - **需求:** 从能力标签名称图片中,选择与已生成题目契合的标签填入 jsonData - 表:口语-P1-日常回答tblRGv7k4WH58Jgq26条有效记录185道题 - **状态:** ✅ 全部完成 - *",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-12T01:33:44.968Z",
"lastRecalledAt": "2026-05-12T01:33:44.968Z",
"queryHashes": [
"4ab75020b1ab"
],
"recallDays": [
"2026-05-12"
],
"conceptTags": [
"reading-pic-qa",
"y/n",
"4-7词陈述句",
"record-id",
"uncle/aunt/grandma/neighbour/pet",
"阅读-p7-看图回答题",
"含reading-pic-judge类型",
"口语-p1-日常回答"
]
},
"memory:memory/2026-05-11.md:66:83": {
"key": "memory:memory/2026-05-11.md:66:83",
"path": "memory/2026-05-11.md",
"startLine": 66,
"endLine": 83,
"source": "memory",
"snippet": "1. 图片应是**真实标识/通知**(非标签式),如零售楼层导览那种 2. 图片上的文字**至少为一句话**L2 A级难度不能只有一个词 - **处理:** 4 套 reading_matchInfo 全部重新设计(题目+图片描述),两阶段延迟写入 - **新record_ids:** recvjj2Nuw9MJd / recvjj2NZz75zb / recvjj2Ov8Stks / recvjj2OX0Dmo5 - **改进要点:** - 每张图改为真实通知/标识,如 \"TRAINS to the NORTH. Go to Platform 3.\" - 图片文字至少 1 句完整陈述,含足够信息供阅读提取 - 题目围绕通知/标识内容提问,考察学生从标识中抓取关键信息的能力 ### 刘彦江 — reading_matchInfo 阅读信息匹配题6套L2 B级: 021301-02180119:30 ~ 19:45 - **需求:** 6套 reading_matchInfoL2 B级能力标签 标识与通知理解|标识 & 通知 - **B级规范** 文本3-5词短句图片为同类差异简单对应每张图是真实的标识/通知(非标签式) - **状态:** ✅ 全部完成(两阶段延迟写入策略,避免自动化覆盖) - **脚本:** `scripts/batch_reading_matchInfo.py` | ID | 题组1 | 题组2 | record_id | |----|-------|-------|-----------| | 021301 |",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-12T01:41:17.155Z",
"lastRecalledAt": "2026-05-12T01:41:17.155Z",
"queryHashes": [
"7ca0207f1308"
],
"recallDays": [
"2026-05-12"
],
"conceptTags": [
"真实标识/通知",
"reading-matchinfo",
"新record-ids",
"每张图改为真实通知/标识",
"题目围绕通知/标识内容提问",
"021301-021801",
"文本3-5词短句",
"每张图是真实的标识/通知"
]
},
"memory:memory/2026-05-11.md:51:68": {
"key": "memory:memory/2026-05-11.md:51:68",
"path": "memory/2026-05-11.md",
"startLine": 51,
"endLine": 68,
"source": "memory",
"snippet": "- **自动化问题:** 该表存在异步自动化,创建后会将 jsonData 改写为模板壳(减少题量+覆盖 ability - **解决方案:** 两阶段延迟写入先创建空记录→等35s让自动化完成→PUT jsonData010901/011201 修复后验证通过 | ID | 题组1 | 题组2 | record_id | |----|-------|-------|-----------| | 010901 | north/east/south/west/exit方向标识 | businessman/job/letter/call/guard职场 | recvjiYAHtp05c | | 011001 | beat/dancer/drum/player/work音乐体育 | aged/good-looking/mistake/weakness/be good at人物描述 | recvjiXLdt5itq | | 011101 | dangerous/badly/worst/steal/run away危险 | minute/close/kilometre/second/away时间距离 | recvjiXLOOWMsq | | 011201 | summer/winter/Earth/holiday/term季节 | examination/plus/minus/biology/study学校 | recvjiYBd8Mejs | - **脚本:** `scripts/batch_reading_matchInfo.py` - *",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-12T01:41:17.155Z",
"lastRecalledAt": "2026-05-12T01:41:17.155Z",
"queryHashes": [
"7ca0207f1308"
],
"recallDays": [
"2026-05-12"
],
"conceptTags": [
"010901/011201",
"record-id",
"north/east/south/west/exit",
"beat/dancer/drum/player/work",
"dangerous/badly/worst/steal/run",
"summer/winter/earth/holiday/term",
"自动",
"问题"
]
},
"memory:memory/2026-05-12.md:206:226": {
"key": "memory:memory/2026-05-12.md:206:226",
"path": "memory/2026-05-12.md",
"startLine": 206,
"endLine": 226,
"source": "memory",
"snippet": "- **10 条 sentenceMeaningMeaning JSON 修复:** - 根因explanation 中 ASCII `\"` 被用作中文引号 - 修复策略演变:状态机拆分失败 → 正则重建 → 发现Q2丢失 → 从中文列完整重建 - 最终10/10 可正确解析,审校结果同步更新 - 受影响1213004/1213006/1213010/1214008/1215005/1216001/1216004/1216007/1216008/1216010 ### 刘彦江 — 核心互动全题型 JSON 配置标准沉淀17:05 ~ 17:50 - **产出 Skill 1** `skills/bitable-reader/SKILL.md` — 通用 bitable 读取(任何 bitable 通用) - **产出 Skill 2** `skills/core-content-json-standard/SKILL.md` v2.0 — 全题型 JSON 标准393行 - **架构:** 通用字段在前ID/kpInfo/taskData+ 5大题型分类📖阅读2 🎧听力3 🗣口语4 ✏写作5+ 审校规则 + 扩展指南 - **覆盖率:** 14/15 种题型(口语探讨 S0 无数据) - **产出脚本:** `scripts/audit_core_reading_S0.py` — 合作阅读 S0 审校 ## 经验教训 ### bitable 写入需严格流程管控2026-05-12 - 批量更新 JSON写入前完整提取",
"recallCount": 5,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 5,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T03:09:54.362Z",
"lastRecalledAt": "2026-05-25T01:44:48.649Z",
"queryHashes": [
"f151bc633ad1",
"a0932e0e2749",
"3f9471df9e50",
"d13d58b4704a",
"37d5e066d57f"
],
"recallDays": [
"2026-05-13",
"2026-05-15",
"2026-05-19",
"2026-05-22",
"2026-05-25"
],
"conceptTags": [
"10/10",
"skills/bitable-reader/skill.md",
"v2.0",
"id/kpinfo/taskdata",
"14/15",
"scripts/audit-core-reading-s0.py",
"sentencemeaningmeaning",
"修复"
]
},
"memory:memory/2026-04-30.md:50:63": {
"key": "memory:memory/2026-04-30.md:50:63",
"path": "memory/2026-04-30.md",
"startLine": 50,
"endLine": 63,
"source": "memory",
"snippet": "格式: 【任务标题】【情境引入】【互动内容】【互动反馈】【后置对话】。目标词用$...$包裹,选项为图片区域编号(00/01/02)。 #### 5. 对话选择 (1条) — 规则: 参考 teaching_config 示例格式 + mid_dialog_choose prompt | ID | 任务标题 | 选项 | 知识点 | |---|---------|------|--------| | 1115514 | 判断蕃茄的好坏 | It is a good one. / It is a bad one. | one | 格式: 【任务标题】【资源配置】【情境引入】【互动内容】【后置对话】。互动内容含要求+选项+反馈。 ### 关键经验 - **组件配置列位置变更**: 本轮操作中发现sheet新增了「配置信息」列(C列)导致组件配置从F列移至G列。后续操作需先确认列结构。 - **Bot身份操作**: 所有飞书 sheet 写入均使用 Bot 身份App ID: cli_a931175d41799cc7Feishu API Token: t-g1044ubUXXMPFXBW75RILL7YZKRGAKQGWWDV2R3D - **对话选择组件**: 无独立 SKILL.md需参照 interactive-component-json 的 prompt_registry.py 中 mid_dialog_choose 模板 + bitable 中已有的 teaching_config 示例格式",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T03:09:54.362Z",
"lastRecalledAt": "2026-06-01T10:44:47.489Z",
"queryHashes": [
"f151bc633ad1",
"71e44ea68b09",
"f53c9769e692"
],
"recallDays": [
"2026-05-13",
"2026-05-28",
"2026-06-01"
],
"conceptTags": [
"00/01/02",
"teaching-config",
"mid-dialog-choose",
"cli-a931175d41799cc7",
"skill.md",
"interactive-component-json",
"prompt-registry.py",
"格式"
]
},
"memory:memory/2026-04-30.md:23:41": {
"key": "memory:memory/2026-04-30.md:23:41",
"path": "memory/2026-04-30.md",
"startLine": 23,
"endLine": 41,
"source": "memory",
"snippet": "| 8 | 对话朗读 | 我来刷漆吧 | Let me paint it. | 格式: 【任务标题】【资源配置】【情景引入】【互动内容】【后置对话】。情景引入和后置对话默认「无」。 #### 2. 对话挖空 (2条) — 规则: dialogue-fill-in-blanks-config | ID | 任务标题 | 挖空句 | 正确选项 | 干扰项 | 知识点 | |---|---------|--------|---------|--------|--------| | 9 | 告诉May这刷子是我的 | It is ___. | mine | May | mine | | 11 | 给稻草人John画张脸 | We need to ___ a face on John! | paint | make | paint | 格式: 【任务标题】【资源配置】【情境引入】【互动内容】【互动反馈】【后置对话】。挖空句结尾标注(音频),选项标注(正确),反馈台词贴合剧情。 #### 3. 对话组句 (3条) — 规则: dialogue-sentence-building-config | ID | 任务标题 | 答案 | 选项词 | 知识点 | |---|---------|------|-------|--------| | 10 | 制止BoBo拿我的刷子 | BoBo stop, it is mine! | BoBo/stop/it/is/mine | mine | | 12 | 告诉May我也有一顶帽子 | I have one too! | I/have/one/",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T03:09:54.362Z",
"lastRecalledAt": "2026-05-13T03:09:54.362Z",
"queryHashes": [
"f151bc633ad1"
],
"recallDays": [
"2026-05-13"
],
"conceptTags": [
"dialogue-fill-in-blanks-config",
"bobo/stop/it/is/mine",
"i/have/one",
"对话",
"朗读",
"我来",
"let",
"paint"
]
},
"memory:memory/2026-04-02.md:1:16": {
"key": "memory:memory/2026-04-02.md:1:16",
"path": "memory/2026-04-02.md",
"startLine": 1,
"endLine": 16,
"source": "memory",
"snippet": "# 2026-04-02 工作日志 ## 【规则沉淀】对话台词优化通用规则来自11-4棒球单元案例 ### 适用场景:所有英语教研内容对话台词润色、优化、修改 --- #### 核心修改规则 1. **精简原则**删除所有冗余重复表述重复提到的核心名词如baseball可省略前文已交代的背景信息不再重复 2. **口语化原则**所有台词符合日常对话习惯避免书面化、生硬的表达适当增加语气词Haha、Oops、Uh-oh、Oh boy等 3. **拆分原则**长度超过8个单词的长句拆分为2-3个短句每句对应一个动作/情绪节点,增强交互节奏 4. **情绪匹配原则**:台词语气严格匹配角色当前情绪(惊讶时拆分句子加问号,欢呼时用短词,失落时用省略号) 5. **场景适配原则**:可通过动画/画面表达的内容,不再用台词重复表述,减少信息冗余 --- #### 统一风格标准 整体风格定位:低龄友好、活泼生动、节奏感强、代入感高 - 单句最长不超过10个单词核心知识点相关句子不超过7个单词 - 每个角色的台词符合其人设Matt阳光直率、Tom活泼有趣、Amber骄傲好胜 - 对话节奏快每2-3句台词对应一个剧情节点或互动环节",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T03:18:48.153Z",
"lastRecalledAt": "2026-05-13T03:18:48.153Z",
"queryHashes": [
"633af3858f54"
],
"recallDays": [
"2026-05-13"
],
"conceptTags": [
"来自11-4棒球单元案例",
"uh-oh",
"长度超过8个单词的长句拆分为2-3个短句",
"每句对应一个动作/情绪节点",
"可通过动画/画面表达的内容",
"每2-3句台词对应一个剧情节点或互动环节",
"工作",
"日志"
]
},
"memory:memory/2026-05-13.md:88:108": {
"key": "memory:memory/2026-05-13.md:88:108",
"path": "memory/2026-05-13.md",
"startLine": 88,
"endLine": 108,
"source": "memory",
"snippet": "### kids-english-script-production 触发机制 - [刘彦江] 要求增加防误触发 - 更新文件: - `business_production/剧本翻译/skills/kids-english-script-production/assets/skill.yml` — 注册描述 - `business_production/剧本翻译/skills/kids-english-script-production/SKILL.md` — 新增触发方式章节 - 触发指令:`/英文台词 --feishu-url <链接> --stage <S1~S4>` (命令触发,推荐) - 短语触发:消息含\"英文台词生产\" - 不会触发:仅含\"翻译\"/\"台词\"/\"英文\" (防误匹配) ## 刘彦江 — 课程组件生产/审校/回填技能创建 ### script-component-production 技能 - 路径:`business_production/课程组件/skills/script-component-production/` - 覆盖27种中互动 + 14种核心互动组件类型 - 6节点流程读取文档→解析Sheet→识别组件行→匹配组件类型→LLM生成JSON→审校→回填 - 触发:`/组件配置 --feishu-url <链接>` (命令触发,推荐) - 防误触发:仅含\"互动\"/\"配置\"/\"JSON\"不触发 - 与 /英文台词 技能协作先英文台词回填列F后组件配置回填列G - 创建文件: - `SKILL.md` — 完整技能文档(",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T07:40:28.541Z",
"lastRecalledAt": "2026-05-13T07:40:28.541Z",
"queryHashes": [
"3beb30f546c9"
],
"recallDays": [
"2026-05-13"
],
"conceptTags": [
"kids-english-script-production",
"feishu-url",
"课程组件生产/审校/回填技能创建",
"script-component-production",
"skill.md",
"kids",
"english",
"script"
]
},
"memory:memory/2026-05-13.md:71:92": {
"key": "memory:memory/2026-05-13.md:71:92",
"path": "memory/2026-05-13.md",
"startLine": 71,
"endLine": 92,
"source": "memory",
"snippet": "## 刘彦江 — 教学大纲文档结构解析 + 英文台词回填 + skill触发机制 ### S1/S2 大纲文档结构 - 文档https://makee-interactive.feishu.cn/wiki/IOmNwV55Si6JTykCAM5c1HM1nSd - 类型:独立电子表格,含 2 个子表 - S1 大纲264行×22列Unit 0~122行冻结表头 - S2 大纲204行×22列Unit 13~18 - 列结构A=Unit / B=Lesson / C~F=Vocabulary(知识模块/单词/词性/词义) / G~I=Sentences(知识模块/句型/例句) / J~V=未使用 - 每Unit有 Lesson 1~5每行=一条词汇+可选句型(知识模块维度独立) ### 英文台词生产并回填L1-S2-U17-L3 紧急拜访 - 文档https://makee-interactive.feishu.cn/wiki/FkKgw4jBPix9lNkRemLcSwYOnid - spreadsheet_token: DA7csROG6hmnQMt59oScOLRfnWc, sheet: Nr3Ovs - 知识点grandmother, grandfather, visit, today + 句型 Today is... / ...visit+sb - 操作清空列F → 按MEMORY.md对话台词优化规则重新生产116条 → 写入并验证通过 - 规则应用:知识点保留/精简/口语化(收缩)/拆分(>8词)/情绪匹配/正向引导(mad→up",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T07:40:28.541Z",
"lastRecalledAt": "2026-05-13T07:40:28.541Z",
"queryHashes": [
"3beb30f546c9"
],
"recallDays": [
"2026-05-13"
],
"conceptTags": [
"s1/s2",
"知识模块/单词/词性/词义",
"知识模块/句型/例句",
"l1-s2-u17-l3",
"spreadsheet-token",
"按memory.md对话台词优化规则重新生产116条",
"知识点保留/精简/口语化",
"情绪匹配/正向引导"
]
},
"memory:memory/2026-05-13.md:105:115": {
"key": "memory:memory/2026-05-13.md:105:115",
"path": "memory/2026-05-13.md",
"startLine": 105,
"endLine": 115,
"source": "memory",
"snippet": "- 与 /英文台词 技能协作先英文台词回填列F后组件配置回填列G - 创建文件: - `SKILL.md` — 完整技能文档(触发/流程/组件类型速查/审校项/使用示例) - `assets/skill.yml` — 技能注册(依赖 interactive-component-json/core-content-json-standard 等) - `assets/component_rules.yaml` — 组件类型自动匹配信号规则 - `assets/review_checklist.yaml` — 15项审校清单ID/字段/题型/知识点/选项/高亮/反馈/超纲等) ### 已更新文件 - `component-design/SKILL.md` — 增加触发方式章节(防误触发) - `kids-english-script-production/assets/skill.yml` + `SKILL.md` — 增加 /英文台词 触发(上轮)",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T07:40:28.541Z",
"lastRecalledAt": "2026-05-13T07:40:28.541Z",
"queryHashes": [
"3beb30f546c9"
],
"recallDays": [
"2026-05-13"
],
"conceptTags": [
"skill.md",
"触发/流程/组件类型速查/审校项/使用示例",
"assets/skill.yml",
"assets/component-rules.yaml",
"assets/review-checklist.yaml",
"id/字段/题型/知识点/选项/高亮/反馈/超纲等",
"component-design/skill.md",
"英文"
]
},
"memory:memory/2026-05-13.md:1:33": {
"key": "memory:memory/2026-05-13.md:1:33",
"path": "memory/2026-05-13.md",
"startLine": 1,
"endLine": 33,
"source": "memory",
"snippet": "# 2026-05-13 工作记忆 ## 王璐辰 — 剧本台词润色审校 ### 审校#1: L1-S2-U18-L1 中国周 - 文档https://makee-interactive.feishu.cn/wiki/PgWrwllW2ikQKgkLTYKcmKFonXc - 🔴 必须修改 4 项行70句子过长、行72 you→your、行157 It this→Is this、行159全角 - 🟡 建议关注 9 项 | ⚠️ 缺失润色 2 项行47图片单选4、行185核心听力17 ### 审校#2: L1-S2-U18-L2 登龙秘笈 - 文档https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf - 🔴 必须修改 1 项行120空格缺失 - 🟡 建议关注:全文 dragon/loong 混用 - ⚠️ 缺失润色 2 项 ### 格式约定 [王璐辰确认] 后续\"审校\"请求默认输出格式: 1. 表格概况(行数/覆盖) 2. 🔴 必须修改 → 表格列出(行号/角色/问题/当前值/建议修改) 3. 🟡 建议关注 → 表格列出 4. ⚠️ 缺失项(如有) 5. ✅ 整体评价 # 2026-05-13 工作记忆 ## 王璐辰 — 剧本台词润色审校 ### 审校#1: L1-S2-U18-L1 中国周 - 文档https://makee-interactive.feishu.cn/wiki/PgWrwllW2ikQKgkLTYKcmKFonXc - 🔴 必须修改",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T09:14:31.249Z",
"lastRecalledAt": "2026-05-13T09:14:31.249Z",
"queryHashes": [
"4906de25dd2a"
],
"recallDays": [
"2026-05-13"
],
"conceptTags": [
"l1-s2-u18-l1",
"l1-s2-u18-l2",
"dragon/loong",
"行数/覆盖",
"行号/角色/问题/当前值/建议修改",
"工作",
"记忆",
"剧本"
]
},
"memory:memory/2026-05-12.md:189:209": {
"key": "memory:memory/2026-05-12.md:189:209",
"path": "memory/2026-05-12.md",
"startLine": 189,
"endLine": 209,
"source": "memory",
"snippet": "- **脚本:** `scripts/fix_matchInfo_0213_0218_desc.py` - **技能更新:** 图片描述规范写入 `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` ### 刘彦江 — L1 配置表审校 + 技能沉淀11:50 ~ 12:10 - **数据源:** `Nq3Zb258aae7SRs2QfXcqsQYnxJ` / `tblTxGpf6GQ5c7DZ` - **ID 编码:** 7位 = S(2位) + U(2位) + 序列号(3位) - **技能沉淀:** `scripts/audit_l1_config.py` + `skills/audit_l1_config/SKILL.md` ### 刘彦江 — 1213001-1216010 批量审校 40 条12:10 ~ 14:00 - **范围:** L1S2 Units 13-16 - **脚本修复(过程中):** sort 大小写误报 / ID 末尾空格 / 朗读跟读题误报 - **结果:** 系统性 classificationInfo 互换(已标记不视为错误) + 17条具体错误 + 23条通过 - **脚本:** `scripts/audit_l1_config.py` + `scripts/audit_batch_1213001_1216010.py` ### 刘彦江 — 审校结果修正 + JSON 修复14:00 ~",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T09:14:31.249Z",
"lastRecalledAt": "2026-05-21T07:31:52.322Z",
"queryHashes": [
"4906de25dd2a",
"0e7edf653be7",
"03b71fab8fb9"
],
"recallDays": [
"2026-05-13",
"2026-05-17",
"2026-05-21"
],
"conceptTags": [
"scripts/audit-l1-config.py",
"skills/audit-l1-config/skill.md",
"1213001-1216010",
"13-16",
"脚本",
"scripts",
"fix-matchinfo-0213-0218-desc.py",
"技能"
]
},
"memory:memory/2026-05-12.md:92:113": {
"key": "memory:memory/2026-05-12.md:92:113",
"path": "memory/2026-05-12.md",
"startLine": 92,
"endLine": 113,
"source": "memory",
"snippet": "- L2 B级及以上图片文字需为完整陈述句3-5词+ ### 刘彦江 — L1 配置表审校 + 技能沉淀11:50 ~ 12:10 - **数据源:** 飞书多维表格「互动知识点 - 句子」→「Level 1 配置表」(`Nq3Zb258aae7SRs2QfXcqsQYnxJ` / `tblTxGpf6GQ5c7DZ`) - **ID 编码规则:** 7位 = 前2位(Season) + 中2位(Unit) + 后3位(序列号) - 例: 1214001 = L1S2(12) + U14(14) + 001 - **审校记录 1214001 (You need to...) 发现:** 1. ❌ classificationInfo 值互换: cambridgeLevel=A1 vs cefrLevel=YLE与列字段反了 2. ❌ sentenceStructureSort 题2: 单词库有need无needs三单主语Otis语法错误 3. ⚠️ sentenceStructureClozeWordMcq: \"put your toys\" 省略 away 不够自然 - **技能沉淀:** - 脚本: `scripts/audit_l1_config.py` — 7项自动检查 - SKILL.md: `skills/audit_l1_config/SKILL.md` — 含完整审校流程 + 4项人工审核清单 ### 刘彦江 — 1213001-1216010 批量审校 40 条12:10 ~ 14:00 - **范围:** L1",
"recallCount": 5,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 5,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T09:14:31.249Z",
"lastRecalledAt": "2026-05-22T07:04:01.804Z",
"queryHashes": [
"4906de25dd2a",
"0e7edf653be7",
"4b36721edd0f",
"03b71fab8fb9",
"d13d58b4704a"
],
"recallDays": [
"2026-05-13",
"2026-05-17",
"2026-05-21",
"2026-05-22"
],
"conceptTags": [
"3-5词",
"scripts/audit-l1-config.py",
"skill.md",
"skills/audit-l1-config/skill.md",
"1213001-1216010",
"以上",
"图片",
"文字"
]
},
"memory:memory/2026-05-12.md:1:20": {
"key": "memory:memory/2026-05-12.md:1:20",
"path": "memory/2026-05-12.md",
"startLine": 1,
"endLine": 20,
"source": "memory",
"snippet": "# 2026-05-12 工作日志 ## 会话记录 ### 刘彦江 — 021301-021801 图片描述修正 + 技能更新09:35 ~ 09:45 - **问题:** 021301-021801 信息匹配题的图片描述缺少 `【Notice Type】` 标签,格式不符合参考规范 - **处理:** 1. 查询 bitable 获取6条记录当前图片描述tblCgfYDnnqwLfgH 2. 按每道题的上下文匹配对应的标识/通知类型标签(如 Show Poster、Wanted Notice、School Notice 等) 3. 批量更新6条记录的图片描述字段全部10个 `【Type】` 标签验证通过 4. 脚本:`scripts/fix_matchInfo_0213_0218_desc.py` - **技能更新:** 将图片描述规范(格式要求、核心规则、参考示例、常用类型标签参考表)更新到 `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` - **规范要点:** - 每张图片 → `图片材料文本:\\n【Type】\\nActual text` - 图片必须是真实标识/通知(非标签式) - L2 B级及以上图片文字需为完整陈述句3-5词+ ### 刘彦江 — L1 配置表审校 + 技能沉淀11:50 ~ 12:10 - **数据源:** 飞书多维表格「互动知识点 - 句子」→「Level",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T13:40:33.965Z",
"lastRecalledAt": "2026-05-14T02:49:02.264Z",
"queryHashes": [
"11ea0881b126",
"08b6f3142a2b",
"d592c9ed5e0a"
],
"recallDays": [
"2026-05-13",
"2026-05-14"
],
"conceptTags": [
"021301-021801",
"按每道题的上下文匹配对应的标识/通知类型标签",
"图片必须是真实标识/通知",
"3-5词",
"工作",
"日志",
"会话",
"记录"
]
},
"memory:memory/2026-05-12.md:36:52": {
"key": "memory:memory/2026-05-12.md:36:52",
"path": "memory/2026-05-12.md",
"startLine": 36,
"endLine": 52,
"source": "memory",
"snippet": "1. 查询 bitable 获取6条记录当前图片描述tblCgfYDnnqwLfgH 2. 按每道题的上下文匹配对应的标识/通知类型标签(如 Show Poster、Wanted Notice、School Notice 等) 3. 批量更新6条记录的图片描述字段全部10个 `【Type】` 标签验证通过 4. 脚本:`scripts/fix_matchInfo_0213_0218_desc.py` - **技能更新:** 将图片描述规范(格式要求、核心规则、参考示例、常用类型标签参考表)更新到 `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` - **规范要点:** - 每张图片 → `图片材料文本:\\n【Type】\\nActual text` - 图片必须是真实标识/通知(非标签式) - L2 B级及以上图片文字需为完整陈述句3-5词+ ### 刘彦江 — L1 配置表审校 + 技能沉淀11:50 ~ 12:10 - **数据源:** 飞书多维表格「互动知识点 - 句子」→「Level 1 配置表」(`Nq3Zb258aae7SRs2QfXcqsQYnxJ` / `tblTxGpf6GQ5c7DZ`) - **ID 编码规则:** 7位 = 前2位(Season) + 中2位(Unit) + 后3位(序列号) - 例: 1214001 = L1S2(12) + U14(14) + 001",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T13:40:33.965Z",
"lastRecalledAt": "2026-05-13T13:40:41.646Z",
"queryHashes": [
"11ea0881b126",
"08b6f3142a2b"
],
"recallDays": [
"2026-05-13"
],
"conceptTags": [
"按每道题的上下文匹配对应的标识/通知类型标签",
"图片必须是真实标识/通知",
"3-5词",
"查询",
"bitable",
"获取",
"记录",
"当前"
]
},
"memory:memory/2026-05-12.md:170:193": {
"key": "memory:memory/2026-05-12.md:170:193",
"path": "memory/2026-05-12.md",
"startLine": 170,
"endLine": 193,
"source": "memory",
"snippet": "- 每个题型cType + bitable 定位 + JSON 字段表 + 结构特点 + 与同类题型的差异说明 #### 发现 - 写作互动和邮件组句 cType 相同(`core_writing_questionMakeSentence`),通过 textInfo 区分素材 - 口语快答/妙问 JSON 结构几乎相同,差异在 prompt 配置和对话样例内容 - 合作阅读和合作听力的核心差异:`textData.text[]` ↔ `textData.audio[]` - meaning 标签(合作阅读)为开放型自由文本,非受控词表 #### 产出文件 - `skills/bitable-reader/SKILL.md` — 通用 bitable 读取技能164行 - `skills/core-content-json-standard/SKILL.md` — 全题型 JSON 标准 v2.0393行 - `scripts/audit_core_reading_S0.py` — 合作阅读 S0 审校脚本(含审校发现) # 2026-05-12 工作日志 ## 会话记录 ### 刘彦江 — 021301-021801 图片描述修正 + 技能更新09:35 ~ 09:45 - **问题:** 021301-021801 信息匹配题的图片描述缺少 `【Notice Type】` 标签 - **处理:** 批量更新6条记录的图片描述字段全部10个标签验证通过 - **脚本:** `scripts/fix_matchInfo_0213_0218_desc.py`",
"recallCount": 6,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 6,
"maxScore": 1,
"firstRecalledAt": "2026-05-14T02:49:02.264Z",
"lastRecalledAt": "2026-05-29T00:23:17.392Z",
"queryHashes": [
"d592c9ed5e0a",
"5f858a7d5e0b",
"34bf2e5fbdee",
"3f9471df9e50",
"d13d58b4704a",
"bd790c7e2a35"
],
"recallDays": [
"2026-05-14",
"2026-05-17",
"2026-05-19",
"2026-05-22",
"2026-05-29"
],
"conceptTags": [
"口语快答/妙问",
"textdata.text",
"textdata.audio",
"skills/bitable-reader/skill.md",
"v2.0",
"scripts/audit-core-reading-s0.py",
"021301-021801",
"ctype"
]
},
"memory:memory/2026-05-12.md:76:95": {
"key": "memory:memory/2026-05-12.md:76:95",
"path": "memory/2026-05-12.md",
"startLine": 76,
"endLine": 95,
"source": "memory",
"snippet": "- **脚本回填脚本:** `scripts/audit_batch_1213001_1216010.py` # 2026-05-12 工作日志 ## 会话记录 ### 刘彦江 — 021301-021801 图片描述修正 + 技能更新09:35 ~ 09:45 - **问题:** 021301-021801 信息匹配题的图片描述缺少 `【Notice Type】` 标签,格式不符合参考规范 - **处理:** 1. 查询 bitable 获取6条记录当前图片描述tblCgfYDnnqwLfgH 2. 按每道题的上下文匹配对应的标识/通知类型标签(如 Show Poster、Wanted Notice、School Notice 等) 3. 批量更新6条记录的图片描述字段全部10个 `【Type】` 标签验证通过 4. 脚本:`scripts/fix_matchInfo_0213_0218_desc.py` - **技能更新:** 将图片描述规范(格式要求、核心规则、参考示例、常用类型标签参考表)更新到 `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` - **规范要点:** - 每张图片 → `图片材料文本:\\n【Type】\\nActual text` - 图片必须是真实标识/通知(非标签式) - L2 B级及以上图片文字需为完整陈述句3-5词+ ### 刘彦江 — L1 配置表审校 + 技",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-14T02:49:02.264Z",
"lastRecalledAt": "2026-05-19T03:08:27.099Z",
"queryHashes": [
"d592c9ed5e0a",
"5f858a7d5e0b",
"34bf2e5fbdee"
],
"recallDays": [
"2026-05-14",
"2026-05-17",
"2026-05-19"
],
"conceptTags": [
"021301-021801",
"按每道题的上下文匹配对应的标识/通知类型标签",
"图片必须是真实标识/通知",
"3-5词",
"脚本",
"回填",
"scripts",
"audit-batch-1213001-1216010"
]
},
"memory:memory/2026-05-07.md:354:368": {
"key": "memory:memory/2026-05-07.md:354:368",
"path": "memory/2026-05-07.md",
"startLine": 354,
"endLine": 368,
"source": "memory",
"snippet": "- **需求:** 将 020102I am...)和 020103I am ready / Thank you两套题合并为一个 `{first:..., second:...}` JSON统一 questionSetID=0000001 - **状态:** ✅ 已完成 - **核心考点分析(用户强调):** 需分析每个句型的核心考点(孩子最容易犯错的地方),挖空对准核心考点 - I am/from 组am系动词第一人称、from介词选择、studenta+名词结构) - Thank you for 组for介词选择非 you、helpingfor+动名词,非 help/to help - **输出文件:** `output/writing_pic_qa_combined.json` ### 刘彦江 — 组件配置-json 请求L1-S2-U13-L4 沙漠之花) - **时间:** 16:45 ~ 17:51 - **文档:** `https://makee-interactive.feishu.cn/wiki/K5E1wzwk7it9t7kXvcbc6Xugnhc` - **状态:** ⚠️ 未完成 — pipeline 识别到 0 组件 - **根因:** 剧本文档的13个组件数据存储在 markdown 内联表格中lark-table5列×36行而非内嵌 Sheet。当前 pipeline 的 parse_script 只从内嵌 Sheet 读取组件数据,不支持 markdown 表格组件解析 - **已识别组件ma",
"recallCount": 15,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 15,
"maxScore": 1,
"firstRecalledAt": "2026-05-15T07:13:08.147Z",
"lastRecalledAt": "2026-06-04T06:34:06.417Z",
"queryHashes": [
"08364c8746ab",
"4f08741ab4fd",
"6a1144a866c9",
"65b539c56ec3",
"19c873a71799",
"47f8c15000b2",
"612fa3b04b06",
"d6a04b711fd9",
"8742c0bf4e2b",
"eb0902db0156",
"229e5d3943bb",
"f53c9769e692",
"5d025e291984",
"472b243ec77c",
"fd4c8aca2cb6"
],
"recallDays": [
"2026-05-15",
"2026-05-17",
"2026-05-18",
"2026-05-21",
"2026-05-25",
"2026-05-28",
"2026-06-01",
"2026-06-04"
],
"conceptTags": [
"am/from",
"help/to",
"组件配置-json",
"l1-s2-u13-l4",
"lark-table",
"parse-script",
"需求",
"ready"
]
},
"memory:memory/2026-04-22.md:1:8": {
"key": "memory:memory/2026-04-22.md:1:8",
"path": "memory/2026-04-22.md",
"startLine": 1,
"endLine": 8,
"source": "memory",
"snippet": "[李应瑛 2026-04-22 提出要求] 所有需要包含对话的内容(如剧本、互动组件等)必须要有【后置对话】字段,无后置对话时填写“无”。 [李应瑛 2026-04-22 确认规则] 剧本内嵌表格组件填写位置规则仅当表格第一列A列明确标注为对话类类型对话朗读/对话挖空/对话选读/对话组句等才在同一行的H列【组件】列填写对应的组件内容其他类型行TL/场景/角色/图片/非对话类等)无需填写。 [李应瑛 2026-04-22 确认格式规则] 对话类组件字段换行规则:每个结构单独占一行,格式为: 【任务标题】xxx 【情境引入】xxx 【互动内容】xxx 【后置对话】xxx 单元格内使用\\n作为换行符实现后续所有组件均遵循此格式。",
"recallCount": 13,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 13,
"maxScore": 1,
"firstRecalledAt": "2026-05-15T07:13:08.147Z",
"lastRecalledAt": "2026-06-04T06:34:06.417Z",
"queryHashes": [
"08364c8746ab",
"4f08741ab4fd",
"6a1144a866c9",
"19c873a71799",
"47f8c15000b2",
"612fa3b04b06",
"d6a04b711fd9",
"8742c0bf4e2b",
"eb0902db0156",
"229e5d3943bb",
"5d025e291984",
"472b243ec77c",
"fd4c8aca2cb6"
],
"recallDays": [
"2026-05-15",
"2026-05-17",
"2026-05-18",
"2026-05-21",
"2026-05-25",
"2026-05-28",
"2026-06-01",
"2026-06-04"
],
"conceptTags": [
"对话朗读/对话挖空/对话选读/对话组句等",
"tl/场景/角色/图片/非对话类等",
"提出",
"要求",
"所有",
"需要",
"包含",
"对话"
]
},
"memory:memory/2026-04-30.md:1:27": {
"key": "memory:memory/2026-04-30.md:1:27",
"path": "memory/2026-04-30.md",
"startLine": 1,
"endLine": 27,
"source": "memory",
"snippet": "# 2026-04-30 工作日志 ## 李应瑛 — L1-S2-U15-L5 剧本组件配置生产 ### 文档信息 - **剧本**: 另一个BoBo 副本 - **Wiki**: https://makee-interactive.feishu.cn/wiki/HSSRwUqxSi8p51k6FtIcA7UAn8y - **Spreadsheet Token**: SD3Fs2zv8hM5evtHA5Nc7UjQncd - **Sheet ID**: wMQVyV - **Sheet 列结构**(注意:中间新增了\"配置信息\"列C组件配置列从F移至G: - A: 类型, B: ID, C: 配置信息, D: 剧情描述, E: 角色名, F: 英文台词, G: 组件配置, H: 知识点, I: 编剧台词 ### 已完成组件配置 #### 1. 对话朗读 (6条) — 规则: dialogue-reading-config | ID | 类型 | 任务标题 | 互动内容 | |---|------|---------|---------| | 1 | 对话朗读-配图 | 给May看照片 | I have a photo. | | 2 | 对话朗读-配图 | 指认照片中的房子 | Look at this one. | | 3 | 对话朗读-配图 | 告诉May这是我的房子 | This house is mine. | | 4 | 对话朗读 | 赞叹May有一个农场 | You have a farm! | | 7 | 对话朗读 | 夸May刷漆刷得好 | You",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-17T05:52:07.611Z",
"lastRecalledAt": "2026-05-17T05:52:07.611Z",
"queryHashes": [
"65b539c56ec3"
],
"recallDays": [
"2026-05-17"
],
"conceptTags": [
"l1-s2-u15-l5",
"dialogue-reading-config",
"对话朗读-配图",
"工作",
"日志",
"u15",
"剧本",
"配置"
]
},
"memory:memory/2026-05-12.md:137:149": {
"key": "memory:memory/2026-05-12.md:137:149",
"path": "memory/2026-05-12.md",
"startLine": 137,
"endLine": 149,
"source": "memory",
"snippet": "- **根因:** explanation 文本中的 ASCII `\"` (U+0022) 被当作中文双引号使用JSON 解析器将其视为字符串终止符 - **修复策略:** 从「句意选择题」中文列提取英文原句和选项 → json.dumps 重建标准 JSON只修格式不修内容 - **1216007 特殊处理:** 原始 JSON 损坏严重,需从中文列完全重建 - **二次修复Q2 丢失问题):** 首次不完全修复导致 9 条记录的 Q2 被覆盖丢失,且 Q1 被 JSON 垃圾污染 → 从中文列全面重建 Q1+Q2 - **最终结果10/10 条记录 sentenceMeaningMeaning 均可 json.loads 正确解析,每条含 2 题,无残留垃圾数据** - **受影响记录:** 1213004, 1213006, 1213010, 1214008, 1215005, 1216001, 1216004, 1216007, 1216008, 1216010 - **审校结果同步更新:** 移除所有 10 条的 `❌ JSON 解析失败` 标记 - **注意:** Q1 explanation 在重建时词表述可能微调(内容含义一致),如需精确原始 wording 可从中文列恢复后人工微调 ## 经验教训 ### bitable 写入需严格流程管控2026-05-12 - 批量更新 JSON 字段时必须:写入前完整提取原始数据 → 写入后逐字段 diff 验证 → 发现异常立即回滚",
"recallCount": 10,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 10,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T02:42:25.325Z",
"lastRecalledAt": "2026-05-28T03:07:46.098Z",
"queryHashes": [
"6b577a0b3971",
"3069a934195d",
"68f309fb88a7",
"d8cc1fcace47",
"a17120169039",
"45858b28edec",
"79988fa9a90d",
"eef3a2e282db",
"6e1ba3a5e963",
"cf60b3f6d17d"
],
"recallDays": [
"2026-05-18",
"2026-05-25",
"2026-05-26",
"2026-05-28"
],
"conceptTags": [
"json.dumps",
"10/10",
"json.loads",
"根因",
"explanation",
"文本",
"中的",
"ascii"
]
},
"memory:memory/2026-05-17.md:19:41": {
"key": "memory:memory/2026-05-17.md:19:41",
"path": "memory/2026-05-17.md",
"startLine": 19,
"endLine": 41,
"source": "memory",
"snippet": "- `raw_content` API 不暴露此类嵌入 Sheet需通过 blocks API 查找 `block_type=30` 的 grid_column 节点来发现 sheet token - 该文档含 2 个嵌入 Sheet`zbfYO4`(知识点区)和 `Nr3Ovs`243 行 × 8 列脚本表) ### 已完成的组件回填14/14 对话组件) | 组件类型 | 数量 | 所用 skill | |---------|:--:|-----------| | 对话朗读 | 6 | dialogue-reading-config | | 对话朗读-配图 | 2 | dialogue-reading-config | | 对话挖空 | 2 | dialogue-fill-in-blanks-config | | 对话挖空-配图 | 1 | dialogue-fill-in-blanks-config | | 对话选择-配图 | 1 | dialogue-choose-config | | 对话选读 | 1 | **dialogue-selective-reading-config新建** | | 对话组句 | 1 | dialogue-sentence-building-config | ### Skill 库补全 - **新建 skill**`~/.openclaw/workspace-xiaoyan/skills/dialogue-selective-reading-config/SKILL.md` - 格式来源:`dialogue-inter",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T02:42:25.325Z",
"lastRecalledAt": "2026-05-29T00:23:17.392Z",
"queryHashes": [
"eb45753e9aa6",
"09344f87b646",
"bd790c7e2a35"
],
"recallDays": [
"2026-05-18",
"2026-05-21",
"2026-05-29"
],
"conceptTags": [
"raw-content",
"block-type",
"grid-column",
"14/14",
"dialogue-reading-config",
"对话朗读-配图",
"dialogue-fill-in-blanks-config",
"对话挖空-配图"
]
},
"memory:memory/2026-05-14.md:1:29": {
"key": "memory:memory/2026-05-14.md:1:29",
"path": "memory/2026-05-14.md",
"startLine": 1,
"endLine": 29,
"source": "memory",
"snippet": "## [刘彦江] 单元挑战听力审校2026-05-14 10:23 ### 审校范围 单元挑战多维表格App Token: `CMHSbUUjka3TrUsaxxEc297ongf`)听力部分 P1-P7排除P3。 ### 审校结果 - 总记录数90条含空记录有内容54条 - ✅ 通过45条 | 🔴 需修改9条 ### 🔴 需修改记录 | 表 | record_id | 问题 | |---|---|---| | P4-短对话选择 | recvjufM76lEsW | 题目集合ID不匹配: field=021501, jsonData=032901 | | P4-短对话选择 | recvjufM76lRHQ | 题目集合ID不匹配: field=021801, jsonData=173601 | | P7-听力拖拽 | recv9G4M8EitVx | ability用¥¥分隔, 应为逗号 | | P7-听力拖拽 | recvhYCmybrzzx | second[0].ability为空 | | P7-听力拖拽 | recviZIWmT91yS | QSID=\"L1\"异常, 题目1/2文本字段空 | | P7-听力拖拽 | recvj5t2UBNxx3 | second[0].ability为空 | | P1-图片选择 | recuUjgbwn3Lkm | explanation过短 | | P1-图片选择 | recuXeaDe2DMco | explanation过短(4处) | | P1-图片选择 | recv2vIWOdExGi | exp",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T02:42:35.690Z",
"lastRecalledAt": "2026-05-18T02:42:52.167Z",
"queryHashes": [
"6f2558e71aa6",
"88190dc3b5bc"
],
"recallDays": [
"2026-05-18"
],
"conceptTags": [
"p1-p7",
"record-id",
"p4-短对话选择",
"p7-听力拖拽",
"题目1/2文本字段空",
"p1-图片选择",
"彦江",
"单元"
]
},
"memory:memory/2026-05-14.md:24:47": {
"key": "memory:memory/2026-05-14.md:24:47",
"path": "memory/2026-05-14.md",
"startLine": 24,
"endLine": 47,
"source": "memory",
"snippet": "- `scripts/audit_unit_challenge_listening.py` — 第1轮基础审校结构/字段完整性) - `scripts/audit_unit_challenge_listening_v2.py` — 第2轮深度审校能力标签/内容一致性) - `scripts/write_audit_results_v3.py` — 结果写回bitablePython直接调API ### 注意事项 - P6 表格部分记录 dataStatus 为 None非\"0\"),已手动补写 - 写入脚本直接使用 Python requests 调飞书 API绕过 bash 脚本,避免 shell 变量转义和阻塞问题 ## [刘彦江] 单元挑战听力审校修复2026-05-14 10:30 ### 已修复 9 条 | # | 表 | record_id | 修复内容 | |---|-----|-----------|----------| | 1 | P7 | recv9G4M8EitVx | ability ¥¥→逗号 + explanation ¥¥→分号 | | 2 | P7 | recvhYCmybrzzx | second ability补全复用first+ explanation补充 | | 3 | P7 | recvj5t2UBNxx3 | second ability补全复用first | | 4 | P4 | recvjufM76lEsW | QSID字段 021501→032901统一为jsonData内部值 | | 5 |",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T02:42:35.690Z",
"lastRecalledAt": "2026-05-18T02:42:35.690Z",
"queryHashes": [
"6f2558e71aa6"
],
"recallDays": [
"2026-05-18"
],
"conceptTags": [
"结构/字段完整性",
"能力标签/内容一致性",
"record-id",
"scripts",
"基础",
"结构",
"完整性",
"深度"
]
},
"memory:memory/2026-05-14.md:42:71": {
"key": "memory:memory/2026-05-14.md:42:71",
"path": "memory/2026-05-14.md",
"startLine": 42,
"endLine": 71,
"source": "memory",
"snippet": "| 6 | P7 | recviZIWmT91yS | QSID \"L1\"→\"L1-TBD-REVIEW\"标记需人工审核first/second内容重复 | | 7 | P1 | recuUjgbwn3Lkm | 标记为占位数据QSID=000001 | | 8 | P1 | recuXeaDe2DMco | explanation优化通用模板→带选项字母的版本 | | 9 | P1 | recv2vIWOdExGi | explanation优化通用模板→带选项字母的版本 | ### 需人工跟进 - recviZIWmT91yS: QSID需确认正确值first/second内容重复都是park场景文本字段空 ## [刘彦江] 第二轮修复2026-05-14 10:40 ### 修复内容 | # | 表 | record_id | 修复内容 | |---|-----|-----------|----------| | 1 | P4 | recvjufM76hNv5 | JSON清理重写原解析报错 | | 2 | P4 | recvjufM76eMKs | QSID 021701→032901 | | 3 | P1 | recuVgdFqcW20X | explanation补全 | | 4 | P1 | recvj1lf9upJNH | explanation补全 | | 5 | P1 | recvj1lfsXqshG | explanation已OK无须改 | | 6 | P4 | recvjufM76o6of | explanati",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T02:42:52.167Z",
"lastRecalledAt": "2026-05-18T02:42:52.167Z",
"queryHashes": [
"88190dc3b5bc"
],
"recallDays": [
"2026-05-18"
],
"conceptTags": [
"l1-tbd-review",
"first/second内容重复",
"record-id",
"recviziwmt91ys",
"qsid",
"tbd",
"review",
"标记"
]
},
"memory:memory/2026-05-18.md:23:29": {
"key": "memory:memory/2026-05-18.md:23:29",
"path": "memory/2026-05-18.md",
"startLine": 23,
"endLine": 29,
"source": "memory",
"snippet": "- 缺失列:写作-P2tblSAwlMumKoyjws、口语-P4tblsD2dxaRpLmkXD无「审校结果」列 ### 经验 - 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文 - bitable curl 写回嵌套JSON时Python subprocess构造完整body比shell变量展开安全 - 听力-P1 000001 虽有5条first+5条second但确有题目内容不是纯占位按实际内容生成了解析",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T02:42:52.167Z",
"lastRecalledAt": "2026-05-18T02:42:52.167Z",
"queryHashes": [
"88190dc3b5bc"
],
"recallDays": [
"2026-05-18"
],
"conceptTags": [
"写作-p2",
"口语-p4",
"写作-p3",
"听力-p1",
"缺失",
"写作",
"tblsawlmumkoyjws",
"口语"
]
},
"memory:memory/2026-05-18.md:1:27": {
"key": "memory:memory/2026-05-18.md:1:27",
"path": "memory/2026-05-18.md",
"startLine": 1,
"endLine": 27,
"source": "memory",
"snippet": "# 2026-05-18 工作日志 ## 单元挑战全题型审核 + 修复 ### 背景 [刘彦江] 要求对单元挑战全部20种题型审核重点解析不能纯英文、答案格式正确性。题目内容不修改。 ### 审核结果 - 审核范围20张表、244条记录 - 答案格式:零问题 - 纯英文解析13处听力-P2 021901 ×10口语-P1 032701/032901口语-P2 032801 - 解析为空83处听力-P1 000001+110101~110401 ×50听力-P4 021701/022101/032501/032901 ×20共写作-P3复查后实际OK ### 修复执行 - 13条纯英文→中文化翻译通过模型翻译 - 70条空解析→从题目内容+ability关键词智能生成 - 全部通过 Python+curl 写回 bitable避免shell转义 - 写入后回读验证107条全部含中文零错误 ### 审校结果列更新 - 格式:`✅ OK | 2026-05-18 小研审校` / `📝 空模板 | 2026-05-18 小研审校` - 已更新18张表、241条记录 - 缺失列:写作-P2tblSAwlMumKoyjws、口语-P4tblsD2dxaRpLmkXD无「审校结果」列 ### 经验 - 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文 - bitable curl 写回嵌套JSON时Python subprocess构造完整body比shell变量展开安全",
"recallCount": 5,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 5,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T02:42:52.167Z",
"lastRecalledAt": "2026-05-21T02:47:43.415Z",
"queryHashes": [
"88190dc3b5bc",
"2a58080272be",
"e3188fdd52d6",
"8ccf25e60418",
"f76487d76697"
],
"recallDays": [
"2026-05-18",
"2026-05-19",
"2026-05-21"
],
"conceptTags": [
"听力-p2",
"口语-p1",
"032701/032901",
"口语-p2",
"听力-p1",
"听力-p4",
"021701/022101/032501/032901",
"共写作-p3复查后实际ok"
]
},
"memory:memory/2026-05-14.md:123:144": {
"key": "memory:memory/2026-05-14.md:123:144",
"path": "memory/2026-05-14.md",
"startLine": 123,
"endLine": 144,
"source": "memory",
"snippet": "## [刘彦江] 写作+口语 C级 032501-032901 生产2026-05-14 15:42 ### 生产内容10条 | # | 表 | QSID | record_id | 题型 | 主题 | 难度 | |---|-----|------|-----------|------|------|------| | 1 | 写作-P1 | 032501 | recvjzXjMKAQ4i | 邮件组句 | 鼓励朋友参加音乐会 | C | | 2 | 写作-P1 | 032601 | recvjzXklYIE05 | 邮件组句 | 给老师写感谢信 | C | | 3 | 写作-P1 | 032701 | recvjzXkYnsQ8r | 邮件组句 | 描述咖啡馆和遇到的人 | C | | 4 | 写作-P1 | 032801 | recvjzXlxz4r3i | 邮件组句 | 科学项目求助 | C | | 5 | 写作-P1 | 032901 | recvjzXm5yEXBY | 邮件组句 | 妈妈的生日派对 | C | | 6 | 口语-P1 | 032501 | recvjzWP7IcA8O | 日常回答 | 观点转变与过去习惯 | C | | 7 | 口语-P1 | 032701 | recvjzWPQc5JZW | 日常回答 | 好奇心与想法改变 | C | | 8 | 口语-P1 | 032901 | recvjzWQr0Kif7 | 日常回答 | 团队合作与沟通 | C | | 9 | 口语-P2 | 032601 | recvjzWR07LSna |",
"recallCount": 7,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 7,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T11:35:06.740Z",
"lastRecalledAt": "2026-05-25T08:53:31.758Z",
"queryHashes": [
"2a58080272be",
"e3188fdd52d6",
"8ccf25e60418",
"f76487d76697",
"e8e31d8a03aa",
"d8cc1fcace47",
"12653110bb68"
],
"recallDays": [
"2026-05-18",
"2026-05-19",
"2026-05-21",
"2026-05-25"
],
"conceptTags": [
"032501-032901",
"record-id",
"写作-p1",
"口语-p1",
"口语-p2",
"彦江",
"写作",
"口语"
]
},
"memory:memory/2026-05-14.md:64:93": {
"key": "memory:memory/2026-05-14.md:64:93",
"path": "memory/2026-05-14.md",
"startLine": 64,
"endLine": 93,
"source": "memory",
"snippet": "| 10 | P5 | recvjuiypW7mZY | 补审校结果(之前漏写) | | 11 | P4 | recvjufM76frUP | 缺second题组→人工确认豁免 | | - | P7 | recviZIWmT91yS | ⏭️ 人工确认跳过 | ### 最终状态 - ✅ 通过 48条 | ⏭️ 跳过 2条 | 🔴 0条 - 全部有内容的记录审校通过 ## [刘彦江] 写作+口语题目生产2026-05-14 12:10 ### 生产内容6条 | # | 表 | QSID | record_id | 题型 | first | second | |---|-----|------|-----------|------|-------|--------| | 1 | 写作-P1-邮件回复 | 021801 | recvjz5GeTe9aB | writing_email | 6句排序 | — | | 2 | 写作-P1-邮件回复 | 021901 | recvjz5GE2LKi9 | writing_email | 7句排序 | — | | 3 | 写作-P1-邮件回复 | 022001 | recvjz5H3s5k8y | writing_email | 6句排序 | — | | 4 | 口语-P2-话题讨论 | 021801 | recvjz5Hs8gpCJ | speaking_topic | 5题 | 5题 | | 5 | 口语-P1-日常回答 | 021901 | recvjz5HSdc0nZ | speaking_qa | 4题 | 4题",
"recallCount": 7,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 7,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T11:35:06.740Z",
"lastRecalledAt": "2026-05-26T01:58:13.120Z",
"queryHashes": [
"2a58080272be",
"e3188fdd52d6",
"8ccf25e60418",
"f76487d76697",
"e8e31d8a03aa",
"d8cc1fcace47",
"ab90b7e9cde8"
],
"recallDays": [
"2026-05-18",
"2026-05-19",
"2026-05-21",
"2026-05-25",
"2026-05-26"
],
"conceptTags": [
"record-id",
"写作-p1-邮件回复",
"writing-email",
"口语-p2-话题讨论",
"speaking-topic",
"口语-p1-日常回答",
"speaking-qa",
"recvjuiypw7mzy"
]
},
"memory:memory/2026-05-14.md:138:165": {
"key": "memory:memory/2026-05-14.md:138:165",
"path": "memory/2026-05-14.md",
"startLine": 138,
"endLine": 165,
"source": "memory",
"snippet": "| 10 | 口语-P2 | 032801 | recvjzWRISLiD9 | 话题讨论 | 挑战与习惯管理 | C | ### 落款多样化 - Yours truly, Sam / Warm regards, Lucy / Kind regards, Emma / Gratefully, Tom / With love, Jessica ### 图片描述(口语-P2 - 032601: 梦想与未来(仰望星空、选择困难、职业海报、老师写\"梦想\" - 032801: 挑战与习惯(作业压力、游戏打到深夜、考试不及格、图书馆讨论) ### 写作表字段名 - 写作-P1 字段为\"题目1\"(非\"题目1 完整配置\"),口语-P1 使用\"题目1热词\"/\"题目2热词\" ## [刘彦江] 口语-P1 explanation 全量补充2026-05-14 16:01 ### 背景 口语-P1-日常回答表tblRGv7k4WH58Jgq共39条记录其中23条历史记录的171道题目 explanation 字段为空。 ### 补齐结果 - 更新记录23条 → 全部写回成功 - 生成 explanation171题 - 最终验证258题全通过0空、0偏短 - 新增3条032501/032701/032901在前序批次中已含完整 explanation本次未改动 ### 生成规则 按 ability 标签分类匹配模板生成中文解析: - 基础信息表达|个人信息问答 → 细分:年龄/姓名/家庭/外貌/物品位置 - 表达喜好与理由 → 喜好+because原因引导",
"recallCount": 4,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 4,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T11:35:06.740Z",
"lastRecalledAt": "2026-05-21T02:47:43.415Z",
"queryHashes": [
"2a58080272be",
"e3188fdd52d6",
"8ccf25e60418",
"f76487d76697"
],
"recallDays": [
"2026-05-18",
"2026-05-19",
"2026-05-21"
],
"conceptTags": [
"口语-p2",
"写作-p1",
"口语-p1",
"口语-p1-日常回答表",
"032501/032701/032901",
"年龄/姓名/家庭/外貌/物品位置",
"口语",
"recvjzwrislid9"
]
},
"memory:memory/2026-05-13.md:1:29": {
"key": "memory:memory/2026-05-13.md:1:29",
"path": "memory/2026-05-13.md",
"startLine": 1,
"endLine": 29,
"source": "memory",
"snippet": "## [刘彦江] 单元挑战口语写作内容生产2026-05-13 21:40 ### 生产范围10条记录全部单题组全部回填验证通过 ✅) | ID | 写作-P1 | 口语-P1 | 写作-P2 | 口语-P2 | 状态 | |----|---------|---------|---------|---------|------| | 011301 | ✅ 邮件回复 | ✅ 日常回答 | - | - | 全部通过 | | 011401 | ✅ 邮件回复 | ✅ 日常回答 | - | - | 全部通过 | | 011501 | ✅ 邮件回复 | ✅ 日常回答 | - | - | 全部通过 | | 011701 | ✅ 邮件回复 | ✅ 日常回答 | - | - | 全部通过 | | 011601 | - | - | ✅ 看图写作 | ✅ 话题讨论 | 全部通过 | ### 题型结构总结 **写作-P1 (writing_email)**: - 6句段落排序含3句知识点作为范文核心句 - 能力标签:短消息写作|邮件/便条, 衔接与连贯|连词使用 - 场景:火灾求助/宠物照顾/惊喜派对/故事分享 **口语-P1 (speaking_qa)**: - 4个引导问题每问引导1个知识点句型 - 能力标签:基础信息表达|个人信息问答, 表达喜好与理由, 互动应答|问答交流 - 问题设计引导关键词:外貌描述/主动帮忙/耐心等待/购物清单 **写作-P2 (writing_picWrite)**: - 6句故事排序含3句知识点作为故事核心句 - 能力标签:叙述故",
"recallCount": 5,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 5,
"maxScore": 1,
"firstRecalledAt": "2026-05-18T11:35:06.740Z",
"lastRecalledAt": "2026-05-25T01:45:24.016Z",
"queryHashes": [
"2a58080272be",
"e3188fdd52d6",
"8ccf25e60418",
"f76487d76697",
"e8e31d8a03aa"
],
"recallDays": [
"2026-05-18",
"2026-05-19",
"2026-05-21",
"2026-05-25"
],
"conceptTags": [
"写作-p1",
"口语-p1",
"写作-p2",
"口语-p2",
"writing-email",
"邮件/便条",
"火灾求助/宠物照顾/惊喜派对/故事分享",
"speaking-qa"
]
},
"memory:memory/2026-05-18.md:702:726": {
"key": "memory:memory/2026-05-18.md:702:726",
"path": "memory/2026-05-18.md",
"startLine": 702,
"endLine": 726,
"source": "memory",
"snippet": "- 颜色题: \"What colour is it?\",物体题: \"What's this?\" - ability: 图文匹配 - explanation: 含回答要点、图片内容、能力、评估标准、回答指导 ### 审校结果 - ✅ 全部27题 jsonData 结构完整、explanation 全中文、题目格式正确 - ✅ 题目集合ID一致、图片编号连续00-10/00-11/00-09 - ✅ 题目配置(人类可读)格式规范 - ⚠️ 口语-P4表无「审校结果」列无法标记审校状态 - 110101题组2 \"colour\"出现2次调色盘+彩虹)— 按规格生成 - 110201 \"mice\"(复数) 使用 \"What are these?\" 区分于 \"mouse\"(单数) 使用 \"What's this?\" - 以下词汇未在L1词库中检索到词库仅160词/声称980词疑似文件不完整jacket, T-shirt, hair, monster, colour, bread, cake, candy, chocolate, ice cream, mice, mouse — 按用户指定词汇生产,未做替换 ### Bitable信息 - App Token: CMHSbUUjka3TrUsaxxEc297ongf - Table ID: tblsD2dxaRpLmkXD - 操作方式: Python subprocess + curl避免shell转义 ## [李应瑛] L1-S2-U17-L3 紧急拜访 组件配置2026-05-18 20:5",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-19T03:08:27.099Z",
"lastRecalledAt": "2026-06-04T03:43:35.423Z",
"queryHashes": [
"34bf2e5fbdee",
"3f9471df9e50",
"19f5f93f3465"
],
"recallDays": [
"2026-05-19",
"2026-06-04"
],
"conceptTags": [
"00-10/00-11/00-09",
"口语-p4表无",
"词库仅160词/声称980词",
"t-shirt",
"l1-s2-u17-l3",
"颜色",
"what",
"colour"
]
},
"memory:memory/2026-05-18.md:672:707": {
"key": "memory:memory/2026-05-18.md:672:707",
"path": "memory/2026-05-18.md",
"startLine": 672,
"endLine": 707,
"source": "memory",
"snippet": "- `/tmp/unit_challenge_ability_doc.md` — 对外分享版(已发送文件 + 飞书文档) --- ## L1-S2-U18-L5 双龙会 台词润色审校([王璐辰] ### 审校结果 - 语法/拼写硬错误5处Rows 41, 55, 126, 153, 178 - 表达优化建议4处Rows 77, 84, 63, 207 - 一致性遗漏4行无润色 + dragon/Loong 混用不统一 - D列知识点6个知识点共20次 ### 交互模式收获 - 用户(王璐辰)偏好直接在 bitable 中写入统计表格 → 后续同类需求优先写入原表 ## [刘彦江] 口语-P4-看图识物 内容生产2026-05-18 19:34 ### 生产范围3条记录全部双题组全部回填验证通过 ✅) | ID | record_id | 题组1 | 题组2 | 状态 | |----|-----------|-------|-------|------| | 100001 | recvjYhcXkYXIM | 6题(颜色) | 5题(衣物) | ✅ | | 110101 | recvjYhdvUxDgs | 6题(身体) | 6题(颜色) | ✅ | | 110201 | recvjYhe4opOGm | 6题(食物) | 4题(动物) | ✅ | ### 题型结构 **口语-P4 (speaking_pic_recognize)**: - textTitle: \"Look and answer.\" - 每词1题配1图白底中央展",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-19T03:08:27.099Z",
"lastRecalledAt": "2026-06-04T03:43:35.423Z",
"queryHashes": [
"34bf2e5fbdee",
"3f9471df9e50",
"19f5f93f3465"
],
"recallDays": [
"2026-05-19",
"2026-06-04"
],
"conceptTags": [
"l1-s2-u18-l5",
"语法/拼写硬错误",
"dragon/loong",
"口语-p4-看图识物",
"record-id",
"口语-p4",
"speaking-pic-recognize",
"tmp"
]
},
"memory:memory/2026-05-07.md:337:356": {
"key": "memory:memory/2026-05-07.md:337:356",
"path": "memory/2026-05-07.md",
"startLine": 337,
"endLine": 356,
"source": "memory",
"snippet": "| 对话挖空 | 1213314 | 画面左右各半:左边猴子站草地上生气 + 右边猴子在树林中开心 | | 对话朗读 | 1213315 | 画面左右各半:左边蜥蜴站草地上生气 + 右边蜥蜴在沙子里开心 | | 对话朗读 | 1213316 | 画面左右各半:左边斑马站沙子上生气 + 右边斑马在草地上开心 | | 对话朗读 | 1213317 | 河马/熊/猴子/蜥蜴/山羊/鸭子都很高兴的合照 | --- ## 经验教训(跨会话通用) ### replace_range 使用规范 - **必须精确定位单个 `<lark-td>` 标签**,不能用跨多行的范围定位 - **定位字符串应包含行ID标记**(如 `对话朗读1213401`)以确保唯一性 - **每次替换前先 fetch 确认当前文档结构**,避免基于缓存数据操作 - **替换后立即验证**表格结构完整性(行数、各列是否对齐) - 如果意外损坏表格,可用缓存的原始 fetch 数据重建 ### 刘彦江 — writing_pic_qa 两套题拼接合并 - **时间:** 16:08 ~ 16:30 - **需求:** 将 020102I am...)和 020103I am ready / Thank you两套题合并为一个 `{first:..., second:...}` JSON统一 questionSetID=0000001 - **状态:** ✅ 已完成 - **核心考点分析(用户强调):** 需分析每个句型的核心考点(孩子最容易犯错的地方),挖空对准核心考点",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-19T03:08:27.099Z",
"lastRecalledAt": "2026-05-26T01:58:13.119Z",
"queryHashes": [
"34bf2e5fbdee",
"4010d52c12f3"
],
"recallDays": [
"2026-05-19",
"2026-05-26"
],
"conceptTags": [
"河马/熊/猴子/蜥蜴/山羊/鸭子都很高兴的合照",
"replace-range",
"lark-td",
"writing-pic-qa",
"对话",
"挖空",
"画面",
"左右"
]
},
"memory:memory/2026-05-18.md:793:810": {
"key": "memory:memory/2026-05-18.md:793:810",
"path": "memory/2026-05-18.md",
"startLine": 793,
"endLine": 810,
"source": "memory",
"snippet": "- Script sheet: `wMQVyV`186行×9列 - Knowledge points sheet: `DCcKsLbrmhfXgrtB7N2c9GA4ntf_NtIcXt` - 列结构A=类型, D=剧情描述, E=角色名, F=编剧台词English已填好, **G=组件配置** - 知识点point, talk, understand, a lot of + `talk to...` / `I can/can't understand...` ### 交互模式差异 - L5 文档 B列/C列 为空,无详细组件类型标签(仅 A=互动/核心互动-口语) - 编剧台词F列已全部填写英文 - 互动行的 User 台词含红色标注知识点词 ### 完成事项 - 24个互动行全部生成G列配置组件类型推断听力挖空、朗读台词、口语表达 - 写入方式:同上 Sheets v2 API - 24/24 全部回读验证通过 ### 脚本 `scripts/write_L5_G_configs.py`",
"recallCount": 6,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 6,
"maxScore": 1,
"firstRecalledAt": "2026-05-20T06:31:39.981Z",
"lastRecalledAt": "2026-06-01T10:44:19.887Z",
"queryHashes": [
"688d2dceca9d",
"d05a0257d44b",
"e637236fe74b",
"14d903a64d04",
"240a6a5dca41",
"229e5d3943bb"
],
"recallDays": [
"2026-05-20",
"2026-05-21",
"2026-05-25",
"2026-05-26",
"2026-06-01"
],
"conceptTags": [
"can/can",
"b列/c列",
"互动/核心互动-口语",
"24/24",
"scripts/write-l5-g-configs.py",
"script",
"sheet",
"wmqvyv"
]
},
"memory:memory/2026-05-08.md:18:38": {
"key": "memory:memory/2026-05-08.md:18:38",
"path": "memory/2026-05-08.md",
"startLine": 18,
"endLine": 38,
"source": "memory",
"snippet": "4. question与questionDesc人称必须一致统一改为 What does [角色] say? → 第一人称直接引语) - **JSON wrapper格式** `{\"first\": 题组1完整JSON, \"second\": 题组2完整JSON}` - **输出文件:** `output/writing_pic_qa_000001_sample.json` ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — writing_pic_qa 生产流程标准化 + SKILL 重写 - **时间:** 09:34 ~ 09:46 - **需求:** 将完整生产流程补充到 SKILL.md强化核心规则 - **状态:** ✅ 已完成 **核心规则强化(用户明确):** 1. **挖空 = 考察句型结构本身**,不是复述图片信息(如 Thank you for → 挖 for 而非 you 2. **考察多样化**同句型覆盖多种搭配for + 名词 / for + 动名词、be + 身份 / be + 状态词等) 3. **语言难度匹配欧标 A1-A2**Starters/Movers 4. **题干不千篇一律**question 随语境微调(如 \"What does she say about herself?\" / \"Where does she say she is going?\" / \"What does she say to her friend?\" **图片资源新规:** - 每个题组共享一",
"recallCount": 8,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 8,
"maxScore": 1,
"firstRecalledAt": "2026-05-20T06:31:39.981Z",
"lastRecalledAt": "2026-05-28T10:04:34.024Z",
"queryHashes": [
"688d2dceca9d",
"e637236fe74b",
"14d903a64d04",
"240a6a5dca41",
"a455c766229c",
"ff8454ebcc30",
"9c790f74fc5b",
"71e44ea68b09"
],
"recallDays": [
"2026-05-20",
"2026-05-25",
"2026-05-26",
"2026-05-28"
],
"conceptTags": [
"writing-pic-qa",
"skill.md",
"a1-a2",
"starters/movers",
"question",
"questiondesc",
"人称",
"必须"
]
},
"memory:memory/2026-05-18.md:440:486": {
"key": "memory:memory/2026-05-18.md:440:486",
"path": "memory/2026-05-18.md",
"startLine": 440,
"endLine": 486,
"source": "memory",
"snippet": "QSID: 121301, 121401, 121501口语-P1-日常回答tblRGv7k4WH58Jgq ### 修复 - ability 全空/偏向听力 → 全部补充为口语向标签 - 3/3 审校结果列更新为 `✅ OK | 2026-05-18 小研审校` ### Record ID 映射 | QSID | Record ID | |------|-----------| | 121301 | recvjW9RVwziwL | | 121401 | recvjW9RVwGzba | | 121501 | recvjW9RVwj4aQ | --- ## 听力-P1 图片选择题 生产+回填+审校([刘彦江] ### 范围 QSID: 121301, 121401, 121501听力-P1-图片选择题L1 B级 29词中仅6个在词库23个超纲。业务负责人放行优先生产词库后补。 ### 产出 | QSID | Record ID | 答案分布 | |------|-----------|:--:| | 121301 | recvjWrIXVjkWY | A2B2C1 ×2 | | 121401 | recvjWrJos9LH7 | A2B2C1 ×2 | | 121501 | recvjWrJQ9Njnl | A2B2C1 ×2 | ### 待办 ⚠️ 23个超纲词需补入L1词库 --- ## 图片文本输出([刘彦江] ### 背景 听力-P1 121301/121401/121501 选项图 prompt 需输出给图片生成人员。 #",
"recallCount": 4,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 4,
"maxScore": 1,
"firstRecalledAt": "2026-05-20T06:31:39.981Z",
"lastRecalledAt": "2026-05-26T02:59:03.427Z",
"queryHashes": [
"688d2dceca9d",
"e637236fe74b",
"d8cc1fcace47",
"240a6a5dca41"
],
"recallDays": [
"2026-05-20",
"2026-05-25",
"2026-05-26"
],
"conceptTags": [
"口语-p1-日常回答",
"全空/偏向听力",
"3/3",
"听力-p1",
"听力-p1-图片选择题",
"121301/121401/121501",
"qsid",
"口语"
]
},
"memory:memory/2026-05-18.md:583:633": {
"key": "memory:memory/2026-05-18.md:583:633",
"path": "memory/2026-05-18.md",
"startLine": 583,
"endLine": 633,
"source": "memory",
"snippet": "| QSID | 题数 | 答案分布 | 状态 | |------|:--:|:--:|:--:| | 021301 | 5+5 | A2B1C2 / A2B2C1 | ✅ | | 021401 | 5+5 | A1B2C2 / A2B2C1 | ✅ | | 021501 | 5+5 | A1B2C2 / A2B2C1 | ✅ | | 021601 | 5+0 | A2B2C1 | ✅ | | 021701 | 5+0 | A2B2C1 | ✅ | | 021801 | 5+5 | A2B2C1 / A2B2C1 | ✅ | | 022101 | 5+0 | A2B2C1 | ✅ | | 032501 | 5+0 | A2B2C1 | ✅ | | 032901 | 5+0 | A2B2C1 | ✅ | --- ## 口语-P1 审校([刘彦江] ### 范围 QSID: 121301, 121401, 121501口语-P1-日常回答tblRGv7k4WH58Jgq ### 修复 - ability 全空/偏向听力 → 全部补充为口语向标签 - 3/3 审校结果列更新为 `✅ OK | 2026-05-18 小研审校` | QSID | Record ID | |------|-----------| | 121301 | recvjW9RVwziwL | | 121401 | recvjW9RVwGzba | | 121501 | recvjW9RVwj4aQ | --- ## 听力-P1 图片选择题 生产+回填+审校([刘彦江] ### 范围 QS",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-20T06:31:39.981Z",
"lastRecalledAt": "2026-05-26T02:59:03.427Z",
"queryHashes": [
"688d2dceca9d",
"e637236fe74b",
"240a6a5dca41"
],
"recallDays": [
"2026-05-20",
"2026-05-25",
"2026-05-26"
],
"conceptTags": [
"口语-p1",
"口语-p1-日常回答",
"全空/偏向听力",
"3/3",
"听力-p1",
"qsid",
"答案",
"分布"
]
},
"memory:memory/2026-05-12.md:108:126": {
"key": "memory:memory/2026-05-12.md:108:126",
"path": "memory/2026-05-12.md",
"startLine": 108,
"endLine": 126,
"source": "memory",
"snippet": "- **方法:** `scripts/audit_l1_config.py` 自动化扫描 → 误报排除 → 分类汇总 → 逐条审校回填 - **脚本修复(过程中):** 1. sentenceStructureSort 单词对比大小写误报 → 添加 normalize首字母大写 + 去标点) 2. ID 末尾空格敏感 → strip 比较 3. 句子朗读/跟读题误报 options/answer 缺失 → 跳过这两种题型 #### 审校结果汇总(初版) - **🔴 系统性问题40/40100%** classificationInfo JSON 内 cambridgeLevel=\"A1\" 与 cefrLevel=\"YLE\" 值互换 - **🟡 具体错误17/40** - sentenceMeaningMeaning JSON 解析失败 × 101213004, 1213006, 1213010, 1214008, 1215005, 1216001, 1216004, 1216007, 1216008, 1216010 - ID 字段末尾空格 × 31213001, 1215001, 1216001 - 看图选择题有CN无JSON × 31213008, 1215010, 1216005 - sentenceStructureSort 语法/格式错误 × 31213004(缺逗号clean Otis→clean, Otis), 1213005(bird?连写应拆为bird+?), 1214001(need→needs三单)",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-20T11:03:34.460Z",
"lastRecalledAt": "2026-05-21T02:47:59.335Z",
"queryHashes": [
"81867276810d",
"4b36721edd0f"
],
"recallDays": [
"2026-05-20",
"2026-05-21"
],
"conceptTags": [
"scripts/audit-l1-config.py",
"句子朗读/跟读题误报",
"options/answer",
"40/40",
"17/40",
"语法/格式错误",
"方法",
"scripts"
]
},
"memory:memory/2026-05-12.md:64:83": {
"key": "memory:memory/2026-05-12.md:64:83",
"path": "memory/2026-05-12.md",
"startLine": 64,
"endLine": 83,
"source": "memory",
"snippet": "3. 句子朗读/跟读题误报 options/answer 缺失 → 跳过这两种题型 #### 审校结果汇总 - **🔴 系统性问题40/40100%** classificationInfo JSON 内 cambridgeLevel=\"A1\" 与 cefrLevel=\"YLE\" 值互换,列字段正确但 JSON 存储写反,疑似模板/formula 级别 bug - **🟡 具体错误17/40** - sentenceMeaningMeaning JSON 解析失败 × 101213004, 1213006, 1213010, 1214008, 1215005, 1216001, 1216004, 1216007, 1216008, 1216010后8题含中文引号冲突 - ID 字段末尾空格 × 31213001, 1215001, 1216001 - 看图选择题有CN无JSON × 31213008, 1215010, 1216005 - sentenceStructureSort 语法/格式错误 × 31213004(缺逗号clean Otis→clean, Otis), 1213005(bird?连写应拆为bird+?), 1214001(need→needs三单) - 缺少 pointId 字段 × 11213001(sort 题2) - **🟢 仅有系统性问题的 23 条:** 其余 23 条仅 classificationInfo 互换问题,其他题型均通过自动化检查 - **回填:** 全部 40 条审校结果",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-20T11:03:34.460Z",
"lastRecalledAt": "2026-05-20T11:03:34.460Z",
"queryHashes": [
"81867276810d"
],
"recallDays": [
"2026-05-20"
],
"conceptTags": [
"句子朗读/跟读题误报",
"options/answer",
"40/40",
"疑似模板/formula",
"17/40",
"语法/格式错误",
"句子",
"朗读"
]
},
"memory:memory/2026-05-12.md:48:68": {
"key": "memory:memory/2026-05-12.md:48:68",
"path": "memory/2026-05-12.md",
"startLine": 48,
"endLine": 68,
"source": "memory",
"snippet": "- **ID 编码规则:** 7位 = 前2位(Season) + 中2位(Unit) + 后3位(序列号) - 例: 1214001 = L1S2(12) + U14(14) + 001 - **审校记录 1214001 (You need to...) 发现:** 1. ❌ classificationInfo 值互换: cambridgeLevel=A1 vs cefrLevel=YLE与列字段反了 2. ❌ sentenceStructureSort 题2: 单词库有need无needs三单主语Otis语法错误 3. ⚠️ sentenceStructureClozeWordMcq: \"put your toys\" 省略 away 不够自然 - **技能沉淀:** - 脚本: `scripts/audit_l1_config.py` — 7项自动检查 - SKILL.md: `skills/audit_l1_config/SKILL.md` — 含完整审校流程 + 4项人工审核清单 ### 刘彦江 — 1213001-1216010 批量审校 40 条12:10 ~ 14:00 - **范围:** L1S2 Units 13-16每单元 10 条,共 40 条 - **方法:** `scripts/audit_l1_config.py` 自动化扫描 → 误报排除 → 分类汇总 → 逐条审校回填 - **脚本修复(过程中):** 1. sentenceStructureSort 单词对比大小写误报 → 添加 normalize首",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-20T11:03:34.460Z",
"lastRecalledAt": "2026-05-22T07:04:01.804Z",
"queryHashes": [
"81867276810d",
"4b36721edd0f",
"d13d58b4704a"
],
"recallDays": [
"2026-05-20",
"2026-05-21",
"2026-05-22"
],
"conceptTags": [
"scripts/audit-l1-config.py",
"skill.md",
"skills/audit-l1-config/skill.md",
"1213001-1216010",
"13-16",
"编码",
"规则",
"season"
]
},
"memory:memory/2026-05-18.md:305:346": {
"key": "memory:memory/2026-05-18.md:305:346",
"path": "memory/2026-05-18.md",
"startLine": 305,
"endLine": 346,
"source": "memory",
"snippet": "## 口语-P1 审校([刘彦江] ### 范围 QSID: 121301, 121401, 121501口语-P1-日常回答tblRGv7k4WH58Jgq ### 发现问题 - **121301**: 6题 ability 全空 - **121401**: ability 重复(\"听觉抓取关键信息\"×2+ 标签偏向听力而非口语 - **121501**: 6题 ability 全空 - answer 为空 → 正常speaking_qa 参考回答在 explanation 内) ### 修复 - 全部补充/替换为口语向标签(语用表达能力等) - 3/3 审校结果列更新为 `✅ OK | 2026-05-18 小研审校` ### Record ID 映射 | QSID | Record ID | |------|-----------| | 121301 | recvjW9RVwziwL | | 121401 | recvjW9RVwGzba | | 121501 | recvjW9RVwj4aQ | --- ## 听力-P1 图片选择题 生产+回填+审校([刘彦江] ### 范围 QSID: 121301, 121401, 121501听力-P1-图片选择题) 难度: L1 B级 ### 词汇词库命中率 29个词中仅6个在L1/L2词库sofa, zoo, study, play, mat, mouth23个超纲。 业务负责人放行,优先生产,词库后补。 ### 产出 | QSID | Record ID | 词表(first/seco",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-20T11:03:34.460Z",
"lastRecalledAt": "2026-05-25T08:53:31.758Z",
"queryHashes": [
"81867276810d",
"12653110bb68"
],
"recallDays": [
"2026-05-20",
"2026-05-25"
],
"conceptTags": [
"口语-p1",
"口语-p1-日常回答",
"speaking-qa",
"全部补充/替换为口语向标签",
"3/3",
"听力-p1",
"听力-p1-图片选择题",
"29个词中仅6个在l1/l2词库"
]
},
"memory:memory/2026-05-20.md:55:65": {
"key": "memory:memory/2026-05-20.md:55:65",
"path": "memory/2026-05-20.md",
"startLine": 55,
"endLine": 65,
"source": "memory",
"snippet": "- **结果**16个组件中 15成功 / 0失败 / 1跳过看图拼词 1217413 未注册) ### Bug修复parse_script.py cId提取fallback - **现象**pipeline 识别到 0 个组件行 - **根因**:本文档的 cId如 1217408嵌入在 B 列(配置信息)而非 A 列(类型)。`extract_component_id` 只从类型列提取 cId找不到就返回 None - **修复**:在 `parse_component_rows` 中新增 fallback — 当 comp_info 为 None 时,从 config_info 列B列提取 cId - **修改文件**`business_production/组件配置/interactive-component-json/scripts/parse_script.py` ### 待处理 - 「看图拼词」类型需注册到 `match_component.py` 后才能生成 JSON",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-21T02:47:59.335Z",
"lastRecalledAt": "2026-05-26T06:08:47.532Z",
"queryHashes": [
"09344f87b646",
"92e62f6b8e3a"
],
"recallDays": [
"2026-05-21",
"2026-05-26"
],
"conceptTags": [
"parse-script.py",
"extract-component-id",
"parse-component-rows",
"comp-info",
"config-info",
"match-component.py",
"结果",
"成功"
]
},
"memory:memory/2026-05-12.md:238:264": {
"key": "memory:memory/2026-05-12.md:238:264",
"path": "memory/2026-05-12.md",
"startLine": 238,
"endLine": 264,
"source": "memory",
"snippet": "- 写作互动和邮件组句 cType 相同(`core_writing_questionMakeSentence` #### 产出文件 - `skills/interactive-component-json/references/json_structure_guide.md` — 27 种中互动 jsonData 字段结构8736 bytes - `skills/interactive-component-json/references/component_registry.md` — 核心互动部分从🔲更新为完整注册表(含 cType+bitable_token - 与 `skills/core-content-json-standard/SKILL.md` 双向关联 #### 覆盖率 - 核心互动15/15 ✅(口语探讨 S0 无数据已标注) - 中互动27/27 ✅ - 关联文件3 个core-content-json-standard + component_registry + json_structure_guide ## 刘彦江 — 中互动+核心互动 回填任务18:37 待继续) ### 上下文 - 用户提供剧本文档: `https://makee-interactive.feishu.cn/wiki/YqzzwpjwjihK9YkyRhXccaqLnzu` - 要求:识别文档中的 3 个中互动 + 1 个核心互动,回填到对应位置 - 上次已读取文档,找到 1 个核心互动标记第4幕 听力拖拽),但 3 个中互动标记不明显 - 用户让我",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-21T02:47:59.335Z",
"lastRecalledAt": "2026-05-26T06:08:47.532Z",
"queryHashes": [
"09344f87b646",
"92e62f6b8e3a"
],
"recallDays": [
"2026-05-21",
"2026-05-26"
],
"conceptTags": [
"bitable-token",
"15/15",
"27/27",
"core-content-json-standard",
"component-registry",
"json-structure-guide",
"写作",
"互动"
]
},
"memory:memory/2026-05-17.md:38:47": {
"key": "memory:memory/2026-05-17.md:38:47",
"path": "memory/2026-05-17.md",
"startLine": 38,
"endLine": 47,
"source": "memory",
"snippet": "- **更新**`~/.openclaw/workspace-xiaoyan/skills/task-router/component_configs.yaml` — dialogue_selective_reading 配置从占位格式更新为实际格式 ### 关键技术点 - **嵌入 Sheet 写入**:使用 feishu-embedded-sheet 技能,通过 curl 调用 `sheets/v2/spreadsheets/{token}/values` 批量 PUT - **多行写入验证**:写入后按行回读确认每行 H 列内容完整性 - **Shell 转义**component 内容含多行文本+特殊字符时,用 Python subprocess 传 curl 避免 shell 变量展开破坏数据 ### 未处理行 - R181 信息拼词、R188 信息组句 — 不属于 6 类对话组件,需单独处理",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-21T02:47:59.335Z",
"lastRecalledAt": "2026-05-26T06:08:47.532Z",
"queryHashes": [
"09344f87b646",
"92e62f6b8e3a"
],
"recallDays": [
"2026-05-21",
"2026-05-26"
],
"conceptTags": [
"router",
"dialogue-selective-reading",
"feishu-embedded-sheet",
"sheets/v2/spreadsheets",
"更新",
"openclaw",
"xiaoyan",
"skills"
]
},
"memory:memory/2026-05-20.md:40:59": {
"key": "memory:memory/2026-05-20.md:40:59",
"path": "memory/2026-05-20.md",
"startLine": 40,
"endLine": 59,
"source": "memory",
"snippet": "3. **后置对话禁止重复下行台词**:如下行是 User 的后续台词,后置对话不能复制,统一用「无」 4. **组件配置权威文档**`WD6LwyWNtip8M8k0RWxcbJDcnxe`(飞书知识库 - 教研生产配置、修改规范) ## [李应瑛] 组件配置正确流程纠正 - **纠正**:不应手动往 wiki 文档 C 列写文本格式配置,正确做法是用 pipeline 脚本 - **正确流程** ``` cd /root/.openclaw/workspace-xiaoyan/business_production/组件配置/interactive-component-json && \\ python3 scripts/pipeline.py \"<wiki_url>\" --send-to gc9f72ff ``` - **Pipeline 6 步**:读取飞书文档 → 解析剧本sheet → 匹配组件类型 → LLM生成jsonData/kpInfo → 写入本地SQLite → 生成HTML报告发送给童瑶 - **Skill 目录**`business_production/组件配置/interactive-component-json/` ## [李应瑛] L1-S2-U17-L4 门关啦 — Pipeline 组件配置生产 - **文档**: SAadwW8YaiObl8k4op3c6vs8nqb | **Spreadsheet**: It4AsFkC7hXHc4te9yUcyLHRnOe - **结果**16个组件中 15成功 / 0失败",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-21T02:47:59.335Z",
"lastRecalledAt": "2026-06-02T07:02:08.195Z",
"queryHashes": [
"09344f87b646",
"92e62f6b8e3a",
"d70b515b4a03"
],
"recallDays": [
"2026-05-21",
"2026-05-26",
"2026-06-02"
],
"conceptTags": [
"scripts/pipeline.py",
"wiki-url",
"send-to",
"llm生成jsondata/kpinfo",
"l1-s2-u17-l4",
"对话",
"禁止",
"重复"
]
},
"memory:memory/2026-05-12.md:222:242": {
"key": "memory:memory/2026-05-12.md:222:242",
"path": "memory/2026-05-12.md",
"startLine": 222,
"endLine": 242,
"source": "memory",
"snippet": "- 批量更新 JSON写入前完整提取 → 写入后逐字段 diff → 异常立即回滚 - 首次修复多题 JSON 导致 Q2 丢失 → 先单条试跑验证再批量 ### sentenceMeaningMeaning 引号规范2026-05-12 - explanation 中 ASCII `\"` 与中文引号混用导致 JSON 解析失败 - 建议:生产侧统一用中文引号 `\"\"`U+201C/D或写入前做引号归一化 ### 写作互动 / 邮件组句 cType 相同2026-05-12 - 两者 cType 均为 `core_writing_questionMakeSentence`,通过 textInfo.textList[].type 区分素材 ### 刘彦江 — 中互动全题型录入18:00 ~ 18:25 #### 发现 - **中互动结构高度统一:** 全部 27 类都用 `jsonData`(主配置)+ `kpInfo`(知识点绑定),没有核心互动那种多字段分散结构 - **6 大分类:** 🗨对话(7) / 📋信息(6) / 📦词汇(2) / 🖼图片选择(4) / 📝语法(3) / 🔧其他(5) - **对话类公共字段:** cType, cId, title, resourceMapping, preDialog, imgShowTimingList - 写作互动和邮件组句 cType 相同(`core_writing_questionMakeSentence` #### 产出文件 - `skills/interactive-com",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-21T02:47:59.335Z",
"lastRecalledAt": "2026-05-26T06:08:47.532Z",
"queryHashes": [
"09344f87b646",
"92e62f6b8e3a"
],
"recallDays": [
"2026-05-21",
"2026-05-26"
],
"conceptTags": [
"201c/d",
"textinfo.textlist",
"skills/interactive-com",
"批量",
"更新",
"完整",
"提取",
"逐字"
]
},
"memory:memory/2026-05-07.md:71:88": {
"key": "memory:memory/2026-05-07.md:71:88",
"path": "memory/2026-05-07.md",
"startLine": 71,
"endLine": 88,
"source": "memory",
"snippet": "- Sheet 1255个单词完整清单序号+单词+中文释义) - Sheet 2全部统计指标汇总 - **用户 user_id** `58fd6864`(租户级) - **发送消息时踩坑记录:** ou_xxx 是 open_id 非 user_idBot 缺少 contact:user.id:readonly 权限,最终通过 lark-cli 其他接口获取到 user_id = 58fd6864 - **备注:** 李应瑛不在负责人配置中,不在完整权限用户列表中。当前请求属于教研内容分析,已先接单处理。 # 2026-05-07 工作日志 ## 会话记录 ### 李应瑛 (ou_1bd7317ae2ccfeb57e1132028847279e) — 单词表三轮对比(已完结) - **时间:** 10:39 ~ 11:24 - **需求:** 对比三份单词表,找出\"表1有但表2和表3都没有\"的单词。 - **状态:** ✅ 已完成,结果已交付用户,最终结果 255 个单词,经多次验证(包括用户重新发送文件后重算)结果一致。 - **文件:** - 表1.doc 文件分类主题单词表14个大类970个单词 - 表2.xlsx 文件LV2词表1,329个单词含「LV2-单词」「LV2上单词占用情况」「LV2下单词占用情况」「LV2S3」四个sheet - 表3.xlsx 文件L1词表845个单词含「单词表-LV1」「单词表-LV1」「单词表-备用」三个sheet合并去重 - **对比过程(共四轮验证):**",
"recallCount": 2,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 2,
"maxScore": 1,
"firstRecalledAt": "2026-05-21T07:31:52.322Z",
"lastRecalledAt": "2026-05-21T09:52:45.581Z",
"queryHashes": [
"dca4eb1f24b7",
"fcca27e77e74"
],
"recallDays": [
"2026-05-21"
],
"conceptTags": [
"user-id",
"ou-xxx",
"open-id",
"user.id",
"lark-cli",
"lv2-单词",
"单词表-lv1",
"单词表-备用"
]
},
"memory:memory/2026-05-20.md:1:31": {
"key": "memory:memory/2026-05-20.md:1:31",
"path": "memory/2026-05-20.md",
"startLine": 1,
"endLine": 31,
"source": "memory",
"snippet": "# 2026-05-20 工作日志 ## [童瑶] L1-S2-U17-L2 迟到的包裹 — 英文台词润色 - 134行对话台词全部润色完成写入H列 - S2标准句长≤8词、英式拼写、口语化、知识点保留 - 详情见 `business_production/英文台词/memory/2026-05-20.md` ## [童瑶] L1-S2-U17-L1 摩托怪客 — 组件配置JSON - 16个互动组件14个成功生成JSON2个跳过 - 跳过:图片无序多选(注册表无匹配)、阅读理解(核心互动未注册) - HTML报告已通过飞书Bot发送给童瑶 ## [童瑶] L1-S2-U17-L4 捉迷藏 — 组件生产第111行起 - **文档**: SAadwW8YaiObl8k4op3c6vs8nqb | **Sheet**: wMQVyV | **Spreadsheet**: It4AsFkC7hXHc4te9yUcyLHRnOe - 从第111行起识别9个互动组件全部完成F列回填最终验证通过 - 最终组件行及对应关系: | 行号 | 组件类型 | 组件ID | |------|---------|--------| | 111 | 对话选择-配图 | 1217408 | | 119 | 对话选择-配图 | 1217409 | | 127 | 对话挖空-配图 | 1217410 | | 130 | 对话组句-配图 | 1217411 | | 141 | 对话组句-配图 | 1217412 | | 150 | 看图拼词 | 1217413 | | 166 | 对话",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-21T07:31:52.322Z",
"lastRecalledAt": "2026-05-29T02:33:30.526Z",
"queryHashes": [
"03b71fab8fb9",
"62070213f719",
"4aa0ef719160"
],
"recallDays": [
"2026-05-21",
"2026-05-27",
"2026-05-29"
],
"conceptTags": [
"l1-s2-u17-l2",
"l1-s2-u17-l1",
"l1-s2-u17-l4",
"对话选择-配图",
"对话挖空-配图",
"对话组句-配图",
"工作",
"日志"
]
},
"memory:memory/2026-05-12.md:122:138": {
"key": "memory:memory/2026-05-12.md:122:138",
"path": "memory/2026-05-12.md",
"startLine": 122,
"endLine": 138,
"source": "memory",
"snippet": "- **🟢 仅有系统性问题的 23 条** - **回填:** 全部 40 条审校结果已写入 bitable「审校结果」列逐条验证通过 - **脚本回填脚本:** `scripts/audit_batch_1213001_1216010.py` ### 刘彦江 — 审校结果修正 + 解析一致检查 + JSON 修复14:00 ~ 15:38 - **YLE↔A1 误报排除:** 刘彦江确认 YLE 与 A1 等级可互通classificationInfo 值互换不视为错误 - 全部 40 条审校结果已更新,移除 classificationInfo 互换相关告警 - 23 条变为 `✅ 通过`无其他问题17 条保留具体错误 - **解析与题目/答案对应性检查(人工审核项):** - 检查题型:句意选择题 ×30、句子补全题、听句作答题、场景选择题、看图选择题 - 验证方法:提取 explanation 中的英文引句 vs question 中的英文句子、正则提取\"空处应填X\" vs options[answer] - 结果:✅ **0 条实质性不对应** - **10 条 sentenceMeaningMeaning JSON 修复:** - **根因:** explanation 文本中的 ASCII `\"` (U+0022) 被当作中文双引号使用JSON 解析器将其视为字符串终止符 - **修复策略:** 从「句意选择题」中文列提取英文原句和选项 → json.dumps 重建标准 JSON只修格式不修内容",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-22T07:04:01.804Z",
"lastRecalledAt": "2026-05-22T07:04:01.804Z",
"queryHashes": [
"d13d58b4704a"
],
"recallDays": [
"2026-05-22"
],
"conceptTags": [
"解析与题目/答案对应性检查",
"json.dumps",
"系统",
"问题",
"回填",
"全部",
"结果",
"bitable"
]
},
"memory:memory/2026-05-08.md:51:73": {
"key": "memory:memory/2026-05-08.md:51:73",
"path": "memory/2026-05-08.md",
"startLine": 51,
"endLine": 73,
"source": "memory",
"snippet": "- **修正:** 用户给出中文样例格式,要求图片描述从英文 prompt 改为纯中文结构化列表 - **新格式:** 编号 `1.` / `2.` 自上而下,每段含 `风格:` / `场景:` / `角色特征 - 动作 ` - **无 JSON 包裹**,纯文本写入 bitable `图片描述` 列 - **已同步更新**SKILL.md 4.2 节、bitable `recviZlAxxXlAb` 的图片描述字段 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — writing_pic_qa 批量样题生产6 Unit - **时间:** 10:10 ~ 10:34 - **需求:** 一次生产 6 套 writing_pic_qa A级样题全部写入 bitable - **状态:** ✅ 已完成6套/24题全部回读验证通过 **题目清单:** | ID | 题组1 句型 | 题组2 句型 | record_id | |----|-----------|-----------|-----------| | 010101 | Let's… / I'm happy to… | We will… / I will try my best. | recviZwiQUsgAD | | 010201 | I'm sorry for… / I feel nervous about… | What do you think about…? / Let's try… | recviZwjjFyBRi | | 010301 |",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T01:44:48.649Z",
"lastRecalledAt": "2026-05-25T01:44:48.649Z",
"queryHashes": [
"37d5e066d57f"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"skill.md",
"4.2",
"writing-pic-qa",
"6套/24题",
"record-id",
"修正",
"用户",
"中文"
]
},
"memory:memory/2026-05-12.md:258:281": {
"key": "memory:memory/2026-05-12.md:258:281",
"path": "memory/2026-05-12.md",
"startLine": 258,
"endLine": 281,
"source": "memory",
"snippet": "- 需要重新拉取文档,仔细识别所有互动标记 - 文档位于 space_id=7487521512283799556 - 上次发现的场景:太空故事 / 太空船起飞 / 小行星带 / 发光的星球 + 尾声 ## 中互动+核心互动 回填任务 — 继续18:37 ### 本轮 Session — 实际写入 bitable 上一轮已确认:文档中 4 个场景对应 4 个互动类型3中+1核标签已写入文档。但用户说的\"回填到对应为止\"指的是**写入 bitable 多维表格记录**,而非仅文档标签。 ### 需要写入的 4 条记录 | 场景 | 互动类型 | cType | bitable_token | |------|---------|-------|---------------| | 第1幕 太空故事 | 对话朗读互动 | `mid_dialog_repeat` | `MuwubKXoSaJe55sO4k9c63VSnmh` | | 第2幕 太空船起飞 | 对话互动 | `mid_sentence_dialogue` | `GH0hbBT0ZavkCesaVQ7c40Zfnub` | | 第3幕 小行星带 | 指令互动 | `mid_vocab_instruction` | `UorxbVCNYaqpx3sOUdTcF6bUnAh` | | 第4幕 发光的星球 | 听力拖拽 | `core_listening_drag` | `Uey8bhdLBa66TIsGrFBcIQKRnsg` | ### 下一步 1. 读取 4 个 bitable 的表结构(字段名) 2.",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T01:44:48.649Z",
"lastRecalledAt": "2026-05-25T01:44:48.649Z",
"queryHashes": [
"37d5e066d57f"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"space-id",
"bitable-token",
"mid-dialog-repeat",
"mid-sentence-dialogue",
"mid-vocab-instruction",
"core-listening-drag",
"需要",
"重新"
]
},
"memory:memory/2026-05-14.md:162:188": {
"key": "memory:memory/2026-05-14.md:162:188",
"path": "memory/2026-05-14.md",
"startLine": 162,
"endLine": 188,
"source": "memory",
"snippet": "按 ability 标签分类匹配模板生成中文解析: - 基础信息表达|个人信息问答 → 细分:年龄/姓名/家庭/外貌/物品位置 - 表达喜好与理由 → 喜好+because原因引导 - 互动应答|问答交流 → 场景化(感谢/道歉/邀请/请求/规则) - 信息交换|双向问答 → 饮食/计划类交流 - 过去经历描述Past Activities → 过去时态描述引导 ### 脚本 - `scripts/fill_speaking_expl.py` — 读取全表 → 匹配能力标签 → 生成→ PUT写回 ## [刘彦江] 单元挑战写作-P1 审校与修复2026-05-14 17:00 ### 审校范围 写作-P1-邮件回复表tblDizCeLgkKPFd3 ### 审校结果 - 总记录17条 - ✅ 通过9条 | ✅ 已修复4条 | ✅ 通过(C级)2条 | ⚠️ 占位数据1条 | (空记录1条) ### 修复明细 | QSID | record_id | 修复前 | 修复后 | |------|-----------|--------|--------| | 032701 | recvjzXkYnsQ8r | answerSet=[], ability=[], expl=\"\" | answerSet=[0..7], ability=写作+衔接+描述, expl=完整 | | 032901 | recvjzXm5yEXBY | answerSet=[], ability=[], expl=\"\" | answerSet=[0..7], ability=写",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T01:45:24.016Z",
"lastRecalledAt": "2026-05-25T01:45:24.016Z",
"queryHashes": [
"e8e31d8a03aa"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"年龄/姓名/家庭/外貌/物品位置",
"感谢/道歉/邀请/请求/规则",
"饮食/计划类交流",
"scripts/fill-speaking-expl.py",
"单元挑战写作-p1",
"写作-p1-邮件回复表",
"record-id",
"ability"
]
},
"memory:memory/2026-05-18.md:23:49": {
"key": "memory:memory/2026-05-18.md:23:49",
"path": "memory/2026-05-18.md",
"startLine": 23,
"endLine": 49,
"source": "memory",
"snippet": "- 缺失列:写作-P2tblSAwlMumKoyjws、口语-P4tblsD2dxaRpLmkXD无「审校结果」列 ### 经验 - 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文 - bitable curl 写回嵌套JSON时Python subprocess构造完整body比shell变量展开安全 - 听力-P1 000001 虽有5条first+5条second但确有题目内容不是纯占位按实际内容生成了解析 # 2026-05-18 工作日志 ## 单元挑战全题型审核 + 修复 ### 背景 [刘彦江] 要求对单元挑战全部20种题型审核重点解析不能纯英文、答案格式正确性。题目内容不修改。 ### 审核结果 - 审核范围20张表、244条记录 - 答案格式:零问题 - 纯英文解析13处听力-P2 021901 ×10口语-P1 032701/032901口语-P2 032801 - 解析为空83处听力-P1 000001+110101~110401 ×50听力-P4 021701/022101/032501/032901 ×20共写作-P3复查后实际OK ### 修复执行 - 13条纯英文→中文化翻译通过模型翻译 - 70条空解析→从题目内容+ability关键词智能生成 - 全部通过 Python+curl 写回 bitable避免shell转义 - 写入后回读验证107条全部含中文零错误 ### 审校结果列更新 - 格式:`✅ OK | 2026-05-18 小研审",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T04:13:09.891Z",
"lastRecalledAt": "2026-05-25T04:13:09.891Z",
"queryHashes": [
"dd04402cc3a8"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"写作-p2",
"口语-p4",
"写作-p3",
"听力-p1",
"听力-p2",
"口语-p1",
"032701/032901",
"口语-p2"
]
},
"memory:memory/2026-05-18.md:542:570": {
"key": "memory:memory/2026-05-18.md:542:570",
"path": "memory/2026-05-18.md",
"startLine": 542,
"endLine": 570,
"source": "memory",
"snippet": "- 审核范围20张表、244条记录 - 答案格式:零问题 - 纯英文解析13处听力-P2 021901 ×10口语-P1 032701/032901口语-P2 032801 - 解析为空83处听力-P1 000001+110101~110401 ×50听力-P4 021701/022101/032501/032901 ×20共写作-P3复查后实际OK ### 修复执行 - 13条纯英文→中文化翻译通过模型翻译 - 70条空解析→从题目内容+ability关键词智能生成 - 全部通过 Python+curl 写回 bitable避免shell转义 - 写入后回读验证107条全部含中文零错误 ### 审校结果列更新 - 格式:`✅ OK | 2026-05-18 小研审校` / `📝 空模板 | 2026-05-18 小研审校` - 已更新18张表、241条记录 - 缺失列:写作-P2tblSAwlMumKoyjws、口语-P4tblsD2dxaRpLmkXD无「审校结果」列 ### 经验 - 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文 - bitable curl 写回嵌套JSON时Python subprocess构造完整body比shell变量展开安全 - 听力-P1 000001 虽有5条first+5条second但确有题目内容不是纯占位按实际内容生成了解析 --- ## P4 短对话选择题批量改写([刘彦江] ### 背景 短对话选择题用户只能听音频,无人名标",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T04:13:09.891Z",
"lastRecalledAt": "2026-05-25T04:13:09.891Z",
"queryHashes": [
"dd04402cc3a8"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"听力-p2",
"口语-p1",
"032701/032901",
"口语-p2",
"听力-p1",
"听力-p4",
"021701/022101/032501/032901",
"共写作-p3复查后实际ok"
]
},
"memory:memory/2026-05-18.md:653:680": {
"key": "memory:memory/2026-05-18.md:653:680",
"path": "memory/2026-05-18.md",
"startLine": 653,
"endLine": 680,
"source": "memory",
"snippet": "{\"first\": {\"questionSet\": [{\"ability\": [\"听觉抓取关键信息\", \"多特征整合\"]}]}} ``` 适用:听力-P1/P2/P3/P4/P7阅读全7个口语全4个 **格式B: ¥¥ 分隔字符串(顶层)** ```json {\"first\": {\"ability\": \"听觉抓取关键信息¥¥多特征整合\"}} ``` 适用:听力-P5写作-P1/P2/P3 ### 映射结果(修正后) - **写作-P1** ✅ 有标签格式B短消息写作邮件/便条、衔接与连贯|连词使用、描述性写作|人物与地点、描述性写作|场景与情绪、句型组织、问题解决|求助与建议(部分非标准标签名) - **写作-P2** ⚠️ 格式不规范(模板残留) - **写作-P3** ❌ 纯占位符 \"xxxx\" - **听力-P5** ✅ 有标签格式B补抓听觉抓取关键信息、多特征整合 - **20 个未覆盖标签** = 45 标准标签中历史数据从未出现的写作全11个、听力 情绪/态度理解+长对话理解、口语 图片对比+故事讲述+发音语调 等) ### 产出 - `business_knowledge/unit_challenge_type_ability_mapping.md` — 完整映射表 - `/tmp/unit_challenge_ability_doc.md` — 对外分享版(已发送文件 + 飞书文档) --- ## L1-S2-U18-L5 双龙会 台词润色审校([王璐辰] ### 审校结果 - 语法/拼写硬错误5处Rows 41, 55,",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T04:13:09.891Z",
"lastRecalledAt": "2026-05-25T04:13:09.891Z",
"queryHashes": [
"dd04402cc3a8"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"听力-p1/p2/p3/p4/p7",
"听力-p5",
"写作-p1/p2/p3",
"写作-p1",
"邮件/便条",
"写作-p2",
"写作-p3",
"情绪/态度理解"
]
},
"memory:memory/2026-05-18.md:479:508": {
"key": "memory:memory/2026-05-18.md:479:508",
"path": "memory/2026-05-18.md",
"startLine": 479,
"endLine": 508,
"source": "memory",
"snippet": "直接输出 `[1-A-选项图彩图]:{\"prompt\":\"...\"}` 到飞书对话中,被飞书渲染引擎吃掉(方括号+JSON格式被当标签/链接处理),用户看不到内容。 **解决方案:必须用代码块(```)包裹或通过 message() 工具以编程方式发送。** --- ## 题型-能力标签映射([刘彦江] ### 背景 用户要求:把所有单元挑战题型与 45 个标准能力 tag 做映射。 ### 能力标签源文件 - 路径: `business_knowledge/ability_tags.md`Vala 英语能力标签体系2026-05-13更新 - 45 个标准标签:听力(11)、口语(10)、阅读(13)、写作(11) ### ability 格式不统一问题(重要发现)🔴 提取过程中发现 ability 标签在 bitable jsonData 中存在两种不同格式和位置: **格式A: JSON 数组(每题内部)** ```json {\"first\": {\"questionSet\": [{\"ability\": [\"听觉抓取关键信息\", \"多特征整合\"]}]}} ``` 适用题型:听力-P1/P2/P3/P4/P7阅读全7个口语全4个 **格式B: ¥¥ 分隔字符串(顶层)** ```json {\"first\": {\"ability\": \"听觉抓取关键信息¥¥多特征整合\"}} ``` 适用题型:听力-P5写作-P1/P2/P3 ### 映射结果(修正后)",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T08:47:02.076Z",
"lastRecalledAt": "2026-05-25T08:47:02.076Z",
"queryHashes": [
"d8cc1fcace47"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"1-a-选项图彩图",
"json格式被当标签/链接处理",
"题型-能力标签映射",
"2026-05-13更新",
"听力-p1/p2/p3/p4/p7",
"听力-p5",
"写作-p1/p2/p3",
"直接"
]
},
"memory:memory/2026-05-18.md:620:663": {
"key": "memory:memory/2026-05-18.md:620:663",
"path": "memory/2026-05-18.md",
"startLine": 620,
"endLine": 663,
"source": "memory",
"snippet": "| QSID | Record ID | 答案分布 | |------|-----------|:--:| | 121301 | recvjWrIXVjkWY | A2B2C1 ×2 | | 121401 | recvjWrJos9LH7 | A2B2C1 ×2 | | 121501 | recvjWrJQ9Njnl | A2B2C1 ×2 | ### 待办 ⚠️ 23个超纲词需补入L1词库 --- ## 图片文本输出([刘彦江] ### 飞书消息格式陷阱 🔴 直接输出 `[1-A-选项图彩图]:{\"prompt\":\"...\"}` 到飞书对话中,被渲染引擎吃掉(方括号+JSON当标签处理用户看不到内容。 **解决方案:代码块包裹或 message() 工具发送。** --- ## 题型-能力标签映射([刘彦江] ### 背景 把所有单元挑战题型与 45 个标准能力 tag 做映射。 ### 能力标签源文件 - 路径: `business_knowledge/ability_tags.md`Vala 英语能力标签体系2026-05-13更新 - 45 个标准标签:听力(11)、口语(10)、阅读(13)、写作(11) ### ability 格式不统一问题(重要发现)🔴 提取中发现 ability 存在两种不同格式/位置: **格式A: JSON 数组(每题内部)** ```json {\"first\": {\"questionSet\": [{\"ability\": [\"听觉抓取关键信息\", \"多特征整合\"]}]}} ``` 适用:听力-P1/P2",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T08:47:02.076Z",
"lastRecalledAt": "2026-05-25T08:47:02.076Z",
"queryHashes": [
"d8cc1fcace47"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"1-a-选项图彩图",
"题型-能力标签映射",
"2026-05-13更新",
"存在两种不同格式/位置",
"听力-p1/p2",
"qsid",
"record",
"答案"
]
},
"memory:memory/2026-05-07.md:263:280": {
"key": "memory:memory/2026-05-07.md:263:280",
"path": "memory/2026-05-07.md",
"startLine": 263,
"endLine": 280,
"source": "memory",
"snippet": "- **操作:** 用户多次发送新版表1/表2结果在246~442之间波动最终确认需使用正确的文件分类主题词表 vs 考试大纲词表不同) ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 写作看图回答题 \"I am... / I am from...\" 样题生产 - **时间:** 15:38 ~ 15:52 - **需求:** 使用知识点 \"I am... / I am from...\" 生产一套写作看图回答题writing_pic_qa - **状态:** ✅ 已完成,用户确认 - **题型级别:** L2因L1词库缺少所有代词/be动词/介词/国家名) - **难度:** A级4小题 - **核心原则(用户明确):** 1. 挖空必须是考察知识点本身的单词am/from/student不是手写姓名/国名等附带信息 2. 只能为1个单词挖空 3. 正确模式:`I (2) Anna.` → 挖空am数字标记字母数 4. 图片提供语境线索,学生填写核心知识点词 - **输出文件:** `output/writing_pic_qa_I_am_from_020102.json` - **关键教训:** writing_pic_qa 核心考察知识点词本身am/from而非题干已知信息挖空字母数标记必须与答案单词字母数一致 - **词库缺口发现:** L1和L2词库均缺失人称代词、be动词、介词、国家名等基础功能词 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5c",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T08:53:31.758Z",
"lastRecalledAt": "2026-05-25T08:53:31.758Z",
"queryHashes": [
"12653110bb68"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"用户多次发送新版表1/表2",
"writing-pic-qa",
"因l1词库缺少所有代词/be动词/介词/国家名",
"am/from/student",
"不是手写姓名/国名等附带信息",
"am/from",
"ou-5af74c1fb96042e33cc0f16b5c",
"操作"
]
},
"memory:memory/2026-05-07.md:230:253": {
"key": "memory:memory/2026-05-07.md:230:253",
"path": "memory/2026-05-07.md",
"startLine": 230,
"endLine": 253,
"source": "memory",
"snippet": "- **需求:** 使用知识点 \"I am ready! / Thank you for...\" 再生产一套 writing_pic_qa - **状态:** ✅ 已完成 - **难度:** A级4小题L2级别 - **核心设计:** 延续上一套原则——只挖空知识点核心词,图片提供语境线索 - **输出文件:** `output/writing_pic_qa_ready_thank_020103.json` - **题目清单:** 1. I am (5). → ready男孩背书包站门口准备上学 2. Thank (3) for the gift. → you女孩接过礼物盒微笑 3. He is (5) for dinner. → ready男孩坐餐桌前等开饭 4. Thank (3) for the help. → you男孩接书表示感谢 - **设计思路:** 两个知识点各出现2次reinforcement变场景不变核心搭配 # 2026-05-07 工作日志 ## 会话记录 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 单元挑战新增3个题型 - **时间:** 11:19 ~ 11:28 - **需求:** 单元挑战新增3个题型阅读看图回答题reading_pic_qa、阅读看图判断题reading_pic_judge、写作看图回答题writing_pic_qa - **状态:** ✅ 已完成题型规范落地 - **交付内容:** 创建3个题型SKILL.md更",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T08:53:31.758Z",
"lastRecalledAt": "2026-05-25T08:53:31.758Z",
"queryHashes": [
"12653110bb68"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"writing-pic-qa",
"reading-pic-qa",
"reading-pic-judge",
"创建3个题型skill.md",
"需求",
"使用",
"知识",
"ready"
]
},
"memory:memory/2026-05-14.md:108:129": {
"key": "memory:memory/2026-05-14.md:108:129",
"path": "memory/2026-05-14.md",
"startLine": 108,
"endLine": 129,
"source": "memory",
"snippet": "| first | 4 | I eat a sandwich for breakfast. | [0]=A | 显性事实理解|单句信息点抓取 | | first | 5 | This is my red suitcase. | [0]=A | 显性事实理解|单句信息点抓取 | | second | 1 | Look at my new clothes. | [0]=A | 显性细节理解|物品特征辨识 | | second | 2 | My dad works at the airport. | [0]=A | 显性细节理解|数字/时间/地点 | | second | 3 | The pirate has a black eye patch. | [0]=A | 显性事实理解|单句信息点抓取 | | second | 4 | I need my passport to go abroad. | [0]=A | 显性细节理解|物品功能辨识 | | second | 5 | I like eating cheese very much. | [0]=A | 显性细节理解|物品特征辨识 | ### 备注 - 10题答案全部为[0]A选项由用户给定的听力文本-图片映射决定 - second Q1 \"clothes\"→卫衣 需区分 clothes/shoes/hat 范畴 - `question`字段为P1正确的字段名非content - `optionsImage`字段保留None图片资源由上游管理 - 题目1/题目2文本字段已同步填充听力文本 ## [刘彦江] 写作+",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T08:53:31.758Z",
"lastRecalledAt": "2026-05-25T08:53:31.758Z",
"queryHashes": [
"12653110bb68"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"数字/时间/地点",
"由用户给定的听力文本-图片映射决定",
"clothes/shoes/hat",
"题目1/题目2文本字段已同步填充听力文本",
"first",
"eat",
"sandwich",
"breakfast"
]
},
"memory:memory/2026-05-07.md:86:107": {
"key": "memory:memory/2026-05-07.md:86:107",
"path": "memory/2026-05-07.md",
"startLine": 86,
"endLine": 107,
"source": "memory",
"snippet": "- 表2.xlsx 文件LV2词表1,329个单词含「LV2-单词」「LV2上单词占用情况」「LV2下单词占用情况」「LV2S3」四个sheet - 表3.xlsx 文件L1词表845个单词含「单词表-LV1」「单词表-LV1」「单词表-备用」三个sheet合并去重 - **对比过程(共四轮验证):** 1. 第一轮表1 vs 表2表1有但表2没有 = 502个 2. 第二轮(结果 vs 表3排除表3也有后 = 260个 3. 第三轮(用户重发三份文件后重算):最终 = 255个 4. 第四轮用户单独替换新表3后验证结果不变确认 = 255个 - **最终统计:** - 三表共有230 - 表1 ∩ 表2492 - 表1 ∩ 表3448 - 表2 ∩ 表3427 - 最终255个 - **关键技术点:** - .doc 文件使用 catdoc 解析(非 libreoffice/antiword - .xlsx 文件使用 openpyxl 读取,多 sheet 合并去重 - 过滤了缩写词CD, DVD, TV, Mr, Mrs, Ms 等) - 处理了复数变体映射geese→goose 等) - 用户 user_id = `58fd6864`租户级发送消息时踩坑ou_xxx 是 open_id 非 user_id - **输出文件:** `/root/.openclaw/workspace-xiaoyan/output/单词对比结果_最终版.x",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-25T09:34:43.114Z",
"lastRecalledAt": "2026-05-25T09:34:43.114Z",
"queryHashes": [
"4baebc80709c"
],
"recallDays": [
"2026-05-25"
],
"conceptTags": [
"lv2-单词",
"单词表-lv1",
"单词表-备用",
"libreoffice/antiword",
"user-id",
"ou-xxx",
"open-id",
"xlsx"
]
},
"memory:memory/2026-05-26.md:130:156": {
"key": "memory:memory/2026-05-26.md:130:156",
"path": "memory/2026-05-26.md",
"startLine": 130,
"endLine": 156,
"source": "memory",
"snippet": "## 英文台词生产 [童瑶] — L1-S2-U20 全系列 ### L1-S2-U20-L1 冠军计划 - **文档:** `EbkUwEjaticOkHknf0icsQ2Yn4Q` | Sheet `6aqvM2` - 对话 148 行,写入 E 列 ✅ ### L1-S2-U20-L2 发球大战 - **文档:** `BvSyw1vlfiwCr5kjkPmcUYXynZd` | Sheet `wMQVyV` - 对话 135 行,写入 F 列 ✅ ### L1-S2-U20-L3 曲棍球练习赛 - **文档:** `MrsAwcYq2iCy7Tkk3dkclS0mnlg` | Sheet `6aqvM2` - 对话 149 行28 行修改,写入 F 列 ✅ - 知识点hockey/interesting/one/try + `have a try`/`One...the other...` ### L1-S2-U20-L4 网球明星 - **文档:** `GT4awLQx9iOfWHk00ZFcHQzbnzT` | Sheet `wMQVyV` - 对话 112 行26 行修改,写入 F 列 ✅ - 知识点tennis/tennis racket/bounce/wave + `wave(s) to`/`Hit the ball!` ### L1-S2-U20-L5 足球接力赛 - **文档:** `VEGwwoVdTiFu00koNoOc1MGhnec` | Sheet `AV1gO0` - 对话 137 行28 行修改,写入 F 列 ✅ - 知识点:",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-26T06:03:09.115Z",
"lastRecalledAt": "2026-05-26T06:03:16.405Z",
"queryHashes": [
"a455c766229c",
"ff8454ebcc30",
"9c790f74fc5b"
],
"recallDays": [
"2026-05-26"
],
"conceptTags": [
"l1-s2-u20",
"l1-s2-u20-l1",
"l1-s2-u20-l2",
"l1-s2-u20-l3",
"hockey/interesting/one/try",
"l1-s2-u20-l4",
"tennis/tennis",
"racket/bounce/wave"
]
},
"memory:memory/2026-05-26.md:101:139": {
"key": "memory:memory/2026-05-26.md:101:139",
"path": "memory/2026-05-26.md",
"startLine": 101,
"endLine": 139,
"source": "memory",
"snippet": "- 已写入多维表格(写作-P2-看图写作 tblSAwlMumKoyjwsrecvjvzPZlNglS - ⚠️ 该文档仅含P1旧题解析021601未写入文档 ## 写作P1 旧题解析文档回填 [刘彦江] - 文档https://makee-interactive.feishu.cn/wiki/CS8Ww2XaSiFwhakQenycRU5ZnYf - 16条解析全部转为三步JSON格式lark-cli v1 replace_range整章节替换 - 021301/021801/022201/022401已随场景更新同步更新文档解析 ## 已写入题目汇总 | 题号 | 表 | record_id | 文档 | |------|-----|-----------|:----:| | 021301 | P1 | recvjvzb | ✅ | | 021401 | P1 | recvjvzLzeri3I | ✅ | | 021601 | P2-picWrite | recvjvzPZlNglS | N/A | | 021801 | P1 | recvjz5GeTe9aB | ✅ | | 022101 | P1 | recvjzbjJpJO0D | ✅ | | 022201 | P1 | recvjzbkvoOgvy | ✅ | | 022401 | P1 | recvjzblXOJ7Fs | ✅ | ## 待确认 - 022001最终版已出句子替换+选项打乱),待刘彦江确认 ## 图片审校 [刘彦江] - 阅读材料\"My First Adventure Race\"",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-26T06:03:09.115Z",
"lastRecalledAt": "2026-05-26T06:03:16.405Z",
"queryHashes": [
"a455c766229c",
"ff8454ebcc30",
"9c790f74fc5b"
],
"recallDays": [
"2026-05-26"
],
"conceptTags": [
"写作-p2-看图写作",
"lark-cli",
"replace-range整章节替换",
"record-id",
"p2-picwrite",
"n/a",
"表格",
"写作"
]
},
"memory:memory/2026-05-21.md:65:75": {
"key": "memory:memory/2026-05-21.md:65:75",
"path": "memory/2026-05-21.md",
"startLine": 65,
"endLine": 75,
"source": "memory",
"snippet": "- **对话选择 vs 对话选读**:前者有对错判断(正确选项标注),后者开放表达(无正确选项,每选项均带反馈) - **对话挖空**`___` 必需三下划线选项2-3个反馈角色非 User - **对话组句**:选项为独立单词/短语,答案填完整正确句,必须有辅助信息 - **看图说话 v2.0**:结构最复杂,包含导览配置(任务标题/背景/描述/知识)+ 对话配置(角色/背景/Q&A/通过规则/示例对话) - **-配图后缀**:资源配置需添加 `图片时机:互动内容\\n互动反馈\\n\\n音频载体Pioneer Band` #### 写入脚本模式 - G 列写入使用 Python subprocess + curl避免 shell 转义) - SST = spreadsheet_token, SID = sheet_id格式 `SST!G{row}:G{row}` - 写入后必须回读验证内容完整性",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-27T07:13:41.815Z",
"lastRecalledAt": "2026-05-27T07:13:49.225Z",
"queryHashes": [
"f6d66a16b50f",
"cec81ed5e38f",
"9954089951e2"
],
"recallDays": [
"2026-05-27"
],
"conceptTags": [
"选项2-3个",
"选项为独立单词/短语",
"v2.0",
"任务标题/背景/描述/知识",
"角色/背景/q",
"a/通过规则/示例对话",
"spreadsheet-token",
"sheet-id"
]
},
"memory:memory/2026-05-07.md:41:64": {
"key": "memory:memory/2026-05-07.md:41:64",
"path": "memory/2026-05-07.md",
"startLine": 41,
"endLine": 64,
"source": "memory",
"snippet": "- **备注:** 李应瑛不在负责人配置中,不在完整权限用户列表中。当前请求属于教研内容分析,已先接单处理,后续如有敏感数据查询需求需按权限规则处理。 # 2026-05-07 工作日志 ## 会话记录 ### 李应瑛 (ou_1bd7317ae2ccfeb57e1132028847279e) — 单词表对比请求(三轮对比) - **时间:** 10:39 ~ 11:18 - **需求:** 对比三份单词表,找出\"表1有但表2和表3都没有\"的单词。 - **状态:** 已完成三轮对比,结果已交付用户。最终版已发送。 - **文件:** - 表1.doc 文件分类主题单词表14个大类970个单词 - 表2.xlsx 文件LV2词表1,329个单词 - 表3.xlsx 文件L1词表845个单词含「单词表-LV1」「单词表-LV1」「单词表-备用」三个sheet合并去重 - **三轮对比过程:** 1. **第一轮表1 vs 表2** 表1有但表2没有 = 502个 2. **第二轮(结果 vs 表3** 第一轮结果中表3也有 = 242个最终表1独有 = 260个 3. **第三轮(用户要求重新发送三份文件后重算):** 最终确认 **表1有但表2表3都没有 = 255个** - **第三轮详细统计:** - 三表共有230 - 表1 ∩ 表2492 - 表1 ∩ 表3448 - 表2 ∩ 表3427 - 表1有表2没有472其中217个表3也有 - 最终255",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-27T07:13:41.815Z",
"lastRecalledAt": "2026-05-27T07:13:41.815Z",
"queryHashes": [
"f6d66a16b50f"
],
"recallDays": [
"2026-05-27"
],
"conceptTags": [
"单词表-lv1",
"单词表-备用",
"备注",
"不在",
"负责",
"配置",
"完整",
"权限"
]
},
"memory:memory/2026-05-07.md:151:169": {
"key": "memory:memory/2026-05-07.md:151:169",
"path": "memory/2026-05-07.md",
"startLine": 151,
"endLine": 169,
"source": "memory",
"snippet": "- **需求:** 单元挑战新增3个题型阅读看图回答题reading_pic_qa、阅读看图判断题reading_pic_judge、写作看图回答题writing_pic_qa - **状态:** ✅ 已完成题型规范落地 - **交付内容:** 创建3个题型SKILL.md更新 MEMORY.md 全题型阶段归属规则 - **关键决策:** 3个题型均为 L1&L2 共用,通过难度参数区分阶段 ### 李应瑛 (ou_1bd7317ae2ccfeb57e1132028847279e) — 单词表三表对比(最终完结) - **时间:** 10:39 ~ 11:44 - **需求:** 对比三份单词表,找出\"表1有但表2和表3都没有\"的单词。 - **状态:** ✅ 已完成,用户多次编辑文件后重新对比,最终确认结果 = **246个** - **文件(最终版):** - 表1.doc分类主题单词表14大类970个单词 - 表2.xlsxLV2词表1,438个单词含「LV2-单词」「LV2上单词占用情况」「LV2下单词占用情况」「LV2S3」「LV2词表大全」五个sheet - 表3.xlsxL1词表845个单词含「单词表-LV1」「单词表-LV1」「单词表-备用」三个sheet合并去重 - **多轮迭代历程:** 1. 初版旧表2/表3260 2. 重发三份后重算255 3. 替换新表3255不变 4. 替换新表2新增「LV2词表大全」257 5. **用户编辑文件后要求",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-27T07:13:41.815Z",
"lastRecalledAt": "2026-05-27T07:13:41.815Z",
"queryHashes": [
"f6d66a16b50f"
],
"recallDays": [
"2026-05-27"
],
"conceptTags": [
"reading-pic-qa",
"reading-pic-judge",
"writing-pic-qa",
"创建3个题型skill.md",
"memory.md",
"lv2-单词",
"单词表-lv1",
"单词表-备用"
]
},
"memory:memory/2026-05-18.md:740:770": {
"key": "memory:memory/2026-05-18.md:740:770",
"path": "memory/2026-05-18.md",
"startLine": 740,
"endLine": 770,
"source": "memory",
"snippet": "- **音频来源:** 爷爷Justin念信剧本行160-163 - **写入方式:** Python subprocess + curl避免shell转义 ### 待补充 | 项目 | 说明 | |------|------| | 图片素材 | 6张选项图 `1217310_option_00~05.png` 待配置 | | kpListSentence/kpListVocab | 待填入Unit 1217对应的句型/单词知识ID | | kpInfo.kpId | grandfather/grandmother/visit 的具体知识ID待确认 | | 音频录制 | Justin念信4句音频待录制 | ### 互动组件脚本参考路径 - `skills/core-content-json-standard/SKILL.md` — 14种核心题型JSON标准 - `skills/feishu-embedded-sheet/SKILL.md` — 内嵌Sheet读写 - `skills/lark_bitable_operate_as_bot/SKILL.md` — Bot身份多维表格操作 ## [李应瑛] L1-S2-U17-L4 门关啦 组件配置2026-05-18 21:00 ### 背景 李应瑛发送知识库文档 `SAadwW8YaiObl8k4op3c6vs8nqb`L1-S2-U17-L4 门关啦),要求根据组件类型生成配置,回填到 **F列**不同于L3的H列。 ### 文档结构 - Wiki token: `SAadwW8YaiObl8k",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-27T07:13:57.033Z",
"lastRecalledAt": "2026-05-27T07:13:57.033Z",
"queryHashes": [
"62070213f719"
],
"recallDays": [
"2026-05-27"
],
"conceptTags": [
"剧本行160-163",
"1217310-option-00",
"05.png",
"kplistsentence/kplistvocab",
"1217对应的句型/单词知识id",
"kpinfo.kpid",
"grandfather/grandmother/visit",
"l1-s2-u17-l4"
]
},
"memory:memory/2026-05-18.md:766:797": {
"key": "memory:memory/2026-05-18.md:766:797",
"path": "memory/2026-05-18.md",
"startLine": 766,
"endLine": 797,
"source": "memory",
"snippet": "- Script sheet: `wMQVyV`202行×8列 - Knowledge points sheet: `eXTXJ8`6个知识点open, closed, door, home, 2个句型 - 列结构A=类型, B=配置信息, C=剧情描述, D=角色名, E=英文台词, **F=组件配置**, G=知识点, H=编剧台词 ### 互动组件识别 - 16个互动组件ID 1217401-1217416全部F列为空 - 类型分布对话朗读×6、对话挖空×4、图片单选×1、对话选择×2、对话组句×2、看图拼词×1 - 知识点覆盖open/closed/door/home 及对应句型 ### 写入方式 - Sheets v2 API PUT valuesrange 格式注意sheet_id不加引号 - 先试 `'wMQVyV'!F10` 报 \"sheetId not found\" → 修正为 `wMQVyV!F10` 成功 - 16/16 全部回读验证通过 ### 脚本 `scripts/write_L4_F_configs.py` --- ## [李应瑛] L1-S2-U17-L5 笨蛋坏蛋英文生产2026-05-18 21:15 ### 背景 李应瑛发送知识库文档 `U1zEwHZaaie07TkjmOOchurgnIh`L1-S2-U17-L5 笨蛋坏蛋?),要求\"英文生产\"。 ### 文档结构与L3/L4不同 - Wiki token: `U1zEwHZaaie07TkjmOOchurgnIh` - Spreads",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-27T07:13:57.033Z",
"lastRecalledAt": "2026-05-27T07:13:57.033Z",
"queryHashes": [
"62070213f719"
],
"recallDays": [
"2026-05-27"
],
"conceptTags": [
"1217401-1217416",
"open/closed/door/home",
"sheet-id不加引号",
"16/16",
"scripts/write-l4-f-configs.py",
"l1-s2-u17-l5",
"与l3/l4不同",
"script"
]
},
"memory:memory/2026-05-21.md:39:56": {
"key": "memory:memory/2026-05-21.md:39:56",
"path": "memory/2026-05-21.md",
"startLine": 39,
"endLine": 56,
"source": "memory",
"snippet": "subprocess.run(['curl', '-X', 'PUT', url, '-H', f'Authorization: Bearer {token}', ...]) ``` - 关键:读取后立即备份原始数据,写完后回读验证完整性 ### 5. 解析生成规则 - 每道题的解析需包含:听力原文引用 → 答案对应 → 关键特征 → 冗余排除/语用推理 - first 和 second 的解析需分别定制,不可复制模板 - 干扰抑制类题目:标注冗余信息类型(位置/情绪/动作/大小等) - 否定纠错类题目:标注否定信号词和身份替换逻辑 - 跨句整合类题目:标注需整合的信息来源和推理路径 ### 6. 剧本内嵌 Sheet 组件配置回填(刘彦江) - 文档L1-S2-U17-L5 笨蛋坏蛋wiki token `U1zEwHZaaie07TkjmOOchurgnIh` - 内嵌 Sheet `wMQVyV`,剧本表 265 行 × 9 列A=类型, B=ID, C=配置整理, D=剧情描述, E=角色名, F=英文台词, G=组件配置, H=知识点, I=编剧台词) - 共 17 个互动行:对话朗读-配图(6) / 对话朗读(1) / 对话挖空-配图(1) / 对话挖空(4) / 对话选择-配图(1) / 对话选读(2) / 对话组句-配图(1) / 对话组句(1) / 看图说话(1) #### 组件类型 A 列取值与技能映射(新增类型) | A列类型 | 对应技能 | 备注 | |---------|---------|------|",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-27T07:13:57.033Z",
"lastRecalledAt": "2026-05-27T07:13:57.033Z",
"queryHashes": [
"62070213f719"
],
"recallDays": [
"2026-05-27"
],
"conceptTags": [
"备份",
"subprocess.run",
"冗余排除/语用推理",
"位置/情绪/动作/大小等",
"l1-s2-u17-l5",
"对话朗读-配图",
"对话挖空-配图",
"对话选择-配图"
]
},
"memory:memory/2026-05-28.md:46:62": {
"key": "memory:memory/2026-05-28.md:46:62",
"path": "memory/2026-05-28.md",
"startLine": 46,
"endLine": 62,
"source": "memory",
"snippet": "- B级规则听力句子 5-8 词(均 7 词),每组 3 张同类物品不同属性图片 - 能力标签:显性事实理解|关键词识别 ×2 + 基础语境理解|场景/物品/动作识别 ## 梁辰user_id: ou_28f02dcada1193913cfbb6310f8daf07— HTML 诊断页面教研规则 JS 文件 - 用户有一个 L1 关卡诊断工作台 HTML 页面(部署在腾讯云空间),当前只做数量级统计,缺少教研规则校验 - 需求:提供可嵌入 HTML 的前端 JS 校验规则文件,使诊断有据可依 - 输出:`output/l1_pedagogy_rules.js`42KB包含 8 个校验维度: 1. 词汇超纲检测(基于 L1/L2 词库) 2. 英式拼写检测color→colour 等 115 组映射) 3. Markdown 标记检测(`**`/`#`/`>` 等) 4. 标点规范检测(全角混入、``、`!!!` 5. 题型-阶段匹配校验20 种题型对应的 L1/L2 阶段映射) 6. 台词质量分析(句子长度、负面评价) 7. 知识点曝光度 8. 句型合规检测 - 接入方式:`<script src=\"l1_pedagogy_rules.js\"></script>` + 调用 `PedagogyRules.validate(summary, level)` - 数据源L1 词库 147 词(过滤 enabled=true、L2 词库 52 词、L1 句型 8 个、L2 句型(从 437MB bitable 导出中提取唯一结",
"recallCount": 4,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 4,
"maxScore": 1,
"firstRecalledAt": "2026-05-29T00:23:17.391Z",
"lastRecalledAt": "2026-06-02T01:49:17.841Z",
"queryHashes": [
"c1d4076205e1",
"4aa0ef719160",
"e30c130b9d1d",
"7e6aa000abdb"
],
"recallDays": [
"2026-05-29",
"2026-06-01",
"2026-06-02"
],
"conceptTags": [
"5-8",
"场景/物品/动作识别",
"user-id",
"output/l1-pedagogy-rules.js",
"l1/l2",
"题型-阶段匹配校验",
"l1-pedagogy-rules.js",
"pedagogyrules.validate"
]
},
"memory:memory/2026-05-11.md:1:25": {
"key": "memory:memory/2026-05-11.md:1:25",
"path": "memory/2026-05-11.md",
"startLine": 1,
"endLine": 25,
"source": "memory",
"snippet": "### 刘彦江 — reading_pic_judge 看图判断题批量生产4套17:28 ~ 17:35 - **需求:** 4套 reading_pic_judgeL1 A级能力标签 图文匹配 - **题型特点:** 每题独立配图questionImagefirst/second双题组包裹 - **状态:** ✅ 已完成4套全部入库+图片描述回填验证通过 - **脚本:** `scripts/batch_reading_pic_judge.py`、`scripts/update_pic_judge_descriptions.py` | ID | 题组1 | 题组2 | Y/N | 图片描述 | |----|-------|-------|-----|---------| | 121301 | home/house/sofa/cupboard/bedroom | zoo/hippo/bear/jeans/sock | 3Y2N | ✅ 596chars | | 121401 | student/school/teacher/crayon/board | mat/letter/desk/schoolbag/handbag | 3Y2N | ✅ 562chars | | 121501 | body/head/mouth/ear/friend | camera/boy/girl/skateboarding/skateboard | 3Y2N | ✅ 553chars | | 121601 | summer/autumn/winter/cold/spring |",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-29T00:23:17.392Z",
"lastRecalledAt": "2026-05-29T00:23:17.392Z",
"queryHashes": [
"bd790c7e2a35"
],
"recallDays": [
"2026-05-29"
],
"conceptTags": [
"reading-pic-judge",
"first/second双题组包裹",
"y/n",
"home/house/sofa/cupboard/bedroom",
"zoo/hippo/bear/jeans/sock",
"body/head/mouth/ear/friend",
"summer/autumn/winter/cold/spring",
"彦江"
]
},
"memory:memory/2026-05-21.md:52:67": {
"key": "memory:memory/2026-05-21.md:52:67",
"path": "memory/2026-05-21.md",
"startLine": 52,
"endLine": 67,
"source": "memory",
"snippet": "- 共 17 个互动行:对话朗读-配图(6) / 对话朗读(1) / 对话挖空-配图(1) / 对话挖空(4) / 对话选择-配图(1) / 对话选读(2) / 对话组句-配图(1) / 对话组句(1) / 看图说话(1) #### 组件类型 A 列取值与技能映射(新增类型) | A列类型 | 对应技能 | 备注 | |---------|---------|------| | 对话朗读 / 对话朗读-配图 | dialogue-reading-config | -配图需加图片时机和音频载体 | | 对话挖空 / 对话挖空-配图 | dialogue-fill-in-blanks-config | 同上 | | 对话选择 / 对话选择-配图 | dialogue-choose-config | 同上 | | **对话选读** | dialogue-selective-reading-config | 开放表达,无正确选项,每选项必带反馈 | | **对话组句** | dialogue-sentence-building-config | 单词排序组句,含答案+辅助信息 | | **看图说话** | dialogue-image-description-config | 导览配置+对话配置含Q&A/通过规则/示例对话 | #### 类型区别关键点 - **对话选择 vs 对话选读**:前者有对错判断(正确选项标注),后者开放表达(无正确选项,每选项均带反馈) - **对话挖空**`___` 必需三下划线选项2-3个反馈角色非 User - **对话组句**:选项为独立",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-29T00:23:17.392Z",
"lastRecalledAt": "2026-05-29T00:23:17.392Z",
"queryHashes": [
"bd790c7e2a35"
],
"recallDays": [
"2026-05-29"
],
"conceptTags": [
"对话朗读-配图",
"对话挖空-配图",
"对话选择-配图",
"对话组句-配图",
"dialogue-reading-config",
"dialogue-fill-in-blanks-config",
"dialogue-choose-config",
"a/通过规则/示例对话"
]
},
"memory:memory/2026-05-26.md:130:166": {
"key": "memory:memory/2026-05-26.md:130:166",
"path": "memory/2026-05-26.md",
"startLine": 130,
"endLine": 166,
"source": "memory",
"snippet": "## 英文台词生产 [童瑶] — L1-S2-U20 全系列 ### L1-S2-U20-L1 冠军计划 - **文档:** `EbkUwEjaticOkHknf0icsQ2Yn4Q` | Sheet `6aqvM2` - 对话 148 行,写入 E 列 ✅ ### L1-S2-U20-L2 发球大战 - **文档:** `BvSyw1vlfiwCr5kjkPmcUYXynZd` | Sheet `wMQVyV` - 对话 135 行,写入 F 列 ✅ ### L1-S2-U20-L3 曲棍球练习赛 - **文档:** `MrsAwcYq2iCy7Tkk3dkclS0mnlg` | Sheet `6aqvM2` - 对话 149 行28 行修改,写入 F 列 ✅ - 知识点hockey/interesting/one/try + `have a try`/`One...the other...` ### L1-S2-U20-L4 网球明星 - **文档:** `GT4awLQx9iOfWHk00ZFcHQzbnzT` | Sheet `wMQVyV` - 对话 112 行26 行修改,写入 F 列 ✅ - 知识点tennis/tennis racket/bounce/wave + `wave(s) to`/`Hit the ball!` ### L1-S2-U20-L5 足球接力赛 - **文档:** `VEGwwoVdTiFu00koNoOc1MGhnec` | Sheet `AV1gO0` - 对话 137 行28 行修改,写入 F 列 ✅ - 知识点:",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-29T02:33:30.526Z",
"lastRecalledAt": "2026-05-29T02:33:30.526Z",
"queryHashes": [
"4aa0ef719160"
],
"recallDays": [
"2026-05-29"
],
"conceptTags": [
"l1-s2-u20",
"l1-s2-u20-l1",
"l1-s2-u20-l2",
"l1-s2-u20-l3",
"hockey/interesting/one/try",
"l1-s2-u20-l4",
"tennis/tennis",
"racket/bounce/wave"
]
},
"memory:memory/2026-05-25.md:283:302": {
"key": "memory:memory/2026-05-25.md:283:302",
"path": "memory/2026-05-25.md",
"startLine": 283,
"endLine": 302,
"source": "memory",
"snippet": "- 14 阶段 4 科目全部重写,目标文档: `W5Vjw2fLiiCqfck0Mfzc0xkrnte` - L2 阶段1-2 阅读/写作从\"无\"补为实际技能点(刘彦江确认\"L2 阶段1-2 阅读和写作都是有题型的\" - L1 阶段1 阅读/写作也从\"无\"补为实际技能点 - 0 个\"无\",全量覆盖 - 生成脚本: `tmp/build_skill_points.py` ## 生产覆盖范围修正 [刘彦江] - L1 生产到 **U16**(非 U33 - L2 生产到 **U29**(非 U16 - 已同步更新 `business_knowledge/单元挑战全貌.md` ## 单元挑战全貌文档 [刘彦江] - 创建 `business_knowledge/单元挑战全貌.md` - 覆盖九大板块业务定位、阶段划分、题型体系18种、能力标签45个、生产流程ID规则/标准/写入陷阱、审校体系7+4项检查、生产覆盖现状、模块关联、快速链接 ## L1/L2 难度等级映射 [刘彦江] ✅已确认 - L1-A: Starters入门+基础 (U1-U16) | L1-B: Starters达标 (U17-U24) | L1-C: Movers入门+基础 (U25-U40) | L1-D: Movers达标 (U41-U48) - L2-A: Flyers入门+基础 (U1-U12) | L2-B: Flyers达标 (U13-U18) | L2-C: KET入门+基础 (U19-U30) | L2-D: KET强化+高位+达标 (U31-U48) - 已写入",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-29T02:33:30.526Z",
"lastRecalledAt": "2026-05-29T02:33:30.526Z",
"queryHashes": [
"4aa0ef719160"
],
"recallDays": [
"2026-05-29"
],
"conceptTags": [
"阶段1-2",
"阅读/写作从",
"阅读/写作也从",
"tmp/build-skill-points.py",
"business-knowledge/单元挑战全貌.md",
"id规则/标准/写入陷阱",
"l1/l2",
"l1-a"
]
},
"memory:memory/2026-05-25.md:118:137": {
"key": "memory:memory/2026-05-25.md:118:137",
"path": "memory/2026-05-25.md",
"startLine": 118,
"endLine": 137,
"source": "memory",
"snippet": "- 生成脚本: `tmp/build_skill_points.py` ## 生产覆盖范围修正 [刘彦江] - L1 生产到 **U16**(非 U33 - L2 生产到 **U29**(非 U16 - 已同步更新 `business_knowledge/单元挑战全貌.md` ## 单元挑战全貌文档 [刘彦江] - 创建 `business_knowledge/单元挑战全貌.md` - 覆盖九大板块业务定位、阶段划分、题型体系18种、能力标签45个、生产流程ID规则/标准/写入陷阱、审校体系7+4项检查、生产覆盖现状、模块关联、快速链接 ## L1/L2 难度等级映射 [刘彦江] ✅已确认 - L1-A: Starters入门+基础 (U1-U16) | L1-B: Starters达标 (U17-U24) | L1-C: Movers入门+基础 (U25-U40) | L1-D: Movers达标 (U41-U48) - L2-A: Flyers入门+基础 (U1-U12) | L2-B: Flyers达标 (U13-U18) | L2-C: KET入门+基础 (U19-U30) | L2-D: KET强化+高位+达标 (U31-U48) - 已写入 `business_knowledge/单元挑战全貌.md` §5.3 # 2026-05-25 工作日志 ## 组件配置 pipeline单独重试 cId=1217214 - [童瑶] 请求单独重试 pipeline 中的失败组件 cId=1217214听力拖拽 / core_listenin",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-05-29T02:33:30.526Z",
"lastRecalledAt": "2026-05-29T02:33:30.526Z",
"queryHashes": [
"4aa0ef719160"
],
"recallDays": [
"2026-05-29"
],
"conceptTags": [
"tmp/build-skill-points.py",
"business-knowledge/单元挑战全貌.md",
"id规则/标准/写入陷阱",
"l1/l2",
"l1-a",
"u1-u16",
"l1-b",
"u17-u24"
]
},
"memory:memory/2026-05-28.md:60:66": {
"key": "memory:memory/2026-05-28.md:60:66",
"path": "memory/2026-05-28.md",
"startLine": 60,
"endLine": 66,
"source": "memory",
"snippet": "8. 句型合规检测 - 接入方式:`<script src=\"l1_pedagogy_rules.js\"></script>` + 调用 `PedagogyRules.validate(summary, level)` - 数据源L1 词库 147 词(过滤 enabled=true、L2 词库 52 词、L1 句型 8 个、L2 句型(从 437MB bitable 导出中提取唯一结构) - 技术注意L2_pattern_list.json 体积 437MB1,082,450 条记录),直接嵌入前端不可行,已提取唯一句型结构后嵌入 - 所有 6 个测试用例通过 - 用户后续想尝试其他对接方式API 模式 / 飞书 Bot 联动 / CI 集成)",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-05-29T02:33:30.526Z",
"lastRecalledAt": "2026-06-02T01:49:17.841Z",
"queryHashes": [
"4aa0ef719160",
"e30c130b9d1d",
"7e6aa000abdb"
],
"recallDays": [
"2026-05-29",
"2026-06-01",
"2026-06-02"
],
"conceptTags": [
"l1-pedagogy-rules.js",
"pedagogyrules.validate",
"l2-pattern-list.json",
"句型",
"检测",
"方式",
"script",
"src"
]
},
"memory:memory/2026-05-29.md:1:14": {
"key": "memory:memory/2026-05-29.md:1:14",
"path": "memory/2026-05-29.md",
"startLine": 1,
"endLine": 14,
"source": "memory",
"snippet": "## [梁晨] L1 Pedagogy Rules v4.0.0 交付 - 在 v3 基础上新增 5 个校验维度(来自 16 个教研 skill 规则提取): 6. 组件合规性12 种题型规则,来自 11 个 dialogue/info config skills 7. 字段完整性7 项自动检查,来自 audit_l1_config 8. 掌握度预测W_i×M_i 加权公式,来自 knowledge-mastery-calculator 9. 格式规范(标题/Markdown/标点/英式拼写/价值观,来自全量文本规范) 10. 语法检测(三单/主谓一致/双重否定,来自 audit_l1_config - 输出:`output/l1_pedagogy_rules_v4.js`59KB - 数据L1 147 词、L2 52 词、L1 8 句型、L2 1 句型、89 组英式拼写映射、12 种题型规则 - 已通过飞书 Bot 发送给梁晨 - API 兼容 v3不加 options 参数即为原行为;加 component/componentExposures 启用新维度 - 能力边界:内容质量诊断(第一层筛选),不是全链路归因(看不到 UX/服务端/学生侧因素)",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-06-02T01:49:17.841Z",
"lastRecalledAt": "2026-06-02T01:49:17.841Z",
"queryHashes": [
"7e6aa000abdb"
],
"recallDays": [
"2026-06-02"
],
"conceptTags": [
"v4.0.0",
"dialogue/info",
"audit-l1-config",
"w-i",
"m-i",
"knowledge-mastery-calculator",
"标题/markdown/标点/英式拼写/价值观",
"三单/主谓一致/双重否定"
]
},
"memory:memory/2026-05-28.md:35:49": {
"key": "memory:memory/2026-05-28.md:35:49",
"path": "memory/2026-05-28.md",
"startLine": 35,
"endLine": 49,
"source": "memory",
"snippet": "- 答案设为[2](英语的),与申报 adj. 英文的不符,应为[0] - 🟡 rubber (1218116):释义题例句\"an eraser made of rubber\"解释的是橡胶材料,非橡皮擦工具 - 🟡 Chinese(n.) (1218113):例句\"Chinese food\"中 Chinese 是形容词非名词,与题目义项\"中文\"不符 - 🟢 fun (1218119):解析末尾多余一个 `\"` - 🟢 eraser (1218111)`\"an eraser表示\"` 缺少空格 ## 武钰涵 — 听力-P1-图片选择题生产 - 题目集合 ID: 121601难度 B级L1 第3-4阶段Starters 3 - 知识点验证10个词中仅 run(v.) 在 L1 词库feetfoot 的复数)可视为已有,其余 8 个bus, taxi, trousers, shorts, winter, snow, cold, bee不在 L1/L2 词库 - 用户指示直接生产,已按 SKILL 规范生成 2 个题组各5题含听力文本、图片描述、正确答案、能力标签 - 已按 bitable 配置格式输出完整 jsonData + 题目完整配置 + 图片描述 - B级规则听力句子 5-8 词(均 7 词),每组 3 张同类物品不同属性图片 - 能力标签:显性事实理解|关键词识别 ×2 + 基础语境理解|场景/物品/动作识别 ## 梁辰user_id: ou_28f02dcada1193913cfbb6310f8daf07— HTML 诊断页面",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-06-02T01:49:17.841Z",
"lastRecalledAt": "2026-06-02T01:49:17.841Z",
"queryHashes": [
"7e6aa000abdb"
],
"recallDays": [
"2026-06-02"
],
"conceptTags": [
"听力-p1-图片选择题生产",
"第3-4阶段",
"l1/l2",
"5-8",
"场景/物品/动作识别",
"user-id",
"答案",
"英语"
]
},
"memory:memory/2026-05-18.md:791:810": {
"key": "memory:memory/2026-05-18.md:791:810",
"path": "memory/2026-05-18.md",
"startLine": 791,
"endLine": 810,
"source": "memory",
"snippet": "- Wiki token: `U1zEwHZaaie07TkjmOOchurgnIh` - Spreadsheet token: `DCcKsLbrmhfXgrtB7N2c9GA4ntf` - Script sheet: `wMQVyV`186行×9列 - Knowledge points sheet: `DCcKsLbrmhfXgrtB7N2c9GA4ntf_NtIcXt` - 列结构A=类型, D=剧情描述, E=角色名, F=编剧台词English已填好, **G=组件配置** - 知识点point, talk, understand, a lot of + `talk to...` / `I can/can't understand...` ### 交互模式差异 - L5 文档 B列/C列 为空,无详细组件类型标签(仅 A=互动/核心互动-口语) - 编剧台词F列已全部填写英文 - 互动行的 User 台词含红色标注知识点词 ### 完成事项 - 24个互动行全部生成G列配置组件类型推断听力挖空、朗读台词、口语表达 - 写入方式:同上 Sheets v2 API - 24/24 全部回读验证通过 ### 脚本 `scripts/write_L5_G_configs.py`",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-06-02T01:49:17.841Z",
"lastRecalledAt": "2026-06-02T01:49:17.841Z",
"queryHashes": [
"7e6aa000abdb"
],
"recallDays": [
"2026-06-02"
],
"conceptTags": [
"can/can",
"b列/c列",
"互动/核心互动-口语",
"24/24",
"scripts/write-l5-g-configs.py",
"wiki",
"token",
"u1zewhzaaie07tkjmoochurgnih"
]
},
"memory:memory/2026-05-12.md:141:155": {
"key": "memory:memory/2026-05-12.md:141:155",
"path": "memory/2026-05-12.md",
"startLine": 141,
"endLine": 155,
"source": "memory",
"snippet": "- **最终结果10/10 条记录 sentenceMeaningMeaning 均可 json.loads 正确解析,每条含 2 题,无残留垃圾数据** - **受影响记录:** 1213004, 1213006, 1213010, 1214008, 1215005, 1216001, 1216004, 1216007, 1216008, 1216010 - **审校结果同步更新:** 移除所有 10 条的 `❌ JSON 解析失败` 标记 - **注意:** Q1 explanation 在重建时词表述可能微调(内容含义一致),如需精确原始 wording 可从中文列恢复后人工微调 ## 经验教训 ### bitable 写入需严格流程管控2026-05-12 - 批量更新 JSON 字段时必须:写入前完整提取原始数据 → 写入后逐字段 diff 验证 → 发现异常立即回滚 - 本次 JSON 修复中首次写入不完整导致 Q2 丢失,原因:修复脚本未正确处理多题 JSON 结构 - **教训:** 任何涉及 JSON 重建/修复的批量操作,先单条试运行验证通过后再批量执行,不可并行甩出多条 ### sentenceMeaningMeaning 的 explanation 引号规范2026-05-12 - explanation 字段中的中文双引号极易被误用为 ASCII `\"` (U+0022) - 建议生产侧统一使用中文引号 `\"` (U+201C) 和 `\"` (U+201D),或在 explanation 写入前做引号归一化预处理",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-06-04T03:23:22.968Z",
"lastRecalledAt": "2026-06-04T03:24:24.356Z",
"queryHashes": [
"defa0daee9d7",
"92343053bee2",
"302eafc578a7"
],
"recallDays": [
"2026-06-04"
],
"conceptTags": [
"10/10",
"json.loads",
"重建/修复的批量操作",
"最终",
"结果",
"记录",
"sentencemeaningmeaning",
"均可"
]
},
"memory:memory/2026-05-12.md:132:143": {
"key": "memory:memory/2026-05-12.md:132:143",
"path": "memory/2026-05-12.md",
"startLine": 132,
"endLine": 143,
"source": "memory",
"snippet": "- 检查题型:句意选择题 ×30、句子补全题、听句作答题、场景选择题、看图选择题 - 验证方法:提取 explanation 中的英文引句 vs question 中的英文句子、正则提取\"空处应填X\" vs options[answer] - 结果:✅ **0 条实质性不对应** - **10 条 sentenceMeaningMeaning JSON 修复:** - **根因:** explanation 文本中的 ASCII `\"` (U+0022) 被当作中文双引号使用JSON 解析器将其视为字符串终止符 - **修复策略:** 从「句意选择题」中文列提取英文原句和选项 → json.dumps 重建标准 JSON只修格式不修内容 - **1216007 特殊处理:** 原始 JSON 损坏严重,需从中文列完全重建 - **二次修复Q2 丢失问题):** 首次不完全修复导致 9 条记录的 Q2 被覆盖丢失,且 Q1 被 JSON 垃圾污染 → 从中文列全面重建 Q1+Q2 - **最终结果10/10 条记录 sentenceMeaningMeaning 均可 json.loads 正确解析,每条含 2 题,无残留垃圾数据** - **受影响记录:** 1213004, 1213006, 1213010, 1214008, 1215005, 1216001, 1216004, 1216007, 1216008, 1216010 - **审校结果同步更新:** 移除所有 10 条的 `❌ JSON 解析失败` 标记",
"recallCount": 3,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"maxScore": 1,
"firstRecalledAt": "2026-06-04T03:23:22.968Z",
"lastRecalledAt": "2026-06-04T03:24:24.356Z",
"queryHashes": [
"defa0daee9d7",
"92343053bee2",
"302eafc578a7"
],
"recallDays": [
"2026-06-04"
],
"conceptTags": [
"json.dumps",
"10/10",
"json.loads",
"检查",
"选择",
"句子",
"作答",
"场景"
]
},
"memory:memory/2026-05-11.md:78:89": {
"key": "memory:memory/2026-05-11.md:78:89",
"path": "memory/2026-05-11.md",
"startLine": 78,
"endLine": 89,
"source": "memory",
"snippet": "- **状态:** ✅ 全部完成(两阶段延迟写入策略,避免自动化覆盖) - **脚本:** `scripts/batch_reading_matchInfo.py` | ID | 题组1 | 题组2 | record_id | |----|-------|-------|-----------| | 021301 | actor/beard/different/brave/neighbour人物 | dinner/cooking/fire/album/diary生活 | recvjjk7oAT1YN | | 021401 | plan/repair/newspaper/backpack/seat日程 | garden/melon/water/plant/summer自然 | recvjjk7TU4ZFs | | 021501 | visitor/welcome/invite/laugh/guest社交 | mistake/instruction/reason/technology/brush学习 | recvjjk8mju8ou | | 021601 | record/event/enter/return/sort管理 | handbag/camera/gate/wheel/entrance场所 | recvjjk8Q5ZMIu | | 021701 | driver/street/market/guidebook/shopping出行 | machine/draw/basketball/bookcase/invention活动 | r",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-06-04T09:21:44.866Z",
"lastRecalledAt": "2026-06-04T09:21:44.866Z",
"queryHashes": [
"3d95a503721c"
],
"recallDays": [
"2026-06-04"
],
"conceptTags": [
"record-id",
"dinner/cooking/fire/album/diary",
"garden/melon/water/plant/summer",
"record/event/enter/return/sort",
"状态",
"全部",
"完成",
"阶段"
]
},
"memory:memory/2026-05-26.md:161:187": {
"key": "memory:memory/2026-05-26.md:161:187",
"path": "memory/2026-05-26.md",
"startLine": 161,
"endLine": 187,
"source": "memory",
"snippet": "- 文档:`https://makee-interactive.feishu.cn/wiki/XoGZwgrRMiGk9vkYNWmcegs9nyh`L1-S2-U19-L1 客厅游戏) - Bot当前无该知识空间权限无法写入 - 已完成 5 个组件配置文本生成,待权限恢复后写入 G 列 ### 修正格式规范(用户指定) - 不含【组件ID】字段 - 【互动内容】顶部加「题目:选择正确的单词补全句子」 - 挖空用 `___`3个下划线 - 选项后加「辅助信息」行(如 `afternoon 意为下午` - 【后置对话】缺省写「空」,不用「无」 - 【互动反馈】正确:「正确:无」;错误:「错误 角色名: 台词」 - 任务标题和反馈需贴合剧情 - 有【教研图】的组件:资源配置需写「图片时机」 ### 5个组件配置摘要 | ID | 句子 | 正确答案 | 干扰项 | 图片时机 | |----|------|---------|--------|---------| | 1219102 | This ___ , we go to space! | afternoon | evening | 无 | | 1219105 | This ___ is the captain's seat! | armchair | sofa | 互动内容 | | 1219110 | Push the ___ , Dad! | armchair | table | 互动内容 | | 1219111 | The ___ is a glowing star! | lamp | armchair |",
"recallCount": 1,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 1,
"maxScore": 1,
"firstRecalledAt": "2026-06-04T09:21:44.866Z",
"lastRecalledAt": "2026-06-04T09:21:44.866Z",
"queryHashes": [
"3d95a503721c"
],
"recallDays": [
"2026-06-04"
],
"conceptTags": [
"l1-s2-u19-l1",
"https",
"makee",
"interactive.feishu.cn",
"wiki",
"xogzwgrrmigk9vkynwmcegs9nyh",
"u19",
"客厅"
]
}
}
}