diff --git a/.vala_skill_hashes b/.vala_skill_hashes index 785241c..2ef855a 100644 --- a/.vala_skill_hashes +++ b/.vala_skill_hashes @@ -5,7 +5,6 @@ find-skills fc331652faaa71746a3f63a6bd46ae57da7679c5081b03e84c930ed366493503 skill-builder 20cdb6ec00e493cdfac624a9a844207acf1bf155c6f3f8e07c2bbf591ba2e73b kids-english-script-production 3cb6929e4f5a43e7245adb79091e56ce4cc2ae77198dc795fe1cc088575c3a78 lark_wiki_operate_as_bot 2a37701f568849f03eb46dd938baeda171380fe252b698ac8bda69caa19aea08 -vala_git_workspace_backup 4cf352bec88fe84af065ba1ffcbb06647b77df0e01860faaf0bca9fd64b968ec cambridge-yle-ket-exam-library 5c87898002c7d6175b8076ad18c46dea043e1d4e971371b90647d188bbbb06a9 task-router 08d85461f17ee0bad2ad6f64f84f3c826cd69a515fe56aa847909d097cc40fab vala-interactive-components ec339d3314d3874e366199a14f71b1c94b8965cc1c64e34d9ea4211583696cef @@ -47,3 +46,4 @@ interactive-component-json 243023a4e9ba4482347b84a69c21f33d1d06a2a5cff6b8e15da05 audit_l1_config 88298b77e28be383fa31b75c8e48c3c05c950848af656126c45c35e93219e8f1 bitable-reader 8e1beacd3612c102c1b210307532f1f61a0351ef24ae32b62f1c62998bcd5363 core-content-json-standard 261bfe87076f0700d68811db431702bc22e647d3fa6bbcd8c6b75d573103f911 +vala_git_workspace_backup 6e07e4904702dd2b8c4041fee5bdeed5ea3e80f15fc440fafbfeaa334c0684a1 diff --git a/AGENTS.md b/AGENTS.md index b47e22e..eab49fe 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -135,9 +135,9 @@ System: [...] Feishu[xiaobian] group oc_xxx | 发送者 (ou_xxx) [msg:om_xxx] | 目录 | 用途 | 说明 | |------|------|------| | `memory/` | 短期记忆 | 按天记录工作日志,格式 `YYYY-MM-DD.md` | -| `business_knowledge/` | 业务知识库 | **所有业务知识统一存放于此**,包括业务术语、数据表说明、SQL 模板、数据抽取脚本等 | -| `business_production/` | 核心业务生产区 | 按业务模块独立隔离,包含「剧本翻译/课程组件/巩固题/单元挑战/英文台词/组件生产/组件配置」等独立子目录。其中 `review/` 为**业务决策沉淀层**(非审校流程目录),记录每次模块调整的「为什么」,帮助小研理解规则背后的 know-why 以便更准确判断。下设「课程组件」(对应组件生产模块的决策依据)「剧本翻译」(对应英文台词模块的决策依据)两个子目录,未来其他模块产生决策时同样在此记录 | -| `scripts/` | 脚本文件 | 所有 `.py`、`.sh`、`.sql` 等脚本文件必须放在此目录 | +| `business_knowledge/` | 业务知识库 | **所有业务知识统一存放于此**,包括业务术语、数据表说明、SQL 模板、数据抽取脚本等。其中 `skills/` 为**业务知识技能层**(考试题型库、JSON标准规范、标书规范等被其他模块引用的通用知识技能) | +| `business_production/` | 核心业务生产区 | 按业务模块独立隔离,包含「剧本翻译/课程组件/巩固题/单元挑战/英文台词/组件生产/组件配置」等独立子目录。每个模块下可含 `skills/`(模块专属技能)、`scripts/`(模块专属脚本)、`memory/`(模块专属记忆)。其中 `_shared/` 为**业务共享工具层**(多模块共用的飞书操作技能),`review/` 为**业务决策沉淀层**(非审校流程目录),记录每次模块调整的「为什么」,帮助小研理解规则背后的 know-why 以便更准确判断。下设「课程组件」(对应组件生产模块的决策依据)「剧本翻译」(对应英文台词模块的决策依据)两个子目录,未来其他模块产生决策时同样在此记录 | +| `scripts/` | 通用脚本文件 | 仅存放跨业务模块的通用脚本(备份、同步等)。业务模块专属脚本放在对应 `business_production/<模块>/scripts/` 下 | | `output/` | 输出文件 | 所有生成的报表(`.xlsx`、`.csv`)、日志(`.log`)、导出文件等必须放在此目录 | | `skills/` | 技能定义 | 个人技能目录 | | `tmp/` | 临时文件 | 临时中间产物,可定期清理 | @@ -149,7 +149,7 @@ System: [...] Feishu[xiaobian] group oc_xxx | 发送者 (ou_xxx) [msg:om_xxx] ### 强制规则 -1. **脚本文件** → 始终创建在 `scripts/` 目录下,绝不放在根目录 +1. **通用脚本文件** → 放在 `scripts/` 目录下;**业务模块专属脚本** → 放在 `business_production/<模块>/scripts/` 下,绝不放在根目录 2. **输出文件**(xlsx/csv/log/报表等)→ 始终创建在 `output/` 目录下,绝不放在根目录 3. **定时任务/脚本生成的文件** → 默认也输出到 `output/` 目录下,可根据需求在 `output/` 内创建子目录分类存放(如 `output/daily_reports/`),**绝不放在根目录** 4. **业务知识** → 统一记录到 `business_knowledge/` 目录 @@ -160,20 +160,150 @@ System: [...] Feishu[xiaobian] group oc_xxx | 发送者 (ou_xxx) [msg:om_xxx] Skills 提供你的工具。当你需要某个工具时,查看它的 `SKILL.md`。在 `TOOLS.md` 中保存环境相关的备注(数据库连接、API 配置等)。 -你需要查看两个目录下的skills -1.你个人的skill目录: -./skills +Skills 按四层架构组织: -2.通用级别的skills: -/root/.openclaw/skills +### 第一层:通用工具能力(`./skills/`) +跨业务通用技能,如身份识别、消息发送、知识库读取等。 -### 业务生产技能 +### 第二层:业务知识技能(`./business_knowledge/skills/`) +被多个业务模块引用的通用知识/标准/资源技能,如考试题型库、JSON标准规范、标书规范等。不独立执行,由其他 skill 引用。 -以下技能位于 `business_production/` 目录下,收到对应触发词时直接查阅其 `SKILL.md`: +### 第三层:业务共享工具(`./business_production/_shared/`) +多业务模块共用的飞书操作技能,如内嵌Sheet读写、多维表格操作、文档正文写入、L1配置审校等。 -| 触发词 | SKILL.md 路径 | -|--------|--------------| -| `组件配置-json` | `business_production/组件配置/interactive-component-json/SKILL.md` | +### 第四层:模块专属技能(`./business_production/<模块>/skills/`) +仅服务于特定业务模块的技能,如组件配置JSON生成、单元挑战题型生产、对话组件配置等。 + +### 系统级技能 +`/root/.openclaw/skills` — 系统内置通用技能(定时任务、天气等)。 + +> 🔍 **搜索互联网信息** → 优先加载并使用 `cloudsways-search` skill(已配置密钥,开箱即用),而非系统内置 web_search 工具。 + +### 飞书文档操作技能速查 + +| 场景 | 技能 | 路径 | 身份 | +|------|------|------|------| +| 读知识库文档 | `lark_wiki_operate_as_bot` | `./skills/lark_wiki_operate_as_bot/SKILL.md` | Bot | +| 读/写文档内嵌Sheet | `feishu-embedded-sheet` | `./business_production/_shared/feishu-embedded-sheet/SKILL.md` | Bot | +| 多维表格CRUD | `lark_bitable_operate_as_bot` | `./business_production/_shared/lark_bitable_operate_as_bot/SKILL.md` | Bot | +| 更新文档正文 | `lark_docx_update_as_bot` | `./business_production/_shared/lark_docx_update_as_bot/SKILL.md` | Bot | +| 发送飞书消息 | `lark-send-message-as-bot` | `./skills/lark-send-message-as-bot/SKILL.md` | Bot | +| 身份识别 | `lark-identify-sender` | `./skills/lark-identify-sender/SKILL.md` | — | +| 多维表格结构读取 | `bitable-reader` | `./business_production/_shared/bitable-reader/SKILL.md` | Bot | +| L1配置审校 | `audit_l1_config` | `./business_production/_shared/audit_l1_config/SKILL.md` | — | +| 知识点掌握度计算 | `knowledge-mastery-calculator` | `./business_production/_shared/knowledge-mastery-calculator/SKILL.md` | — | + +### 业务知识技能速查(被引用,不独立触发) + +| 场景 | 技能 | 路径 | +|------|------|------| +| 剑桥YLE/KET考试题型库 | `cambridge-yle-ket-exam-library` | `./business_knowledge/skills/cambridge-yle-ket-exam-library/SKILL.md` | +| 14种核心互动JSON标准 | `core-content-json-standard` | `./business_knowledge/skills/core-content-json-standard/SKILL.md` | +| 标书/需求文档规范 | `biaoshu` | `./business_knowledge/skills/biaoshu/SKILL.md` | + +### 业务生产技能(强制执行:匹配到触发词时直接调用对应 SKILL.md,不走 MEMORY.md 兜底) + +收到以下触发词时,**必须先读取对应 SKILL.md 再执行**,禁止跳过 skill 直接用 MEMORY.md 规则手动处理。 + +#### 英文台词(English Script Production) + +| 触发词 | 技能 | 路径 | +|--------|------|------| +| `/英文台词`、`英文台词生产` | `kids-english-script-production` | `business_production/英文台词/skills/kids-english-script-production/SKILL.md` | +| 飞书文档表格读写(通用I/O层) | `feishu-doc-io` | `business_production/英文台词/skills/feishu-table-translate-fill/SKILL.md` | + +> **示例:** 用户发来飞书 wiki 链接说「英文台词生产」→ 调用 `kids-english-script-production`,用 `--feishu-url` 模式读 F 列编剧台词 → 英语思维重构 → 写回 G 列 + +#### 组件生产(Component Production) + +| 触发词 | 技能 | 路径 | +|--------|------|------| +| `/组件生产`、`组件生产`、`组件回填` | `script-component-production` | `business_production/组件生产/skills/script-component-production/SKILL.md` | +| `组件设计`、`设计组件` | `component-design` | `business_production/组件生产/skills/component-design/SKILL.md` | +| `对话互动配置`、`对话组件配置` | `dialogue-interaction-config` | `business_production/组件生产/skills/dialogue-interaction-config/SKILL.md` | +| `互动组件规范`、`组件格式参考` | `vala-interactive-components` | `business_production/组件生产/skills/vala-interactive-components/SKILL.md` | +| `组件标准化`、`对话组件标准化` | `task-router`(`dialogue-components-standardizer`) | `business_production/组件生产/skills/task-router/SKILL.md` | + +##### 对话类组件配置子技能(由 `dialogue-interaction-config` 调度) + +| 触发词 | 技能 | 路径 | +|--------|------|------| +| `对话选择配置`、`choose config` | `dialogue-choose-config` | `business_production/组件生产/skills/dialogue-choose-config/SKILL.md` | +| `核心导航配置`、`core navigation config` | `dialogue-core-navigation-config` | `business_production/组件生产/skills/dialogue-core-navigation-config/SKILL.md` | +| `对话挖空配置`、`fill in blanks config` | `dialogue-fill-in-blanks-config` | `business_production/组件生产/skills/dialogue-fill-in-blanks-config/SKILL.md` | +| `看图说话配置`、`image description config` | `dialogue-image-description-config` | `business_production/组件生产/skills/dialogue-image-description-config/SKILL.md` | +| `对话朗读配置`、`reading config` | `dialogue-reading-config` | `business_production/组件生产/skills/dialogue-reading-config/SKILL.md` | +| `对话选读配置`、`selective reading config` | `dialogue-selective-reading-config` | `business_production/组件生产/skills/dialogue-selective-reading-config/SKILL.md` | +| `对话组句配置`、`sentence building config` | `dialogue-sentence-building-config` | `business_production/组件生产/skills/dialogue-sentence-building-config/SKILL.md` | +| `图片单选配置`、`single choice image config` | `dialogue-single-choice-image-config` | `business_production/组件生产/skills/dialogue-single-choice-image-config/SKILL.md` | +| `信息组句配置`、`info sentence building` | `info-sentence-building-config` | `business_production/组件生产/skills/info-sentence-building-config/SKILL.md` | +| `信息拼词配置`、`info word spelling` | `info-word-spelling-config` | `business_production/组件生产/skills/info-word-spelling-config/SKILL.md` | + +> **示例:** 用户发来飞书 wiki 链接说「组件生产」→ 调用 `script-component-production`,读剧本表 → 生成互动组件内容 → 回填对应列 + +#### 组件配置(Component JSON Config) + +| 触发词 | 技能 | 路径 | +|--------|------|------| +| `组件配置-json`、`组件配置JSON`、`互动组件JSON` | `interactive-component-json` | `business_production/组件配置/interactive-component-json/SKILL.md` | + +> **示例:** 用户说「组件配置-json」→ 调用 `interactive-component-json`,根据组件类型生成标准化 JSON 配置 + +#### 单元挑战(Unit Challenge) + +##### 总控 & 核心 & 审校 + +| 触发词 | 技能 | 路径 | +|--------|------|------| +| `单元挑战`、`出题`、`生成题包`、`听力题`、`阅读题`、`口语题`、`写作题`、`题包组合` | `unit_challenge_master`(总控调度) | `business_production/单元挑战/skills/unit_challenge/master/unit_challenge_master/SKILL.md` | +| 单元挑战全局规则/通用资源 | `unit_challenge_core`(核心层) | `business_production/单元挑战/skills/unit_challenge/core/unit_challenge_core/SKILL.md` | +| `审校`、`单元挑战审校`、`题目校验` | `audit_unit_challenge` | `business_production/单元挑战/skills/audit_unit_challenge/SKILL.md` | + +##### 听力(Listening) + +| 触发词 | 技能 | 路径 | +|--------|------|------| +| `听力拖拽`、`听力Part1`、`图片连线`、`人物匹配` | `listening-drag`(L1) | `business_production/单元挑战/skills/unit_challenge/questions/listening/L1/listening-drag/SKILL.md` | +| `听力信息匹配`、`listening matchInfo`(L1) | `listening_matchInfo`(L1) | `business_production/单元挑战/skills/unit_challenge/questions/listening/L1/listening_matchInfo/SKILL.md` | +| `听力选图`、`听力Part6` | `listening_picture_selection`(L1) | `business_production/单元挑战/skills/unit_challenge/questions/listening/L1/listening_picture_selection/SKILL.md` | +| `听力图片选择`、`听力Part3`、`三选一图片` | `listening-choicePic`(L2) | `business_production/单元挑战/skills/unit_challenge/questions/listening/L2/listening-choicePic/SKILL.md` | +| `听力表格填空`、`听力Part2` | `listening_form_fill`(L2) | `business_production/单元挑战/skills/unit_challenge/questions/listening/L2/listening_form_fill/SKILL.md` | +| `听力信息匹配`、`听力Part5`(L2) | `listening_info_match`(L2) | `business_production/单元挑战/skills/unit_challenge/questions/listening/L2/listening_info_match/SKILL.md` | +| `听力长对话`、`听力Part3`(L2) | `listening_long_conversation`(L2) | `business_production/单元挑战/skills/unit_challenge/questions/listening/L2/listening_long_conversation/SKILL.md` | +| `听力短对话`、`听力Part4` | `listening_short_conversation`(L2) | `business_production/单元挑战/skills/unit_challenge/questions/listening/L2/listening_short_conversation/SKILL.md` | + +##### 阅读(Reading) + +| 触发词 | 技能 | 路径 | +|--------|------|------| +| `阅读看图判断`、`reading pic judge` | `reading_pic_judge` | `business_production/单元挑战/skills/unit_challenge/questions/reading/common/reading_pic_judge/SKILL.md` | +| `阅读看图回答`、`reading pic qa` | `reading_pic_qa` | `business_production/单元挑战/skills/unit_challenge/questions/reading/common/reading_pic_qa/SKILL.md` | +| `阅读完形填空`、`reading cloze` | `reading_cloze` | `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_cloze/SKILL.md` | +| `阅读信息匹配`、`阅读Part1` | `reading_info_match` | `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` | +| `阅读长文选择`、`阅读Part3` | `reading_long_passage` | `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_long_passage/SKILL.md` | +| `阅读开放填空`、`阅读Part5` | `reading_open_fill` | `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_open_fill/SKILL.md` | +| `阅读段落匹配`、`阅读Part2` | `reading_paragraph_match` | `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_paragraph_match/SKILL.md` | + +##### 口语(Speaking) + +| 触发词 | 技能 | 路径 | +|--------|------|------| +| `口语日常回答`、`口语Part1` | `speaking_daily_qa` | `business_production/单元挑战/skills/unit_challenge/questions/speaking/common/speaking_daily_qa/SKILL.md` | +| `口语看图回答`、`口语Part2` | `speaking_pic_qa`(L1) | `business_production/单元挑战/skills/unit_challenge/questions/speaking/L1/speaking_pic_qa/SKILL.md` | +| `口语看图识物` | `speaking_pic_recognize`(L1) | `business_production/单元挑战/skills/unit_challenge/questions/speaking/L1/speaking_pic_recognize/SKILL.md` | +| `口语问答` | `speaking_qa`(L1) | `business_production/单元挑战/skills/unit_challenge/questions/speaking/L1/speaking_qa/SKILL.md` | +| `口语话题讨论`(L1) | `speaking_topic`(L1) | `business_production/单元挑战/skills/unit_challenge/questions/speaking/L1/speaking_topic/SKILL.md` | +| `口语话题讨论`(L2) | `speaking_topic_discussion`(L2) | `business_production/单元挑战/skills/unit_challenge/questions/speaking/L2/speaking_topic_discussion/SKILL.md` | + +##### 写作(Writing) + +| 触发词 | 技能 | 路径 | +|--------|------|------| +| `写作看图回答`、`writing pic qa` | `writing_pic_qa` | `business_production/单元挑战/skills/unit_challenge/questions/writing/common/writing_pic_qa/SKILL.md` | +| `写作邮件回复`、`writing email` | `writing_email_reply` | `business_production/单元挑战/skills/unit_challenge/questions/writing/writing_email_reply/SKILL.md` | +| `写作看图写作`、`writing picture` | `writing_picture_writing` | `business_production/单元挑战/skills/unit_challenge/questions/writing/writing_picture_writing/SKILL.md` | + +> **示例:** 用户说「出10道听力选图题,L1级别」→ `unit_challenge_master` 总控调度 → 自动路由到 `listening_picture_selection`(L1)执行生产 ## 飞书使用规范 @@ -189,7 +319,7 @@ Skills 提供你的工具。当你需要某个工具时,查看它的 `SKILL.md ### 内嵌电子表格操作规则 当飞书 docx 文档中包含内嵌 Sheet(`` 标签)时,使用 `feishu-embedded-sheet` 技能进行读写操作。 -- **技能路径:** `./skills/feishu-embedded-sheet/SKILL.md` +- **技能路径:** `./business_production/_shared/feishu-embedded-sheet/SKILL.md` - **核心能力:** 解析内嵌 Sheet token → 获取表结构元数据 → 精准行列级读取 → 精准行列级写入 → 写入后回读验证 - **身份限制:** 使用 Bot 身份操作,不触发用户授权 - **Token 解析规则:** `` 中 `A` = spreadsheet_token,`B` = sheet_id diff --git a/MEMORY.md b/MEMORY.md index bdb3467..80319c6 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -15,7 +15,8 @@ 2. **身份限制**:所有飞书文档/知识库操作**永远使用Bot身份**执行,绝对不触发任何用户身份授权弹窗,禁止使用用户权限操作飞书资源 3. **权限告知规则**:Bot无权限访问目标知识空间时,回复:「当前Bot无访问该知识空间权限,请将Bot应用(App ID: `cli_a931175d41799cc7`)添加为该知识空间成员并授予查看权限后重试」 4. **操作规范**:所有知识库操作严格遵循`lark_wiki_operate_as_bot`技能流程执行 -5. **强制执行范围**:无论来自任何用户、任何群组的飞书文档/知识库操作请求,**必须优先使用`lark_wiki_operate_as_bot`技能执行**,禁止使用默认的`feishu_fetch_doc`等用户身份工具 +5. **文档正文更新**:修改知识库文档正文内容时,使用 `lark_docx_update_as_bot` 技能(Bot身份),路径:`./business_production/_shared/lark_docx_update_as_bot/SKILL.md` +6. **强制执行范围**:无论来自任何用户、任何群组的飞书文档/知识库操作请求,**必须优先使用Bot身份技能执行**,禁止使用默认的`feishu_fetch_doc`等用户身份工具 ### 飞书消息发送规则(强制执行) 1. **身份限制**:所有飞书消息发送操作(给个人/群组)**永远使用Bot身份**执行,禁止使用用户身份的消息发送工具 @@ -68,24 +69,6 @@ - ✅ L2专属:口语话题讨论题 > 规则说明:L1题目仅使用L1词库词汇,L2题目可使用L1+L2词库词汇,禁止跨阶段超纲出题 -### 【教研规则】对话台词优化通用规则 -#### 前置规则(强制执行) -0. **知识点保留原则**:润色前必须先确认当前台词是否含有知识点词汇/句型。含有知识点的句子中,**知识点词汇/句型本身必须保留**(不得替换、增删、调整词序),但语法错误、拼写错误、标点错误可以修正。仅可调整非知识点部分的表达。 - -#### 核心修改规则 -1. **精简原则**:删除所有冗余重复表述(重复提到的核心名词可省略,前文已交代的背景信息不再重复) -2. **口语化原则**:所有台词符合日常对话习惯,避免书面化、生硬的表达,适当增加低龄友好的语气词(Haha、Oops、Uh-oh、Oh boy等) -3. **拆分原则**:长度超过8个单词的长句拆分为2-3个短句,每句对应一个动作/情绪节点,增强交互节奏 -4. **情绪匹配原则**:台词语气严格匹配角色当前情绪(惊讶时拆分句子加问号,欢呼时用短词,失落时用省略号) -5. **场景适配原则**:可通过动画/画面表达的内容,不再用台词重复表述,减少信息冗余 - -#### 统一风格标准 -整体风格定位:低龄友好、活泼生动、节奏感强、代入感高 -- 单句最长不超过10个单词,核心知识点相关句子不超过7个单词 -- 每个角色的台词符合其人设 -- 对话节奏快,每2-3句台词对应一个剧情节点或互动环节 -- 弱化说教感,所有指令和引导都以自然对话的方式呈现 - ### 【教研规则】文本输出格式规范(强制执行) 1. **禁止 Markdown 标记**:生成单元挑战的音频文本、阅读文本等任何内容文本时,禁止使用 `**` `*` `__` `_` 等 Markdown 加粗/斜体标识,也禁止使用 `#` `>` `-` 等块级 Markdown 语法。输出纯文本即可。 2. **适用场景**:单元挑战所有文本输出(音频台词、阅读理解文章、写作提示、口语话题等),以及任何需要嵌入题目 jsonData 的文本内容 diff --git a/add_month_week.py b/add_month_week.py new file mode 100644 index 0000000..5d4a4c6 --- /dev/null +++ b/add_month_week.py @@ -0,0 +1,69 @@ +import pandas as pd + +# 文件路径 +file_path = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/新知识库初版/全包词汇/L2知识库-三级+A2.xlsx' + +# 读取文件 +df = pd.read_excel(file_path) + +print("现有表格的列名:") +print(df.columns.tolist()) +print("\n现有表格的前5行:") +print(df.head()) +print(f"\n现有表格总行数:{len(df)}") + +# 定义要添加的单词、词性和词义 +words_to_add = [ + # 月份 + ("January", "n", "一月"), + ("February", "n", "二月"), + ("March", "n", "三月"), + ("April", "n", "四月"), + ("May", "n", "五月"), + ("June", "n", "六月"), + ("July", "n", "七月"), + ("August", "n", "八月"), + ("September", "n", "九月"), + ("October", "n", "十月"), + ("November", "n", "十一月"), + ("December", "n", "十二月"), + + # 星期 + ("Monday", "n", "星期一"), + ("Tuesday", "n", "星期二"), + ("Wednesday", "n", "星期三"), + ("Thursday", "n", "星期四"), + ("Friday", "n", "星期五"), + ("Saturday", "n", "星期六"), + ("Sunday", "n", "星期日"), +] + +# 按字母顺序排序 +words_to_add_sorted = sorted(words_to_add, key=lambda x: x[0].lower()) + +print("\n" + "="*80) +print("要添加的单词(按字母顺序):") +for word, pos, meaning in words_to_add_sorted: + print(f"{word:15s} {pos:5s} {meaning}") + +# 创建新行的DataFrame +new_rows = pd.DataFrame(words_to_add_sorted, columns=['单词', '词性', '中文释义']) + +# 填充其他列(为空) +for col in df.columns: + if col not in ['单词', '词性', '中文释义']: + new_rows[col] = "" + +# 合并到原数据 +df_updated = pd.concat([df, new_rows], ignore_index=True) + +# 按单词字母顺序排序 +df_updated = df_updated.sort_values(by='单词', key=lambda x: x.str.lower()) + +# 保存结果 +df_updated.to_excel(file_path, index=False) + +print("\n" + "="*80) +print(f"已添加 {len(new_rows)} 个单词") +print(f"更新后表格总行数:{len(df_updated)}") +print(f"已保存到:{file_path}") diff --git a/skills/biaoshu/SKILL.md b/business_knowledge/skills/biaoshu/SKILL.md similarity index 100% rename from skills/biaoshu/SKILL.md rename to business_knowledge/skills/biaoshu/SKILL.md diff --git a/skills/biaoshu/scripts/biaoshu_number.py b/business_knowledge/skills/biaoshu/scripts/biaoshu_number.py similarity index 100% rename from skills/biaoshu/scripts/biaoshu_number.py rename to business_knowledge/skills/biaoshu/scripts/biaoshu_number.py diff --git a/skills/cambridge-yle-ket-exam-library/SKILL.md b/business_knowledge/skills/cambridge-yle-ket-exam-library/SKILL.md similarity index 100% rename from skills/cambridge-yle-ket-exam-library/SKILL.md rename to business_knowledge/skills/cambridge-yle-ket-exam-library/SKILL.md diff --git a/skills/core-content-json-standard/SKILL.md b/business_knowledge/skills/core-content-json-standard/SKILL.md similarity index 100% rename from skills/core-content-json-standard/SKILL.md rename to business_knowledge/skills/core-content-json-standard/SKILL.md diff --git a/business_knowledge/新知识库初版/全包词汇/L2知识库-三级+A2.xlsx b/business_knowledge/新知识库初版/全包词汇/L2知识库-三级+A2.xlsx new file mode 100644 index 0000000..55c0002 Binary files /dev/null and b/business_knowledge/新知识库初版/全包词汇/L2知识库-三级+A2.xlsx differ diff --git a/business_knowledge/新知识库初版/全包词汇/三级单词表_已标注词性.xlsx b/business_knowledge/新知识库初版/全包词汇/三级单词表_已标注词性.xlsx deleted file mode 100644 index 3043ac7..0000000 Binary files a/business_knowledge/新知识库初版/全包词汇/三级单词表_已标注词性.xlsx and /dev/null differ diff --git a/business_knowledge/新知识库初版/全包词汇/新课标单词_36-40.xlsx b/business_knowledge/新知识库初版/全包词汇/新课标单词_36-40.xlsx new file mode 100644 index 0000000..4c76ecd Binary files /dev/null and b/business_knowledge/新知识库初版/全包词汇/新课标单词_36-40.xlsx differ diff --git a/business_knowledge/新知识库初版/现状/L2 已使用.xlsx b/business_knowledge/新知识库初版/现状/L2 已使用.xlsx index 069dfa3..59bf77f 100644 Binary files a/business_knowledge/新知识库初版/现状/L2 已使用.xlsx and b/business_knowledge/新知识库初版/现状/L2 已使用.xlsx differ diff --git a/skills/audit_l1_config/SKILL.md b/business_production/_shared/audit_l1_config/SKILL.md similarity index 100% rename from skills/audit_l1_config/SKILL.md rename to business_production/_shared/audit_l1_config/SKILL.md diff --git a/skills/bitable-reader/SKILL.md b/business_production/_shared/bitable-reader/SKILL.md similarity index 100% rename from skills/bitable-reader/SKILL.md rename to business_production/_shared/bitable-reader/SKILL.md diff --git a/skills/feishu-embedded-sheet/SKILL.md b/business_production/_shared/feishu-embedded-sheet/SKILL.md similarity index 85% rename from skills/feishu-embedded-sheet/SKILL.md rename to business_production/_shared/feishu-embedded-sheet/SKILL.md index 70f53fa..102432d 100644 --- a/skills/feishu-embedded-sheet/SKILL.md +++ b/business_production/_shared/feishu-embedded-sheet/SKILL.md @@ -208,6 +208,31 @@ curl -s -X GET \ 6. **数据类型**:写入时,数字直接用 number 类型,文本用 string,空值用 null 7. **换行符**:需要在单元格内换行时,在字符串中使用 `\n` +### ⚠️ 批量写入前必须验证行号连续性(强制执行) + +**问题:** 飞书 Sheets API 的 range 写入是按连续区域覆盖的。如果 range 指定 `F4:F67`,API 会把数据依次写入 Row 4, 5, 6, ..., 67,**不管这些行是否对应正确的数据行**。 + +**场景:** 剧本表格中,E 列有内容的行号不连续(Row 4 有台词、Row 5 是剧情描述空行、Row 6 又有台词),如果按连续 range 批量写入,会导致 Row 6 的英文台词写到 Row 5 上,造成全列偏移。 + +**强制规则:** +1. 写入前,先统计目标行号列表,检查是否连续(`rows[i+1] - rows[i] == 1`) +2. **行号连续** → 可以用 range 批量写入(如 `F4:F67`) +3. **行号不连续** → 必须逐行写入(每个行号单独一个 range,如 `F4:F4`, `F6:F6`, ...),或先清空整列再逐行写入 +4. 写入后必须抽样验证 E/F 列行号对齐(至少抽查前 5 行、中间 5 行、末尾 5 行) + +```python +# 示例:检查行号连续性 +rows = sorted(data.keys()) +is_continuous = all(rows[i+1] - rows[i] == 1 for i in range(len(rows)-1)) +if is_continuous: + # 安全:批量 range 写入 + write_range(f"F{rows[0]}:F{rows[-1]}", values) +else: + # 不安全:逐行写入 + for row in rows: + write_range(f"F{row}:F{row}", [data[row]]) +``` + ## 异常处理 | 错误码 | 含义 | 处理方式 | diff --git a/skills/knowledge-mastery-calculator/SKILL.md b/business_production/_shared/knowledge-mastery-calculator/SKILL.md similarity index 93% rename from skills/knowledge-mastery-calculator/SKILL.md rename to business_production/_shared/knowledge-mastery-calculator/SKILL.md index fd8e366..b3e81b1 100644 --- a/skills/knowledge-mastery-calculator/SKILL.md +++ b/business_production/_shared/knowledge-mastery-calculator/SKILL.md @@ -1,3 +1,8 @@ +--- +name: knowledge-mastery-calculator +description: 瓦拉英语课程知识点掌握度精准计算器,解决传统判定方法「跟读通过=掌握」的核心痛点,真实反映用户语言学习实际掌握情况 +--- + # Skill: 知识点掌握度计算器 ## 基本信息 - **技能名称:** 知识点掌握度精准计算器 diff --git a/skills/lark_bitable_operate_as_bot/SKILL.md b/business_production/_shared/lark_bitable_operate_as_bot/SKILL.md similarity index 73% rename from skills/lark_bitable_operate_as_bot/SKILL.md rename to business_production/_shared/lark_bitable_operate_as_bot/SKILL.md index 1fffaa5..4b1e9de 100644 --- a/skills/lark_bitable_operate_as_bot/SKILL.md +++ b/business_production/_shared/lark_bitable_operate_as_bot/SKILL.md @@ -30,23 +30,23 @@ metadata: ## 使用示例 ### 1. 列出多维表格所有数据表 ```bash -./skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh list_tables +./business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh list_tables ``` ### 2. 读取数据表记录 ```bash -./skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh list_records [page_size] +./business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh list_records [page_size] ``` ### 3. 新增记录 ```bash -./skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh create_record '{"字段名1":"值1","字段名2":"值2"}' +./business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh create_record '{"字段名1":"值1","字段名2":"值2"}' ``` ### 4. 更新记录 ```bash -./skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh update_record '{"字段名1":"新值"}' +./business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh update_record '{"字段名1":"新值"}' ``` ### 5. 删除记录 ```bash -./skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh delete_record +./business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh delete_record ``` ## 完整执行流程 1. 自动获取Bot租户访问凭证(有效期2小时,自动复用) diff --git a/skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh b/business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh similarity index 100% rename from skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh rename to business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh diff --git a/business_production/_shared/lark_docx_update_as_bot/SKILL.md b/business_production/_shared/lark_docx_update_as_bot/SKILL.md new file mode 100644 index 0000000..2baa019 --- /dev/null +++ b/business_production/_shared/lark_docx_update_as_bot/SKILL.md @@ -0,0 +1,135 @@ +--- +name: lark_docx_update_as_bot +version: 1.0.0 +description: "飞书文档正文Bot身份写入技能,使用 lark-cli docs +update --api-version v2 --as bot 更新文档正文内容,补齐「读文档→读内嵌Sheet→回填文档正文」全链路Bot身份闭环" +metadata: + requires: + permissions: ["docx:document", "docx:document:write_only"] +--- + +# lark_docx_update_as_bot 技能规范 + +## 核心规则(强制执行) +1. **身份限制**:所有文档正文更新操作**永远使用Bot身份**执行(`--as bot`),绝对不触发任何用户身份授权弹窗 +2. **文档范围限制**:支持知识库文档(`/wiki/`)和个人文档(`/doc/`),前提是Bot有对应文档的编辑权限 +3. **权限告知规则**: + - Bot无权限编辑目标文档:回复「当前Bot无编辑该文档权限,请将Bot应用(App ID: `cli_a931175d41799cc7`)添加为文档协作者并授予编辑权限后重试」 + - 权限不足时提示需要开通的权限:`docx:document` 或 `docx:document:write_only` + +## 适用场景 +- 将润色后的台词/文本回填到文档正文段落 +- 更新文档中的配置说明、备注等文本内容 +- 批量替换文档中的特定文本 +- 在文档中追加新章节/段落 +- 所有需要Bot身份修改文档正文的操作 + +## 前置条件 +- Bot应用已在飞书开发者后台开通 `docx:document` 权限 +- Bot已被添加为目标文档的协作者(至少「可编辑」权限) + +## 完整执行链路 + +### 步骤1:获取文档内容和 block 结构 +先用 `lark_wiki_operate_as_bot` 或 `lark-cli docs +fetch --api-version v2 --as bot` 获取文档内容,定位需要修改的文本/block。 + +```bash +# 读取文档(获取 block_id 用于精确编辑) +LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan \ + lark-cli docs +fetch --api-version v2 --doc "" --as bot +``` + +### 步骤2:执行更新 + +#### 方式A:str_replace — 全文文本查找替换(推荐,无需 block_id) + +```bash +LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan \ + lark-cli docs +update --api-version v2 --doc "" --as bot \ + --command str_replace \ + --pattern "要替换的原文" \ + --content "替换后的新文本" +``` + +**Markdown 模式(支持跨行匹配 + 省略号语法):** + +```bash +LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan \ + lark-cli docs +update --api-version v2 --doc "" --as bot \ + --command str_replace \ + --doc-format markdown \ + --pattern "开头文本...结尾文本" \ + --content "替换后的完整内容" +``` + +#### 方式B:block_replace — 替换指定 block(需先获取 block_id) + +```bash +LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan \ + lark-cli docs +update --api-version v2 --doc "" --as bot \ + --command block_replace \ + --block-id "blkcnXXXX" \ + --content '

替换后的段落内容

' +``` + +#### 方式C:append — 在文档末尾追加 + +```bash +LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan \ + lark-cli docs +update --api-version v2 --doc "" --as bot \ + --command append \ + --content '

新章节

追加的内容

' +``` + +#### 方式D:block_insert_after — 在指定 block 后插入 + +```bash +LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan \ + lark-cli docs +update --api-version v2 --doc "" --as bot \ + --command block_insert_after \ + --block-id "blkcnXXXX" \ + --content '

插入的内容

' +``` + +### 步骤3:验证更新结果 + +```bash +LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan \ + lark-cli docs +fetch --api-version v2 --doc "" --as bot +``` + +## 指令速查表 + +| 指令 | 说明 | 必需参数 | 适用场景 | +|------|------|----------|----------| +| `str_replace` | 全文文本查找替换 | `--pattern` `--content` | 回填润色文本、修正错别字 | +| `block_replace` | 替换指定 block | `--block-id` `--content` | 替换整段内容 | +| `block_insert_after` | 在指定 block 后插入 | `--block-id` `--content` | 插入新段落 | +| `append` | 文档末尾追加 | `--content` | 追加新章节 | +| `block_delete` | 删除指定 block | `--block-id` | 删除废弃内容 | +| `overwrite` | ⚠️ 全文覆盖 | `--content` | 完全重建文档(慎用) | + +## 最佳实践 + +1. **优先 str_replace**:回填润色文本等场景,直接用 str_replace 匹配原文替换,无需获取 block_id +2. **Markdown 模式跨行匹配**:需要替换大段内容时,用 `--doc-format markdown` + `前缀...后缀` 省略号语法 +3. **精确操作优于全文覆盖**:避免使用 `overwrite`,会丢失图片、评论等 +4. **保护不可重建内容**:替换时避开包含图片、画板、电子表格 token 的 block +5. **写入后必须验证**:每次更新后回读确认内容正确 + +## 与其他技能的配合 + +| 场景 | 技能链路 | +|------|----------| +| 读文档 → 读内嵌Sheet → 回填正文 | `lark_wiki_operate_as_bot` → `feishu-embedded-sheet` → **本技能** | +| 读文档 → 修改正文 | `lark_wiki_operate_as_bot` → **本技能** | +| 读文档 → 读内嵌Sheet → 写Sheet | `lark_wiki_operate_as_bot` → `feishu-embedded-sheet` | + +## 异常处理 + +| 错误码 | 含义 | 处理方式 | +|--------|------|---------| +| `99991400` | 频率限制 | 等待后重试,使用指数退避 | +| `429` | 并发编辑限制 | 同一文档每秒最多3次编辑,排队重试 | +| `403` | 无权限 | Bot未被添加为文档协作者,需用户授权 | +| `400` | 参数错误 | 检查 doc_token、block_id、pattern 格式 | +| `404` | 文档/block不存在 | 检查 token 是否正确,block 是否已被删除 | diff --git a/scripts/apply_fixes.py b/business_production/单元挑战/scripts/apply_fixes.py similarity index 94% rename from scripts/apply_fixes.py rename to business_production/单元挑战/scripts/apply_fixes.py index 336bd68..d7a233d 100644 --- a/scripts/apply_fixes.py +++ b/business_production/单元挑战/scripts/apply_fixes.py @@ -2,7 +2,7 @@ """Apply answer distribution fixes to rewrite_p4_all.py""" import sys -with open('/root/.openclaw/workspace-xiaoyan/scripts/rewrite_p4_all.py', 'r') as f: +with open('/root/.openclaw/workspace-xiaoyan/business_production/单元挑战/scripts/rewrite_p4_all.py', 'r') as f: content = f.read() fixes = [ @@ -100,7 +100,7 @@ for i, line in enumerate(lines): break # Write back -with open('/root/.openclaw/workspace-xiaoyan/scripts/rewrite_p4_all.py', 'w') as f: +with open('/root/.openclaw/workspace-xiaoyan/business_production/单元挑战/scripts/rewrite_p4_all.py', 'w') as f: f.write('\n'.join(lines)) print(f'\nApplied {patches_applied} patches') diff --git a/scripts/audit_all_unit_challenge.py b/business_production/单元挑战/scripts/audit_all_unit_challenge.py similarity index 100% rename from scripts/audit_all_unit_challenge.py rename to business_production/单元挑战/scripts/audit_all_unit_challenge.py diff --git a/scripts/audit_core_reading_S0.py b/business_production/单元挑战/scripts/audit_core_reading_S0.py similarity index 100% rename from scripts/audit_core_reading_S0.py rename to business_production/单元挑战/scripts/audit_core_reading_S0.py diff --git a/scripts/audit_explanation.py b/business_production/单元挑战/scripts/audit_explanation.py similarity index 100% rename from scripts/audit_explanation.py rename to business_production/单元挑战/scripts/audit_explanation.py diff --git a/scripts/audit_final.py b/business_production/单元挑战/scripts/audit_final.py similarity index 100% rename from scripts/audit_final.py rename to business_production/单元挑战/scripts/audit_final.py diff --git a/scripts/audit_l1_config.py b/business_production/单元挑战/scripts/audit_l1_config.py similarity index 100% rename from scripts/audit_l1_config.py rename to business_production/单元挑战/scripts/audit_l1_config.py diff --git a/scripts/audit_listening_explanation.py b/business_production/单元挑战/scripts/audit_listening_explanation.py similarity index 100% rename from scripts/audit_listening_explanation.py rename to business_production/单元挑战/scripts/audit_listening_explanation.py diff --git a/scripts/audit_listening_explanation_v2.py b/business_production/单元挑战/scripts/audit_listening_explanation_v2.py similarity index 100% rename from scripts/audit_listening_explanation_v2.py rename to business_production/单元挑战/scripts/audit_listening_explanation_v2.py diff --git a/scripts/audit_listening_full.py b/business_production/单元挑战/scripts/audit_listening_full.py similarity index 98% rename from scripts/audit_listening_full.py rename to business_production/单元挑战/scripts/audit_listening_full.py index 36d3b80..ee29e36 100644 --- a/scripts/audit_listening_full.py +++ b/business_production/单元挑战/scripts/audit_listening_full.py @@ -4,7 +4,7 @@ Unit Challenge 听力审校脚本:P1/P2/P4/P7(P5/P6无数据,P3跳过) import json, subprocess, sys, os APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" -SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" +SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" CRED_FILE = "/root/.openclaw/credentials/xiaoyan/config.json" # Standard ability tags (from ability_tags.md) diff --git a/scripts/audit_unit_challenge_listening.py b/business_production/单元挑战/scripts/audit_unit_challenge_listening.py similarity index 98% rename from scripts/audit_unit_challenge_listening.py rename to business_production/单元挑战/scripts/audit_unit_challenge_listening.py index 859fc63..c6c9f71 100644 --- a/scripts/audit_unit_challenge_listening.py +++ b/business_production/单元挑战/scripts/audit_unit_challenge_listening.py @@ -17,7 +17,7 @@ import json, subprocess, os, sys SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) WORKSPACE = os.path.dirname(SCRIPT_DIR) -BITABLE_SCRIPT = os.path.join(WORKSPACE, "skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh") +BITABLE_SCRIPT = os.path.join(WORKSPACE, "business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh") APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" TABLES = { diff --git a/scripts/audit_unit_challenge_listening_v2.py b/business_production/单元挑战/scripts/audit_unit_challenge_listening_v2.py similarity index 98% rename from scripts/audit_unit_challenge_listening_v2.py rename to business_production/单元挑战/scripts/audit_unit_challenge_listening_v2.py index d771d1b..7368a90 100644 --- a/scripts/audit_unit_challenge_listening_v2.py +++ b/business_production/单元挑战/scripts/audit_unit_challenge_listening_v2.py @@ -12,7 +12,7 @@ import json, subprocess, os SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) WORKSPACE = os.path.dirname(SCRIPT_DIR) -BITABLE_SCRIPT = os.path.join(WORKSPACE, "skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh") +BITABLE_SCRIPT = os.path.join(WORKSPACE, "business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh") APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" TABLES = { diff --git a/scripts/audit_unit_challenge_reading.py b/business_production/单元挑战/scripts/audit_unit_challenge_reading.py similarity index 97% rename from scripts/audit_unit_challenge_reading.py rename to business_production/单元挑战/scripts/audit_unit_challenge_reading.py index 5757f60..ea9a05c 100644 --- a/scripts/audit_unit_challenge_reading.py +++ b/business_production/单元挑战/scripts/audit_unit_challenge_reading.py @@ -5,7 +5,7 @@ import json, subprocess, sys APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" -SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" +SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" def exec_bash(cmd): result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=30) diff --git a/scripts/audit_unit_challenge_v2.py b/business_production/单元挑战/scripts/audit_unit_challenge_v2.py similarity index 98% rename from scripts/audit_unit_challenge_v2.py rename to business_production/单元挑战/scripts/audit_unit_challenge_v2.py index 3b61546..5b0f357 100644 --- a/scripts/audit_unit_challenge_v2.py +++ b/business_production/单元挑战/scripts/audit_unit_challenge_v2.py @@ -4,7 +4,7 @@ import json, subprocess, copy APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" -SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" +SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" # ===== Standard Reading Ability Tags ===== STANDARD_TAGS_L1 = { diff --git a/scripts/audit_unit_challenge_v3.py b/business_production/单元挑战/scripts/audit_unit_challenge_v3.py similarity index 98% rename from scripts/audit_unit_challenge_v3.py rename to business_production/单元挑战/scripts/audit_unit_challenge_v3.py index 319257c..e4c241d 100644 --- a/scripts/audit_unit_challenge_v3.py +++ b/business_production/单元挑战/scripts/audit_unit_challenge_v3.py @@ -4,7 +4,7 @@ import json, subprocess, sys APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" -SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" +SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" # Standard ability tags TAG_L1 = {"显性信息定位|关键词识别","基础语境理解|场景/行为理解","图文判断|句图一致性", diff --git a/scripts/backfill_audit.py b/business_production/单元挑战/scripts/backfill_audit.py similarity index 96% rename from scripts/backfill_audit.py rename to business_production/单元挑战/scripts/backfill_audit.py index 7827618..b9b9afe 100644 --- a/scripts/backfill_audit.py +++ b/business_production/单元挑战/scripts/backfill_audit.py @@ -4,7 +4,7 @@ import json, subprocess APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" -SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" +SKILL_SCRIPT = "/root/.openclaw/workspace-xiaoyan/business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh" records = [ { diff --git a/scripts/backfill_fixed.py b/business_production/单元挑战/scripts/backfill_fixed.py similarity index 100% rename from scripts/backfill_fixed.py rename to business_production/单元挑战/scripts/backfill_fixed.py diff --git a/scripts/backfill_listening_audit.py b/business_production/单元挑战/scripts/backfill_listening_audit.py similarity index 100% rename from scripts/backfill_listening_audit.py rename to business_production/单元挑战/scripts/backfill_listening_audit.py diff --git a/scripts/backfill_unit_challenge.py b/business_production/单元挑战/scripts/backfill_unit_challenge.py similarity index 100% rename from scripts/backfill_unit_challenge.py rename to business_production/单元挑战/scripts/backfill_unit_challenge.py diff --git a/scripts/batch_create_delayed.py b/business_production/单元挑战/scripts/batch_create_delayed.py similarity index 100% rename from scripts/batch_create_delayed.py rename to business_production/单元挑战/scripts/batch_create_delayed.py diff --git a/scripts/batch_create_safe.py b/business_production/单元挑战/scripts/batch_create_safe.py similarity index 100% rename from scripts/batch_create_safe.py rename to business_production/单元挑战/scripts/batch_create_safe.py diff --git a/scripts/batch_create_two_step.py b/business_production/单元挑战/scripts/batch_create_two_step.py similarity index 100% rename from scripts/batch_create_two_step.py rename to business_production/单元挑战/scripts/batch_create_two_step.py diff --git a/scripts/batch_reading_matchInfo.py b/business_production/单元挑战/scripts/batch_reading_matchInfo.py similarity index 100% rename from scripts/batch_reading_matchInfo.py rename to business_production/单元挑战/scripts/batch_reading_matchInfo.py diff --git a/scripts/batch_reading_pic_judge.py b/business_production/单元挑战/scripts/batch_reading_pic_judge.py similarity index 100% rename from scripts/batch_reading_pic_judge.py rename to business_production/单元挑战/scripts/batch_reading_pic_judge.py diff --git a/scripts/batch_reading_pic_qa.py b/business_production/单元挑战/scripts/batch_reading_pic_qa.py similarity index 100% rename from scripts/batch_reading_pic_qa.py rename to business_production/单元挑战/scripts/batch_reading_pic_qa.py diff --git a/scripts/batch_reading_pic_qa_2.py b/business_production/单元挑战/scripts/batch_reading_pic_qa_2.py similarity index 100% rename from scripts/batch_reading_pic_qa_2.py rename to business_production/单元挑战/scripts/batch_reading_pic_qa_2.py diff --git a/scripts/build_listening_choose_1217310.py b/business_production/单元挑战/scripts/build_listening_choose_1217310.py similarity index 100% rename from scripts/build_listening_choose_1217310.py rename to business_production/单元挑战/scripts/build_listening_choose_1217310.py diff --git a/scripts/fill_speaking_expl.py b/business_production/单元挑战/scripts/fill_speaking_expl.py similarity index 100% rename from scripts/fill_speaking_expl.py rename to business_production/单元挑战/scripts/fill_speaking_expl.py diff --git a/scripts/final_audit_all.py b/business_production/单元挑战/scripts/final_audit_all.py similarity index 100% rename from scripts/final_audit_all.py rename to business_production/单元挑战/scripts/final_audit_all.py diff --git a/scripts/final_fix.py b/business_production/单元挑战/scripts/final_fix.py similarity index 100% rename from scripts/final_fix.py rename to business_production/单元挑战/scripts/final_fix.py diff --git a/scripts/fix_021801_second.py b/business_production/单元挑战/scripts/fix_021801_second.py similarity index 100% rename from scripts/fix_021801_second.py rename to business_production/单元挑战/scripts/fix_021801_second.py diff --git a/scripts/fix_ability_tags.py b/business_production/单元挑战/scripts/fix_ability_tags.py similarity index 100% rename from scripts/fix_ability_tags.py rename to business_production/单元挑战/scripts/fix_ability_tags.py diff --git a/scripts/fix_ability_tags_v2.py b/business_production/单元挑战/scripts/fix_ability_tags_v2.py similarity index 100% rename from scripts/fix_ability_tags_v2.py rename to business_production/单元挑战/scripts/fix_ability_tags_v2.py diff --git a/scripts/fix_and_backfill.py b/business_production/单元挑战/scripts/fix_and_backfill.py similarity index 99% rename from scripts/fix_and_backfill.py rename to business_production/单元挑战/scripts/fix_and_backfill.py index 3fdb39a..800c83f 100644 --- a/scripts/fix_and_backfill.py +++ b/business_production/单元挑战/scripts/fix_and_backfill.py @@ -4,7 +4,7 @@ import json, subprocess, copy APP_TOKEN = 'CMHSbUUjka3TrUsaxxEc297ongf' -SKILL = 'skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh' +SKILL = 'business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh' # ===== Ability tag mappings ===== TAG_MAP = { diff --git a/scripts/fix_and_backfill_v2.py b/business_production/单元挑战/scripts/fix_and_backfill_v2.py similarity index 100% rename from scripts/fix_and_backfill_v2.py rename to business_production/单元挑战/scripts/fix_and_backfill_v2.py diff --git a/scripts/fix_and_backfill_v3.py b/business_production/单元挑战/scripts/fix_and_backfill_v3.py similarity index 100% rename from scripts/fix_and_backfill_v3.py rename to business_production/单元挑战/scripts/fix_and_backfill_v3.py diff --git a/scripts/fix_answerset.py b/business_production/单元挑战/scripts/fix_answerset.py similarity index 100% rename from scripts/fix_answerset.py rename to business_production/单元挑战/scripts/fix_answerset.py diff --git a/scripts/fix_components.py b/business_production/单元挑战/scripts/fix_components.py similarity index 100% rename from scripts/fix_components.py rename to business_production/单元挑战/scripts/fix_components.py diff --git a/scripts/fix_distributions.py b/business_production/单元挑战/scripts/fix_distributions.py similarity index 100% rename from scripts/fix_distributions.py rename to business_production/单元挑战/scripts/fix_distributions.py diff --git a/scripts/fix_json_and_p5p6.py b/business_production/单元挑战/scripts/fix_json_and_p5p6.py similarity index 100% rename from scripts/fix_json_and_p5p6.py rename to business_production/单元挑战/scripts/fix_json_and_p5p6.py diff --git a/scripts/fix_matchInfo_0213_0218_desc.py b/business_production/单元挑战/scripts/fix_matchInfo_0213_0218_desc.py similarity index 100% rename from scripts/fix_matchInfo_0213_0218_desc.py rename to business_production/单元挑战/scripts/fix_matchInfo_0213_0218_desc.py diff --git a/scripts/fix_p1_4records.py b/business_production/单元挑战/scripts/fix_p1_4records.py similarity index 100% rename from scripts/fix_p1_4records.py rename to business_production/单元挑战/scripts/fix_p1_4records.py diff --git a/scripts/fix_p2_pic_batch2.py b/business_production/单元挑战/scripts/fix_p2_pic_batch2.py similarity index 100% rename from scripts/fix_p2_pic_batch2.py rename to business_production/单元挑战/scripts/fix_p2_pic_batch2.py diff --git a/scripts/fix_p2_records.py b/business_production/单元挑战/scripts/fix_p2_records.py similarity index 100% rename from scripts/fix_p2_records.py rename to business_production/单元挑战/scripts/fix_p2_records.py diff --git a/scripts/fix_p4_dialogue.py b/business_production/单元挑战/scripts/fix_p4_dialogue.py similarity index 100% rename from scripts/fix_p4_dialogue.py rename to business_production/单元挑战/scripts/fix_p4_dialogue.py diff --git a/scripts/fix_remaining.py b/business_production/单元挑战/scripts/fix_remaining.py similarity index 100% rename from scripts/fix_remaining.py rename to business_production/单元挑战/scripts/fix_remaining.py diff --git a/scripts/fix_second_and_pic.py b/business_production/单元挑战/scripts/fix_second_and_pic.py similarity index 100% rename from scripts/fix_second_and_pic.py rename to business_production/单元挑战/scripts/fix_second_and_pic.py diff --git a/scripts/fix_writing_records.py b/business_production/单元挑战/scripts/fix_writing_records.py similarity index 100% rename from scripts/fix_writing_records.py rename to business_production/单元挑战/scripts/fix_writing_records.py diff --git a/scripts/gen_batch3.py b/business_production/单元挑战/scripts/gen_batch3.py similarity index 100% rename from scripts/gen_batch3.py rename to business_production/单元挑战/scripts/gen_batch3.py diff --git a/scripts/gen_unit_challenge_spk_wrt.py b/business_production/单元挑战/scripts/gen_unit_challenge_spk_wrt.py similarity index 100% rename from scripts/gen_unit_challenge_spk_wrt.py rename to business_production/单元挑战/scripts/gen_unit_challenge_spk_wrt.py diff --git a/scripts/gen_writing_speaking.py b/business_production/单元挑战/scripts/gen_writing_speaking.py similarity index 100% rename from scripts/gen_writing_speaking.py rename to business_production/单元挑战/scripts/gen_writing_speaking.py diff --git a/scripts/gen_writing_speaking_batch2.py b/business_production/单元挑战/scripts/gen_writing_speaking_batch2.py similarity index 100% rename from scripts/gen_writing_speaking_batch2.py rename to business_production/单元挑战/scripts/gen_writing_speaking_batch2.py diff --git a/scripts/generate_explanations.py b/business_production/单元挑战/scripts/generate_explanations.py similarity index 100% rename from scripts/generate_explanations.py rename to business_production/单元挑战/scripts/generate_explanations.py diff --git a/scripts/inject_text_rules.py b/business_production/单元挑战/scripts/inject_text_rules.py similarity index 100% rename from scripts/inject_text_rules.py rename to business_production/单元挑战/scripts/inject_text_rules.py diff --git a/scripts/insert_listening_choose_1217310.py b/business_production/单元挑战/scripts/insert_listening_choose_1217310.py similarity index 100% rename from scripts/insert_listening_choose_1217310.py rename to business_production/单元挑战/scripts/insert_listening_choose_1217310.py diff --git a/scripts/patch_ability.py b/business_production/单元挑战/scripts/patch_ability.py similarity index 100% rename from scripts/patch_ability.py rename to business_production/单元挑战/scripts/patch_ability.py diff --git a/scripts/produce_p1_picture.py b/business_production/单元挑战/scripts/produce_p1_picture.py similarity index 100% rename from scripts/produce_p1_picture.py rename to business_production/单元挑战/scripts/produce_p1_picture.py diff --git a/scripts/produce_speaking_p4.py b/business_production/单元挑战/scripts/produce_speaking_p4.py similarity index 100% rename from scripts/produce_speaking_p4.py rename to business_production/单元挑战/scripts/produce_speaking_p4.py diff --git a/scripts/rewrite_p4_all.py b/business_production/单元挑战/scripts/rewrite_p4_all.py similarity index 99% rename from scripts/rewrite_p4_all.py rename to business_production/单元挑战/scripts/rewrite_p4_all.py index a876ebe..4592fd3 100644 --- a/scripts/rewrite_p4_all.py +++ b/business_production/单元挑战/scripts/rewrite_p4_all.py @@ -8,7 +8,7 @@ import json, subprocess, os, sys, time APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" TABLE_ID = "tblVmeDtBDKsAEfz" BASE_DIR = os.path.expanduser("~/.openclaw/workspace-xiaoyan") -OPERATE_SCRIPT = os.path.join(BASE_DIR, "skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh") +OPERATE_SCRIPT = os.path.join(BASE_DIR, "business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh") def run_operate(action, *args): """Run the operate_bitable.sh script""" diff --git a/scripts/scan_missing_explanations.py b/business_production/单元挑战/scripts/scan_missing_explanations.py similarity index 100% rename from scripts/scan_missing_explanations.py rename to business_production/单元挑战/scripts/scan_missing_explanations.py diff --git a/scripts/test_one_record.py b/business_production/单元挑战/scripts/test_one_record.py similarity index 100% rename from scripts/test_one_record.py rename to business_production/单元挑战/scripts/test_one_record.py diff --git a/scripts/update_image_descriptions.py b/business_production/单元挑战/scripts/update_image_descriptions.py similarity index 100% rename from scripts/update_image_descriptions.py rename to business_production/单元挑战/scripts/update_image_descriptions.py diff --git a/scripts/update_l2_difficulty_skills.py b/business_production/单元挑战/scripts/update_l2_difficulty_skills.py similarity index 100% rename from scripts/update_l2_difficulty_skills.py rename to business_production/单元挑战/scripts/update_l2_difficulty_skills.py diff --git a/scripts/update_pic_judge_descriptions.py b/business_production/单元挑战/scripts/update_pic_judge_descriptions.py similarity index 100% rename from scripts/update_pic_judge_descriptions.py rename to business_production/单元挑战/scripts/update_pic_judge_descriptions.py diff --git a/scripts/update_speaking_p4.py b/business_production/单元挑战/scripts/update_speaking_p4.py similarity index 100% rename from scripts/update_speaking_p4.py rename to business_production/单元挑战/scripts/update_speaking_p4.py diff --git a/scripts/update_speaking_qa_ability.py b/business_production/单元挑战/scripts/update_speaking_qa_ability.py similarity index 100% rename from scripts/update_speaking_qa_ability.py rename to business_production/单元挑战/scripts/update_speaking_qa_ability.py diff --git a/scripts/update_writing_p1.py b/business_production/单元挑战/scripts/update_writing_p1.py similarity index 100% rename from scripts/update_writing_p1.py rename to business_production/单元挑战/scripts/update_writing_p1.py diff --git a/scripts/verify_record.py b/business_production/单元挑战/scripts/verify_record.py similarity index 100% rename from scripts/verify_record.py rename to business_production/单元挑战/scripts/verify_record.py diff --git a/scripts/write_audit_results.py b/business_production/单元挑战/scripts/write_audit_results.py similarity index 98% rename from scripts/write_audit_results.py rename to business_production/单元挑战/scripts/write_audit_results.py index 6e6259f..48a6cbe 100644 --- a/scripts/write_audit_results.py +++ b/business_production/单元挑战/scripts/write_audit_results.py @@ -6,7 +6,7 @@ import json, subprocess, os, sys SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) WORKSPACE = os.path.dirname(SCRIPT_DIR) -BITABLE_SCRIPT = os.path.join(WORKSPACE, "skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh") +BITABLE_SCRIPT = os.path.join(WORKSPACE, "business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh") APP_TOKEN = "CMHSbUUjka3TrUsaxxEc297ongf" TABLES = { diff --git a/scripts/write_audit_results_v2.py b/business_production/单元挑战/scripts/write_audit_results_v2.py similarity index 100% rename from scripts/write_audit_results_v2.py rename to business_production/单元挑战/scripts/write_audit_results_v2.py diff --git a/scripts/write_audit_results_v3.py b/business_production/单元挑战/scripts/write_audit_results_v3.py similarity index 100% rename from scripts/write_audit_results_v3.py rename to business_production/单元挑战/scripts/write_audit_results_v3.py diff --git a/business_production/单元挑战/skills/audit_unit_challenge/SKILL.md b/business_production/单元挑战/skills/audit_unit_challenge/SKILL.md index e5e5094..a07b7ae 100644 --- a/business_production/单元挑战/skills/audit_unit_challenge/SKILL.md +++ b/business_production/单元挑战/skills/audit_unit_challenge/SKILL.md @@ -203,16 +203,16 @@ Step 5: 写回 — 将审校结果写入对应表的「审校结果」/「审核 | 脚本 | 用途 | 对应表 | |------|------|--------| -| `scripts/audit_unit_challenge_listening.py` | 听力 P1-P7 第1轮基础审校 | 所有听力表 | -| `scripts/audit_unit_challenge_listening_v2.py` | 听力 P1-P7 第2轮深度审校 | 同上 | -| `scripts/audit_unit_challenge_reading.py` | 阅读基础审校 | 所有阅读表 | -| `scripts/audit_unit_challenge_v2.py` | 全题型基础检查 | 所有表 | -| `scripts/audit_unit_challenge_v3.py` | 全题型深度检查 | 所有表 | -| `scripts/write_audit_results_v3.py` | 审校结果写回 bitable | 所有表 | -| `scripts/fill_speaking_expl.py` | 口语-P1 explanation 补充 | 口语-P1 | -| `scripts/gen_writing_speaking.py` | 写作/口语内容生成 | 写作-P1/口语-P1/P2 | -| `scripts/gen_writing_speaking_batch2.py` | 写作/口语批量生成 | 同上 | -| `scripts/gen_batch3.py` | 写作/口语 C级批量生成 | 同上 | +| `../../scripts/audit_unit_challenge_listening.py` | 听力 P1-P7 第1轮基础审校 | 所有听力表 | +| `../../scripts/audit_unit_challenge_listening_v2.py` | 听力 P1-P7 第2轮深度审校 | 同上 | +| `../../scripts/audit_unit_challenge_reading.py` | 阅读基础审校 | 所有阅读表 | +| `../../scripts/audit_unit_challenge_v2.py` | 全题型基础检查 | 所有表 | +| `../../scripts/audit_unit_challenge_v3.py` | 全题型深度检查 | 所有表 | +| `../../scripts/write_audit_results_v3.py` | 审校结果写回 bitable | 所有表 | +| `../../scripts/fill_speaking_expl.py` | 口语-P1 explanation 补充 | 口语-P1 | +| `../../scripts/gen_writing_speaking.py` | 写作/口语内容生成 | 写作-P1/口语-P1/P2 | +| `../../scripts/gen_writing_speaking_batch2.py` | 写作/口语批量生成 | 同上 | +| `../../scripts/gen_batch3.py` | 写作/口语 C级批量生成 | 同上 | ## 已知能力标签库 diff --git a/business_production/单元挑战/skills/unit_challenge/questions/reading/reading_pic_judge/SKILL.md b/business_production/单元挑战/skills/unit_challenge/questions/reading/reading_pic_judge/SKILL.md deleted file mode 100644 index db22651..0000000 --- a/business_production/单元挑战/skills/unit_challenge/questions/reading/reading_pic_judge/SKILL.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: reading_pic_judge -description: K12英语阅读看图判断题标准化设计、生产、审校工具。使用场景:(1) 根据给定知识点、难度等级生成符合教研规范的阅读看图判断题;(2) 校验题目格式、难度匹配、内容合规性;(3) 批量生产阅读看图判断题。触发关键词:阅读看图判断、reading pic judge、看图判断题生产 ---- - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -# Reading Pic Judge 阅读看图判断题生产技能 -## 题型说明 -阅读看图判断题:学生查看图片,然后回答关于图片内容的判断题,通常是Yes/No问题。 -## JSON结构示例 -```json -{ - "category": "reading", - "type": "reading_pic_judge", - "questionSetID": "010401", - "textTitle": "A Letter from Tom", - "questionSet": [{ - "questionImage": "010401-00.png", - "question": "What can you do at Sunny Salon?", - "answerText": "Yes", - "ability": ["听觉抓取关键信息", "听觉抓取关键信息", "多特征整合", "语用推断"], - "explanation": "根据图片内容判断正确答案。" - }] -} -``` -## 生产规则 -1. 提供图片和相关问题 -2. 答案为Yes或No -3. 绑定相应的能力标签 \ No newline at end of file diff --git a/business_production/单元挑战/skills/unit_challenge/questions/reading/reading_pic_qa/SKILL.md b/business_production/单元挑战/skills/unit_challenge/questions/reading/reading_pic_qa/SKILL.md deleted file mode 100644 index 1305675..0000000 --- a/business_production/单元挑战/skills/unit_challenge/questions/reading/reading_pic_qa/SKILL.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: reading_pic_qa -description: K12英语阅读看图回答题标准化设计、生产、审校工具。使用场景:(1) 根据给定知识点、难度等级生成符合教研规范的阅读看图回答题;(2) 校验题目格式、难度匹配、内容合规性;(3) 批量生产阅读看图回答题。触发关键词:阅读看图回答、reading pic qa、看图回答题生产 ---- - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -# Reading Pic QA 阅读看图回答题生产技能 -## 题型说明 -阅读看图回答题:学生查看图片,然后回答关于图片内容的开放性问题。 -## JSON结构示例 -```json -{ - "category": "reading", - "type": "reading_pic_qa", - "questionSetID": "010401", - "textTitle": "Look and read. Write yes or no.", - "textImage":"010401-00.png", - "questionSet": [{ - "question": "The man has got black hair and glasses. ", - "answerText": "Yes", - "ability": ["听觉抓取关键信息", "听觉抓取关键信息", "多特征整合", "语用推断"], - "explanation": "根据图片内容回答问题。" - }] -} -``` -## 生产规则 -1. 提供图片和相关问题 -2. 答案为开放性回答 -3. 绑定相应的能力标签 \ No newline at end of file diff --git a/business_production/单元挑战/skills/unit_challenge/questions/writing/common/writing_pic_qa/SKILL.md b/business_production/单元挑战/skills/unit_challenge/questions/writing/common/writing_pic_qa/SKILL.md index ba27ee8..5add107 100644 --- a/business_production/单元挑战/skills/unit_challenge/questions/writing/common/writing_pic_qa/SKILL.md +++ b/business_production/单元挑战/skills/unit_challenge/questions/writing/common/writing_pic_qa/SKILL.md @@ -282,14 +282,14 @@ description: K12英语写作看图回答题标准化设计、生产、审校工 ```bash # 1. 定位表 -./skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh list_tables +./business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh list_tables # 2. 新建记录 -./skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh create_record \ +./business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh create_record \ '{"题目集合 ID":"000001","jsonData":"...","图片描述":"..."}' # 3. 回读验证 -./skills/lark_bitable_operate_as_bot/scripts/operate_bitable.sh list_records \ +./business_production/_shared/lark_bitable_operate_as_bot/scripts/operate_bitable.sh list_records \ 5 ``` diff --git a/business_production/单元挑战/skills/unit_challenge/questions/writing/writing_pic_qa/SKILL.md b/business_production/单元挑战/skills/unit_challenge/questions/writing/writing_pic_qa/SKILL.md deleted file mode 100644 index 5b9f82a..0000000 --- a/business_production/单元挑战/skills/unit_challenge/questions/writing/writing_pic_qa/SKILL.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -name: writing_pic_qa -description: K12英语写作看图回答题标准化设计、生产、审校工具。完整规范见 common/writing_pic_qa/SKILL.md。触发关键词:写作看图回答、writing pic qa、看图回答题生产 ---- - - -## 文本输出规范(强制执行) - -所有输出的文本内容(台词、题目、选项、解析、音频文本、阅读文章等)必须遵守以下规则: - -1. 禁止 Markdown 标记:禁止使用 ** * __ _ 等加粗/斜体标识,也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。 -2. 英式拼写优先:单词涉及英美式拼写差异时(如 colour/color、centre/center、travelling/traveling),统一选择英式拼写。 -3. 标点符号规范:严格区分全角/半角符号。中文内容使用全角标点(,。!?),英文内容使用半角标点(. , ! ?),不得混用。 - -# Writing Pic QA 写作看图回答题生产技能 - -> 📌 **完整生产规范请参阅:** `common/writing_pic_qa/SKILL.md` -> -> 本文件保留为快速参考入口,含题型 JSON 输出结构摘要。 - -## 题型说明 -写作看图回答题:学生查看图片,根据提示写出答案。考察图文匹配 + 书写表达。 - -## JSON 结构(bitable 写入格式) -```json -{ - "first": { "category": "writing", "type": "writing_pic_qa", "questionSetID": "...", ... }, - "second": { "category": "writing", "type": "writing_pic_qa", "questionSetID": "...", ... } -} -``` -wrapper 以 `first`/`second` 分别对应题组1/题组2。每个题组内 `questionSet` 包含共享图片及题组内全部小题。 - -## 快速链接 -- **完整生产规范**:`common/writing_pic_qa/SKILL.md`(11节完整规范) -- **参考样例**:bitable `单元挑战 → 写作-P3-看图回答题`,record_id: `recviZlAxxXlAb`(ID=000001) \ No newline at end of file diff --git a/scripts/convert_components_to_json.py b/business_production/组件生产/scripts/convert_components_to_json.py similarity index 100% rename from scripts/convert_components_to_json.py rename to business_production/组件生产/scripts/convert_components_to_json.py diff --git a/scripts/dialogue_backfill.py b/business_production/组件生产/scripts/dialogue_backfill.py similarity index 100% rename from scripts/dialogue_backfill.py rename to business_production/组件生产/scripts/dialogue_backfill.py diff --git a/scripts/dialogue_backfill_v2.py b/business_production/组件生产/scripts/dialogue_backfill_v2.py similarity index 100% rename from scripts/dialogue_backfill_v2.py rename to business_production/组件生产/scripts/dialogue_backfill_v2.py diff --git a/scripts/fill_components.py b/business_production/组件生产/scripts/fill_components.py similarity index 100% rename from scripts/fill_components.py rename to business_production/组件生产/scripts/fill_components.py diff --git a/scripts/fill_components_by_id.py b/business_production/组件生产/scripts/fill_components_by_id.py similarity index 100% rename from scripts/fill_components_by_id.py rename to business_production/组件生产/scripts/fill_components_by_id.py diff --git a/scripts/fill_components_by_id_fixed.py b/business_production/组件生产/scripts/fill_components_by_id_fixed.py similarity index 100% rename from scripts/fill_components_by_id_fixed.py rename to business_production/组件生产/scripts/fill_components_by_id_fixed.py diff --git a/scripts/generate_component_configs.py b/business_production/组件生产/scripts/generate_component_configs.py similarity index 100% rename from scripts/generate_component_configs.py rename to business_production/组件生产/scripts/generate_component_configs.py diff --git a/scripts/produce_components_111.py b/business_production/组件生产/scripts/produce_components_111.py similarity index 100% rename from scripts/produce_components_111.py rename to business_production/组件生产/scripts/produce_components_111.py diff --git a/scripts/write_L4_F_configs.py b/business_production/组件生产/scripts/write_L4_F_configs.py similarity index 100% rename from scripts/write_L4_F_configs.py rename to business_production/组件生产/scripts/write_L4_F_configs.py diff --git a/scripts/write_L5_G_configs.py b/business_production/组件生产/scripts/write_L5_G_configs.py similarity index 100% rename from scripts/write_L5_G_configs.py rename to business_production/组件生产/scripts/write_L5_G_configs.py diff --git a/scripts/write_L5_G_configs_v2.py b/business_production/组件生产/scripts/write_L5_G_configs_v2.py similarity index 100% rename from scripts/write_L5_G_configs_v2.py rename to business_production/组件生产/scripts/write_L5_G_configs_v2.py diff --git a/scripts/write_p4_safe.py b/business_production/组件生产/scripts/write_p4_safe.py similarity index 100% rename from scripts/write_p4_safe.py rename to business_production/组件生产/scripts/write_p4_safe.py diff --git a/scripts/write_p4_to_bitable.py b/business_production/组件生产/scripts/write_p4_to_bitable.py similarity index 100% rename from scripts/write_p4_to_bitable.py rename to business_production/组件生产/scripts/write_p4_to_bitable.py diff --git a/scripts/write_p4_v2.py b/business_production/组件生产/scripts/write_p4_v2.py similarity index 100% rename from scripts/write_p4_v2.py rename to business_production/组件生产/scripts/write_p4_v2.py diff --git a/skills/dialogue-choose-config/SKILL.md b/business_production/组件生产/skills/dialogue-choose-config/SKILL.md similarity index 100% rename from skills/dialogue-choose-config/SKILL.md rename to business_production/组件生产/skills/dialogue-choose-config/SKILL.md diff --git a/skills/dialogue-core-navigation-config/SKILL.md b/business_production/组件生产/skills/dialogue-core-navigation-config/SKILL.md similarity index 100% rename from skills/dialogue-core-navigation-config/SKILL.md rename to business_production/组件生产/skills/dialogue-core-navigation-config/SKILL.md diff --git a/skills/dialogue-fill-in-blanks-config/SKILL.md b/business_production/组件生产/skills/dialogue-fill-in-blanks-config/SKILL.md similarity index 100% rename from skills/dialogue-fill-in-blanks-config/SKILL.md rename to business_production/组件生产/skills/dialogue-fill-in-blanks-config/SKILL.md diff --git a/skills/dialogue-image-description-config/SKILL.md b/business_production/组件生产/skills/dialogue-image-description-config/SKILL.md similarity index 100% rename from skills/dialogue-image-description-config/SKILL.md rename to business_production/组件生产/skills/dialogue-image-description-config/SKILL.md diff --git a/skills/dialogue-reading-config/SKILL.md b/business_production/组件生产/skills/dialogue-reading-config/SKILL.md similarity index 100% rename from skills/dialogue-reading-config/SKILL.md rename to business_production/组件生产/skills/dialogue-reading-config/SKILL.md diff --git a/skills/dialogue-selective-reading-config/SKILL.md b/business_production/组件生产/skills/dialogue-selective-reading-config/SKILL.md similarity index 100% rename from skills/dialogue-selective-reading-config/SKILL.md rename to business_production/组件生产/skills/dialogue-selective-reading-config/SKILL.md diff --git a/skills/dialogue-sentence-building-config/SKILL.md b/business_production/组件生产/skills/dialogue-sentence-building-config/SKILL.md similarity index 100% rename from skills/dialogue-sentence-building-config/SKILL.md rename to business_production/组件生产/skills/dialogue-sentence-building-config/SKILL.md diff --git a/skills/dialogue-single-choice-image-config/SKILL.md b/business_production/组件生产/skills/dialogue-single-choice-image-config/SKILL.md similarity index 100% rename from skills/dialogue-single-choice-image-config/SKILL.md rename to business_production/组件生产/skills/dialogue-single-choice-image-config/SKILL.md diff --git a/skills/info-sentence-building-config/SKILL.md b/business_production/组件生产/skills/info-sentence-building-config/SKILL.md similarity index 100% rename from skills/info-sentence-building-config/SKILL.md rename to business_production/组件生产/skills/info-sentence-building-config/SKILL.md diff --git a/skills/info-word-spelling-config/SKILL.md b/business_production/组件生产/skills/info-word-spelling-config/SKILL.md similarity index 100% rename from skills/info-word-spelling-config/SKILL.md rename to business_production/组件生产/skills/info-word-spelling-config/SKILL.md diff --git a/skills/task-router/SKILL.md b/business_production/组件生产/skills/task-router/SKILL.md similarity index 94% rename from skills/task-router/SKILL.md rename to business_production/组件生产/skills/task-router/SKILL.md index 60c3c74..e27f549 100644 --- a/skills/task-router/SKILL.md +++ b/business_production/组件生产/skills/task-router/SKILL.md @@ -61,4 +61,4 @@ The 6 components are predefined: ## Resources -- Use [route_request.py](/Users/shasha/.codex/skills/task-router/scripts/route_request.py) as the first-pass classifier and execution planner. +- Use [route_request.py](business_production/组件生产/skills/task-router/scripts/route_request.py) as the first-pass classifier and execution planner. diff --git a/skills/task-router/agents/openai.yaml b/business_production/组件生产/skills/task-router/agents/openai.yaml similarity index 100% rename from skills/task-router/agents/openai.yaml rename to business_production/组件生产/skills/task-router/agents/openai.yaml diff --git a/skills/task-router/component_configs.yaml b/business_production/组件生产/skills/task-router/component_configs.yaml similarity index 100% rename from skills/task-router/component_configs.yaml rename to business_production/组件生产/skills/task-router/component_configs.yaml diff --git a/skills/task-router/scripts/generate_component.py b/business_production/组件生产/skills/task-router/scripts/generate_component.py similarity index 100% rename from skills/task-router/scripts/generate_component.py rename to business_production/组件生产/skills/task-router/scripts/generate_component.py diff --git a/skills/task-router/scripts/review_component.py b/business_production/组件生产/skills/task-router/scripts/review_component.py similarity index 100% rename from skills/task-router/scripts/review_component.py rename to business_production/组件生产/skills/task-router/scripts/review_component.py diff --git a/skills/task-router/scripts/route_request.py b/business_production/组件生产/skills/task-router/scripts/route_request.py similarity index 100% rename from skills/task-router/scripts/route_request.py rename to business_production/组件生产/skills/task-router/scripts/route_request.py diff --git a/skills/task-router/test_config.json b/business_production/组件生产/skills/task-router/test_config.json similarity index 100% rename from skills/task-router/test_config.json rename to business_production/组件生产/skills/task-router/test_config.json diff --git a/business_production/组件配置/interactive-component-json/db/components.db b/business_production/组件配置/interactive-component-json/db/components.db index 2632c18..4d327e9 100644 Binary files a/business_production/组件配置/interactive-component-json/db/components.db and b/business_production/组件配置/interactive-component-json/db/components.db differ diff --git a/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_122952.html b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_122952.html new file mode 100644 index 0000000..1c09854 --- /dev/null +++ b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_122952.html @@ -0,0 +1,5627 @@ + + + + + +L1-S2-U18-L2 登龙秘笈 — 组件JSON报告 + + + + + +
+ + + + +
+
+
就绪
+
+
+ 成功: 0 + 失败: 0 +
+
+ +
+
+

L1-S2-U18-L2 登龙秘笈

+
+ 生成时间: 2026-06-02 12:29:52 + 模型: doubao-seed-2.0-pro + Wiki: KNAZwTYXsib2Ijk6BrGciRelnSf +
+
+ +
+
+
1
核心互动
+
16
中互动
+
+
17
总组件
+
17
成功
+
0
失败
+ +
+ + +
+
+ 1 + 对话朗读 + cId: 1218201 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 2 + 对话朗读 + cId: 1218202 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 3 + 对话挖空 + cId: 1218203 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 4 + 对话朗读 + cId: 1218204 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 5 + 对话挖空 + cId: 1218205 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 6 + 对话朗读 + cId: 1218206 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 7 + 对话组句 + cId: 1218207 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 8 + 对话选读 + cId: 1218208 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 9 + 图片单选 + cId: 1218209 + mid_image_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
meaning
resourceMapping
question
imageInfo
optionList
answer
preDialog
tip
corFeedback
errFeedback
postDialog
cDesc
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 10 + 对话挖空 + cId: 1218210 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
audioFile
itemName
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 11 + 对话朗读 + cId: 1218211 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 12 + 对话挖空 + cId: 1218212 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 13 + 对话选读 + cId: 1218213 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 14 + 对话组句 + cId: 1218214 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 15 + 对话选择 + cId: 1218215 + mid_dialog_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
answer
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 16 + 核心核心互动-听力选择 + cId: 1218216 + core_listening_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
sceneDesc
key
resourceMapping
cDesc
+
+ +
+ +
+ +
+
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
+ +
+
+ +
+ +
+ + + + + + + +
learningPart
closing
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+ +
+ +
```
+# 重点句子 1
+音频文本:Stand in line!
+讲解文本:刚刚听到的音频中,包含了一个常用短语 stand in line,意思是排队、站成一排。其中 stand 是站立的意思,line 是线、队列的意思哦。
+1. 听音选句
+Brainy:仔细听音频,选出你听到的句子吧~
+- Stand in line! [正确]
+  - Brainy:太厉害啦!你精准听出了短语 stand in line,真的很棒哦!
+- Stand in circle!
+  - Brainy:不对哦,这句话里说的是 circle(圆圈),不是我们听到的 line(队列),再听一遍试试吧~
+
+2. 听音选意
+Brainy:"站成圆圈"是这句话的中文意思吗?
+- 对 / Yes
+  - Brainy:哦,不对哦,句子里的重点短语是 stand in line,和圆圈没有关系,再想想看吧~
+- 错 / No [正确]
+  - Brainy:答对啦!你完全掌握了 stand in line 是“排队、站成一排”的意思,太优秀啦!
+---
+# 完成反馈
+Brainy:很好!你已经回答完了全部问题,相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!
+```
+
+ +
+ +
You first heard Mr. Justin give the instruction "Stand in line!", then you chose the right picture of people standing in a single line, and got praised for being ready for the next step. (你首先听到贾斯汀老师发出“排队”的指令,接着你选对了人们排成一队的图片,获得了表扬,已经为下一步做好准备。)
+Next you heard Mr. Justin ask everyone to "Read the blackboard!", you picked the right action of looking at the blackboard, and Ben responded positively that he had got the task. (接下来你听到贾斯汀老师要求大家“看黑板”,你选对了看向黑板的正确动作,本积极回应说他已经明白任务要求。)
+Finally you heard Mr. Justin say "Take number 1 as an example!", you selected the correct picture of number 1, and Ben said he was all ready for the following learning. (最后你听到贾斯汀老师说“以1号为例”,你选对了对应1号的图片,本表示他已经为接下来的学习做好了准备。)
+
+
+ + +
+
+ +
+
+ 17 + 对话表达 + cId: 1218217 + mid_dialog_express + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
asrPrompt
resourceMapping
preDialog
imgShowTimingList
img
tip
corFeedback
errFeedback
question
example
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_143618.html b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_143618.html new file mode 100644 index 0000000..db17cb4 --- /dev/null +++ b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_143618.html @@ -0,0 +1,5627 @@ + + + + + +L1-S2-U18-L2 登龙秘笈 — 组件JSON报告 + + + + + +
+ + + + +
+
+
就绪
+
+
+ 成功: 0 + 失败: 0 +
+
+ +
+
+

L1-S2-U18-L2 登龙秘笈

+
+ 生成时间: 2026-06-02 14:36:18 + 模型: doubao-seed-2.0-pro + Wiki: KNAZwTYXsib2Ijk6BrGciRelnSf +
+
+ +
+
+
1
核心互动
+
16
中互动
+
+
17
总组件
+
17
成功
+
0
失败
+ +
+ + +
+
+ 1 + 对话朗读 + cId: 1218201 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 2 + 对话朗读 + cId: 1218202 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 3 + 对话挖空 + cId: 1218203 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 4 + 对话朗读 + cId: 1218204 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 5 + 对话挖空 + cId: 1218205 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 6 + 对话朗读 + cId: 1218206 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 7 + 对话组句 + cId: 1218207 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 8 + 对话选读 + cId: 1218208 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 9 + 图片单选 + cId: 1218209 + mid_image_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
meaning
resourceMapping
question
imageInfo
optionList
answer
preDialog
tip
corFeedback
errFeedback
postDialog
cDesc
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 10 + 对话挖空 + cId: 1218210 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
audioFile
itemName
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 11 + 对话朗读 + cId: 1218211 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 12 + 对话挖空 + cId: 1218212 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 13 + 对话选读 + cId: 1218213 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 14 + 对话组句 + cId: 1218214 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 15 + 对话选择 + cId: 1218215 + mid_dialog_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
answer
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 16 + 核心核心互动-听力选择 + cId: 1218216 + core_listening_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
sceneDesc
key
resourceMapping
cDesc
+
+ +
+ +
+ +
+
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
+ +
+
+ +
+ +
+ + + + + + + +
learningPart
closing
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+ +
+ +
```
+# 重点句子 1
+音频文本:Stand in line!
+讲解文本:刚刚听到的音频里,有一个常用短语 stand in line,意思是排队、站成一排。这里 stand 是站立的意思,line 是队伍、排的意思,合在一起就是站成队伍哦。
+1. 听音选句
+Brainy:仔细听音频,选出你听到的句子吧~
+- Stand in line! [正确]
+  Brainy:太厉害啦!你准确听出了 stand in line 这个短语,太棒了!
+- Stand in a circle!
+  Brainy:不对哦,这句话里是 circle(圆圈),不是我们听到的 line(排、队伍),再仔细听一遍试试呀~
+
+2. 听音选意
+Brainy:"站成圆圈"是这句话的中文意思吗?
+- 对 / Yes
+  Brainy:我们听到的短语是 stand in line,不是站成圆圈哦,再想想看~
+- 错 / No [正确]
+  Brainy:完全正确!你已经掌握了 stand in line 是排队、站成一排的意思啦,真棒!
+---
+# 完成反馈
+Brainy:很好!你已经回答完了全部问题,相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!
+```
+
+ +
+ +
You hear Justin's instruction "Stand in line!" and then pick the right picture that shows people standing in a single line, and Brainy says you are ready for the next step. (你听到贾斯汀老师指令“排队!”,之后选出了展示人们排成一队的正确图片,布雷尼说你已经准备好进入下一环节了。)
+You hear Justin ask everyone to "Read the blackboard!", choose the right action of reading the blackboard when Ben asks what to do, and Ben replies happily that he gets it. (你听到贾斯汀老师要求“看黑板!”,在本问现在该做什么时选出了看黑板的正确动作,本开心地回应说他明白了。)
+You hear Justin's order "Take number 1 as an example!", select the picture of number 1 when Ben asks who to look at, and Ben says he is already ready now. (你听到贾斯汀老师指令“以1号为例!”,在本问该看谁时选出了1号的正确图片,本说他现在已经准备好了。)
+
+
+ + +
+
+ +
+
+ 17 + 对话表达 + cId: 1218217 + mid_dialog_express + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
asrPrompt
resourceMapping
preDialog
imgShowTimingList
img
tip
corFeedback
errFeedback
question
example
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_144300.html b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_144300.html new file mode 100644 index 0000000..614ec11 --- /dev/null +++ b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_144300.html @@ -0,0 +1,5627 @@ + + + + + +L1-S2-U18-L2 登龙秘笈 — 组件JSON报告 + + + + + +
+ + + + +
+
+
就绪
+
+
+ 成功: 0 + 失败: 0 +
+
+ +
+
+

L1-S2-U18-L2 登龙秘笈

+
+ 生成时间: 2026-06-02 14:43:00 + 模型: doubao-seed-2.0-pro + Wiki: KNAZwTYXsib2Ijk6BrGciRelnSf +
+
+ +
+
+
1
核心互动
+
16
中互动
+
+
17
总组件
+
17
成功
+
0
失败
+ +
+ + +
+
+ 1 + 对话朗读 + cId: 1218201 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 2 + 对话朗读 + cId: 1218202 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 3 + 对话挖空 + cId: 1218203 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 4 + 对话朗读 + cId: 1218204 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 5 + 对话挖空 + cId: 1218205 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 6 + 对话朗读 + cId: 1218206 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 7 + 对话组句 + cId: 1218207 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 8 + 对话选读 + cId: 1218208 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 9 + 图片单选 + cId: 1218209 + mid_image_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
meaning
resourceMapping
question
imageInfo
optionList
answer
preDialog
tip
corFeedback
errFeedback
postDialog
cDesc
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 10 + 对话挖空 + cId: 1218210 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
audioFile
itemName
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 11 + 对话朗读 + cId: 1218211 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 12 + 对话挖空 + cId: 1218212 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 13 + 对话选读 + cId: 1218213 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 14 + 对话组句 + cId: 1218214 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 15 + 对话选择 + cId: 1218215 + mid_dialog_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
answer
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 16 + 核心核心互动-听力选择 + cId: 1218216 + core_listening_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
sceneDesc
key
resourceMapping
cDesc
+
+ +
+ +
+ +
+
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
+ +
+
+ +
+ +
+ + + + + + + +
learningPart
closing
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+ +
+ +
```
+# 重点句子 1
+音频文本:Stand in line!
+讲解文本:刚刚听到的音频中,包含了一个常用短语 stand in line,意思是排队、站成一排。这个短语在日常排队的时候经常会用到哦。
+1. 听音选句
+Brainy:仔细听音频,选一下你听到的句子是哪一个吧~
+- Stand in line! [正确]
+  - Brainy:太棒啦!你准确听出了短语 stand in line,真厉害!
+- Stand up please!
+  - Brainy:哎呀,这句话说的是 stand up please(请站起来),没有提到 stand in line 哦,再仔细听听音频吧!
+
+2. 听音选意
+Brainy:“站成一个圈”是这句话的中文意思吗?
+- 对 / Yes
+  - Brainy:短语 stand in line 是站成一排的意思,不是站成圈哦,再想想看吧~
+- 错 / No [正确]
+  - Brainy:完全正确!你已经掌握了 stand in line 这个短语的意思啦,棒棒的!
+---
+# 完成反馈
+Brainy:很好!你已经回答完了全部问题,相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!
+```
+
+ +
+ +
You first hear Justin's instruction "Stand in line!", then you need to find the group that stands in line correctly, and when you pick the right one, Brainy says you are ready for the next step.(你首先听到贾斯汀老师的指令“排队!”,接着要找到正确排队的小组,选对后布雷尼会说你已经准备好进行下一步了。)
+Next you hear Justin tell everyone "Read the blackboard!", then you need to find what you should do right now, and when you make the right choice, Ben says "Ok! Got it!" in response.(接下来你听到贾斯汀老师让大家“看黑板!”,接着要找出你们现在该做的事,选对后本会回应“好的!知道了!”。)
+Finally you hear Justin's instruction "Take number 1 as an example!", then you need to find who you should look at, and when you choose the right person, Ben says he is ready now.(最后你听到贾斯汀老师的指令“以1号为例!”,接着要找出你们该看的人,选对后本会说他现在准备好了。)
+
+
+ + +
+
+ +
+
+ 17 + 对话表达 + cId: 1218217 + mid_dialog_express + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
asrPrompt
resourceMapping
preDialog
imgShowTimingList
img
tip
corFeedback
errFeedback
question
example
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_145304.html b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_145304.html new file mode 100644 index 0000000..56b9df5 --- /dev/null +++ b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_145304.html @@ -0,0 +1,5627 @@ + + + + + +L1-S2-U18-L2 登龙秘笈 — 组件JSON报告 + + + + + +
+ + + + +
+
+
就绪
+
+
+ 成功: 0 + 失败: 0 +
+
+ +
+
+

L1-S2-U18-L2 登龙秘笈

+
+ 生成时间: 2026-06-02 14:53:04 + 模型: doubao-seed-2.0-pro + Wiki: KNAZwTYXsib2Ijk6BrGciRelnSf +
+
+ +
+
+
1
核心互动
+
16
中互动
+
+
17
总组件
+
17
成功
+
0
失败
+ +
+ + +
+
+ 1 + 对话朗读 + cId: 1218201 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 2 + 对话朗读 + cId: 1218202 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 3 + 对话挖空 + cId: 1218203 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 4 + 对话朗读 + cId: 1218204 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 5 + 对话挖空 + cId: 1218205 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 6 + 对话朗读 + cId: 1218206 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 7 + 对话组句 + cId: 1218207 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 8 + 对话选读 + cId: 1218208 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 9 + 图片单选 + cId: 1218209 + mid_image_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
meaning
resourceMapping
question
imageInfo
optionList
answer
preDialog
tip
corFeedback
errFeedback
postDialog
cDesc
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 10 + 对话挖空 + cId: 1218210 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
audioFile
itemName
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 11 + 对话朗读 + cId: 1218211 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 12 + 对话挖空 + cId: 1218212 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 13 + 对话选读 + cId: 1218213 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 14 + 对话组句 + cId: 1218214 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 15 + 对话选择 + cId: 1218215 + mid_dialog_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
answer
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 16 + 核心核心互动-听力选择 + cId: 1218216 + core_listening_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
sceneDesc
key
resourceMapping
cDesc
+
+ +
+ +
+ +
+
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
+ +
+
+ +
+ +
+ + + + + + + +
learningPart
closing
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+ +
+ +
```
+# 重点句子 1
+音频文本:Stand in line!
+讲解文本:刚刚听到的音频里有一个常用短语 stand in line,意思是排队、站成一排,是课堂和公共场合很常用的指令哦。
+1. 听音选句
+Brainy:认真听音频,选出你听到的句子吧。
+- Stand in line! [正确]
+  - Brainy:太厉害啦!你准确听出了stand in line这个短语!
+- Stand up please!
+  - Brainy:哎呀,这句话是“请站起来”的意思,没有出现我们的重点短语stand in line哦,再仔细听一遍试试吧。
+
+2. 听音选意
+Brainy:"请坐好"是这句话的中文意思吗?
+- 错 / No [正确]
+  - Brainy:答对啦!你完全掌握了这句话的意思,stand in line是排队的意思,你很棒哦!
+- 对 / Yes
+  - Brainy:不对哦,这句话是和排队站好有关的指令,不是坐好的意思,再想想看吧。
+---
+# 完成反馈
+Brainy:很好!你已经回答完了全部问题,相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!
+```
+
+ +
+ +
You first hear Justin's instruction "Stand in line!", then Brainy asks which group is standing in line, and you pick the right group to get ready for the next step.(你首先听到Justin老师的指令“排队!”,之后Brainy询问哪组是排队的状态,你选对了正确的小组,为下一步做好了准备。)
+You hear Justin tell everyone to "Read the blackboard!", then Ben asks what you should do now, and you choose the right action to show you've got the task.(你听到Justin老师让大家“看黑板!”,之后Ben询问你们现在该做什么,你选对了正确的行动,表明你领会了任务要求。)
+You hear Justin's instruction "Take number 1 as an example!", then Ben asks who you should look at, and you pick the right example to get prepared for the following learning.(你听到Justin老师的指令“以1号作为例子!”,之后Ben询问你们该看谁,你选对了正确的示例,为接下来的学习做好了准备。)
+
+
+ + +
+
+ +
+
+ 17 + 对话表达 + cId: 1218217 + mid_dialog_express + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
asrPrompt
resourceMapping
preDialog
imgShowTimingList
img
tip
corFeedback
errFeedback
question
example
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_150355.html b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_150355.html new file mode 100644 index 0000000..e939ebd --- /dev/null +++ b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_150355.html @@ -0,0 +1,5626 @@ + + + + + +L1-S2-U18-L2 登龙秘笈 — 组件JSON报告 + + + + + +
+ + + + +
+
+
就绪
+
+
+ 成功: 0 + 失败: 0 +
+
+ +
+
+

L1-S2-U18-L2 登龙秘笈

+
+ 生成时间: 2026-06-02 15:03:55 + 模型: doubao-seed-2.0-pro + Wiki: KNAZwTYXsib2Ijk6BrGciRelnSf +
+
+ +
+
+
1
核心互动
+
16
中互动
+
+
17
总组件
+
17
成功
+
0
失败
+ +
+ + +
+
+ 1 + 对话朗读 + cId: 1218201 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 2 + 对话朗读 + cId: 1218202 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 3 + 对话挖空 + cId: 1218203 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 4 + 对话朗读 + cId: 1218204 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 5 + 对话挖空 + cId: 1218205 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 6 + 对话朗读 + cId: 1218206 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 7 + 对话组句 + cId: 1218207 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 8 + 对话选读 + cId: 1218208 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 9 + 图片单选 + cId: 1218209 + mid_image_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
meaning
resourceMapping
question
imageInfo
optionList
answer
preDialog
tip
corFeedback
errFeedback
postDialog
cDesc
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 10 + 对话挖空 + cId: 1218210 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
audioFile
itemName
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 11 + 对话朗读 + cId: 1218211 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 12 + 对话挖空 + cId: 1218212 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 13 + 对话选读 + cId: 1218213 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 14 + 对话组句 + cId: 1218214 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 15 + 对话选择 + cId: 1218215 + mid_dialog_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
answer
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 16 + 核心核心互动-听力选择 + cId: 1218216 + core_listening_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
sceneDesc
key
resourceMapping
cDesc
+
+ +
+ +
+ +
+
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
+ +
+
+ +
+ +
+ + + + + + + +
learningPart
closing
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+ +
+ +
```
+# 重点句子 1
+音频文本:Stand in line!
+讲解文本:刚刚听到的音频中,包含了一个常用短语 stand in line,意思是排队、站成一排。这里stand是站立的意思,line是队列、线的意思,组合在一起就是站成队列哦。
+1. 听音选句
+Brainy:仔细听音频,下面哪个句子是你刚刚听到的内容呢?
+- Stand in a circle.
+  - Brainy:哎呀,这句话说的是站成一个圈,并不是我们听到的排队哦,再仔细听听音频试试吧~
+- Stand in line! [正确]
+  - Brainy:太棒啦!你精准听出了这个短语stand in line,太厉害了!
+
+2. 听音选意
+Brainy:"站成一个圈"是这句话的中文意思吗?
+- 对 / Yes
+  - Brainy:不对哦,再想想stand in line的意思,重新选一次吧~
+- 错 / No [正确]
+  - Brainy:答对啦!stand in line是站成一排、排队的意思,你已经完全掌握这个表达啦!
+---
+# 完成反馈
+Brainy:很好!你已经回答完了全部问题,相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!
+```
+
+ +
+ +
You first hear Justin's instruction "Stand in line!", then Brainy asks which group is standing in line, and you pick the right group to get ready for the next step.(你首先听到贾斯汀老师的指令“排队!”,之后布莱尼询问哪一组在排队,你选出了正确的小组,为下一步做好了准备。)
+Next you hear Justin tell everyone "Read the blackboard!", then Ben asks what you should do now, and you choose the right action so Ben says he understands the task.(接下来你听到贾斯汀老师让大家“看黑板!”,之后本询问你们现在该做什么,你选对了行动,本表示他明白要做的任务了。)
+Finally you hear Justin's order "Take number 1 as an example!", then Ben asks who you should look at, and you pick the right person so Ben says he is all ready now.(最后你听到贾斯汀老师的指令“以1号为例!”,之后本询问你们该看谁,你选对了对应的人,本表示他现在已经完全准备好了。)
+
+
+ + +
+
+ +
+
+ 17 + 对话表达 + cId: 1218217 + mid_dialog_express + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
asrPrompt
resourceMapping
preDialog
imgShowTimingList
img
tip
corFeedback
errFeedback
question
example
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_151410.html b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_151410.html new file mode 100644 index 0000000..6b56089 --- /dev/null +++ b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_151410.html @@ -0,0 +1,5631 @@ + + + + + +L1-S2-U18-L2 登龙秘笈 — 组件JSON报告 + + + + + +
+ + + + +
+
+
就绪
+
+
+ 成功: 0 + 失败: 0 +
+
+ +
+
+

L1-S2-U18-L2 登龙秘笈

+
+ 生成时间: 2026-06-02 15:14:10 + 模型: doubao-seed-2.0-pro + Wiki: KNAZwTYXsib2Ijk6BrGciRelnSf +
+
+ +
+
+
1
核心互动
+
16
中互动
+
+
17
总组件
+
17
成功
+
0
失败
+ +
+ + +
+
+ 1 + 对话朗读 + cId: 1218201 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 2 + 对话朗读 + cId: 1218202 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 3 + 对话挖空 + cId: 1218203 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 4 + 对话朗读 + cId: 1218204 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 5 + 对话挖空 + cId: 1218205 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 6 + 对话朗读 + cId: 1218206 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 7 + 对话组句 + cId: 1218207 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 8 + 对话选读 + cId: 1218208 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 9 + 图片单选 + cId: 1218209 + mid_image_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
meaning
resourceMapping
question
imageInfo
optionList
answer
preDialog
tip
corFeedback
errFeedback
postDialog
cDesc
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 10 + 对话挖空 + cId: 1218210 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
audioFile
itemName
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 11 + 对话朗读 + cId: 1218211 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 12 + 对话挖空 + cId: 1218212 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 13 + 对话选读 + cId: 1218213 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 14 + 对话组句 + cId: 1218214 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 15 + 对话选择 + cId: 1218215 + mid_dialog_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
answer
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 16 + 核心核心互动-听力选择 + cId: 1218216 + core_listening_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
sceneDesc
key
resourceMapping
cDesc
+
+ +
+ +
+ +
+
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
+ +
+
+ +
+ +
+ + + + + + + +
learningPart
closing
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+ +
+ +
```
+# 重点句子 1
+音频文本:Stand in line!
+讲解文本:刚刚听到的音频中,包含了一个常用短语 stand in line,意思是排队、站成一排。这是课堂和公共场合很常用的指令表达哦。
+1. 听音选句
+Brainy:仔细听音频,选出你听到的句子吧。
+- Stand in a circle.
+  - Brainy:哎呀,这句话说的是站成一个圈,并没有提到line(队伍)哦,再仔细听一听吧。
+- Stand in line! [正确]
+  - Brainy:太厉害啦!你准确听出了短语stand in line,听力小耳朵超灵敏的!
+
+2. 听音选意
+Brainy:"站成一个圈"是这句话的中文意思吗?
+- 对 / Yes
+  - Brainy:这句话里的line是“队伍、排”的意思,不是圆圈哦,再想想看吧。
+- 错 / No [正确]
+  - Brainy:完全正确!你已经掌握了stand in line这个短语的意思啦,它的意思就是排队、站成一排哦。
+---
+# 完成反馈
+Brainy:很好!你已经回答完了全部问题,相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!
+```
+
+ +
+ +
You first heard teacher Justin ask everyone to stand in line, and you chose the right group that was standing in a single line, getting ready for the next activity. (你首先听到Justin老师让大家排队,你选出了正排成单列的队伍,为接下来的活动做好了准备。)
+Then you heard Justin tell everyone to read the blackboard, you picked the right action to follow the instruction, and Ben said he had got the task clearly. (之后你听到Justin让大家看黑板,你选出了符合指令的正确动作,Ben表示他已经清楚要做的任务了。)
+Finally you heard Justin ask everyone to take number 1 as an example, you found the right person to refer to, and Ben said he was all ready for the following task. (最后你听到Justin让大家以1号为例,你找到了对应的参考对象,Ben表示他已经完全准备好完成后续任务了。)
+
+
+ + +
+
+ +
+
+ 17 + 对话表达 + cId: 1218217 + mid_dialog_express + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
asrPrompt
resourceMapping
preDialog
imgShowTimingList
img
tip
corFeedback
errFeedback
question
example
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_152759.html b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_152759.html new file mode 100644 index 0000000..8fc8ccd --- /dev/null +++ b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_152759.html @@ -0,0 +1,5647 @@ + + + + + +L1-S2-U18-L2 登龙秘笈 — 组件JSON报告 + + + + + +
+ + + + +
+
+
就绪
+
+
+ 成功: 0 + 失败: 0 +
+
+ +
+
+

L1-S2-U18-L2 登龙秘笈

+
+ 生成时间: 2026-06-02 15:27:59 + 模型: doubao-seed-2.0-pro + Wiki: KNAZwTYXsib2Ijk6BrGciRelnSf +
+
+ +
+
+
1
核心互动
+
16
中互动
+
+
17
总组件
+
17
成功
+
0
失败
+ +
+ + +
+
+ 1 + 对话朗读 + cId: 1218201 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 2 + 对话朗读 + cId: 1218202 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 3 + 对话挖空 + cId: 1218203 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 4 + 对话朗读 + cId: 1218204 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 5 + 对话挖空 + cId: 1218205 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 6 + 对话朗读 + cId: 1218206 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 7 + 对话组句 + cId: 1218207 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 8 + 对话选读 + cId: 1218208 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 9 + 图片单选 + cId: 1218209 + mid_image_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
meaning
resourceMapping
question
imageInfo
optionList
answer
preDialog
tip
corFeedback
errFeedback
postDialog
cDesc
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 10 + 对话挖空 + cId: 1218210 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 11 + 对话朗读 + cId: 1218211 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 12 + 对话挖空 + cId: 1218212 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
audioFile
itemName
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 13 + 对话选读 + cId: 1218213 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 14 + 对话组句 + cId: 1218214 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 15 + 对话选择 + cId: 1218215 + mid_dialog_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
answer
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 16 + 核心核心互动-听力选择 + cId: 1218216 + core_listening_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
sceneDesc
key
resourceMapping
cDesc
+
+ +
+ +
+ +
+
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
+ +
+
+ +
+ +
+ + + + + + + +
learningPart
closing
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+ +
+ +
```
+# 重点句子 1
+音频文本:Stand in line!
+讲解文本:刚刚听到的音频中,包含了一个常用短语 stand in line,意思是排队、站成一排。其中 stand 是站立的意思,line 是队列、线的意思,这个短语在日常排队的场景中经常会用到哦。
+1. 听音选句
+Brainy:接下来我们听一听,哪个选项是你刚刚听到的句子呀?
+- Stand in line! [正确]
+  - Brainy:太厉害啦!你精准听出了这个短语 stand in line,非常棒!
+- Stand in a circle!
+  - Brainy:哎呀,这句话里说的是站成一圈,可不是站成一排哦,再仔细听听音频里的内容吧!
+
+2. 听音选意
+Brainy:这句话的中文意思是“站成圈”,对不对呀?
+- 对 / Yes
+  - Brainy:不对哦,你再回忆一下短语 stand in line 的意思,再试一次吧~
+- 错 / No [正确]
+  - Brainy:答对啦!stand in line 是排队、站成一排的意思,你已经完全掌握这个短语啦!
+---
+# 完成反馈
+Brainy:很好!你已经回答完了全部问题,相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!
+```
+
+ +
+ +
You first hear Justin's instruction "Stand in line!", then need to pick the group that lines up correctly, and the right choice will get Brainy's praise for being ready for the next task. (你首先听到Justin老师的指令“排队!”,需要选出正确排队的队伍,选对后会得到Brainy的夸赞,表示你已经为下一步做好准备了。)
+Next you hear Justin ask everyone to "Read the blackboard!", then you need to choose the right action to follow the instruction, and the correct choice will get Ben's positive response that he has got it. (接下来你听到Justin老师要求大家“看黑板!”,需要选出符合指令的正确行为,选对后Ben会给出积极回应表示他明白了。)
+Finally you hear Justin say "Take number 1 as an example!", then you need to find the right person to refer to, and the correct choice will make Ben say he is already ready. (最后你听到Justin老师说“以1号为例!”,需要找出正确的参考对象,选对后Ben会表示他已经准备就绪了。)
+
+
+ + +
+
+ +
+
+ 17 + 对话表达 + cId: 1218217 + mid_dialog_express + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
asrPrompt
resourceMapping
preDialog
imgShowTimingList
img
tip
corFeedback
errFeedback
question
example
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_154030.html b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_154030.html new file mode 100644 index 0000000..e4e1e1a --- /dev/null +++ b/business_production/组件配置/interactive-component-json/outputs/L1-S2-U18-L2 登龙秘笈_20260602_154030.html @@ -0,0 +1,5973 @@ + + + + + +L1-S2-U18-L2 登龙秘笈 — 组件JSON报告 + + + + + +
+ + + + +
+
+
就绪
+
+
+ 成功: 0 + 失败: 0 +
+
+ +
+
+

L1-S2-U18-L2 登龙秘笈

+
+ 生成时间: 2026-06-02 15:40:30 + 模型: doubao-seed-2.0-pro + Wiki: KNAZwTYXsib2Ijk6BrGciRelnSf +
+
+ +
+
+
1
核心互动
+
16
中互动
+
+
17
总组件
+
17
成功
+
0
失败
+ +
+ + +
+
+ 1 + 对话朗读 + cId: 1218201 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 2 + 对话朗读 + cId: 1218202 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 3 + 对话挖空 + cId: 1218203 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 4 + 对话朗读 + cId: 1218204 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 5 + 对话挖空 + cId: 1218205 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 6 + 对话朗读 + cId: 1218206 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 7 + 对话组句 + cId: 1218207 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 8 + 对话选读 + cId: 1218208 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 9 + 图片单选 + cId: 1218209 + mid_image_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
meaning
resourceMapping
question
imageInfo
optionList
answer
preDialog
tip
corFeedback
errFeedback
postDialog
cDesc
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 10 + 对话挖空 + cId: 1218210 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
audioFile
itemName
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 11 + 对话朗读 + cId: 1218211 + mid_dialog_repeat + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 12 + 对话挖空 + cId: 1218212 + mid_dialog_fillin + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
img
question
optionGroupList
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 13 + 对话选读 + cId: 1218213 + mid_dialog_select + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 14 + 对话组句 + cId: 1218214 + mid_dialog_sentence + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
question
optionList
answer
tip
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 15 + 对话选择 + cId: 1218215 + mid_dialog_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
resourceMapping
preDialog
imgShowTimingList
optionList
answer
corFeedback
errFeedback
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ +
+
+ 16 + 核心核心互动-听力选择 + cId: 1218216 + core_listening_choose + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
sceneDesc
key
resourceMapping
cDesc
+
+ +
+ +
+ +
+
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
+ +
+
+ +
+ +
+ + + + + + + +
learningPart
closing
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+ +
+ +
```
+# 重点句子 1
+音频文本:Stand in line!
+讲解文本:刚刚听到的音频里,有个很实用的短语 stand in line,意思是排队。这是在集体活动里老师常说的指令哦,要记住它的发音~
+1. 听音选句
+Brainy:仔细听音频,选一下你听到的句子是哪一个吧。
+- Stand in line! [正确]
+  - Brainy:太厉害啦!你精准听出了这个短语stand in line哦!
+- Stand up please!
+  - Brainy:哎呀,这句话是“请站起来”的意思,没有我们的重点短语stand in line,再听一遍音频试试吧~
+
+2. 听音选意
+Brainy:“排队!”这句话的意思和你听到的句子一致吗?
+- 对 / Yes [正确]
+  - Brainy:完全正确!你已经掌握了stand in line是排队的意思啦,真棒!
+- 错 / No
+  - Brainy:再想想哦,这句话是老师给出的行动指令,和排队有关,再选一次吧~
+---
+# 重点句子 2
+音频文本:Read the blackboard!
+讲解文本:刚刚听到的音频里,有个常用短语 read the blackboard,意思是看黑板、读黑板上的内容。课堂上老师经常会说这句话哦。
+1. 听音选句
+Brainy:认真听音频,看看哪个是你刚刚听到的句子吧。
+- Read the book!
+  - Brainy:这句话说的是“读书”,没有出现blackboard哦,再仔细听听音频内容吧~
+- Read the blackboard! [正确]
+  - Brainy:太棒啦!你准确听出了关键词blackboard,太厉害了!
+
+2. 听音选意
+Brainy:“打开书本!”这句话的意思和你听到的句子一致吗?
+- 对 / Yes
+  - Brainy:不对哦,这句话里的动作和黑板有关,不是书本,再试试看~
+- 错 / No [正确]
+  - Brainy:答对啦!你已经明白read the blackboard是看黑板的意思,掌握得很好哦!
+---
+# 重点句子 3
+音频文本:Take number 1 as an example!
+讲解文本:刚刚听到的音频里,有个很有用的短语 take ... as an example,意思是以……为例,后面加上具体的内容就能说明要参考哪个对象啦。
+1. 听音选句
+Brainy:仔细听音频,选出你听到的那句内容吧。
+- Take number 1 as an example! [正确]
+  - Brainy:太聪明啦!你准确捕捉到了句子里的number 1,非常棒!
+- Take number 2 as an example!
+  - Brainy:哦,这句话里说的是number 2,和我们听到的数字不一样哦,再听听音频吧~
+
+2. 听音选意
+Brainy:“以1号为例!”这句话的意思和你听到的句子一致吗?
+- 错 / No
+  - Brainy:再想想哦,句子里说的参考对象是数字1,不是别的内容,再选一次吧~
+- 对 / Yes [正确]
+  - Brainy:完全正确!你不仅听懂了句子,还掌握了take ... as an example这个实用短语哦!
+---
+# 完成反馈
+Brainy:很好!你已经回答完了全部问题,相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!
+```
+
+ +
+ +
You first hear Justin's instruction "Stand in line!", then you pick the right group that is queuing properly, and Brainy praises you that you are ready for the next step.(你首先听到贾斯汀老师的指令“排队!”,接着你选出了正确排队的队伍,布雷尼表扬你已经为下一步做好准备了。)
+You listen to Justin asking everyone to read the blackboard, then you choose the right action of reading the blackboard as required, and Ben says he has got the task too.(你听到贾斯汀老师让大家读黑板上的内容,接着你选出了按要求读黑板的正确动作,本说他也明白要做什么了。)
+You hear Justin telling everyone to take number 1 as an example, then you pick the correct person to refer to, and Ben says he is all ready for the following task.(你听到贾斯汀老师让大家以1号作为例子,接着你选出了对应的正确参考对象,本说他已经准备好完成后续任务了。)
+
+
+ + +
+
+ +
+
+ 17 + 对话表达 + cId: 1218217 + mid_dialog_express + + + + + 已保存 + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
cType
cId
title
asrPrompt
resourceMapping
preDialog
imgShowTimingList
img
tip
corFeedback
errFeedback
question
example
postDialog
+
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
pushType
cType
cId
kpInfo
+
+ +
+
+ + +
+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/__init__.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/__init__.cpython-312.pyc index 1c7f066..51d9f11 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/__init__.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/__init__.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_imagedrag_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_imagedrag_prompts.cpython-312.pyc index caf8fb6..c25ca98 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_imagedrag_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_imagedrag_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_choose_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_choose_prompts.cpython-312.pyc index 5cda2ca..43bfc30 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_choose_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_choose_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_drag_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_drag_prompts.cpython-312.pyc index 3fc0890..07c70f2 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_drag_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_drag_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_order_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_order_prompts.cpython-312.pyc index 9c8a599..8e00756 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_order_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_listening_order_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_reading_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_reading_prompts.cpython-312.pyc index abe34a8..0ec2006 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_reading_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_reading_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_image_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_image_prompts.cpython-312.pyc index d150d3e..3df6d0b 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_image_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_image_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_inquiry_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_inquiry_prompts.cpython-312.pyc index 18d2605..51b9326 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_inquiry_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_inquiry_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_prompts.cpython-312.pyc index 0d94728..cf5ae06 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_speaking_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_writing_img_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_writing_img_prompts.cpython-312.pyc index 9658081..5a0d978 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_writing_img_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_writing_img_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_writing_question_prompts.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_writing_question_prompts.cpython-312.pyc index 182f34c..fc8acd9 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_writing_question_prompts.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/core_writing_question_prompts.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/prompts/__pycache__/prompt_registry.cpython-312.pyc b/business_production/组件配置/interactive-component-json/prompts/__pycache__/prompt_registry.cpython-312.pyc index 0a58210..00d85d2 100644 Binary files a/business_production/组件配置/interactive-component-json/prompts/__pycache__/prompt_registry.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/prompts/__pycache__/prompt_registry.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/references/component_registry.md b/business_production/组件配置/interactive-component-json/references/component_registry.md index a65eb00..9de94b0 100644 --- a/business_production/组件配置/interactive-component-json/references/component_registry.md +++ b/business_production/组件配置/interactive-component-json/references/component_registry.md @@ -65,7 +65,7 @@ ## 二、核心互动组件 -JSON 结构详见 `skills/core-content-json-standard/SKILL.md`。 +JSON 结构详见 `business_knowledge/skills/core-content-json-standard/SKILL.md`。 | # | 剧本类型名 | cType | 多维表格名称 | bitable_token | |---|-----------|-------|-------------|---------------| diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/db_manager.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/db_manager.cpython-312.pyc index 317237f..5ce66d9 100644 Binary files a/business_production/组件配置/interactive-component-json/scripts/__pycache__/db_manager.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/scripts/__pycache__/db_manager.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/feishu_client.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/feishu_client.cpython-312.pyc index 6c63d35..0633ab9 100644 Binary files a/business_production/组件配置/interactive-component-json/scripts/__pycache__/feishu_client.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/scripts/__pycache__/feishu_client.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/generate_json.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/generate_json.cpython-312.pyc index 2a34dc1..e967f26 100644 Binary files a/business_production/组件配置/interactive-component-json/scripts/__pycache__/generate_json.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/scripts/__pycache__/generate_json.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/html_report.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/html_report.cpython-312.pyc index 0c119cf..6190787 100644 Binary files a/business_production/组件配置/interactive-component-json/scripts/__pycache__/html_report.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/scripts/__pycache__/html_report.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/kp_matcher.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/kp_matcher.cpython-312.pyc index c5dddff..ed1e280 100644 Binary files a/business_production/组件配置/interactive-component-json/scripts/__pycache__/kp_matcher.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/scripts/__pycache__/kp_matcher.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/llm_client.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/llm_client.cpython-312.pyc index 76af7e9..7ef2762 100644 Binary files a/business_production/组件配置/interactive-component-json/scripts/__pycache__/llm_client.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/scripts/__pycache__/llm_client.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/match_component.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/match_component.cpython-312.pyc index fd6bf63..65dc473 100644 Binary files a/business_production/组件配置/interactive-component-json/scripts/__pycache__/match_component.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/scripts/__pycache__/match_component.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/scripts/__pycache__/parse_script.cpython-312.pyc b/business_production/组件配置/interactive-component-json/scripts/__pycache__/parse_script.cpython-312.pyc index aa3f071..8b9da9f 100644 Binary files a/business_production/组件配置/interactive-component-json/scripts/__pycache__/parse_script.cpython-312.pyc and b/business_production/组件配置/interactive-component-json/scripts/__pycache__/parse_script.cpython-312.pyc differ diff --git a/business_production/组件配置/interactive-component-json/scripts/html_report.py b/business_production/组件配置/interactive-component-json/scripts/html_report.py index 5a26e3a..349f497 100644 --- a/business_production/组件配置/interactive-component-json/scripts/html_report.py +++ b/business_production/组件配置/interactive-component-json/scripts/html_report.py @@ -52,6 +52,7 @@ def _build_component_data(result): "type_name": result.get("type_name", ""), "status": status, "raw_config": result.get("raw_config", ""), + "config_info": result.get("config_info", ""), } if status not in ("generated", "saved"): @@ -348,11 +349,15 @@ def generate_html_report(report, output_path=None, model_name="", wiki_token="", components_data.append(_build_component_data(result)) components_html = "\n".join(cards) - # Serialize data for JS - components_json = json.dumps(components_data, ensure_ascii=False) - push_field_map_json = json.dumps(PUSH_FIELD_MAP, ensure_ascii=False) - character_map_json = json.dumps(report.get("character_map") or {}, ensure_ascii=False) - level_json = json.dumps(report.get("level") or None, ensure_ascii=False) + # Serialize data for JS (escape to prevent premature tag closure) + def _js_safe(s): + return s.replace("
- + + + @@ -637,6 +644,7 @@ body {{ font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto San const COMPONENTS = {components_json}; const PUSH_FIELD_MAP = {push_field_map_json}; const CHARACTER_MAP = {character_map_json}; +const SECTION_CHAR_MAP = {section_char_map_json}; const LEVEL = {level_json}; function getApiUrl() {{ @@ -1020,15 +1028,16 @@ async function pushKp(idx) {{ // ============ Push All ============ let pushAllRunning = false; -async function pushAll() {{ +async function _runPushAll(mode) {{ if (pushAllRunning) return; pushAllRunning = true; _batchMode = true; _batchErrors = []; - const btn = document.getElementById('pushAllBtn'); - btn.disabled = true; - btn.textContent = '推送中...'; + const cfgBtn = document.getElementById('pushAllCfgBtn'); + const kpBtn = document.getElementById('pushAllKpBtn'); + if (cfgBtn) {{ cfgBtn.disabled = true; cfgBtn.textContent = '推送中...'; }} + if (kpBtn) {{ kpBtn.disabled = true; kpBtn.textContent = '推送中...'; }} const validIdxs = []; for (let i = 1; i <= COMPONENTS.length; i++) {{ @@ -1036,7 +1045,8 @@ async function pushAll() {{ if (c.status === 'generated' || c.status === 'saved') validIdxs.push(i); }} - const total = validIdxs.length * 2; + const perComp = (mode === 'both') ? 2 : 1; + const total = validIdxs.length * perComp; let done = 0, okCount = 0, failCount = 0; function updateProgress() {{ @@ -1051,56 +1061,57 @@ async function pushAll() {{ const comp = COMPONENTS[idx - 1]; _batchContext = comp.cType + ' / cId:' + comp.cId; - // Push config - const body1 = buildPushBody(idx); - if (body1) {{ - setStatus('cfg-status-' + idx, 'loading'); - const r1 = await doPush(body1); - if (r1.ok) {{ setStatus('cfg-status-' + idx, 'ok'); okCount++; }} - else {{ setStatus('cfg-status-' + idx, 'fail'); failCount++; _batchErrors.push('[' + _batchContext + '] 推送失败: ' + r1.error); }} - }} else {{ - setStatus('cfg-status-' + idx, 'fail'); - failCount++; + if (mode === 'config' || mode === 'both') {{ + const body1 = buildPushBody(idx); + if (body1) {{ + setStatus('cfg-status-' + idx, 'loading'); + const r1 = await doPush(body1); + if (r1.ok) {{ setStatus('cfg-status-' + idx, 'ok'); okCount++; }} + else {{ setStatus('cfg-status-' + idx, 'fail'); failCount++; _batchErrors.push('[' + _batchContext + '] 配置推送失败: ' + r1.error); }} + }} else {{ setStatus('cfg-status-' + idx, 'fail'); failCount++; }} + done++; updateProgress(); }} - done++; - updateProgress(); - // Push kp - const body2 = buildKpPushBody(idx); - if (body2) {{ - setStatus('kp-status-' + idx, 'loading'); - const r2 = await doPush(body2); - if (r2.ok) {{ setStatus('kp-status-' + idx, 'ok'); okCount++; }} - else {{ setStatus('kp-status-' + idx, 'fail'); failCount++; _batchErrors.push('[' + _batchContext + '] 知识点推送失败: ' + r2.error); }} - }} else {{ - okCount++; + if (mode === 'kp' || mode === 'both') {{ + const body2 = buildKpPushBody(idx); + if (body2) {{ + setStatus('kp-status-' + idx, 'loading'); + const r2 = await doPush(body2); + if (r2.ok) {{ setStatus('kp-status-' + idx, 'ok'); okCount++; }} + else {{ setStatus('kp-status-' + idx, 'fail'); failCount++; _batchErrors.push('[' + _batchContext + '] 知识点推送失败: ' + r2.error); }} + }} else {{ if (mode === 'both') okCount++; }} + done++; updateProgress(); }} - done++; - updateProgress(); }} _batchContext = ''; - btn.disabled = false; - btn.textContent = '一键推送全部配置+知识点'; + if (cfgBtn) {{ cfgBtn.disabled = false; cfgBtn.textContent = '推送全部组件'; }} + if (kpBtn) {{ kpBtn.disabled = false; kpBtn.textContent = '推送全部知识点'; }} pushAllRunning = false; _batchMode = false; if (failCount > 0) {{ let summary = '推送完成: 成功 ' + okCount + ', 失败 ' + failCount; - if (_batchErrors.length > 0) {{ - summary += '\\n\\n失败详情:\\n' + _batchErrors.join('\\n'); - }} + if (_batchErrors.length > 0) summary += '\\n\\n失败详情:\\n' + _batchErrors.join('\\n'); showModal(summary); }} else {{ showToast('推送完成: 全部成功 (' + okCount + '项)', 'success'); }} }} +function pushAllComponents() {{ _runPushAll('config'); }} +function pushAllKpAll() {{ _runPushAll('kp'); }} + // ============ Regenerate ============ function toggleRegenPanel(idx) {{ const panel = document.getElementById('regen-panel-' + idx); if (!panel) return; - panel.style.display = panel.style.display === 'none' ? 'block' : 'none'; + const showing = panel.style.display !== 'block'; + panel.style.display = showing ? 'block' : 'none'; + if (showing) {{ + const card = document.getElementById('card-' + idx); + if (card) card.classList.add('open'); + }} }} async function regenerateComponent(idx) {{ @@ -1130,6 +1141,8 @@ async function regenerateComponent(idx) {{ type_name: comp.type_name, cId: comp.cId, character_map: CHARACTER_MAP, + section_char_map: SECTION_CHAR_MAP, + config_info: comp.config_info || '', level: LEVEL, }}), }}); @@ -1208,8 +1221,9 @@ function rebuildComponentBody(idx, data) {{ }} }} - if (data.kpInfo) {{ - const kpClean = JSON.parse(JSON.stringify(data.kpInfo)); + const kpToShow = data.kpInfo || comp.kpInfo; + if (kpToShow) {{ + const kpClean = JSON.parse(JSON.stringify(kpToShow)); if (kpClean.kpInfo) {{ kpClean.kpInfo.forEach(k => delete k.candidates); if (kpClean.kpInfo.length > 0) {{ @@ -1233,17 +1247,32 @@ function buildJsonSectionHtml(label, key, data, idx) {{ const raw = JSON.stringify(data, null, 2); const escaped = raw.replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"'); const taId = 'ta-' + idx + '-' + key; + const secId = 'sec-' + idx + '-' + key; + const veId = 've-' + idx + '-' + key; const numLines = raw.split('\\n').length; const rows = Math.min(Math.max(numLines, 5), 30); let lineNums = ''; for (let i = 1; i <= numLines; i++) lineNums += '' + i + ''; - return '
' + - '' + - '
' + - '
' + lineNums + '
' + - '' + - '
'; + const isObj = data && typeof data === 'object' && !Array.isArray(data); + const toggleBtn = isObj + ? '' + : ''; + const veDiv = isObj + ? '' + : ''; + + return '
' + + '' + + veDiv + + '
' + + '
' + + '
' + lineNums + '
' + + '' + + '
' + + '' + + '
' + + '
'; }} function ensurePushButtons(idx) {{ @@ -1271,6 +1300,51 @@ function ensurePushButtons(idx) {{ header.insertBefore(cfgBtn, kpBtn); }} +// ============ LocalStorage Auto-Save ============ +const SAVE_KEY = 'icj_' + document.title; + +function saveEdits() {{ + const state = {{}}; + document.querySelectorAll('textarea, input.kp-input, input.ve-input, #apiUrlInput').forEach(el => {{ + if (el.id) state[el.id] = el.value; + }}); + try {{ localStorage.setItem(SAVE_KEY, JSON.stringify(state)); }} catch(e) {{}} +}} + +function restoreEdits() {{ + let state; + try {{ state = JSON.parse(localStorage.getItem(SAVE_KEY) || 'null'); }} catch(e) {{ return; }} + if (!state) return; + for (const [id, val] of Object.entries(state)) {{ + const el = document.getElementById(id); + if (el) el.value = val; + }} + document.querySelectorAll('.json-textarea').forEach(ta => syncLineNums(ta)); +}} + +let _saveTimer = null; +document.addEventListener('input', function(e) {{ + const el = e.target; + if (el.tagName === 'TEXTAREA' || el.tagName === 'INPUT') {{ + clearTimeout(_saveTimer); + _saveTimer = setTimeout(saveEdits, 800); + }} +}}); + +// ============ Export Updated HTML ============ +function exportHtml() {{ + document.querySelectorAll('textarea').forEach(ta => {{ ta.textContent = ta.value; }}); + document.querySelectorAll('input[id]').forEach(inp => {{ inp.setAttribute('value', inp.value); }}); + const blob = new Blob(['\\n' + document.documentElement.outerHTML], {{type: 'text/html;charset=utf-8'}}); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + a.download = document.title.replace(/ \u2014.*$/, '') + '_modified.html'; + a.click(); + URL.revokeObjectURL(a.href); + showToast('HTML已导出,当前修改已嵌入', 'success'); +}} + +restoreEdits(); ''' diff --git a/business_production/组件配置/interactive-component-json/scripts/pipeline.py b/business_production/组件配置/interactive-component-json/scripts/pipeline.py index 1d40ebf..6574846 100644 --- a/business_production/组件配置/interactive-component-json/scripts/pipeline.py +++ b/business_production/组件配置/interactive-component-json/scripts/pipeline.py @@ -389,6 +389,7 @@ def process_script(wiki_url_or_token, db_path=None, dry_run=False, target_cids=N "category": category, "result": result, "raw_config": comp.get("teaching_config", ""), + "config_info": comp.get("config_info", ""), } if dry_run: @@ -503,6 +504,7 @@ def process_script(wiki_url_or_token, db_path=None, dry_run=False, target_cids=N "jsonData": result_data.get("jsonData"), "kpInfo": result_data.get("kpInfo"), "raw_config": res.get("raw_config", ""), + "config_info": res.get("config_info", ""), } if status == "saved": entry["component_id"] = res.get("component_id") @@ -532,6 +534,7 @@ def process_script(wiki_url_or_token, db_path=None, dry_run=False, target_cids=N report["failed"] = _progress["failed"] report["skipped"] = _progress["skipped"] report["character_map"] = character_map + report["section_char_map"] = section_char_map report["level"] = level # 记录日志路径到报告 diff --git a/business_production/组件配置/interactive-component-json/scripts/proxy_server.py b/business_production/组件配置/interactive-component-json/scripts/proxy_server.py index e728f73..834ada4 100644 --- a/business_production/组件配置/interactive-component-json/scripts/proxy_server.py +++ b/business_production/组件配置/interactive-component-json/scripts/proxy_server.py @@ -170,6 +170,7 @@ def _do_regenerate(body_data): type_name = body_data.get("type_name", "") cId = body_data.get("cId", "") character_map = body_data.get("character_map") or {} + section_char_map = body_data.get("section_char_map") or [] level = body_data.get("level") or None if not teaching_config or not type_name: @@ -186,7 +187,7 @@ def _do_regenerate(body_data): try: llm_client = LLMClient() - result = generate_component(component, character_map=character_map, llm_client=llm_client, level=level) + result = generate_component(component, character_map=character_map, section_char_map=section_char_map, llm_client=llm_client, level=level) return 200, result except Exception as e: logger.error(f"Regenerate failed: {traceback.format_exc()}") diff --git a/scripts/backfill_G_152_plus.py b/business_production/英文台词/scripts/backfill_G_152_plus.py similarity index 100% rename from scripts/backfill_G_152_plus.py rename to business_production/英文台词/scripts/backfill_G_152_plus.py diff --git a/scripts/fill_000001.py b/business_production/英文台词/scripts/fill_000001.py similarity index 100% rename from scripts/fill_000001.py rename to business_production/英文台词/scripts/fill_000001.py diff --git a/business_production/英文台词/skills/kids-english-script-production/SKILL.md b/business_production/英文台词/skills/kids-english-script-production/SKILL.md index fcf0458..11cd56e 100644 --- a/business_production/英文台词/skills/kids-english-script-production/SKILL.md +++ b/business_production/英文台词/skills/kids-english-script-production/SKILL.md @@ -66,6 +66,79 @@ description: 用英语母语儿童思维生成自然地道的分级英文台词 - 参数不合法:直接输出参数说明,提示正确用法 - 飞书写回失败:自动备份结果到本地 JSON 文件,不丢数据 +## 飞书模式执行规则(强制执行) + +### 0. 目录下多文档时必须确认目标文档 + +**问题:** 用户发的飞书链接可能是目录节点(包含多个子文档),如果目录下有原始文档 + 副本等多份文档,直接盲选会导致写到错误的文档。 + +**规则:** +1. 遍历目录子节点后,列出所有文档给用户确认 +2. 如果目录下只有 1 个 docx 文档 → 自动选择 +3. 如果目录下有多个 docx 文档 → 列出标题和 obj_token,让用户指定目标 +4. 禁止在有多份文档时自行猜测选择 + +### 1. 写入前必须验证行号连续性 + +**问题:** 飞书 Sheets API 的 range 写入按连续区域覆盖,不关心行号是否对应。剧本表格中 E 列有内容的行号通常不连续(中间有剧情描述空行),连续 range 写入会导致全列偏移。 + +**规则:** +- 写入前统计目标行号列表,检查连续性 +- 行号连续 → 可用 range 批量写入 +- 行号不连续 → 必须逐行写入(每个行号单独 range) +- 写入后抽样验证 E/F 列行号对齐(前5行+中间5行+末尾5行) + +详见 `feishu-embedded-sheet` 技能中的「批量写入前必须验证行号连续性」章节。 + +### 2. 完成后必须输出结果统计与变更明细(强制执行) + +**目的:** 给教研提供可量化的生产质量参考,同时作为执行者的自检手段——如果统计结果显示"改动极少"或"改动类型单一",说明可能没有严格执行 S2 适配规则。 + +**输出格式(飞书模式写入完成后必须输出):** + +``` +📊 英文台词生产结果统计 + +| 指标 | 数值 | +|------|------| +| 源列总行数 | 153 | +| 已写入目标列 | 153 | +| 无需改动(已达目标级别) | 114 | +| 已适配 | 39 | + +📝 变更明细: + +| 变更类型 | 数量 | 示例 | +|----------|------|------| +| 词汇降级 | 8 | in a hurry→fast, by myself→alone, must speak of→will tell them | +| 英式拼写 | 4 | favorite→favourite, practice→practise, Mom→Mum | +| 引号规范 | 4 | 弯引号 "..."→直引号 '...' | +| 长句拆分 | 22 | 一句拆两句,降低 S2 句长 | +| 拼写修正 | 1 | It's→it's(句中小写) | + +💡 适配说明: +- 原文已是儿童英文剧本,BoBo 台词为婴儿语(BoBo free! / Mess! Mess!),无需改动 +- User 台词大量为短句(Thank you. / I miss her. / Don't worry.),已达 S2 标准 +- 主要适配集中在:长句拆分(降低句长)、词汇降级(简化表达)、英式拼写统一 +``` + +**自检规则(强制执行):** +1. 如果"已适配"行数 < 总行数的 10%,检查是否遗漏了需要适配的行 +2. 如果变更类型只有 1-2 种,检查是否忽略了其他适配维度(词汇/句法/拼写/引号/标点) +3. 如果所有行都是"无需改动",说明没有执行适配——纯英文路径也必须逐行 LLM 审查 +4. 输出统计后,逐项确认变更明细与 S2 适配规则(句长/词汇/英式拼写/引号规范)的对应关系 + +### 3. 长时间运行任务必须主动反馈进度 + +**问题:** 英文台词生产涉及 LLM 调用 + 飞书 API 写入,批量处理 100+ 行可能需要数分钟。如果不给进度反馈,用户不知道是卡住了还是在运行中。 + +**规则:** +- 每处理 20 行或每完成一个阶段(输入解析/意群拆解/英语重构/写入),向用户发送进度消息 +- 格式:`📝 英文台词生产进度:已处理 40/153 行,当前阶段:英语思维重构` +- 写入阶段:每批写入完成后报告 `📝 写入进度:第 3/5 批完成(60/153 行已写入)` +- 如果单次操作预计超过 30 秒,先告知用户预估时间 +- 遇到异常(API 超时/LLM 失败)立即告知用户,不要静默重试超过 2 次 + ## 飞书模式输入规范 - 飞书表格中的多行台词必须使用真实换行符 `\n`,不要使用 HTML 的 `
`、`
`、`

` 等标签 - 如果把多句台词写成 `
` 连接,飞书读取后可能会变成单行粘连文本,破坏 `角色: 台词` 结构,影响后续意群拆解和英语思维重构 diff --git a/compare_vocabulary.py b/compare_vocabulary.py new file mode 100644 index 0000000..eb3b814 --- /dev/null +++ b/compare_vocabulary.py @@ -0,0 +1,41 @@ +import pandas as pd + +# 文件路径 +file1_path = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/新知识库初版/全包词汇/L2知识库-三级+A2.xlsx' +file2_path = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/新知识库初版/全包词汇/KET和三级不重复.xlsx' + +# 读取两个文件 +df1 = pd.read_excel(file1_path) +df2 = pd.read_excel(file2_path) + +print("文件1 (L2知识库-三级+A2.xlsx) 的列名:") +print(df1.columns.tolist()) +print("\n文件1 的前5行:") +print(df1.head()) + +print("\n" + "="*80 + "\n") + +print("文件2 (KET和三级不重复.xlsx) 的列名:") +print(df2.columns.tolist()) +print("\n文件2 的前5行:") +print(df2.head()) + +# 提取文件1中的单词(第一列) +words_from_file1 = set(df1.iloc[:, 0].astype(str).str.strip().str.lower()) + +# 在文件2中新增一列,标记重复的单词 +df2['是否与L2三级+A2重复'] = df2.iloc[:, 0].apply(lambda x: '是' if str(x).strip().lower() in words_from_file1 else '') + +# 统计重复数量 +duplicate_count = (df2['是否与L2三级+A2重复'] == '是').sum() +total_count = len(df2) + +print(f"\n" + "="*80) +print(f"总单词数:{total_count}") +print(f"重复单词数:{duplicate_count}") +print(f"重复率:{duplicate_count/total_count*100:.2f}%") + +# 保存结果 +df2.to_excel(file2_path, index=False) +print(f"\n已更新文件:{file2_path}") +print("新增列名:是否与L2三级+A2重复") diff --git a/compare_vocabulary2.py b/compare_vocabulary2.py new file mode 100644 index 0000000..c6de3ae --- /dev/null +++ b/compare_vocabulary2.py @@ -0,0 +1,41 @@ +import pandas as pd + +# 文件路径 +file1_path = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/新知识库初版/全包词汇/A2中独有的单词.xlsx' +file2_path = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/新知识库初版/全包词汇/KET和三级不重复.xlsx' + +# 读取两个文件 +df1 = pd.read_excel(file1_path) +df2 = pd.read_excel(file2_path) + +print("文件1 (A2中独有的单词.xlsx) 的列名:") +print(df1.columns.tolist()) +print("\n文件1 的前5行:") +print(df1.head()) + +print("\n" + "="*80 + "\n") + +print("文件2 (KET和三级不重复.xlsx) 的列名:") +print(df2.columns.tolist()) +print("\n文件2 的前5行:") +print(df2.head()) + +# 提取文件1中的单词(第一列) +words_from_file1 = set(df1.iloc[:, 0].astype(str).str.strip().str.lower()) + +# 在文件2中新增一列,标记重复的单词 +df2['是否与A2独有单词重复'] = df2.iloc[:, 0].apply(lambda x: '是' if str(x).strip().lower() in words_from_file1 else '') + +# 统计重复数量 +duplicate_count = (df2['是否与A2独有单词重复'] == '是').sum() +total_count = len(df2) + +print(f"\n" + "="*80) +print(f"总单词数:{total_count}") +print(f"重复单词数:{duplicate_count}") +print(f"重复率:{duplicate_count/total_count*100:.2f}%") + +# 保存结果 +df2.to_excel(file2_path, index=False) +print(f"\n已更新文件:{file2_path}") +print("新增列名:是否与A2独有单词重复") diff --git a/memory/.dreams/events.jsonl b/memory/.dreams/events.jsonl index dfe6a2a..42158cd 100644 --- a/memory/.dreams/events.jsonl +++ b/memory/.dreams/events.jsonl @@ -82,3 +82,5 @@ {"type":"memory.recall.recorded","timestamp":"2026-06-01T03:18:26.408Z","query":"句型库 L1 L2 pattern get home talk to","resultCount":2,"results":[{"path":"memory/2026-05-28.md","startLine":60,"endLine":66,"score":1},{"path":"memory/2026-05-28.md","startLine":46,"endLine":62,"score":1}]} {"type":"memory.recall.recorded","timestamp":"2026-06-01T10:44:19.887Z","query":"互动组件生产 中互动 核心互动 剧本表格 对话类","resultCount":3,"results":[{"path":"memory/2026-05-07.md","startLine":354,"endLine":368,"score":1},{"path":"memory/2026-05-18.md","startLine":793,"endLine":810,"score":1},{"path":"memory/2026-04-22.md","startLine":1,"endLine":8,"score":1}]} {"type":"memory.recall.recorded","timestamp":"2026-06-01T10:44:47.489Z","query":"王璐辰 反馈 组件配置 中互动 核心互动 问题","resultCount":2,"results":[{"path":"memory/2026-04-30.md","startLine":50,"endLine":63,"score":1},{"path":"memory/2026-05-07.md","startLine":354,"endLine":368,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-02T01:49:17.841Z","query":"英文台词生产 L1-S2-U17-L1 摩托怪客","resultCount":6,"results":[{"path":"memory/2026-05-28.md","startLine":46,"endLine":62,"score":1},{"path":"memory/2026-05-28.md","startLine":60,"endLine":66,"score":1},{"path":"memory/2026-05-29.md","startLine":1,"endLine":14,"score":1},{"path":"memory/2026-05-28.md","startLine":35,"endLine":49,"score":1},{"path":"memory/2026-05-18.md","startLine":791,"endLine":810,"score":1},{"path":"memory/2026-05-08.md","startLine":33,"endLine":55,"score":1}]} +{"type":"memory.recall.recorded","timestamp":"2026-06-02T07:02:08.195Z","query":"interactive-component-json 组件配置-json skill","resultCount":1,"results":[{"path":"memory/2026-05-20.md","startLine":40,"endLine":59,"score":1}]} diff --git a/memory/.dreams/short-term-recall.json b/memory/.dreams/short-term-recall.json index 096eb6a..c8f9bd3 100644 --- a/memory/.dreams/short-term-recall.json +++ b/memory/.dreams/short-term-recall.json @@ -1,6 +1,6 @@ { "version": 1, - "updatedAt": "2026-06-01T10:44:47.489Z", + "updatedAt": "2026-06-02T07:02:08.195Z", "entries": { "memory:memory/2026-05-07.md:57:74": { "key": "memory:memory/2026-05-07.md:57:74", @@ -198,13 +198,13 @@ "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": 11, + "recallCount": 12, "dailyCount": 0, "groundedCount": 0, - "totalScore": 11, + "totalScore": 12, "maxScore": 1, "firstRecalledAt": "2026-05-11T02:19:37.985Z", - "lastRecalledAt": "2026-05-26T02:59:03.427Z", + "lastRecalledAt": "2026-06-02T01:49:17.841Z", "queryHashes": [ "6f88450e9f9b", "be437071312f", @@ -216,7 +216,8 @@ "e637236fe74b", "14d903a64d04", "ab90b7e9cde8", - "240a6a5dca41" + "240a6a5dca41", + "7e6aa000abdb" ], "recallDays": [ "2026-05-11", @@ -224,7 +225,8 @@ "2026-05-18", "2026-05-20", "2026-05-25", - "2026-05-26" + "2026-05-26", + "2026-06-02" ], "conceptTags": [ "创建/更新记录", @@ -1874,20 +1876,22 @@ "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 \"\" --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": 2, + "recallCount": 3, "dailyCount": 0, "groundedCount": 0, - "totalScore": 2, + "totalScore": 3, "maxScore": 1, "firstRecalledAt": "2026-05-21T02:47:59.335Z", - "lastRecalledAt": "2026-05-26T06:08:47.532Z", + "lastRecalledAt": "2026-06-02T07:02:08.195Z", "queryHashes": [ "09344f87b646", - "92e62f6b8e3a" + "92e62f6b8e3a", + "d70b515b4a03" ], "recallDays": [ "2026-05-21", - "2026-05-26" + "2026-05-26", + "2026-06-02" ], "conceptTags": [ "scripts/pipeline.py", @@ -2664,21 +2668,23 @@ "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. 句型合规检测 - 接入方式:`` + 调用 `PedagogyRules.validate(summary, level)` - 数据源:L1 词库 147 词(过滤 enabled=true)、L2 词库 52 词、L1 句型 8 个、L2 句型(从 437MB bitable 导出中提取唯一结", - "recallCount": 3, + "recallCount": 4, "dailyCount": 0, "groundedCount": 0, - "totalScore": 3, + "totalScore": 4, "maxScore": 1, "firstRecalledAt": "2026-05-29T00:23:17.391Z", - "lastRecalledAt": "2026-06-01T03:18:26.408Z", + "lastRecalledAt": "2026-06-02T01:49:17.841Z", "queryHashes": [ "c1d4076205e1", "4aa0ef719160", - "e30c130b9d1d" + "e30c130b9d1d", + "7e6aa000abdb" ], "recallDays": [ "2026-05-29", - "2026-06-01" + "2026-06-01", + "2026-06-02" ], "conceptTags": [ "5-8", @@ -2853,20 +2859,22 @@ "endLine": 66, "source": "memory", "snippet": "8. 句型合规检测 - 接入方式:`` + 调用 `PedagogyRules.validate(summary, level)` - 数据源:L1 词库 147 词(过滤 enabled=true)、L2 词库 52 词、L1 句型 8 个、L2 句型(从 437MB bitable 导出中提取唯一结构) - 技术注意:L2_pattern_list.json 体积 437MB(1,082,450 条记录),直接嵌入前端不可行,已提取唯一句型结构后嵌入 - 所有 6 个测试用例通过 - 用户后续想尝试其他对接方式(API 模式 / 飞书 Bot 联动 / CI 集成)", - "recallCount": 2, + "recallCount": 3, "dailyCount": 0, "groundedCount": 0, - "totalScore": 2, + "totalScore": 3, "maxScore": 1, "firstRecalledAt": "2026-05-29T02:33:30.526Z", - "lastRecalledAt": "2026-06-01T03:18:26.408Z", + "lastRecalledAt": "2026-06-02T01:49:17.841Z", "queryHashes": [ "4aa0ef719160", - "e30c130b9d1d" + "e30c130b9d1d", + "7e6aa000abdb" ], "recallDays": [ "2026-05-29", - "2026-06-01" + "2026-06-01", + "2026-06-02" ], "conceptTags": [ "l1-pedagogy-rules.js", @@ -2878,6 +2886,99 @@ "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 词库,feet(foot 的复数)可视为已有,其余 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" + ] } } } diff --git a/memory/2026-04-03-request-timed-out-before-a-res.md b/memory/2026-04-03-request-timed-out-before-a-res.md index 2733296..ba23f0b 100644 --- a/memory/2026-04-03-request-timed-out-before-a-res.md +++ b/memory/2026-04-03-request-timed-out-before-a-res.md @@ -108,7 +108,7 @@ Sender (untrusted metadata): 目标是实现,我要与考试相关的题目信息,agent 可以100%输出真实考试要求的内容 注意:不要加工,直接取真题样例 -assistant: ✅ 已完成剑桥YLE+KET官方考试题型库Skill的生成,路径:`./skills/cambridge-yle-ket-exam-library/SKILL.md` +assistant: ✅ 已完成剑桥YLE+KET官方考试题型库Skill的生成,路径:`./business_knowledge/skills/cambridge-yle-ket-exam-library/SKILL.md` ### 📚 技能说明 1. **内容覆盖**:完整包含Starters/Movers/Flyers/KET四个级别的所有官方考试题型、真实样题、考试时长/分值/答题规范,100%来自剑桥官方2022-2024版真题集,无任何加工修改 diff --git a/memory/2026-04-13-request-timed-out-before-a-res.md b/memory/2026-04-13-request-timed-out-before-a-res.md index 5102d11..40c54eb 100644 --- a/memory/2026-04-13-request-timed-out-before-a-res.md +++ b/memory/2026-04-13-request-timed-out-before-a-res.md @@ -44,7 +44,7 @@ Sender (untrusted metadata): 把这一套判断逻辑沉淀为 skill assistant: ✅ 已将整套知识点掌握度判断逻辑沉淀为独立技能「knowledge-mastery-calculator」: ### 技能信息 -- **存储路径**:`/root/.openclaw/skills/knowledge-mastery-calculator/SKILL.md` +- **存储路径**:`/root/.openclaw/business_production/_shared/knowledge-mastery-calculator/SKILL.md` - **包含内容**:完整的计算公式、判定标准、使用示例、数据要求、优化方案 - **触发方式**:后续遇到知识点掌握度计算、学情分析、退费原因定位等场景自动调用 diff --git a/memory/2026-05-12.md b/memory/2026-05-12.md index c4676fe..536a721 100644 --- a/memory/2026-05-12.md +++ b/memory/2026-05-12.md @@ -25,7 +25,7 @@ 3. ⚠️ sentenceStructureClozeWordMcq: "put your toys" 省略 away 不够自然 - **技能沉淀:** - 脚本: `scripts/audit_l1_config.py` — 7项自动检查 - - SKILL.md: `skills/audit_l1_config/SKILL.md` — 含完整审校流程 + 4项人工审核清单 + - SKILL.md: `business_production/_shared/audit_l1_config/SKILL.md` — 含完整审校流程 + 4项人工审核清单 # 2026-05-12 工作日志 ## 会话记录 @@ -53,7 +53,7 @@ 3. ⚠️ sentenceStructureClozeWordMcq: "put your toys" 省略 away 不够自然 - **技能沉淀:** - 脚本: `scripts/audit_l1_config.py` — 7项自动检查 - - SKILL.md: `skills/audit_l1_config/SKILL.md` — 含完整审校流程 + 4项人工审核清单 + - SKILL.md: `business_production/_shared/audit_l1_config/SKILL.md` — 含完整审校流程 + 4项人工审核清单 ### 刘彦江 — 1213001-1216010 批量审校 40 条(12:10 ~ 14:00) - **范围:** L1S2 Units 13-16,每单元 10 条,共 40 条 @@ -101,7 +101,7 @@ 3. ⚠️ sentenceStructureClozeWordMcq: "put your toys" 省略 away 不够自然 - **技能沉淀:** - 脚本: `scripts/audit_l1_config.py` — 7项自动检查 - - SKILL.md: `skills/audit_l1_config/SKILL.md` — 含完整审校流程 + 4项人工审核清单 + - SKILL.md: `business_production/_shared/audit_l1_config/SKILL.md` — 含完整审校流程 + 4项人工审核清单 ### 刘彦江 — 1213001-1216010 批量审校 40 条(12:10 ~ 14:00) - **范围:** L1S2 Units 13-16,每单元 10 条,共 40 条 @@ -176,8 +176,8 @@ - meaning 标签(合作阅读)为开放型自由文本,非受控词表 #### 产出文件 -- `skills/bitable-reader/SKILL.md` — 通用 bitable 读取技能(164行) -- `skills/core-content-json-standard/SKILL.md` — 全题型 JSON 标准 v2.0(393行) +- `business_production/_shared/bitable-reader/SKILL.md` — 通用 bitable 读取技能(164行) +- `business_knowledge/skills/core-content-json-standard/SKILL.md` — 全题型 JSON 标准 v2.0(393行) - `scripts/audit_core_reading_S0.py` — 合作阅读 S0 审校脚本(含审校发现) # 2026-05-12 工作日志 @@ -192,7 +192,7 @@ ### 刘彦江 — 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` +- **技能沉淀:** `scripts/audit_l1_config.py` + `business_production/_shared/audit_l1_config/SKILL.md` ### 刘彦江 — 1213001-1216010 批量审校 40 条(12:10 ~ 14:00) - **范围:** L1S2 Units 13-16 @@ -210,8 +210,8 @@ - 受影响: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行) +- **产出 Skill 1:** `business_production/_shared/bitable-reader/SKILL.md` — 通用 bitable 读取(任何 bitable 通用) +- **产出 Skill 2:** `business_knowledge/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 审校 @@ -240,7 +240,7 @@ #### 产出文件 - `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` 双向关联 +- 与 `business_knowledge/skills/core-content-json-standard/SKILL.md` 双向关联 #### 覆盖率 - 核心互动:15/15 ✅(口语探讨 S0 无数据已标注) diff --git a/memory/2026-05-17.md b/memory/2026-05-17.md index 87a3e9c..8ad5b5e 100644 --- a/memory/2026-05-17.md +++ b/memory/2026-05-17.md @@ -32,10 +32,10 @@ | 对话组句 | 1 | dialogue-sentence-building-config | ### Skill 库补全 -- **新建 skill**:`~/.openclaw/workspace-xiaoyan/skills/dialogue-selective-reading-config/SKILL.md` +- **新建 skill**:`~/.openclaw/workspace-xiaoyan/business_production/组件生产/skills/dialogue-selective-reading-config/SKILL.md` - 格式来源:`dialogue-interaction-config` 技能(business_production/组件生产/skills/) - 与对话选择的核心差异:无正确选项,所有选项平等配反馈,要求为「选择一个你想表达的观点」 -- **更新**:`~/.openclaw/workspace-xiaoyan/skills/task-router/component_configs.yaml` — dialogue_selective_reading 配置从占位格式更新为实际格式 +- **更新**:`~/.openclaw/workspace-xiaoyan/business_production/组件生产/skills/task-router/component_configs.yaml` — dialogue_selective_reading 配置从占位格式更新为实际格式 ### 关键技术点 - **嵌入 Sheet 写入**:使用 feishu-embedded-sheet 技能,通过 curl 调用 `sheets/v2/spreadsheets/{token}/values` 批量 PUT diff --git a/memory/2026-05-18.md b/memory/2026-05-18.md index fdc7045..247e490 100644 --- a/memory/2026-05-18.md +++ b/memory/2026-05-18.md @@ -749,9 +749,9 @@ QSID: 121301, 121401, 121501(听力-P1-图片选择题,L1 B级) | 音频录制 | 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身份多维表格操作 +- `business_knowledge/skills/core-content-json-standard/SKILL.md` — 14种核心题型JSON标准 +- `business_production/_shared/feishu-embedded-sheet/SKILL.md` — 内嵌Sheet读写 +- `business_production/_shared/lark_bitable_operate_as_bot/SKILL.md` — Bot身份多维表格操作 ## [李应瑛] L1-S2-U17-L4 门关啦 组件配置(2026-05-18 21:00) diff --git a/memory/2026-06-02-1227.md b/memory/2026-06-02-1227.md new file mode 100644 index 0000000..aab7f49 --- /dev/null +++ b/memory/2026-06-02-1227.md @@ -0,0 +1,49 @@ +# Session: 2026-06-02 12:27:02 GMT+8 + +- **Session Key**: agent:xiaoyan:feishu:direct:ou_8b79b7f711e42a4004f3f3c225a1a99c +- **Session ID**: 041be183-8cec-4c53-aff7-a16a1403d8c4 +- **Source**: feishu + +## Conversation Summary + +user: 组件配置-json https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf?from=from_copylink +assistant: 处理完成。**L1-S2-U18-L2 登龙秘笈** 共识别 17 个组件,全部生成成功: + +| 类型 | 数量 | +|------|------| +| 对话朗读 (mid_dialog_repeat) | 5 | +| 对话挖空 (mid_dialog_fillin) | 4 | +| 对话组句 (mid_dialog_sentence) | 2 | +| 对话选读 (mid_dialog_select) | 2 | +| 对话选择 (mid_dialog_choose) | 1 | +| 对话表达 (mid_dialog_express) | 1 | +| 图片单选 (mid_image_choose) | 1 | +| 听力选择 (core_listening_choose) | 1 | + +HTML 报告已通过飞书 Bot 发送给你,打开后可查看每个组件的 jsonData 详情,也可以直接在报告里用 `[配置↑]` / `[知识↑]` 按钮推送到远程数据库。 +user: 组件配置-json https://makee-interactive.feishu.cn/wiki/PgWrwllW2ikQKgkLTYKcmKFonXc +assistant: 处理完成。**L1-S2-U18-L1 中国周** 共 17 个组件,16 成功 / 1 失败。 + +| 类型 | 数量 | 状态 | +|------|------|------| +| 对话朗读 (mid_dialog_repeat) | 6 | ✅ | +| 对话挖空 (mid_dialog_fillin) | 3 | ✅ | +| 对话组句 (mid_dialog_sentence) | 2 | ✅ | +| 图片单选 (mid_image_choose) | 2 | ✅ | +| 图片多选 (mid_image_multiple) | 1 | ✅ | +| 对话选择 (mid_dialog_choose) | 1 | ✅ | +| 对话选读 (mid_dialog_select) | 1 | ✅ | +| 听力拖拽 (core_listening_drag) | 1 | ❌ | + +**失败原因:** 听力拖拽组件(cId=1218116)在第5步 dialogList 生成时,LLM 返回的 JSON 中 `"trans"` 的冒号用了全角 `:` 而非半角 `:`,导致 JSON 解析失败。这是 doubao 模型在中英文混合输出时的已知偶发问题。 + +HTML 报告已通过飞书 Bot 发送给你,16 个成功组件可正常查看和推送。需要我手动修复这个听力拖拽组件重新生成吗? +user: 你刚刚生成的这个cId全部不对 +assistant: 现在清楚了。问题在 `parse_script.py` 的 cId 提取逻辑——类型列里写的是"对话朗读1""图片单选2",cId 被提取成了 `1`、`2` 这种短序号,而 ID 列(col2)里虽然有真正的 7 位 cId(如 `1218101`),但因为是**多行文本**,`re.match(r'^\d{5,}$', raw_id)` 匹配不到整行。 + +让我修复这个问题: + + +assistant: Found the bug. The cId in the sheet is embedded in col2 (multi-line text like `"S1主线\n自动\n对话朗读\n1218101\n..."`), but the parser reads col1 as the ID column (which is empty for component rows). When the type column has short cIds like "1", "2", it can't find the real cId from col1. + + diff --git a/memory/2026-06-02-1433.md b/memory/2026-06-02-1433.md new file mode 100644 index 0000000..f09f4a1 --- /dev/null +++ b/memory/2026-06-02-1433.md @@ -0,0 +1,47 @@ +# Session: 2026-06-02 14:33:33 GMT+8 + +- **Session Key**: agent:xiaoyan:feishu:direct:ou_8b79b7f711e42a4004f3f3c225a1a99c +- **Session ID**: 7b6ba6c6-7b2d-4c96-91b5-9f019c021e8c +- **Source**: feishu + +## Conversation Summary + +user: https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf组件配置-json +assistant: 这是 L1-S2-U18-L2「登龙秘笈」的组件配置文档。我需要先读取剧本内容和知识点,然后按组件类型生成 JSON 配置。 + +先读取剧本内嵌 Sheet 和知识点 Sheet,同时加载组件生产技能。 + + +assistant: 这是「组件配置-json」请求,需要先加载对应技能。 + + +assistant: 张昆鹏,收到。执行组件配置 JSON 生成流水线。 + + +assistant: ✅ 组件配置 JSON 生成完成。 + +**L1-S2-U18-L2 登龙秘笈** — 17/17 全部成功,0 失败。 + +| # | 组件ID | 类型 | cType | +|---|--------|------|-------| +| 1 | 1218201 | 对话朗读 | mid_dialog_repeat | +| 2 | 1218202 | 对话朗读 | mid_dialog_repeat | +| 3 | 1218203 | 对话挖空 | mid_dialog_fillin | +| 4 | 1218204 | 对话朗读 | mid_dialog_repeat | +| 5 | 1218205 | 对话挖空 | mid_dialog_fillin | +| 6 | 1218206 | 对话朗读 | mid_dialog_repeat | +| 7 | 1218207 | 对话组句 | mid_dialog_sentence | +| 8 | 1218208 | 对话选读 | mid_dialog_select | +| 9 | 1218209 | 图片单选 | mid_image_choose | +| 10 | 1218210 | 对话挖空 | mid_dialog_fillin | +| 11 | 1218211 | 对话朗读 | mid_dialog_repeat | +| 12 | 1218212 | 对话挖空 | mid_dialog_fillin | +| 13 | 1218213 | 对话选读 | mid_dialog_select | +| 14 | 1218214 | 对话组句 | mid_dialog_sentence | +| 15 | 1218215 | 对话选择 | mid_dialog_choose | +| 16 | 1218216 | 听力选择 | core_listening_choose | +| 17 | 1218217 | 对话表达 | mid_dialog_express | + +HTML 报告已通过飞书发送给你,可在浏览器中打开查看详情并推送配置。 +user: reset +assistant: 已重置,可以开始新的任务。 diff --git a/memory/2026-06-02-1440.md b/memory/2026-06-02-1440.md new file mode 100644 index 0000000..8638166 --- /dev/null +++ b/memory/2026-06-02-1440.md @@ -0,0 +1,28 @@ +# Session: 2026-06-02 14:40:31 GMT+8 + +- **Session Key**: agent:xiaoyan:feishu:direct:ou_8b79b7f711e42a4004f3f3c225a1a99c +- **Session ID**: 2fcf4f79-a61f-4766-84f9-bab9731a45ad +- **Source**: feishu + +## Conversation Summary + +user: [L1-S2-U18-L2 登龙秘笈](https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf)组件配置-json +assistant: 张昆鹏,收到。执行组件配置JSON生成流水线。 + + +assistant: ✅ 组件配置JSON生成完成。 + +**L1-S2-U18-L2 登龙秘笈** — 17/17 全部成功: + +| 类型 | 数量 | +|------|------| +| 对话朗读 (mid_dialog_repeat) | 5 | +| 对话挖空 (mid_dialog_fillin) | 4 | +| 对话组句 (mid_dialog_sentence) | 2 | +| 对话选读 (mid_dialog_select) | 2 | +| 对话选择 (mid_dialog_choose) | 1 | +| 对话表达 (mid_dialog_express) | 1 | +| 图片单选 (mid_image_choose) | 1 | +| 核心互动-听力选择 (core_listening_choose) | 1 | + +HTML 报告已通过飞书 Bot 发送给你,可以在浏览器中打开查看详情,报告内支持一键推送配置和知识点到远程数据库。 diff --git a/memory/2026-06-02-1450.md b/memory/2026-06-02-1450.md new file mode 100644 index 0000000..e790c49 --- /dev/null +++ b/memory/2026-06-02-1450.md @@ -0,0 +1,23 @@ +# Session: 2026-06-02 14:50:51 GMT+8 + +- **Session Key**: agent:xiaoyan:feishu:direct:ou_8b79b7f711e42a4004f3f3c225a1a99c +- **Session ID**: d5955758-0fb7-4bbf-9c79-b5dc03249b00 +- **Source**: feishu + +## Conversation Summary + +user: [L1-S2-U18-L2 登龙秘笈](https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf)组件配置-json +assistant: ✅ 组件配置JSON生成完成!17/17 全部成功。 + +| 类型 | 数量 | 详情 | +|------|------|------| +| 对话朗读 (mid_dialog_repeat) | 5 | 1218201, 1218202, 1218204, 1218206, 1218211 | +| 对话挖空 (mid_dialog_fillin) | 4 | 1218203, 1218205, 1218210, 1218212 | +| 对话组句 (mid_dialog_sentence) | 2 | 1218207, 1218214 | +| 对话选读 (mid_dialog_select) | 2 | 1218208, 1218213 | +| 图片单选 (mid_image_choose) | 1 | 1218209 | +| 对话选择 (mid_dialog_choose) | 1 | 1218215 | +| 对话表达 (mid_dialog_express) | 1 | 1218217 | +| 核心互动-听力选择 (core_listening_choose) | 1 | 1218216 | + +HTML 报告已通过飞书 Bot 发送给你,可在浏览器中打开查看详情并一键推送配置到远程数据库。 diff --git a/memory/2026-06-02-1451.md b/memory/2026-06-02-1451.md new file mode 100644 index 0000000..6b10815 --- /dev/null +++ b/memory/2026-06-02-1451.md @@ -0,0 +1,28 @@ +# Session: 2026-06-02 14:51:38 GMT+8 + +- **Session Key**: agent:xiaoyan:feishu:direct:ou_270924c22bf8d63cf356dbd37614055f +- **Session ID**: 87eba2a5-2065-4b25-8f57-60b53151993b +- **Source**: feishu + +## Conversation Summary + +user: 为我简单搜索一下 好未来 现在的总市值 +assistant: 好未来(TAL Education Group,NYSE: TAL)当前市值数据如下: + +| 指标 | 数值 | +|------|------| +| **总市值** | **$61.2 亿美元**(约 ¥440 亿人民币) | +| **股价** | $10.06 | +| **当日涨跌** | +3.60% | +| **近一年涨跌** | -0.69% | +| **全球排名** | 第 2,817 位 | + +数据来源:CompaniesMarketCap,截至 2026 年 6 月 1 日。 + +历史对比:好未来在 2020 年高峰时市值曾达 $429 亿美元,2021 年"双减"后暴跌至 $25 亿,之后逐步恢复至当前水平。 +user: 你是使用什么api进行的搜索 +assistant: 没有用到搜索 API。`web_search` 当时返回了 **"web_search is disabled or no provider is available"**,搜索功能不可用。 + +所以我换了个方式:直接用 `web_fetch` 工具逐个抓取财经网站的页面,最终在 **CompaniesMarketCap** 的页面上抓到了市值数据(`companiesmarketcap.com/tal-education-group/marketcap/`)。 + +简单说就是:不是搜索,是直接爬页面拿到的。 diff --git a/memory/2026-06-02-1501.md b/memory/2026-06-02-1501.md new file mode 100644 index 0000000..a85c304 --- /dev/null +++ b/memory/2026-06-02-1501.md @@ -0,0 +1,37 @@ +# Session: 2026-06-02 15:01:30 GMT+8 + +- **Session Key**: agent:xiaoyan:feishu:direct:ou_8b79b7f711e42a4004f3f3c225a1a99c +- **Session ID**: fa1484ea-e64c-4761-8f5a-dd24406de814 +- **Source**: feishu + +## Conversation Summary + +user: [L1-S2-U18-L2 登龙秘笈](https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf)组件配置-json +assistant: 张昆鹏,收到。执行组件配置JSON生成流水线。 + + +assistant: ✅ **组件配置JSON生成完成!** + +**L1-S2-U18-L2 登龙秘笈** — 17/17 全部成功,0 失败: + +| # | 组件ID | 类型 | cType | +|---|--------|------|-------| +| 1-2 | 1218201-1218202 | 对话朗读 | mid_dialog_repeat | +| 3 | 1218203 | 对话挖空 | mid_dialog_fillin | +| 4 | 1218204 | 对话朗读 | mid_dialog_repeat | +| 5 | 1218205 | 对话挖空 | mid_dialog_fillin | +| 6 | 1218206 | 对话朗读 | mid_dialog_repeat | +| 7 | 1218207 | 对话组句 | mid_dialog_sentence | +| 8 | 1218208 | 对话选读 | mid_dialog_select | +| 9 | 1218209 | 图片单选 | mid_image_choose | +| 10-11 | 1218210-1218212 | 对话挖空 | mid_dialog_fillin | +| 12 | 1218211 | 对话朗读 | mid_dialog_repeat | +| 13 | 1218213 | 对话选读 | mid_dialog_select | +| 14 | 1218214 | 对话组句 | mid_dialog_sentence | +| 15 | 1218215 | 对话选择 | mid_dialog_choose | +| 16 | 1218216 | 核心互动-听力选择 | core_listening_choose | +| 17 | 1218217 | 对话表达 | mid_dialog_express | + +HTML 报告已通过飞书 Bot 发送给你,可在浏览器中打开查看详情并一键推送配置到数据库。 +user: [OpenClaw heartbeat poll] +assistant: HEARTBEAT_OK diff --git a/memory/2026-06-02-1511.md b/memory/2026-06-02-1511.md new file mode 100644 index 0000000..17de964 --- /dev/null +++ b/memory/2026-06-02-1511.md @@ -0,0 +1,45 @@ +# Session: 2026-06-02 15:11:06 GMT+8 + +- **Session Key**: agent:xiaoyan:feishu:direct:ou_8b79b7f711e42a4004f3f3c225a1a99c +- **Session ID**: b6d4a9ca-0330-4e7a-89b3-0c9bcdec9b0e +- **Source**: feishu + +## Conversation Summary + +user: [L1-S2-U18-L2 登龙秘笈](https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf)组件配置-json +assistant: 张昆鹏,收到。执行组件配置 JSON 流水线。 + + +assistant: 📝 **组件配置 JSON 生成完成** + +文档:**L1-S2-U18-L2 登龙秘笈** + +| 结果 | 数量 | +|------|------| +| ✅ 成功 | 17 | +| ❌ 失败 | 0 | +| 总计 | 17 | + +**组件明细:** + +| ID | 类型 | cType | +|---|---|---| +| 1218201 | 对话朗读 | mid_dialog_repeat | +| 1218202 | 对话朗读 | mid_dialog_repeat | +| 1218203 | 对话挖空 | mid_dialog_fillin | +| 1218204 | 对话朗读 | mid_dialog_repeat | +| 1218205 | 对话挖空 | mid_dialog_fillin | +| 1218206 | 对话朗读 | mid_dialog_repeat | +| 1218207 | 对话组句 | mid_dialog_sentence | +| 1218208 | 对话选读 | mid_dialog_select | +| 1218209 | 图片单选 | mid_image_choose | +| 1218210 | 对话挖空 | mid_dialog_fillin | +| 1218211 | 对话朗读 | mid_dialog_repeat | +| 1218212 | 对话挖空 | mid_dialog_fillin | +| 1218213 | 对话选读 | mid_dialog_select | +| 1218214 | 对话组句 | mid_dialog_sentence | +| 1218215 | 对话选择 | mid_dialog_choose | +| 1218216 | 核心互动-听力选择 | core_listening_choose | +| 1218217 | 对话表达 | mid_dialog_express | + +HTML 报告已通过飞书 Bot 发送给你,可在浏览器中打开查看详情并推送配置到数据库。 diff --git a/memory/2026-06-02-1525.md b/memory/2026-06-02-1525.md new file mode 100644 index 0000000..daf0250 --- /dev/null +++ b/memory/2026-06-02-1525.md @@ -0,0 +1,26 @@ +# Session: 2026-06-02 15:25:43 GMT+8 + +- **Session Key**: agent:xiaoyan:feishu:direct:ou_8b79b7f711e42a4004f3f3c225a1a99c +- **Session ID**: 4c49cd1f-9ac7-48a1-936e-75fc56bf9c84 +- **Source**: feishu + +## Conversation Summary + +user: [L1-S2-U18-L2 登龙秘笈](https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf)组件配置-json +assistant: 已识别:张昆鹏(技术负责人),执行 `interactive-component-json` 流水线。 + + +assistant: ✅ 组件配置 JSON 生成完成,17/17 全部成功。 + +| 类型 | 数量 | 组件 | +|------|------|------| +| 对话朗读 | 5 | 1218201, 1218202, 1218204, 1218206, 1218211 | +| 对话挖空 | 4 | 1218203, 1218205, 1218210, 1218212 | +| 对话组句 | 2 | 1218207, 1218214 | +| 对话选读 | 2 | 1218208, 1218213 | +| 对话选择 | 1 | 1218215 | +| 图片单选 | 1 | 1218209 | +| 对话表达 | 1 | 1218217 | +| 听力选择 | 1 | 1218216(核心互动) | + +HTML 报告已通过飞书 Bot 发送给你,可以在浏览器中打开查看每个组件的 JSON 配置和知识点匹配详情,并支持一键推送全部配置到远程数据库。 diff --git a/memory/2026-06-02-1537.md b/memory/2026-06-02-1537.md new file mode 100644 index 0000000..87e8f2b --- /dev/null +++ b/memory/2026-06-02-1537.md @@ -0,0 +1,36 @@ +# Session: 2026-06-02 15:37:46 GMT+8 + +- **Session Key**: agent:xiaoyan:feishu:direct:ou_8b79b7f711e42a4004f3f3c225a1a99c +- **Session ID**: 85a4c785-60bf-42b1-b8dc-65a4b18b92e0 +- **Source**: feishu + +## Conversation Summary + +user: [L1-S2-U18-L2 登龙秘笈](https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf)组件配置-json +assistant: 张昆鹏,收到。正在执行组件配置JSON生成流水线。 + + +assistant: ✅ **组件配置JSON生成完成!** L1-S2-U18-L2 登龙秘笈 + +| 统计 | 数值 | +|------|------| +| 总组件数 | 17 | +| 成功 | 17 | +| 失败 | 0 | + +**组件类型分布:** + +| 类型 | 数量 | +|------|------| +| 对话朗读 (mid_dialog_repeat) | 5 | +| 对话挖空 (mid_dialog_fillin) | 4 | +| 对话选读 (mid_dialog_select) | 2 | +| 对话组句 (mid_dialog_sentence) | 2 | +| 对话选择 (mid_dialog_choose) | 1 | +| 对话表达 (mid_dialog_express) | 1 | +| 图片单选 (mid_image_choose) | 1 | +| 核心互动-听力选择 (core_listening_choose) | 1 | + +⚠️ 注意:核心互动-听力选择 (1218216) 的 5 个知识点在 MySQL 中未匹配到(如 `read`、`blackboard`、`... in line` 等),需在 HTML 报告中手动修正 kpId。 + +HTML 报告已通过飞书 Bot 发送给你,可直接在浏览器中打开查看/编辑/推送配置。 diff --git a/scripts/__pycache__/audit_l1_config.cpython-312.pyc b/scripts/__pycache__/audit_l1_config.cpython-312.pyc deleted file mode 100644 index e7c99df..0000000 Binary files a/scripts/__pycache__/audit_l1_config.cpython-312.pyc and /dev/null differ diff --git a/scripts/__pycache__/batch_reading_pic_qa.cpython-312.pyc b/scripts/__pycache__/batch_reading_pic_qa.cpython-312.pyc deleted file mode 100644 index dc23da4..0000000 Binary files a/scripts/__pycache__/batch_reading_pic_qa.cpython-312.pyc and /dev/null differ diff --git a/scripts/__pycache__/rewrite_p4_all.cpython-312.pyc b/scripts/__pycache__/rewrite_p4_all.cpython-312.pyc deleted file mode 100644 index b0078f5..0000000 Binary files a/scripts/__pycache__/rewrite_p4_all.cpython-312.pyc and /dev/null differ diff --git a/skills/vala_git_workspace_backup/SKILL.md b/skills/vala_git_workspace_backup/SKILL.md index eb35c30..41476e3 100644 --- a/skills/vala_git_workspace_backup/SKILL.md +++ b/skills/vala_git_workspace_backup/SKILL.md @@ -1,3 +1,8 @@ +--- +name: vala_git_workspace_backup +description: 自动将OpenClaw workspace内容定期备份到Git仓库,自动过滤敏感信息,无硬编码凭证 +--- + # vala_git_workspace_backup Skill ## 功能说明 自动将OpenClaw workspace内容定期备份到Git仓库,自动过滤敏感信息,无硬编码凭证。