# components

script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_word
type_name: 信息填词
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
raw_config:
  【任务标题】
  填写信息表
  【互动内容】
  任务描述：请在空白处填入合适的单词，使句意完整
  答案：knowledge, information
  辅助信息：需要填入的单词的中文释义是“知识”

status: generated
bitable_token: ElRebtQe3aeCyOsRjg6cEniznwg
db_table: middle_interaction_component
created_at: 2026-05-08 17:02:47
updated_at: 2026-05-08 17:02:47
final_config_json:
  {"cType": "mid_message_word", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled in \"knowledge\" and \"information\".（你填入了“知识”对应的单词。）", "question": {"desc": "请在空白处填入合适的单词，使句意完整"}, "tip": "需要填入的单词的中文释义是“知识”", "answer": ["knowledge", "information"], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 225 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_sentence
type_name: 信息填句
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: CNFgbIIszaPWXfsekt7cCZjHnVh
db_table: middle_interaction_component
created_at: 2026-05-08 17:02:47
updated_at: 2026-05-08 17:02:47
raw_config:
[cell repeats an earlier one in this file: 176 characters]

final_config_json:
  {"cType": "mid_message_sentence", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled in the information form with the correct sentence. (你填好了信息表的正确句子。)", "question": {"desc": "请填入正确的内容，使句意完整"}, "tip": "你可以使用 The main purpose of this tour is...", "answerHint": "The main purpose of this tour is to learn knowledge about local traditional crafts.", "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 229 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_choose
type_name: 图片单选
level: L1
unit_id: U14
knowledge_points_raw: warm
status: generated
bitable_token: XyIVbYciraBkoasJtV1c3N5Gnhh
db_table: middle_interaction_component
created_at: 2026-05-08 17:02:49
updated_at: 2026-05-08 17:02:49
raw_config:
[cell repeats an earlier one in this file: 199 characters]

final_config_json:
  {"cType": "mid_image_choose", "cId": "0000800", "title": "选择合适的河段取水", "meaning": "", "resourceMapping": {"Vicky": 658}, "question": {"desc": "Find $warm$ water.", "content": "Find $warm$ water."}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}], "answer": [2], "preDialog": [{"type": "user", "content": "Look!"}], "tip": "warm 指“温暖的”。", "corFeedback": {"type": "npc", "npcName": "User", "content": "Warm water here!"}, "errFeedback": {"type": "npc", "npcName": "User", "content": "It doesn't seem like there's warm water."}, "postDialog": [], "cDesc": "You find the warm water to get. (你找到了温暖的水来取用。)"}

kp_info_json:
[cell repeats an earlier one in this file: 366 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_multiple
type_name: 图片多选
level: L1
unit_id: U14
knowledge_points_raw: house
status: generated
bitable_token: XZo5bwagdau3VvsTDL9cJPrInQd
db_table: middle_interaction_component
created_at: 2026-05-08 17:02:52
updated_at: 2026-05-08 17:02:52
raw_config:
[cell repeats an earlier one in this file: 242 characters]

final_config_json:
  {"cType": "mid_image_multiple", "cId": "0000800", "title": "选出需要修复的部分", "meaning": "", "resourceMapping": {"Vicky": 658}, "question": {"desc": "Find parts of the $house$. （音频）", "content": "Find parts of the $house$. （音频）"}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}, {"option": "0000800_option_03.png"}, {"option": "0000800_option_04.png"}], "answer": [2, 3, 4], "preDialog": [{"type": "npc", "npcName": "Peter", "content": "Let's fix the house!"}, {"type": "user", "content": "Okay."}], "tip": "house 指“房子”。", "corFeedback": {"type": "user", "content": "These are all parts of the house."}, "errFeedback": {"type": "user", "content": "Let's check again."}, "postDialog": [], "cDesc": "You found the parts of the house that need fixing. (你找到了房子需要修复的部分。)"}

kp_info_json:
[cell repeats an earlier one in this file: 209 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_sequence
type_name: 图片有序
level: L1
unit_id: U14
knowledge_points_raw: ... one by one.
status: generated
bitable_token: BZWebQROpagkJ0sxArGcsBjwnCU
db_table: middle_interaction_component
created_at: 2026-05-08 17:02:56
updated_at: 2026-05-08 17:02:56
raw_config:
[cell repeats an earlier one in this file: 180 characters]

final_config_json:
  {"cType": "mid_image_sequence", "cId": "0000800", "title": "排序跳格子顺序", "meaning": "", "resourceMapping": {"Vicky": 658}, "question": {"desc": "We must go $one by one$."}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}, {"option": "0000800_option_03.png"}], "answer": [0, 1, 2, 3], "preDialog": [], "tip": "one by one指\"一个接一个\"", "corFeedback": {}, "errFeedback": {"type": "npc", "npcName": "Dan", "content": "We can't jump like that."}, "postDialog": [], "cDesc": "You arrange hopscotch order $one\\ by\\ one$. (你一个接一个地排列跳格子的顺序。)"}

kp_info_json:
[cell repeats an earlier one in this file: 225 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_imageDrag
type_name: 看图选词
level: L1
unit_id: U14
knowledge_points_raw:
  lake n. 湖
  monkey n. 猴子
  three num. 三
  How many ...? 多少……？
  There be ... 有……

status: generated
bitable_token: MVo7wugWfimJPIkxhJCcqppFnyf
db_table: core_interaction_component
created_at: 2026-05-08 17:24:48
updated_at: 2026-05-08 17:24:48
raw_config:
[cell repeats an earlier one in this file: 747 characters]

final_config_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "To open the door of the magic word castle, you fill in the blank for Ben’s question about hippos’ habitat, and learn that hippos live in the lake.（为了打开神奇单词城堡的大门，你回答了本关于河马栖息地的问题，了解到河马生活在湖里。）Next, you answer Brainy’s question about other zoo animals, and find out that trees are also present in the zoo as part of the animal living environment.（接着你回答了布莱尼关于动物园里其他事物的问题，知道了动物园里还有树作为动物生存环境的一部分。）"}

kp_info_json:
[cell repeats an earlier one in this file: 756 characters]

task_info_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "To open the door of the magic word castle, you fill in the blank for Ben’s question about hippos’ habitat, and learn that hippos live in the lake.（为了打开神奇单词城堡的大门，你回答了本关于河马栖息地的问题，了解到河马生活在湖里。）Next, you answer Brainy’s question about other zoo animals, and find out that trees are also present in the zoo as part of the animal living environment.（接着你回答了布莱尼关于动物园里其他事物的问题，知道了动物园里还有树作为动物生存环境的一部分。）"}

study_info_json:
  {"learningPart": [{"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "小朋友，我们今天要认识几个和动物栖息地相关的单词哦，先来看看这几个词分别是什么意思吧~"}, "optionList": [{"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "tree的意思是“树”，河马是生活在水里的动物，可不是住在树上哦，再想想看？"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass的意思是“草”，河马大部分时间都待在水里，不是住在草地上哦，再试试吧~"}}, {"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！lake的意思是“湖”，河马确实是生活在湖里的，你太棒啦，已经记住这个单词的意思啦~"}}], "answer": [2]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Ben问“河马住在哪里呀？”，你要选一个合适的单词填进去，说明河马的居住地哦。"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！“in the lake”就是“在湖里”的意思，河马就是生活在湖里的哦，现在大声把这句话读出来吧：Where do hippos live? In the lake."}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "“in the tree”是“在树上”的意思，河马可不会爬树住在树上哦，结合图片里的场景再想想吧~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "“in the grass”是“在草丛里”的意思，河马大多时间都待在水里，不是住在草丛里哦，再选一次吧~"}}], "answer": [0]}]}, {"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "这道题我们要选动物园里还有的其他动物，先来复习一下单词的意思吧~"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "lake的意思是“湖”，这是地点，不是动物哦，不符合问题问的“动物”的要求，再想想？"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass的意思是“草”，这是植物，不是动物哦，和问题问的内容不匹配，再试试吧~"}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！tree的意思是“树”，你已经记住这个单词的意思啦~"}}], "answer": [2]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Brainy问“动物园里还有什么其他的动物？”，你要选对应的答案来回答这个问题哦。"}, "optionList": [{"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！你选对啦，现在可以试着把问题和答案一起读出来哦：What other animals are there in the zoo? Tree."}}, {"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "lake是“湖”，是一个地点，不是动物哦，问题问的是动物，再选一次吧~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是“草”，是植物，不是动物哦，不符合问题的要求，再想想看吧~"}}], "answer": [0]}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你完成了所有的对话任务，还复习了lake、tree、grass这些单词的意思，学会了怎么回答关于动物居住地和动物园动物的问题，你的英语又进步啦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 小题 4\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：小朋友，我们今天要认识几个和动物栖息地相关的单词哦，先来看看这几个词分别是什么意思吧~\n- 选项 A：tree\n  Brainy：tree的意思是“树”，河马是生活在水里的动物，可不是住在树上哦，再想想看？\n- 选项 B：grass\n  Brainy：grass的意思是“草”，河马大部分时间都待在水里，不是住在草地上哦，再试试吧~\n- 选项 C：lake[正确]\n  Brainy：答对啦！lake的意思是“湖”，河马确实是生活在湖里的，你太棒啦，已经记住这个单词的意思啦~\n\n### 2. 原题降级\nBrainy：Ben问“河马住在哪里呀？”，你要选一个合适的单词填进去，说明河马的居住地哦。\n- 选项 A：lake[正确]\n  Brainy：答对啦！“in the lake”就是“在湖里”的意思，河马就是生活在湖里的哦，现在大声把这句话读出来吧：Where do hippos live? In the lake.\n- 选项 B：tree\n  Brainy：“in the tree”是“在树上”的意思，河马可不会爬树住在树上哦，结合图片里的场景再想想吧~\n- 选项 C：grass\n  Brainy：“in the grass”是“在草丛里”的意思，河马大多时间都待在水里，不是住在草丛里哦，再选一次吧~\n\n---\n# 小题 5\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：这道题我们要选动物园里还有的其他动物，先来复习一下单词的意思吧~\n- 选项 A：lake\n  Brainy：lake的意思是“湖”，这是地点，不是动物哦，不符合问题问的“动物”的要求，再想想？\n- 选项 B：grass\n  Brainy：grass的意思是“草”，这是植物，不是动物哦，和问题问的内容不匹配，再试试吧~\n- 选项 C：tree[正确]\n  Brainy：（注：此处按照输入给定正确项标注，实际根据语义存在逻辑偏差，按要求输出）答对啦！tree的意思是“树”，你已经记住这个单词的意思啦~\n\n### 2. 原题降级\nBrainy：Brainy问“动物园里还有什么其他的动物？”，你要选对应的答案来回答这个问题哦。\n- 选项 A：tree[正确]\n  Brainy：答对啦！（注：此处按输入给定正确项输出，实际语义存在偏差）你选对啦，现在可以试着把问题和答案一起读出来哦：What other animals are there in the zoo? Tree.\n- 选项 B：lake\n  Brainy：lake是“湖”，是一个地点，不是动物哦，问题问的是动物，再选一次吧~\n- 选项 C：grass\n  Brainy：grass是“草”，是植物，不是动物哦，不符合问题的要求，再想想看吧~\n\n---\n# 完结反馈\nBrainy：太棒了！你完成了所有的对话任务，还复习了lake、tree、grass这些单词的意思，学会了怎么回答关于动物居住地和动物园动物的问题，你的英语又进步啦！\n```", "互动描述": "To open the door of the magic word castle, you fill in the blank for Ben’s question about hippos’ habitat, and learn that hippos live in the lake.（为了打开神奇单词城堡的大门，你回答了本关于河马栖息地的问题，了解到河马生活在湖里。）\nNext, you answer Brainy’s question about other zoo animals, and find out that trees are also present in the zoo as part of the animal living environment.（接着你回答了布莱尼关于动物园里其他事物的问题，知道了动物园里还有树作为动物生存环境的一部分。）"}

question_group_json:
[cell repeats an earlier one in this file: 430 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_reply
type_name: 口语快答
level: L1
unit_id: U14
knowledge_points_raw:
  Let's...（结构）
  Instead of..., we'd better...（结构）
  ... love(s) to...（结构）

dialog_setting_json: {"setting": {"npcName": "Logan", "round": 5, "checkRound": 3}}
status: generated
bitable_token: TSwcw0nFmi21khkpUndchNMsn6f
db_table: core_interaction_component
created_at: 2026-05-08 17:25:06
updated_at: 2026-05-08 17:25:06
raw_config:
[cell repeats an earlier one in this file: 998 characters]

final_config_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "Let's... 相关表达", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}]}, {"desc": "Instead of..., we'd better... 相关表达", "keyList": [{"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}]}, {"desc": "... love(s) to... 相关表达", "keyList": [{"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

kp_info_json:
[cell repeats an earlier one in this file: 537 characters]

task_info_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "Let's... 相关表达", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}]}, {"desc": "Instead of..., we'd better... 相关表达", "keyList": [{"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}]}, {"desc": "... love(s) to... 相关表达", "keyList": [{"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Logan", "content": "Hi. What happened to the elephant?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Logan在问大象怎么了哦，现在你需要告诉他大象需要洗澡，我们想要给大象安排洗澡的相关准备，结合这个情景选出合适的回答吧。"}, "optionList": [{"option": "The elephant needs a shower. Let's set up a shower for her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒啦，你选对了！现在试着把这句话大声读出来吧~"}}, {"option": "The elephant is hungry. Let's give her some bananas.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "现在我们的任务是要帮大象洗澡哦，这句话是说大象饿了要喂香蕉，和当前的情景不匹配，再试一次吧。"}}, {"option": "The elephant feels sick. Let's call the doctor.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "我们现在要处理的是大象洗澡的问题哦，这句话是说大象不舒服要叫医生，不符合现在的情况，再选一次吧。"}}], "answer": [0], "read": {"type": "user", "content": "The elephant needs a shower. Let's set up a shower for her."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Are you saying she hasn't had a shower yet? Maybe someone will probably come soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan说“你是说她还没洗澡吗？可能很快就会有人过来了”，现在你需要表达与其在这里等，不如我们先去给她拿点水，结合这个意思选出正确的回答哦。"}, "optionList": [{"option": "We can wait for the keeper to come and help her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是我们可以等饲养员来帮忙，和我们要自己先拿水的想法不一样哦，再试试吧。"}}, {"option": "Instead of waiting here, we'd better get some water for her first.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "选对啦，你太厉害啦！现在把这句话大声朗读出来吧~"}}, {"option": "Let's go to the zoo to see other animals first.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "我们现在要解决大象洗澡的问题哦，这句话是说先去动物园看其他动物，和当前情景不匹配，再选一次吧。"}}], "answer": [1], "read": {"type": "user", "content": "Instead of waiting here, we'd better get some water for her first."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "The keepers are too careless! Thank you! Can you help her shower?"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan说“饲养员太粗心了！谢谢你们！你们能帮她洗澡吗？”，现在你需要告诉他我们很乐意帮忙，结合这个意思选出正确的回答吧。"}, "optionList": [{"option": "We'd love to help.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完全正确！你真棒，现在试着把这句话读出来吧~"}}, {"option": "Sorry, we don't have time to help.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "我们本来就是想要帮忙给大象洗澡的哦，这句话是说我们没时间帮忙，不符合我们的想法，再试一次吧。"}}, {"option": "We are not good at bathing animals.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "我们是愿意帮忙的哦，这句话是说我们不擅长给动物洗澡，和当前的情景不相符，再选一次吧。"}}], "answer": [0], "read": {"type": "user", "content": "We'd love to help."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Great. We will send some water to her right away."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒啦！你已经顺利完成了求助清洁工人给大象送水帮忙洗澡的任务，这次的对话练习就结束啦，你表现得非常好哦~"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nLogan：Hi. What happened to the elephant?\n\n# 中间回合1\nBrainy：Logan在问大象怎么了哦，现在你需要告诉他大象需要洗澡，我们想要给大象安排洗澡的相关准备，结合这个情景选出合适的回答吧。\n用户选项:\n（选项A）The elephant needs a shower. Let's set up a shower for her. ✅\n  Brainy：太棒啦，你选对了！现在试着把这句话大声读出来吧~\n（选项B）The elephant is hungry. Let's give her some bananas.\n  Brainy：现在我们的任务是要帮大象洗澡哦，这句话是说大象饿了要喂香蕉，和当前的情景不匹配，再试一次吧。\n（选项C）The elephant feels sick. Let's call the doctor.\n  Brainy：我们现在要处理的是大象洗澡的问题哦，这句话是说大象不舒服要叫医生，不符合现在的情况，再选一次吧。\nLogan：Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\n\n# 中间回合2\nBrainy：Logan说“你是说她还没洗澡吗？可能很快就会有人过来了”，现在你需要表达与其在这里等，不如我们先去给她拿点水，结合这个意思选出正确的回答哦。\n用户选项:\n（选项A）We can wait for the keeper to come and help her.\n  Brainy：这句话的意思是我们可以等饲养员来帮忙，和我们要自己先拿水的想法不一样哦，再试试吧。\n（选项B）Instead of waiting here, we'd better get some water for her first. ✅\n  Brainy：选对啦，你太厉害啦！现在把这句话大声朗读出来吧~\n（选项C）Let's go to the zoo to see other animals first.\n  Brainy：我们现在要解决大象洗澡的问题哦，这句话是说先去动物园看其他动物，和当前情景不匹配，再选一次吧。\nLogan：The keepers are too careless! Thank you! Can you help her shower?\n\n# 中间回合3\nBrainy：Logan说“饲养员太粗心了！谢谢你们！你们能帮她洗澡吗？”，现在你需要告诉他我们很乐意帮忙，结合这个意思选出正确的回答吧。\n用户选项:\n（选项A）We'd love to help. ✅\n  Brainy：完全正确！你真棒，现在试着把这句话读出来吧~\n（选项B）Sorry, we don't have time to help.\n  Brainy：我们本来就是想要帮忙给大象洗澡的哦，这句话是说我们没时间帮忙，不符合我们的想法，再试一次吧。\n（选项C）We are not good at bathing animals.\n  Brainy：我们是愿意帮忙的哦，这句话是说我们不擅长给动物洗澡，和当前的情景不相符，再选一次吧。\nLogan：Great. We will send some water to her right away.\n\n# 结尾回合\nBrainy：太棒啦！你已经顺利完成了求助清洁工人给大象送水帮忙洗澡的任务，这次的对话练习就结束啦，你表现得非常好哦~\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切易懂，适合和小学2-4年级的孩子交流。\n# 2. 任务（你如何参与对话）\n1. 开场先向用户询问大象的情况，确认大象是不是没有洗澡。\n2. 得到用户确认大象需要洗澡的答复后，告诉用户可以先等一等，或许饲养员很快会来。\n3. 之后询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户表示愿意帮忙，先向用户表示感谢，告诉用户你们会马上送干净的水过去，任务完成后自然结束对话。\n5. 如果用户说不愿意帮忙，表达遗憾即可，不要强迫用户，结束对话。\n6. 如果用户的回答你没听懂，可以温和地请用户再重复一遍，比如可以说\"Pardon? Can you say that again?\"。\n7. 如果用户说的内容和当前任务无关，可以礼貌地把话题拉回大象洗澡的相关问题上。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。\n```", "语音识别热词": "elephant,shower,water,keepers,help,clean,Wander Port,Logan,banana"}

dialog_config_json:
  {"config": {"asrPrompt": "elephant,shower,water,keepers,help,clean,Wander Port,Logan,banana", "promptInfo": {"default": "\n# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切易懂，适合和小学2-4年级的孩子交流。\n# 2. 任务（你如何参与对话）\n1. 开场先向用户询问大象的情况，确认大象是不是没有洗澡。\n2. 得到用户确认大象需要洗澡的答复后，告诉用户可以先等一等，或许饲养员很快会来。\n3. 之后询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户表示愿意帮忙，先向用户表示感谢，告诉用户你们会马上送干净的水过去，任务完成后自然结束对话。\n5. 如果用户说不愿意帮忙，表达遗憾即可，不要强迫用户，结束对话。\n6. 如果用户的回答你没听懂，可以温和地请用户再重复一遍，比如可以说\"Pardon? Can you say that again?\"。\n7. 如果用户说的内容和当前任务无关，可以礼貌地把话题拉回大象洗澡的相关问题上。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。\n", "scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "in_progress_goal": "用户告诉清洁站的工人，大象需要洗澡，并且表示乐意帮助，要求 Logan 送一些干净的水过来。", "final_goal": "用户告诉清洁站的工人，大象需要洗澡，并提出需要一些水。", "reference_dialog": "Logan: Hi. What happened to the elephant?\nUser: The elephant needs a shower. Let's set up a shower for her.\nLogan: Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\nUser: Instead of waiting here, we'd better get some water for her first.\nLogan: The keepers are too careless! Thank you! Can you help her shower?\nUser: We'd love to help.\nLogan: Great. We will send some water to her right away.", "user_task": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "user_scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "user_knowledge": "Let's... 让我们……\nInstead of..., we'd better... 与其……，我们不如……\n... love(s) to... ……很乐意……"}}}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_order
type_name: 合作阅读
level: L1
unit_id: U14
knowledge_points_raw:
  club
  join
  member
  choose
  interested

status: generated
bitable_token: H6DJweNkpigCbak2Y5LcTZ8Vnfb
db_table: core_interaction_component
created_at: 2026-05-08 17:25:10
updated_at: 2026-05-08 17:25:10
raw_config:
[cell repeats an earlier one in this file: 2351 characters]

final_config_json:
[cell repeats an earlier one in this file: 645 characters]

kp_info_json:
[cell repeats an earlier one in this file: 865 characters]

task_info_json:
[cell repeats an earlier one in this file: 645 characters]

material_info_json:
[cell repeats an earlier one in this file: 2699 characters]

flow_info_json:
[cell repeats an earlier one in this file: 232 characters]

study_info_json:
  {"closing": {"type": "npc", "content": "哇，你已经完成了所有段落的学习，表现超棒哦，继续加油呀！", "npcName": "Brainy"}, "learningPart": [{"leadIn": {"desc": "At Vala Academy, Pioneers don't have exams. But you need points to level up!"}, "type": "npc", "content": "我们来认识一下这段话中的关键单词 exam。exam 的意思是考试，平时我们说的参加考试就可以说 take an exam。另外还有一个重点单词 point，在这里的意思是积分、分数，获得积分我们可以说 get points。", "npcName": "Brainy", "learning": [{"answer": [0], "meaning": "句意选择题", "optionList": [{"option": "在瓦拉学院，先锋们不用考试。", "feedback": {"type": "npc", "content": "太棒啦！你完全掌握了exam这个单词的意思，句子理解得非常准确~", "npcName": "Brainy"}}, {"option": "在瓦拉学院，先锋们没有课程。", "feedback": {"type": "npc", "content": "不对哦，课程的英文是lesson，不是我们这里的exam，再回忆下exam的意思重新看看吧。", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "接下来，我们来看下包含 exam 的句子 At Vala Academy, Pioneers don't have exams. 是什么意思呢？"}}, {"answer": [1], "meaning": "句意选择题", "optionList": [{"option": "但是你需要通过考试来升级。", "feedback": {"type": "npc", "content": "不对哦，这句话里根本没提到考试，而且points是积分的意思，再仔细看看哦。", "npcName": "Brainy"}}, {"option": "但是你需要积分来升级。", "feedback": {"type": "npc", "content": "回答正确！你已经搞懂point在这里的含义，也理解了整个句子的意思啦。", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "我们再看看包含 point 的句子 But you need points to level up! 是什么意思呢？"}}, {"answer": [1], "meaning": "段落大意题", "optionList": [{"option": "瓦拉学院的先锋们既不用考试也不需要积分升级。", "feedback": {"type": "npc", "content": "不对哦，原文说不用考试，但是是需要积分才能升级的，你弄混了这两点，再读读段落哦。", "npcName": "Brainy"}}, {"option": "瓦拉学院的先锋们没有考试，但需要积分来升级。", "feedback": {"type": "npc", "content": "太厉害啦！你准确抓住了段落的两个核心信息，完全理解了这段内容~", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "了解了关键单词和句子，我们来看看这一段主要讲了什么吧。"}}]}, {"leadIn": {"desc": "You can choose your favourite club to join. If you are interested in something, you can find a club for it."}, "type": "npc", "content": "我们来认识一下这段话中的关键单词 choose。choose 的意思是选择、挑选，选择你喜欢的东西就可以说 choose something you like。还有一个重点单词 join，意思是加入，加入俱乐部就是 join a club。", "npcName": "Brainy", "learning": [{"answer": [1], "meaning": "句意选择题", "optionList": [{"option": "你可以创建你喜欢的俱乐部。", "feedback": {"type": "npc", "content": "不对哦，创建的英文是create，我们这里的choose是选择，join是加入，所以和创建是不一样的，再回忆下单词意思哦。", "npcName": "Brainy"}}, {"option": "你可以选择你最喜欢的俱乐部加入。", "feedback": {"type": "npc", "content": "完美！你已经掌握了choose和join这两个重点单词，句子意思理解得完全正确~", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "接下来，我们来看下包含 choose 和 join 的句子 You can choose your favourite club to join. 是什么意思呢？"}}, {"answer": [0], "meaning": "句意选择题", "optionList": [{"option": "如果你对某件事感兴趣，你可以找到对应的俱乐部。", "feedback": {"type": "npc", "content": "太棒啦！你完全理解了这句话的意思，很棒哦~", "npcName": "Brainy"}}, {"option": "如果你对俱乐部感兴趣，你可以找到喜欢的事物。", "feedback": {"type": "npc", "content": "你把句子的逻辑搞反啦，是先有感兴趣的事物，再找对应的俱乐部，再仔细看看句子哦。", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "我们再看看这句话 If you are interested in something, you can find a club for it. 是什么意思呢？"}}, {"answer": [0], "meaning": "段落大意题", "optionList": [{"option": "大家可以根据自己的兴趣选择加入对应的俱乐部。", "feedback": {"type": "npc", "content": "回答正确！你完全抓住了段落的核心意思，太优秀啦~", "npcName": "Brainy"}}, {"option": "所有的俱乐部都很受大家的欢迎。", "feedback": {"type": "npc", "content": "不对哦，这段内容里没有提到俱乐部是否受欢迎的相关信息，再读读段落看看吧。", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "了解了这些内容，我们来看看这一段主要想告诉我们什么吧。"}}]}]}

intermediate_json:
  {"阅读材料格式化": "```\n# 材料2\n类型：电子屏\n标题：How to Join Clubs?\n正文:\n<sp>You can choose your favourite club to join. If you are interested in something, you can find a club for it. The robot club, the plant club, the sports club, and the reading club are all popular choices.<br>If you are not interested in any club, you can start a new one with friends!<br><sp>图片:[0101106_core reading2]\n```", "学习材料格式化": "```\n# 段落1\n重点词汇: \n正文:\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n```\n```\n# 段落2\n重点词汇: \n正文:\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n```", "学习过程配置": "```\n# 段落1\n## 段落内容\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n## 互动题目\nBrainy: 我们来认识一下这段话中的关键单词 exam。exam 的意思是考试，平时我们说的参加考试就可以说 take an exam。另外还有一个重点单词 point，在这里的意思是积分、分数，获得积分我们可以说 get points。\n1. 句意选择题\nBrainy：接下来，我们来看下包含 exam 的句子 At Vala Academy, Pioneers don't have exams. 是什么意思呢？\n- 在瓦拉学院，先锋们不用考试。[正确]\n  Brainy：太棒啦！你完全掌握了exam这个单词的意思，句子理解得非常准确~\n- 在瓦拉学院，先锋们没有课程。\n  Brainy：不对哦，课程的英文是lesson，不是我们这里的exam，再回忆下exam的意思重新看看吧。\n2. 句意选择题\nBrainy：我们再看看包含 point 的句子 But you need points to level up! 是什么意思呢？\n- 但是你需要通过考试来升级。\n  Brainy：不对哦，这句话里根本没提到考试，而且points是积分的意思，再仔细看看哦。\n- 但是你需要积分来升级。[正确]\n  Brainy：回答正确！你已经搞懂point在这里的含义，也理解了整个句子的意思啦。\n3. 段落大意题\nBrainy：了解了关键单词和句子，我们来看看这一段主要讲了什么吧。\n- 瓦拉学院的先锋们既不用考试也不需要积分升级。\n  Brainy：不对哦，原文说不用考试，但是是需要积分才能升级的，你弄混了这两点，再读读段落哦。\n- 瓦拉学院的先锋们没有考试，但需要积分来升级。[正确]\n  Brainy：太厉害啦！你准确抓住了段落的两个核心信息，完全理解了这段内容~\n\n# 段落2\n## 段落内容\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n## 互动题目\nBrainy: 我们来认识一下这段话中的关键单词 choose。choose 的意思是选择、挑选，选择你喜欢的东西就可以说 choose something you like。还有一个重点单词 join，意思是加入，加入俱乐部就是 join a club。\n1. 句意选择题\nBrainy：接下来，我们来看下包含 choose 和 join 的句子 You can choose your favourite club to join. 是什么意思呢？\n- 你可以创建你喜欢的俱乐部。\n  Brainy：不对哦，创建的英文是create，我们这里的choose是选择，join是加入，所以和创建是不一样的，再回忆下单词意思哦。\n- 你可以选择你最喜欢的俱乐部加入。[正确]\n  Brainy：完美！你已经掌握了choose和join这两个重点单词，句子意思理解得完全正确~\n2. 句意选择题\nBrainy：我们再看看这句话 If you are interested in something, you can find a club for it. 是什么意思呢？\n- 如果你对某件事感兴趣，你可以找到对应的俱乐部。[正确]\n  Brainy：太棒啦！你完全理解了这句话的意思，很棒哦~\n- 如果你对俱乐部感兴趣，你可以找到喜欢的事物。\n  Brainy：你把句子的逻辑搞反啦，是先有感兴趣的事物，再找对应的俱乐部，再仔细看看句子哦。\n3. 段落大意题\nBrainy：了解了这些内容，我们来看看这一段主要想告诉我们什么吧。\n- 大家可以根据自己的兴趣选择加入对应的俱乐部。[正确]\n  Brainy：回答正确！你完全抓住了段落的核心意思，太优秀啦~\n- 所有的俱乐部都很受大家的欢迎。\n  Brainy：不对哦，这段内容里没有提到俱乐部是否受欢迎的相关信息，再读读段落看看吧。\n\n# 完结反馈\nBrainy: 哇，你已经完成了所有段落的学习，表现超棒哦，继续加油呀！\n```"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_inquiry
type_name: 口语妙问
level: L1
unit_id: U14
knowledge_points_raw: Where can I...?（语义）Can I have... please?（语义）What else can I...?（语义）
dialog_setting_json: {"setting": {"npcName": "Chloe", "round": 5, "checkRound": 3}}
status: generated
bitable_token: GJUVwNSEkis3EXkrVj0ccbqdn8c
db_table: core_interaction_component
created_at: 2026-05-08 17:25:16
updated_at: 2026-05-08 17:25:16
raw_config:
[cell repeats an earlier one in this file: 1022 characters]

final_config_json:
[cell repeats an earlier one in this file: 655 characters]

kp_info_json:
[cell repeats an earlier one in this file: 568 characters]

task_info_json:
[cell repeats an earlier one in this file: 655 characters]

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Chloe", "content": "Can I help you?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "空乘Chloe主动询问你是否需要帮助，你现在需要向她询问健身房的位置。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确地说出了想要询问健身房位置的表达。请大声朗读这句话！"}}, {"option": "Can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来询问能不能拿到毛巾的，现在你首先要问的是健身房在哪里哦，再试一下吧。"}}, {"option": "What can I do in the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是询问在健身房可以做什么的，现在你还不知道健身房的位置呢，先问问位置吧。"}}], "answer": [0], "read": {"type": "user", "content": "Where can I find the gym?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Look, it's over there at the end of this walkway."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe已经告诉了你健身房在过道的尽头，现在你需要接着向她要一条毛巾，方便之后运动使用。"}, "optionList": [{"option": "Where is the restaurant?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是询问餐厅在哪里的，你现在需要的是问Chloe要毛巾哦，再选一次吧。"}}, {"option": "Oh, and can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太厉害啦！你正确地表达了想要一条毛巾的需求。请大声朗读这句话！"}}, {"option": "How much is the towel?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这里的毛巾是不需要花钱的哦，你不需要询问价格，直接说你想要毛巾就可以啦，再试一次吧。"}}], "answer": [1], "read": {"type": "user", "content": "Oh, and can I have a towel please?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Of course! I'll bring a new one for you soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe说她马上会给你拿一条新毛巾，现在你可以再问问在健身房里还能做些什么，提前了解一下相关信息。"}, "optionList": [{"option": "What else can I do there?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "回答正确！你准确地问出了在健身房还可以做什么的问题。请大声朗读这句话！"}}, {"option": "Can you go to the gym with me?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "Chloe还有工作要做哦，你现在要问的是健身房里能做的事，再试一次吧。"}}, {"option": "When does the gym close?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是问健身房的关门时间的，现在你需要询问的是在健身房里可以做的事情哦，再选一次吧。"}}], "answer": [0], "read": {"type": "user", "content": "What else can I do there?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Well, you can do some exercise and enjoy sightseeing there. Or you can just relax."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "你已经问清楚了健身房的位置、拿到了毛巾，也了解了在健身房可以做的事，本次任务圆满完成啦！"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nChloe：Can I help you?\n\n# 中间回合1\nBrainy：空乘Chloe主动询问你是否需要帮助，你现在需要向她询问健身房的位置。\n用户选项:\n（选项 A）Where can I find the gym? [正确]\n  Brainy：太棒了！你正确地说出了想要询问健身房位置的表达。请大声朗读这句话！\n（选项 B）Can I have a towel please?\n  Brainy：这句话是用来询问能不能拿到毛巾的，现在你首先要问的是健身房在哪里哦，再试一下吧。\n（选项 C）What can I do in the gym?\n  Brainy：这句话是询问在健身房可以做什么的，现在你还不知道健身房的位置呢，先问问位置吧。\nChloe：Look, it's over there at the end of this walkway.\n\n# 中间回合2\nBrainy：Chloe已经告诉了你健身房在过道的尽头，现在你需要接着向她要一条毛巾，方便之后运动使用。\n用户选项:\n（选项 A）Where is the restaurant?\n  Brainy：这句话是询问餐厅在哪里的，你现在需要的是问Chloe要毛巾哦，再选一次吧。\n（选项 B）Oh, and can I have a towel please? [正确]\n  Brainy：太厉害啦！你正确地表达了想要一条毛巾的需求。请大声朗读这句话！\n（选项 C）How much is the towel?\n  Brainy：这里的毛巾是不需要花钱的哦，你不需要询问价格，直接说你想要毛巾就可以啦，再试一次吧。\nChloe：Of course! I'll bring a new one for you soon.\n\n# 中间回合3\nBrainy：Chloe说她马上会给你拿一条新毛巾，现在你可以再问问在健身房里还能做些什么，提前了解一下相关信息。\n用户选项:\n（选项 A）What else can I do there? [正确]\n  Brainy：回答正确！你准确地问出了在健身房还可以做什么的问题。请大声朗读这句话！\n（选项 B）Can you go to the gym with me?\n  Brainy：Chloe还有工作要做哦，你现在要问的是健身房里能做的事，再试一次吧。\n（选项 C）When does the gym close?\n  Brainy：这句话是问健身房的关门时间的，现在你需要询问的是在健身房里可以做的事情哦，再选一次吧。\nChloe：Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.\n\n# 结尾回合\nBrainy：你已经问清楚了健身房的位置、拿到了毛巾，也了解了在健身房可以做的事，本次任务圆满完成啦！\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n- 你是Chloe，是Twilight的空乘，服务好每一位乘客是你的使命。\n- 你对用户格外友善热情，会耐心回应用户的所有问题。\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n# 3. 背景信息\n你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n# 4. 知识库（你知道的信息）\n- 健身房就在前方过道的尽头。\n- 你会为有需要的用户准备一条新毛巾。\n- 在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n- 对用户的任何提问，你都耐心安抚并一一回答。\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 6. 开场白\n你由你开始对话，你会说：\"Can I help you?\"\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题\n```", "语音识别热词": "gym,towel,exercise,walkway,sightseeing,relax"}

dialog_config_json:
  {"config": {"asrPrompt": "gym,towel,exercise,walkway,sightseeing,relax", "promptInfo": {"default": "\n# 1. 角色（你要扮演谁）\n- 你是Chloe，是Twilight的空乘，服务好每一位乘客是你的使命。\n- 你对用户格外友善热情，会耐心回应用户的所有问题。\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n# 3. 背景信息\n你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n# 4. 知识库（你知道的信息）\n- 健身房就在前方过道的尽头。\n- 你会为有需要的用户准备一条新毛巾。\n- 在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n- 对用户的任何提问，你都耐心安抚并一一回答。\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 6. 开场白\n你由你开始对话，你会说：\"Can I help you?\"\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题", "scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "in_progress_goal": "用户成功问出“健身房在哪里”、“可以给我一条毛巾吗”以及“在哪儿我还能做什么”的三个问题。", "final_goal": "Chloe回答了用户关于健身房的问题，提供了耐心友好的帮助。", "reference_dialog": "Chloe: Can I help you?\nUser: Where can I find the gym?\nChloe: Look, it's over there at the end of this walkway.\nUser: Oh, and can I have a towel please? \nChloe: Of course! I'll bring a new one for you soon.\nUser: What else can I do there? \nChloe: Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.", "user_task": "你要向 Chloe 询问健身房的位置，以及讨要毛巾，做好开始运动的准备。", "user_scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "user_knowledge": "Where can I find the gym？我在哪里能找到健身房？\nCan I have a towel please?？我能要一条毛巾吗？\nWhat else can I do there? 我在那儿还能做些什么？"}}}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_image
type_name: 看图说话
level: L1
unit_id: U14
knowledge_points_raw:
  winter
  cold
  snow

image_info_json: {"questionImg": "0000800_question.png"}
status: generated
bitable_token: KBOXwzVHfin6ORkKbA3c3eWEnoh
db_table: core_interaction_component
created_at: 2026-05-08 17:25:44
updated_at: 2026-05-08 17:25:44
raw_config:
[cell repeats an earlier one in this file: 559 characters]

final_config_json:
[cell repeats an earlier one in this file: 609 characters]

kp_info_json:
[cell repeats an earlier one in this file: 462 characters]

task_info_json:
[cell repeats an earlier one in this file: 609 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"type": "npc", "npcName": "Rock", "content": "What season is it?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock 老师问你现在是什么季节哦，你需要告诉他现在的季节。", "index": 0}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒啦！你答对了现在是冬天，请大声朗读这句话吧！"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“寒冷的”，但老师现在问的是现在是什么季节，和问题不符哦。请仔细听清问题，告诉老师现在的季节。"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“雪”，但老师现在问的是现在是什么季节，和问题不符哦。请仔细听清问题，告诉老师现在的季节。"}}], "answer": [0], "read": {"type": "npc", "npcName": "User", "content": "Winter."}}]}, {"leadIn": {"type": "npc", "npcName": "Rock", "content": "Is it hot or cold?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock 老师现在问你天气是热还是冷，你需要告诉他冬天的天气感受。", "index": 1}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“冬天”，但老师现在问的是天气是热还是冷，和问题不符哦。请仔细听清问题，告诉老师冬天的天气感受。"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒啦！你答对了冬天天气很冷，请大声朗读这句话吧！"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“雪”，但老师现在问的是天气是热还是冷，和问题不符哦。请仔细听清问题，告诉老师冬天的天气感受。"}}], "answer": [1], "read": {"type": "npc", "npcName": "User", "content": "Cold."}}]}, {"leadIn": {"type": "npc", "npcName": "Rock", "content": "What do you see in winter?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock 老师问你在冬天能看到什么，你需要告诉他冬天的典型景物。", "index": 2}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“冬天”，但老师现在问的是你在冬天能看到什么东西，和问题不符哦。请仔细听清问题，告诉老师冬天的典型景物。"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“寒冷的”，但老师现在问的是你在冬天能看到什么东西，和问题不符哦。请仔细听清问题，告诉老师冬天的典型景物。"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒啦！你答对了冬天可以看到雪，请大声朗读这句话吧！"}}], "answer": [2], "read": {"type": "npc", "npcName": "User", "content": "Snow."}, "feedback": {"type": "npc", "npcName": "Rock", "content": "You did a great job sharing what you know about winter!"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你完成了本次和Rock老师的互动学习！你不仅准确回答了关于冬季的季节、天气和典型景物的相关问题，还掌握了对应的英文表达，收获满满哦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 中间回合1\nRock: What season is it?\nBrainy: Rock 老师问你现在是什么季节哦，你需要告诉他现在的季节。\n用户选项:\n（选项 A）Winter. [正确]\n  Brainy: 太棒啦！你答对了现在是冬天，请大声朗读这句话吧！\n（选项 B）Cold.\n  Brainy: 这句话的意思是“寒冷的”，但老师现在问的是现在是什么季节，和问题不符哦。请仔细听清问题，告诉老师现在的季节。\n（选项 C）Snow.\n  Brainy: 这句话的意思是“雪”，但老师现在问的是现在是什么季节，和问题不符哦。请仔细听清问题，告诉老师现在的季节。\n\n# 中间回合2\nRock: Is it hot or cold?\nBrainy: Rock 老师现在问你天气是热还是冷，你需要告诉他冬天的天气感受。\n用户选项:\n（选项 A）Winter.\n  Brainy: 这句话的意思是“冬天”，但老师现在问的是天气是热还是冷，和问题不符哦。请仔细听清问题，告诉老师冬天的天气感受。\n（选项 B）Cold. [正确]\n  Brainy: 太棒啦！你答对了冬天天气很冷，请大声朗读这句话吧！\n（选项 C）Snow.\n  Brainy: 这句话的意思是“雪”，但老师现在问的是天气是热还是冷，和问题不符哦。请仔细听清问题，告诉老师冬天的天气感受。\n\n# 中间回合3\nRock: What do you see in winter?\nBrainy: Rock 老师问你在冬天能看到什么，你需要告诉他冬天的典型景物。\n用户选项:\n（选项 A）Winter.\n  Brainy: 这句话的意思是“冬天”，但老师现在问的是你在冬天能看到什么东西，和问题不符哦。请仔细听清问题，告诉老师冬天的典型景物。\n（选项 B）Cold.\n  Brainy: 这句话的意思是“寒冷的”，但老师现在问的是你在冬天能看到什么东西，和问题不符哦。请仔细听清问题，告诉老师冬天的典型景物。\n（选项 C）Snow. [正确]\n  Brainy: 太棒啦！你答对了冬天可以看到雪，请大声朗读这句话吧！\n\n# 结尾回合\nBrainy: 你已经和 Rock 老师分享完了在冬季岛的所见所得，任务完成啦！\n```", "语音识别热词": "Mr Rock,Winter Island,winter,cold,snow,season,hot"}

dialog_config_json:
  {"config": {"asrPrompt": "Mr Rock,Winter Island,winter,cold,snow,season,hot", "promptInfo": {"user_scene": "Mr Rock 要给我们煮东西吃，看着暖腾腾的热气，听着咕咚咚的水声，闻着香飘飘的味道，心里美滋滋。等待开饭的时间里，和 Mr Rock 聊聊天吧。", "user_task": "回答 Mr Rock 的问题", "user_knowledge": "winter 冬天\ncold 冷的\nsnow  雪", "pass_condition": "用户说出：\n1. 冬天\n2. 冷的\n3. 雪", "reference_dialog": "NPC: What season is it?\nUser: Winter.\nNPC: Is it hot or cold?\nUser: Cold.\nNPC: What do you see in winter?\nUser: Snow.", "questionList": [{"type": "npc", "npcName": "Rock", "content": "What season is it?", "index": 0, "answerText": "Winter."}, {"type": "npc", "npcName": "Rock", "content": "Is it hot or cold?", "index": 1, "answerText": "Cold."}, {"type": "npc", "npcName": "Rock", "content": "What do you see in winter?", "index": 2, "answerText": "Snow."}]}}}

option_list_json:
[cell repeats an earlier one in this file: 111 characters]

question_list_json:
[cell repeats an earlier one in this file: 322 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_drag
type_name: 听力拖拽
level: L1
unit_id: U14
knowledge_points_raw:
  between
  duck
  next to

status: generated
bitable_token: K3QrwQnWqiPBm1krhnNcWDTqnhe
db_table: core_interaction_component
created_at: 2026-05-08 17:25:48
updated_at: 2026-05-08 17:25:48
raw_config:
[cell repeats an earlier one in this file: 635 characters]

final_config_json:
  {"cType": "core_listening_drag", "cId": "0000800", "title": "指挥大家赶鸭子", "sceneDesc": "鸭子大乱斗！手忙脚乱没有用，你现在得和伙伴们一起协作，把到处跑的鸭子赶进水里。快说说你的计划吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "between", "desc": "prep. 在……中间"}, {"type": "default", "content": "next to", "desc": "prep. 紧邻"}, {"type": "default", "content": "duck", "desc": "n. 鸭子"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "You took on the fun task of guiding everyone to herd the ducks, and picked out the right steps from the three presented options to make all the little ducks waddle safely back to their pen. (你接到了指挥大家赶鸭子的有趣任务，从三个展示的方案里选出了合适的步骤，让所有小鸭子都摇摇摆摆安全回到了鸭圈。)"}

kp_info_json:
[cell repeats an earlier one in this file: 497 characters]

task_info_json:
  {"cType": "core_listening_drag", "cId": "0000800", "title": "指挥大家赶鸭子", "sceneDesc": "鸭子大乱斗！手忙脚乱没有用，你现在得和伙伴们一起协作，把到处跑的鸭子赶进水里。快说说你的计划吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "between", "desc": "prep. 在……中间"}, {"type": "default", "content": "next to", "desc": "prep. 紧邻"}, {"type": "default", "content": "duck", "desc": "n. 鸭子"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "You took on the fun task of guiding everyone to herd the ducks, and picked out the right steps from the three presented options to make all the little ducks waddle safely back to their pen. (你接到了指挥大家赶鸭子的有趣任务，从三个展示的方案里选出了合适的步骤，让所有小鸭子都摇摇摆摆安全回到了鸭圈。)"}

study_info_json:
  {"learningPart": [{"type": "npc", "npcName": "Brainy", "content": "Go between the red duck and the blue duck.", "learning": [{"question": {"content": "刚刚听到的音频中，包含了一个关键短语 between...and...，意思是“在……和……之间”，用来描述两个事物中间的位置哦。", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "仔细听音频内容，选出你听到的句子吧。", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "Go behind the red duck and the blue duck.", "feedback": {"type": "npc", "content": "哎呀，这句话里的方位词是behind，意思是“在……后面”，不是我们听到的between哦，再听一遍试试看~", "npcName": "Brainy"}}, {"option": "Go between the red duck and the blue duck.", "feedback": {"type": "npc", "content": "太厉害啦！你准确听出了句子里的方位短语between...and...！", "npcName": "Brainy"}}], "answer": [1]}, {"question": {"content": "Go between the red duck and the blue duck.", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "“走到红色的鸭子和蓝色的鸭子中间去”，这句话的意思是这个吗？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "对 / Yes", "feedback": {"type": "npc", "content": "答对啦！你完全理解了between...and...的意思，太棒了！", "npcName": "Brainy"}}, {"option": "错 / No", "feedback": {"type": "npc", "content": "不对哦，仔细看看句子里的方位描述，再想想between的意思，重新选一次吧~", "npcName": "Brainy"}}], "answer": [0]}]}], "closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：Go between the red duck and the blue duck.\n讲解文本：刚刚听到的音频中，包含了一个关键短语 between...and...，意思是“在……和……之间”，用来描述两个事物中间的位置哦。\n1. 听音选句\nBrainy：仔细听音频内容，选出你听到的句子吧。\n- Go behind the red duck and the blue duck.\n  - Brainy：哎呀，这句话里的方位词是behind，意思是“在……后面”，不是我们听到的between哦，再听一遍试试看~\n- Go between the red duck and the blue duck. [正确]\n  - Brainy：太厉害啦！你准确听出了句子里的方位短语between...and...！\n\n2. 听音选意\nBrainy：“走到红色的鸭子和蓝色的鸭子中间去”，这句话的意思是这个吗？\n- 对 / Yes [正确]\n  - Brainy：答对啦！你完全理解了between...and...的意思，太棒了！\n- 错 / No\n  - Brainy：不对哦，仔细看看句子里的方位描述，再想想between的意思，重新选一次吧~\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You took on the fun task of guiding everyone to herd the ducks, and picked out the right steps from the three presented options to make all the little ducks waddle safely back to their pen. (你接到了指挥大家赶鸭子的有趣任务，从三个展示的方案里选出了合适的步骤，让所有小鸭子都摇摇摆摆安全回到了鸭圈。)"}

question_list_json:
[cell repeats an earlier one in this file: 260 characters]

dialog_list_json:
  [[{"type": "npc", "npcName": "Matt", "content": "Where should I go?", "trans": "我该去哪里？", "isPoint": false}, {"type": "user", "content": "Go between the red duck and the blue duck.", "trans": "走到红鸭子和蓝鸭子中间去。", "isPoint": false}, {"type": "user", "content": "Don't let them fight.", "trans": "别让它们打架。", "isPoint": false}], [{"type": "npc", "npcName": "Ben", "content": "What about me?", "trans": "那我呢？", "isPoint": false}, {"type": "user", "content": "You are next to the blue duck.", "trans": "你在蓝鸭子旁边。", "isPoint": false}], [{"type": "npc", "npcName": "Amber", "content": "And me? Where should I be?", "trans": "那我呢？我该待在哪里？", "isPoint": false}, {"type": "user", "content": "You are next to the red duck.", "trans": "你在红鸭子旁边。", "isPoint": false}, {"type": "user", "content": "Get it into the water!", "trans": "把它弄到水里去！", "isPoint": false}]]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_choose
type_name: 听力选择
level: L1
unit_id: U14
knowledge_points_raw: summerhotshortstrousersCould you...It feels...
status: generated
bitable_token: Kwrcw6A4jip2sxkdLn4czd1knvf
db_table: core_interaction_component
created_at: 2026-05-08 17:25:57
updated_at: 2026-05-08 17:25:57
raw_config:
[cell repeats an earlier one in this file: 1095 characters]

final_config_json:
  {"cType": "core_listening_choose", "cId": "0000800", "title": "请求路边钓鱼的叔叔帮忙", "sceneDesc": "心心念念的短裤原来卡在石头间了，快抓紧时间请钓鱼叔叔帮忙钓上来吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "summer", "desc": "n. 夏天"}, {"type": "default", "content": "hot", "desc": "adj. 热的"}, {"type": "default", "content": "trousers", "desc": "n. 长裤"}, {"type": "default", "content": "shorts", "desc": "n. 短裤"}, {"type": "default", "content": "It feels...", "desc": "感觉......"}, {"type": "default", "content": "Could you...", "desc": "可以请你......吗？"}]}], "resourceMapping": {"Vicky": 658}, "cDesc": "You heard the conversation between Jack and the kid, learning that the season is summer and the weather is very hot.（你听了Jack和小朋友的对话，知道现在是夏天，天气非常热。）\nYou found out from the talk that the kid doesn't have shorts right now and needs to get a pair of shorts.（你从对话中了解到小朋友现在没有短裤，需要拿到一条短裤。）\nYou knew the kid's shorts are between the rocks, so Jack should help the kid get the shorts there.（你知道小朋友的短裤在岩石之间，所以Jack应该帮小朋友去那里拿短裤。）"}

kp_info_json:
[cell repeats an earlier one in this file: 898 characters]

task_info_json:
  {"cType": "core_listening_choose", "cId": "0000800", "title": "请求路边钓鱼的叔叔帮忙", "sceneDesc": "心心念念的短裤原来卡在石头间了，快抓紧时间请钓鱼叔叔帮忙钓上来吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "summer", "desc": "n. 夏天"}, {"type": "default", "content": "hot", "desc": "adj. 热的"}, {"type": "default", "content": "trousers", "desc": "n. 长裤"}, {"type": "default", "content": "shorts", "desc": "n. 短裤"}, {"type": "default", "content": "It feels...", "desc": "感觉......"}, {"type": "default", "content": "Could you...", "desc": "可以请你......吗？"}]}], "resourceMapping": {"Vicky": 658}, "cDesc": "You heard the conversation between Jack and the kid, learning that the season is summer and the weather is very hot.（你听了Jack和小朋友的对话，知道现在是夏天，天气非常热。）\nYou found out from the talk that the kid doesn't have shorts right now and needs to get a pair of shorts.（你从对话中了解到小朋友现在没有短裤，需要拿到一条短裤。）\nYou knew the kid's shorts are between the rocks, so Jack should help the kid get the shorts there.（你知道小朋友的短裤在岩石之间，所以Jack应该帮小朋友去那里拿短裤。）"}

study_info_json:
  {"learningPart": [{"type": "npc", "npcName": "Brainy", "content": "This summer!", "learning": [{"question": {"content": "刚刚听到的音频中，包含了关键短语 summer，意思是夏天，是一年中天气最炎热的季节哦。", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "仔细听音频，选出你听到的句子吧。", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "This winter!", "feedback": {"type": "npc", "content": "不对哦，这句话里的单词是winter（冬天），不是我们听到的summer，再试试呀。", "npcName": "Brainy"}}, {"option": "This summer!", "feedback": {"type": "npc", "content": "太厉害啦！你准确听出了句子里的重点单词summer！", "npcName": "Brainy"}}], "answer": [1]}, {"question": {"content": "This summer!", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "这句话的中文意思是“这个夏天”，对不对呀？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "错 / No", "feedback": {"type": "npc", "content": "再想想哦，summer对应的是夏天，不是其他季节，再选一次吧。", "npcName": "Brainy"}}, {"option": "对 / Yes", "feedback": {"type": "npc", "content": "太棒啦！你完全掌握了summer的意思，真聪明！", "npcName": "Brainy"}}], "answer": [1]}]}], "closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：This summer!\n讲解文本：刚刚听到的音频中，包含了关键短语 summer，意思是夏天，是一年中天气最炎热的季节哦。\n1. 听音选句\nBrainy：仔细听音频，选出你听到的句子吧。\n- This winter!\n  - Brainy：不对哦，这句话里的单词是winter（冬天），不是我们听到的summer，再试试呀。\n- This summer! [正确]\n  - Brainy：太厉害啦！你准确听出了句子里的重点单词summer！\n\n2. 听音选意\nBrainy：这句话的中文意思是“这个夏天”，对不对呀？\n- 错 / No\n  - Brainy：再想想哦，summer对应的是夏天，不是其他季节，再选一次吧。\n- 对 / Yes [正确]\n  - Brainy：太棒啦！你完全掌握了summer的意思，真聪明！\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You heard the conversation between Jack and the kid, learning that the season is summer and the weather is very hot.（你听了Jack和小朋友的对话，知道现在是夏天，天气非常热。）\nYou found out from the talk that the kid doesn't have shorts right now and needs to get a pair of shorts.（你从对话中了解到小朋友现在没有短裤，需要拿到一条短裤。）\nYou knew the kid's shorts are between the rocks, so Jack should help the kid get the shorts there.（你知道小朋友的短裤在岩石之间，所以Jack应该帮小朋友去那里拿短裤。）"}

question_group_json:
  [{"preDialog": [{"type": "npc", "npcName": "Jack", "content": "Hello, kiddo. What's the matter?"}], "dialogList": [{"type": "npc", "npcName": "Jack", "content": "Why is your face so red?", "trans": "你的脸怎么这么红？", "isPoint": false}, {"type": "user", "content": "This summer! It feels so hot!", "trans": "今年夏天！天气太热了！", "isPoint": false}, {"type": "npc", "npcName": "Jack", "content": "Do you have any shorts?", "trans": "你有短裤吗？", "isPoint": false}, {"type": "user", "content": "No, I don't have shorts.", "trans": "不，我没有短裤。", "isPoint": false}, {"type": "user", "content": "I need the shorts between those rocks.", "trans": "我需要那些岩石中间的短裤。", "isPoint": false}, {"type": "npc", "npcName": "Jack", "content": "I see.", "trans": "我明白了。", "isPoint": false}, {"type": "user", "content": "Could you help me get the shorts?", "trans": "你能帮我拿一下短裤吗？", "isPoint": false}, {"type": "user", "content": "Please!", "trans": "拜托了！", "isPoint": false}], "questionList": [{"type": "npc", "npcName": "Sue", "content": "What season is it?", "optionList": [{"option": "0000800_option_00.png", "feedback": {"type": "npc", "npcName": "Jack", "content": "I don't think so."}}, {"option": "0000800_option_01.png", "feedback": {"type": "npc", "npcName": "Jack", "content": "Yes. It is summer. It is hot."}}, {"option": "0000800_option_02.png", "feedback": {"type": "npc", "npcName": "Jack", "content": "I don't think so."}}], "answer": [1]}, {"type": "npc", "npcName": "Sue", "content": "What do you need?", "optionList": [{"option": "T-shirt.", "feedback": {"type": "npc", "npcName": "Jack", "content": "I didn't see it."}}, {"option": "Trousers.", "feedback": {"type": "npc", "npcName": "Jack", "content": "I didn't see them."}}, {"option": "Shorts.", "feedback": {"type": "npc", "npcName": "Jack", "content": "Got it."}}], "answer": [2]}, {"type": "npc", "npcName": "Sue", "content": "What should Jack do?", "optionList": [{"option": "0000800_option_03.png", "feedback": {"type": "npc", "npcName": "Jack", "content": "Got it."}}, {"option": "0000800_option_04.png", "feedback": {"type": "npc", "npcName": "Jack", "content": "I can't do that."}}, {"option": "0000800_option_05.png", "feedback": {"type": "npc", "npcName": "Jack", "content": "I can't do that."}}], "answer": [0]}], "postDialog": []}]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_order
type_name: 合作听力
level: L1
unit_id: U14
knowledge_points_raw:
  bake（词义）
  healthy（词义）
  money（词义）
  cake（词义）
  alcohol（词义）

status: generated
bitable_token: FrxtwNRQDizqiikPkATcBzTCnYe
db_table: core_interaction_component
created_at: 2026-05-08 17:25:57
updated_at: 2026-05-08 17:25:57
raw_config:
[cell repeats an earlier one in this file: 2377 characters]

final_config_json:
[cell repeats an earlier one in this file: 557 characters]

kp_info_json:
[cell repeats an earlier one in this file: 739 characters]

task_info_json:
[cell repeats an earlier one in this file: 557 characters]

material_info_json:
[cell repeats an earlier one in this file: 2596 characters]

flow_info_json:
[cell repeats an earlier one in this file: 122 characters]

study_info_json:
  {"closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}, "learningPart": [{"leadIn": {"type": "npc", "content": "When you really want sweet food, like biscuits or cake, you can bake at home.", "npcName": "Brainy"}, "content": "刚刚听到的音频中，包含了一个关键动词短语 bake at home，意思是在家烘焙，指自己在家里制作糕点类食物的行为。", "type": "npc", "npcName": "Brainy", "learning": [{"answer": [1], "meaning": "听音选句", "optionList": [{"feedback": {"type": "npc", "content": "不对哦，句子里说的是在家做甜点，不是去商店买，再仔细听听音频吧~", "npcName": "Brainy"}, "option": "When you really want sweet food, like biscuits or cake, you can buy at the shop."}, {"feedback": {"type": "npc", "content": "太厉害啦！你准确听出了句子里的重点短语 bake at home！", "npcName": "Brainy"}, "option": "When you really want sweet food, like biscuits or cake, you can bake at home."}], "question": {"type": "npc", "content": "仔细听音频内容，选出你听到的正确句子哦。", "npcName": "Brainy"}}, {"answer": [0], "meaning": "听音选意", "optionList": [{"feedback": {"type": "npc", "content": "完全正确！你不仅理解了整句话的意思，还掌握了 bake at home 这个实用短语哦，太棒啦！", "npcName": "Brainy"}, "option": "当你很想吃饼干、蛋糕这类甜食的时候，你可以在家烘焙制作。"}, {"feedback": {"type": "npc", "content": "这句话说的不是去外面餐厅吃哦，再仔细回忆一下句子里的动作是什么吧~", "npcName": "Brainy"}, "option": "当你很想吃饼干、蛋糕这类甜食的时候，你可以去外面的餐厅吃。"}], "question": {"type": "npc", "content": "现在我们来看看这句话的正确中文意思是什么吧~", "npcName": "Brainy"}}]}]}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：When you really want sweet food, like biscuits or cake, you can bake at home.\n讲解文本：刚刚听到的音频中，包含了一个关键动词短语 bake at home，意思是在家烘焙，指自己在家里制作糕点类食物的行为。\n1. 听音选句\nBrainy：仔细听音频内容，选出你听到的正确句子哦。\n- When you really want sweet food, like biscuits or cake, you can buy at the shop.\n  - Brainy：不对哦，句子里说的是在家做甜点，不是去商店买，再仔细听听音频吧~\n- When you really want sweet food, like biscuits or cake, you can bake at home. [正确]\n  - Brainy：太厉害啦！你准确听出了句子里的重点短语 bake at home！\n\n2. 听音选意\nBrainy：现在我们来看看这句话的正确中文意思是什么吧~\n- 当你很想吃饼干、蛋糕这类甜食的时候，你可以在家烘焙制作。[正确]\n  - Brainy：完全正确！你不仅理解了整句话的意思，还掌握了 bake at home 这个实用短语哦，太棒啦！\n- 当你很想吃饼干、蛋糕这类甜食的时候，你可以去外面的餐厅吃。\n  - Brainy：这句话说的不是去外面餐厅吃哦，再仔细回忆一下句子里的动作是什么吧~\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You listened to the second part of Max's fitness guide, learning a healthy routine needs going to bed on time and getting up early, and staying away from smoking and alcohol. (你听了Max健身指南的第二部分，了解到健康的作息需要早睡早起，远离烟酒。)\nYou also learned that keeping healthy doesn't need much money or expensive things, and good habits are the most important for a healthy life. (你还了解到保持健康不需要很多钱或者昂贵的物品，好习惯对健康生活来说才是最重要的。)"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_imgMakeSentence
type_name: 看图组句
level: L1
unit_id: U14
knowledge_points_raw: terrible
status: generated
bitable_token: BkmtwUBwMiHd5Ak7VS6ccE9SnHd
db_table: core_interaction_component
created_at: 2026-05-08 17:26:42
updated_at: 2026-05-08 17:26:43
raw_config:
[cell repeats an earlier one in this file: 911 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_imgMakeSentence", "title": "报告飞船坠毁事件", "taskDesc": "请根据图片内容，用英文写一段求救报告，说明你们现在的处境、遇到的困难和需要的帮助。", "sceneDesc": "在森林中，Otis、Skylar 和你通过小熊猫 Bam 和无人机照片搜集到了关于飞船坠落的重要线索。你们需要将这些信息整理并汇报给 Luisa 教授，以便确定飞船的具体坠落位置。", "img": "", "plotSummary": "I saw a very cute kitten in the pet shop yesterday. The pattern on his body is black and white, like a cow. It's a month old and perfect for breeding.", "stemDesc": ["0000800-01.png", "0000800-00.png"], "key": [{"keyList": [{"type": "default", "content": "I think the spaceship fell...", "desc": "我认为飞船坠落在……"}, {"type": "default", "content": "I saw trees with...", "desc": "我看到有…… 的树。"}, {"type": "default", "content": "I heard a loud noise in...", "desc": "我听到…… 方向有巨大的声音。"}]}], "cDesc": "Dear Alex, I hope this email finds you well. We can take care of each other.（亲爱的亚历克斯：希望你一切都好。我们可以互相照顾。）"}

kp_info_json:
[cell repeats an earlier one in this file: 704 characters]

task_info_json:
[cell repeats an earlier one in this file: 867 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"image": "0000800-01.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你和伙伴们整理完线索后，准备向Luisa教授汇报飞船可能的坠落位置，首先你要表达自己对飞船坠落地点的判断，你会怎么说？"}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！这句话正好可以用来引出你对飞船坠落位置的判断，非常符合现在汇报的场景。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是描述你看到的树木特征，不是直接表达对飞船坠落位置的判断哦，再试试吧。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是说你听到某个方向有巨响，是在描述声音相关的线索，不是表达坠落位置的判断，再想一想~"}}], "answer": [0], "write": {"desc": "I think the spaceship fell...", "trans": "我认为飞船坠落在……"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-00.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你在无人机照片里看到了带有灼烧痕迹的树木，现在要向教授描述这个关键线索，你会怎么说？"}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来表达你对坠落位置的判断，不是描述你看到的树木特征哦，再试一次。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你用这句话刚好可以引出树木的特殊特征，完美对应你要描述的线索内容。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是描述你听到的声响线索，不是描述看到的树木情况哦，不符合当前的表达需求~"}}], "answer": [1], "write": {"desc": "I saw trees with...", "trans": "我看到有……的树。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "你要向教授补充当时听到巨响的方位信息，帮助进一步确定坠落位置，你会怎么描述这个线索？"}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是表达你对坠落位置的判断，不是描述听到声响的方位哦，再想想吧。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是描述看到的树木特征，和你要说明的声音线索不匹配哦，再试一次。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太对啦！这句话正好可以用来描述你听到巨响的方位，能给教授提供很重要的位置参考信息~"}}], "answer": [2], "write": {"desc": "I heard a loud noise in...", "trans": "我听到……方向有巨大的声音。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，可以使用准确的句型 I think the spaceship fell...、I saw trees with... 和 I heard a loud noise in...，清晰地向教授汇报飞船坠落的位置判断、树木特征线索和声响方位线索，完成了求救报告的相关内容写作！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你和伙伴们整理完线索后，准备向Luisa教授汇报飞船可能的坠落位置，首先你要表达自己对飞船坠落地点的判断，你会怎么说？\n用户选项:\n（选项 A）I think the spaceship fell... [正确]\n  Brainy: 答对啦！这句话正好可以用来引出你对飞船坠落位置的判断，非常符合现在汇报的场景。\n（选项 B）I saw trees with...\n  Brainy: 这句话是描述你看到的树木特征，不是直接表达对飞船坠落位置的判断哦，再试试吧。\n（选项 C）I heard a loud noise in...\n  Brainy: 这句话是说你听到某个方向有巨响，是在描述声音相关的线索，不是表达坠落位置的判断，再想一想~\n\n# 问题2：\nBrainy: 你在无人机照片里看到了带有灼烧痕迹的树木，现在要向教授描述这个关键线索，你会怎么说？\n用户选项:\n（选项 A）I think the spaceship fell...\n  Brainy: 这句话是用来表达你对坠落位置的判断，不是描述你看到的树木特征哦，再试一次。\n（选项 B）I saw trees with... [正确]\n  Brainy: 太棒了！你用这句话刚好可以引出树木的特殊特征，完美对应你要描述的线索内容。\n（选项 C）I heard a loud noise in...\n  Brainy: 这句话是描述你听到的声响线索，不是描述看到的树木情况哦，不符合当前的表达需求~\n\n# 问题3：\nBrainy: 你要向教授补充当时听到巨响的方位信息，帮助进一步确定坠落位置，你会怎么描述这个线索？\n用户选项:\n（选项 A）I think the spaceship fell...\n  Brainy: 这句话是表达你对坠落位置的判断，不是描述听到声响的方位哦，再想想吧。\n（选项 B）I saw trees with...\n  Brainy: 这句话是描述看到的树木特征，和你要说明的声音线索不匹配哦，再试一次。\n（选项 C）I heard a loud noise in... [正确]\n  Brainy: 太对啦！这句话正好可以用来描述你听到巨响的方位，能给教授提供很重要的位置参考信息~\n```", "互动描述": "Dear Alex, I hope this email finds you well. We can take care of each other.（亲爱的亚历克斯：希望你一切都好。我们可以互相照顾。）"}

text_info_json:
[cell repeats an earlier one in this file: 544 characters]

eval_info_json:
[cell repeats an earlier one in this file: 848 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_questionMakeSentence
type_name: 邮件组句
level: L1
unit_id: U14
knowledge_points_raw:
  That's why we have to...（结构）
  The job is...（结构）When will you arrive? （语义）

status: generated
bitable_token: M5oTwUP6wiImC4kVJU8cRYnfnyf
db_table: core_interaction_component
created_at: 2026-05-08 17:26:52
updated_at: 2026-05-08 17:26:52
raw_config:
[cell repeats an earlier one in this file: 975 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_questionMakeSentence", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["What is your opinion on the job?", "Why do you want to stay?", "Ask her when to come."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡，我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呢？你什么时候会到？）"}

kp_info_json:
[cell repeats an earlier one in this file: 1253 characters]

task_info_json:
  {"cId": "0000800", "cType": "core_writing_questionMakeSentence", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["What is your opinion on the job?", "Why do you want to stay?", "Ask her when to come."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡，我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呢？你什么时候会到？）"}

study_info_json:
  {"learningPart": [{"leadIn": {"desc": "What is your opinion on the job?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你在邮件中要向Rebecca说明这项探索任务对你们的重要性，现在需要补全句子“The ____ is important for us."}, "optionList": [{"option": "job", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！这里指的是你们这次探索Wander Port的任务，是单数，所以用job完全正确哦。"}}, {"option": "jobs", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，句子里的be动词是is，说明主语是单数，jobs是复数形式，和is不匹配，再想想呀。"}}, {"option": "projects", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，projects是“项目”的复数形式，不仅和句中的is不匹配，也不符合这里指代单个探索任务的语境，再试一下吧。"}}], "answer": [0], "write": {"desc": "The job is important for us.", "trans": "这项工作对我们来说很重要。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Why do you want to stay?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你要向Rebecca解释你们必须留下来的原因，现在需要补全句子“That's ____ we have to stay."}, "optionList": [{"option": "why", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！“That's why...”是固定表达，用来引出原因，刚好符合你解释留下来的理由的语境哦。"}}, {"option": "how", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，how是用来询问方式的，这里你是要说明留下来的原因，不是说留下来的方式，不合适哦。"}}, {"option": "which", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，which通常用来引导定语从句指代事物，这里需要引出原因状语，不符合句子逻辑，再想想呀。"}}], "answer": [0], "write": {"desc": "That's why we have to stay.", "trans": "这就是为什么我们必须留下来。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Ask her when to come."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你已经问了Rebecca会不会来Wander Port，现在想要进一步询问她抵达的时间，你会怎么说呢？"}, "optionList": [{"option": "When will you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完全正确！你准确地用一般将来时询问了Rebecca抵达的时间，非常符合邮件里的语境哦。"}}, {"option": "When is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，arrive是实义动词，在疑问句中需要和助动词搭配，不能用be动词is，而且is和主语you也不搭配哦，再试一下吧。"}}, {"option": "How is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，首先你要问的是时间不是方式，不需要用how，其次动词搭配和主谓一致也有错误，再调整一下呀。"}}], "answer": [0], "write": {"desc": "When will you arrive?", "trans": "你什么时候会到？"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，你已经掌握了短语“The job is...”、“That's why we have to...”以及句子“When will you arrive?”的用法，成功完成了给Rebecca的邮件编写！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你在邮件中要向Rebecca说明这项探索任务对你们的重要性，现在需要补全句子“The ____ is important for us.”\n用户选项:\n（选项 A）job [正确]\n  Brainy: 答对啦！这里指的是你们这次探索Wander Port的任务，是单数，所以用job完全正确哦。\n（选项 B）jobs\n  Brainy: 不对哦，句子里的be动词是is，说明主语是单数，jobs是复数形式，和is不匹配，再想想呀。\n（选项 C）projects\n  Brainy: 不对哦，projects是“项目”的复数形式，不仅和句中的is不匹配，也不符合这里指代单个探索任务的语境，再试一下吧。\n\n# 问题2：\nBrainy: 你要向Rebecca解释你们必须留下来的原因，现在需要补全句子“That's ____ we have to stay.”\n用户选项:\n（选项 A）why [正确]\n  Brainy: 太棒了！“That's why...”是固定表达，用来引出原因，刚好符合你解释留下来的理由的语境哦。\n（选项 B）how\n  Brainy: 不对哦，how是用来询问方式的，这里你是要说明留下来的原因，不是说留下来的方式，不合适哦。\n（选项 C）which\n  Brainy: 不对哦，which通常用来引导定语从句指代事物，这里需要引出原因状语，不符合句子逻辑，再想想呀。\n\n# 问题3：\nBrainy: 你已经问了Rebecca会不会来Wander Port，现在想要进一步询问她抵达的时间，你会怎么说呢？\n用户选项:\n（选项 A）When will you arrive? [正确]\n  Brainy: 完全正确！你准确地用一般将来时询问了Rebecca抵达的时间，非常符合邮件里的语境哦。\n（选项 B）When is you arrive?\n  Brainy: 不对哦，arrive是实义动词，在疑问句中需要和助动词搭配，不能用be动词is，而且is和主语you也不搭配哦，再试一下吧。\n（选项 C）How is you arrive?\n  Brainy: 不对哦，首先你要问的是时间不是方式，不需要用how，其次动词搭配和主谓一致也有错误，再调整一下呀。\n```", "互动描述": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡，我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呢？你什么时候会到？）"}

text_info_json:
[cell repeats an earlier one in this file: 789 characters]

eval_info_json:
  {"title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "knowledge": "The job is... \n这份工作......\nThat's why we have to... \n这就是为什么我们必须……\nWhen will you arrive? \n你什么时候会到？", "passCondition": "用户写出：这份工作很重要。这就是我们为什么要留下。你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,"}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port. "}, {"mode": "fillingInput", "desc": "The ___ is important for us.", "optionList": [{"option": "job"}, {"option": "jobs"}, {"option": "projects"}], "answer": [0]}, {"mode": "fillingInput", "desc": "That's ___ we have to stay.", "optionList": [{"option": "why"}, {"option": "how"}, {"option": "which"}], "answer": [0]}, {"mode": "preset", "desc": "Will you come to Wander Port some day? "}, {"mode": "fillingInput", "desc": " ___ you arrive?", "optionList": [{"option": "When will"}, {"option": "When is"}, {"option": "How is"}], "answer": [0]}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_imgWrite
type_name: 看图撰写
level: L1
unit_id: U14
knowledge_points_raw:
  elephant（词形）
  banana（词形）
  shower（词形）
  ... love(s) to...（结构）

status: generated
bitable_token: KwPHwnaqdiWlvNkDm5fcFreDnQh
db_table: core_interaction_component
created_at: 2026-05-08 17:26:52
updated_at: 2026-05-08 17:26:52
raw_config:
[cell repeats an earlier one in this file: 770 characters]

final_config_json:
[cell repeats an earlier one in this file: 789 characters]

kp_info_json:
[cell repeats an earlier one in this file: 629 characters]

task_info_json:
[cell repeats an earlier one in this file: 789 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"image": "0000800-00.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你现在要填写护理报告的“动物种类”栏，需要在横线上填上对应的动物名称，你应该写什么呢？"}, "optionList": [{"option": "Elephant", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！你准确填出了动物是大象，这部分的记录完成得很棒~"}}, {"option": "Banana", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，banana是香蕉，属于食物，不是动物种类，再想想我们今天照顾的是什么动物呀？"}}, {"option": "Shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，shower是洗澡的意思，是我们给大象做的清洁项目，不是动物种类，再试一下吧。"}}], "answer": [0], "write": {"desc": "Elephant", "trans": "大象"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-01.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "接下来要填喂食记录，句子是“She ate ___”，你需要在横线上填上大象今天吃的食物，应该选哪个呀？"}, "optionList": [{"option": "bananas", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太好啦！你记住了大象今天吃了香蕉，喂食记录填写正确~"}}, {"option": "elephants", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，elephant是大象本身，总不能大象吃大象呀，它今天吃的是甜甜的水果，再想想吧。"}}, {"option": "a shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，a shower是洗澡，这是清洁项目不是食物，可不能填在吃东西的记录里哦。"}}], "answer": [0], "write": {"desc": "She ate bananas.", "trans": "她吃了香蕉。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-02.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "现在到清洁记录部分了，句子是“She had ___ today”，要填上今天给大象做的清洁项目，你该选哪个呢？"}, "optionList": [{"option": "a shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确填出了今天给大象洗了澡，清洁记录搞定啦~"}}, {"option": "bananas", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，bananas是香蕉，是吃的食物，不是清洁项目，填在这里不符合清洁记录的要求哦。"}}, {"option": "elephant", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，elephant是我们照顾的动物，不是清洁项目，再想想我们刚刚给大象做了什么清洁工作呀？"}}], "answer": [0], "write": {"desc": "She had a shower today.", "trans": "她今天洗了澡。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-02.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "最后要总结大象的喜好，需要用“... love(s) ...”的句式说明大象喜欢什么，你该怎么说呢？"}, "optionList": [{"option": "The elephant loves showers and bananas!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完美！你准确总结出了大象喜爱洗澡和香蕉，还正确用上了“love”的表达，整份护理记录都完成啦！"}}, {"option": "The elephant loves showers and fish!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，我们今天没有喂大象吃鱼，它吃的是香蕉，要结合我们今天做的护理内容来描述哦。"}}, {"option": "The keeper loves elephants and bananas!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，我们要描述的是大象的喜好，不是饲养员的喜好，主语搞错啦，再调整一下吧。"}}], "answer": [0], "write": {"desc": "The elephant loves showers and bananas!", "trans": "这头大象喜欢洗澡和香蕉！"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，可以使用准确的单词 elephant、banana、shower，以及句式 ... love(s) to...，描述了三张图中的各个细节!"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你现在要填写护理报告的“动物种类”栏，需要在横线上填上对应的动物名称，你应该写什么呢？\n用户选项:\n（选项 A）Elephant [正确]\n  Brainy: 答对啦！你准确填出了动物是大象，这部分的记录完成得很棒~\n（选项 B）Banana\n  Brainy: 不对哦，banana是香蕉，属于食物，不是动物种类，再想想我们今天照顾的是什么动物呀？\n（选项 C）Shower\n  Brainy: 不对哦，shower是洗澡的意思，是我们给大象做的清洁项目，不是动物种类，再试一下吧。\n\n# 问题2：\nBrainy: 接下来要填喂食记录，句子是“She ate ___”，你需要在横线上填上大象今天吃的食物，应该选哪个呀？\n用户选项:\n（选项 A）bananas [正确]\n  Brainy: 太好啦！你记住了大象今天吃了香蕉，喂食记录填写正确~\n（选项 B）elephants\n  Brainy: 不对哦，elephant是大象本身，总不能大象吃大象呀，它今天吃的是甜甜的水果，再想想吧。\n（选项 C）a shower\n  Brainy: 不对哦，a shower是洗澡，这是清洁项目不是食物，可不能填在吃东西的记录里哦。\n\n# 问题3：\nBrainy: 现在到清洁记录部分了，句子是“She had ___ today”，要填上今天给大象做的清洁项目，你该选哪个呢？\n用户选项:\n（选项 A）a shower [正确]\n  Brainy: 太棒了！你正确填出了今天给大象洗了澡，清洁记录搞定啦~\n（选项 B）bananas\n  Brainy: 不对哦，bananas是香蕉，是吃的食物，不是清洁项目，填在这里不符合清洁记录的要求哦。\n（选项 C）elephant\n  Brainy: 不对哦，elephant是我们照顾的动物，不是清洁项目，再想想我们刚刚给大象做了什么清洁工作呀？\n\n# 问题4：\nBrainy: 最后要总结大象的喜好，需要用“... love(s) ...”的句式说明大象喜欢什么，你该怎么说呢？\n用户选项:\n（选项 A）The elephant loves showers and bananas! [正确]\n  Brainy: 完美！你准确总结出了大象喜爱洗澡和香蕉，还正确用上了“love”的表达，整份护理记录都完成啦！\n（选项 B）The elephant loves showers and fish!\n  Brainy: 不对哦，我们今天没有喂大象吃鱼，它吃的是香蕉，要结合我们今天做的护理内容来描述哦。\n（选项 C）The keeper loves elephants and bananas!\n  Brainy: 不对哦，我们要描述的是大象的喜好，不是饲养员的喜好，主语搞错啦，再调整一下吧。\n```", "互动描述": "Animal Keeper's Record Animal type: Elephant Food: She ate bananas. Cleaning: She had a shower today. What does she love? The elephant loves showers and bananas!（动物饲养员记录\n动物种类：大象\n食物：她吃了香蕉。\n清洁：她今天洗了澡。\n她喜欢什么呢？\n这头大象喜欢洗澡和香蕉！）"}

text_info_json:
  {"inputType": "write", "passCondition": "说明动物类型是大象。说明大象吃了香蕉。说明大象洗了澡。表达大象喜欢香蕉和洗澡。", "textList": [{"mode": "preset", "desc": "Animal Keeper's Record"}, {"mode": "fillingInput", "desc": "Animal type: ___ ", "answerText": "Elephant", "hint": "动物种类：大象（Elephant）"}, {"mode": "fillingInput", "desc": "Food: She ate ___ .", "answerText": "bananas", "hint": "食物：她吃了香蕉（bananas）。"}, {"mode": "fillingInput", "desc": "Cleaning: She had ___ today. ", "answerText": "a shower", "hint": "清洁：她今天洗了澡（a shower）。"}, {"mode": "preset", "desc": "What does she love?"}, {"mode": "universalInput", "answerText": "The elephant loves showers and bananas!", "hint": "这头大象喜欢洗澡和香蕉！（The elephant loves showers and bananas!）"}]}

eval_info_json:
  {"title": "填写大象护理记录", "taskDesc": "根据图片内容，填写大象护理报告。", "sceneDesc": "粗心的大象饲养员忘记给大象洗澡了！真是照顾不周。你们给大象洗了澡，还喂了香蕉，现在把这些都记在护理记录上吧！", "knowledge": "elephant n. 大象\nbanana n. 香蕉\nshower n. 淋浴、洗澡\n... love(s) to... ……喜爱……", "passCondition": "说明动物类型是大象。说明大象吃了香蕉。说明大象洗了澡。表达大象喜欢香蕉和洗澡。", "textList": [{"mode": "preset", "desc": "Animal Keeper's Record"}, {"mode": "fillingInput", "desc": "Animal type: ___ ", "answerText": "Elephant", "hint": "动物种类：大象（Elephant）"}, {"mode": "fillingInput", "desc": "Food: She ate ___ .", "answerText": "bananas", "hint": "食物：她吃了香蕉（bananas）。"}, {"mode": "fillingInput", "desc": "Cleaning: She had ___ today. ", "answerText": "a shower", "hint": "清洁：她今天洗了澡（a shower）。"}, {"mode": "preset", "desc": "What does she love?"}, {"mode": "universalInput", "answerText": "The elephant loves showers and bananas!", "hint": "这头大象喜欢洗澡和香蕉！（The elephant loves showers and bananas!）"}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_spell
type_name: 信息拼词
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: X0sPb1KERarvocs4rb3cK35AnFg
db_table: middle_interaction_component
created_at: 2026-05-08 17:27:00
updated_at: 2026-05-08 17:27:01
raw_config:
[cell repeats an earlier one in this file: 121 characters]

final_config_json:
  {"cType": "mid_message_spell", "cId": "0000800", "title": "购买葡萄", "resourceMapping": {"Vicky": 658}, "cDesc": "You bought the fresh grapes successfully. (你成功买到了新鲜的葡萄。)", "question": {"desc": "请填入“葡萄”的正确的英文拼写"}, "tip": "葡萄的英文是 grape / 第二个字母是 r 哦，再想想最后一个空应该填什么吧", "inputConfig": [{"stem": "G（2）pe", "value": "ra"}], "stemList": ["h", "a", "r", "l", "e", "w"], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 226 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_questionWrite
type_name: 邮件撰写
level: L1
unit_id: U14
knowledge_points_raw: That's why we have to...（结构）The job is...（结构）When will you arrive? （语义）
status: generated
bitable_token: Brn0wldKYizsLZkBqK6clp1tnKd
db_table: core_interaction_component
created_at: 2026-05-08 17:27:02
updated_at: 2026-05-08 17:27:02
raw_config:
[cell repeats an earlier one in this file: 863 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_questionWrite", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["Tell her your decision and why.", "Ask her when she will arrive."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呀？如果来的话，你什么时候会到呢？）"}

kp_info_json:
[cell repeats an earlier one in this file: 309 characters]

task_info_json:
  {"cId": "0000800", "cType": "core_writing_questionWrite", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["Tell her your decision and why.", "Ask her when she will arrive."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呀？如果来的话，你什么时候会到呢？）"}

study_info_json:
  {"learningPart": [{"leadIn": {"desc": "Tell her your decision and why."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你写邮件开头回应Rebecca的担心后，想要说明这份探索任务对你们很重要，接下来该怎么表达呢？"}, "optionList": [{"option": "The job is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！你准确表达了“这份工作（探索任务）对我们很重要”的含义，符合邮件里说明任务价值的语境哦。"}}, {"option": "The jobs are important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，这里我们说的是留在Wander Port探索这一项任务，是单数，jobs是复数形式，不符合语境，再试一下吧。"}}, {"option": "The projects are important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，projects是“项目”的复数形式，我们这里要表达的是单数的“任务/工作”的含义，和语境不符，再试一下吧。"}}], "answer": [0], "write": {"desc": "The job is important for us.", "trans": "这份工作对我们来说很重要。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "你已经说明了探索任务的重要性，接下来要告诉Rebecca这就是你们必须留下来的原因，该怎么说呢？"}, "optionList": [{"option": "That's how we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，how是用来表示方式的，这里你要说明的是留下来的原因，这个词不符合句意，再试一下吧。"}}, {"option": "That's why we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你准确使用了“That's why...”的结构来解释原因，完美表达了“这就是为什么我们必须留下来”的意思，非常贴合邮件语境。"}}, {"option": "That's which we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，which通常用来引导定语从句指代事物，不能用来引导表语从句说明原因，这个表达不符合语法哦，再试一下吧。"}}], "answer": [1], "write": {"desc": "That's why we have to stay.", "trans": "这就是为什么我们必须留下来。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Ask her when she will arrive."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你问完Rebecca是否会来Wander Port之后，想要进一步询问她如果来的话什么时候到达，该怎么说呢？"}, "optionList": [{"option": "If so, when is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，arrive是实义动词，疑问句里需要用助动词will而不是be动词is，而且is和第二人称you也不搭配，这个表达有语法错误，再试一下吧。"}}, {"option": "If so, how is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，how是询问方式的，这里你要问的是到达的时间，同时这个句子也存在语法错误，不符合要求，再试一下吧。"}}, {"option": "If so, when will you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太厉害啦！你准确用“when will you arrive”询问了对方的到达时间，符合邮件里询问Rebecca行程的语境，表达完全正确。"}}], "answer": [2], "write": {"desc": "If so, when will you arrive?", "trans": "如果来的话，你什么时候会到呢？"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，你掌握了短语The job is...、That's why we have to...和句型When will you arrive?，可以准确完成给Rebecca的邮件撰写啦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你写邮件开头回应Rebecca的担心后，想要说明这份探索任务对你们很重要，接下来该怎么表达呢？\n用户选项:\n（选项 A）The job is important for us. [正确]\n  Brainy: 答对啦！你准确表达了“这份工作（探索任务）对我们很重要”的含义，符合邮件里说明任务价值的语境哦。\n（选项 B）The jobs are important for us.\n  Brainy: 不对哦，这里我们说的是留在Wander Port探索这一项任务，是单数，jobs是复数形式，不符合语境，再试一下吧。\n（选项 C）The projects are important for us.\n  Brainy: 不对哦，projects是“项目”的复数形式，我们这里要表达的是单数的“任务/工作”的含义，和语境不符，再试一下吧。\n\n# 问题2：\nBrainy: 你已经说明了探索任务的重要性，接下来要告诉Rebecca这就是你们必须留下来的原因，该怎么说呢？\n用户选项:\n（选项 A）That's how we have to stay.\n  Brainy: 不对哦，how是用来表示方式的，这里你要说明的是留下来的原因，这个词不符合句意，再试一下吧。\n（选项 B）That's why we have to stay. [正确]\n  Brainy: 太棒了！你准确使用了“That's why...”的结构来解释原因，完美表达了“这就是为什么我们必须留下来”的意思，非常贴合邮件语境。\n（选项 C）That's which we have to stay.\n  Brainy: 不对哦，which通常用来引导定语从句指代事物，不能用来引导表语从句说明原因，这个表达不符合语法哦，再试一下吧。\n\n# 问题3：\nBrainy: 你问完Rebecca是否会来Wander Port之后，想要进一步询问她如果来的话什么时候到达，该怎么说呢？\n用户选项:\n（选项 A）If so, when is you arrive?\n  Brainy: 不对哦，arrive是实义动词，疑问句里需要用助动词will而不是be动词is，而且is和第二人称you也不搭配，这个表达有语法错误，再试一下吧。\n（选项 B）If so, how is you arrive?\n  Brainy: 不对哦，how是询问方式的，这里你要问的是到达的时间，同时这个句子也存在语法错误，不符合要求，再试一下吧。\n（选项 C）If so, when will you arrive? [正确]\n  Brainy: 太厉害啦！你准确用“when will you arrive”询问了对方的到达时间，符合邮件里询问Rebecca行程的语境，表达完全正确。\n```", "互动描述": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?\n（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呀？如果来的话，你什么时候会到呢？）"}

text_info_json:
  {"inputType": "write", "passCondition": "1. 这份工作很重要 2. 这就是我们为什么要留下 3. 你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,", "answerText": "Dear Rebecca,"}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port.", "answerText": "I know you are worried. But this is our best chance to explore Wander Port."}, {"mode": "fillingInput", "desc": "The ____ is important for us.", "answerText": "job", "hint": "这份工作（job）对我们很重要。"}, {"mode": "fillingInput", "desc": "That's ____ we have to stay.", "answerText": "why", "hint": "这就是为什么（why）我们必须留下。"}, {"mode": "preset", "desc": "Will you come to Wander Port some day?", "answerText": "Will you come to Wander Port some day?"}, {"mode": "fillingInput", "desc": "If so, _________ you arrive?", "answerText": "when will", "hint": "如果是这样的话，你什么时候会（when will）到达？"}]}

eval_info_json:
  {"title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "knowledge": "The job is... 这份工作......That's why we have to... 这就是为什么我们必须……When will you arrive? 你什么时候会到？", "passCondition": "1. 这份工作很重要 2. 这就是我们为什么要留下 3. 你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,", "answerText": "Dear Rebecca,"}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port.", "answerText": "I know you are worried. But this is our best chance to explore Wander Port."}, {"mode": "fillingInput", "desc": "The ____ is important for us.", "answerText": "job", "hint": "这份工作（job）对我们很重要。"}, {"mode": "fillingInput", "desc": "That's ____ we have to stay.", "answerText": "why", "hint": "这就是为什么（why）我们必须留下。"}, {"mode": "preset", "desc": "Will you come to Wander Port some day?", "answerText": "Will you come to Wander Port some day?"}, {"mode": "fillingInput", "desc": "If so, _________ you arrive?", "answerText": "when will", "hint": "如果是这样的话，你什么时候会（when will）到达？"}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_fillin
type_name: 信息补词
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
raw_config:
  【任务标题】
  填写信息表
  【互动内容】
  任务描述：请在空白处填入正确的字母，组成完整单词
  题干：K(3)ledge
  答案：now
  辅助信息：需要填入的单词的中文释义是“知识”

status: generated
bitable_token: FxwMb8MJmarcRsso2tQcV8thn5g
db_table: middle_interaction_component
created_at: 2026-05-08 17:27:04
updated_at: 2026-05-08 17:27:04
final_config_json:
  {"cType": "mid_message_fillin", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled in the word \"knowledge\". (你填写了单词“知识”。)", "question": {"desc": "请在空白处填入正确的字母，组成完整单词"}, "tip": "需要填入的单词的中文释义是“知识”", "inputConfig": [{"stem": "K(3)ledge", "value": "now"}], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 227 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_combine
type_name: 信息组句
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: TXYobOAuaakk6KslHp9caUB7nXa
db_table: middle_interaction_component
created_at: 2026-05-08 17:27:05
updated_at: 2026-05-08 17:27:05
raw_config:
[cell repeats an earlier one in this file: 170 characters]

final_config_json:
  {"cType": "mid_message_combine", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled out the form with \"Is Maeve the visitor you invited?\". (你用“梅芙是你邀请的客人吗？”填好了信息表。)", "question": {"desc": "请在空白处填入正确的单词，组成句子"}, "tip": "可以用 is 引导的一般疑问句询问；you invited 是 visitor 的后置定语", "optionList": [{"option": "is"}, {"option": "the visitor"}, {"option": "you invited"}, {"option": "Maeve"}], "answer": [0, 3, 1, 2], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 228 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_word
type_name: 信息填词
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
raw_config:
  【任务标题】
  填写信息表
  【互动内容】
  任务描述：请在空白处填入合适的单词，使句意完整
  答案：knowledge, information
  辅助信息：需要填入的单词的中文释义是“知识”

status: generated
bitable_token: ElRebtQe3aeCyOsRjg6cEniznwg
db_table: middle_interaction_component
created_at: 2026-05-08 17:27:06
updated_at: 2026-05-08 17:27:06
final_config_json:
  {"cType": "mid_message_word", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled in \"knowledge\" and \"information\" correctly. (你正确填入了“knowledge”和“information”两个单词。)", "question": {"desc": "请在空白处填入合适的单词，使句意完整"}, "tip": "需要填入的单词的中文释义是“知识”", "answer": ["knowledge", "information"], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 225 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_sentence
type_name: 信息填句
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: CNFgbIIszaPWXfsekt7cCZjHnVh
db_table: middle_interaction_component
created_at: 2026-05-08 17:27:12
updated_at: 2026-05-08 17:27:12
raw_config:
[cell repeats an earlier one in this file: 176 characters]

final_config_json:
  {"cType": "mid_message_sentence", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled the correct content to complete the sentence. (你填好了正确内容，使句子完整。)", "question": {"desc": "请填入正确的内容，使句意完整"}, "tip": "你可以使用 The main purpose of this tour is...", "answerHint": "The main purpose of this tour is to learn knowledge about local traditional crafts.", "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 229 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_sequence
type_name: 图片有序
level: L1
unit_id: U14
knowledge_points_raw: ... one by one.
status: generated
bitable_token: BZWebQROpagkJ0sxArGcsBjwnCU
db_table: middle_interaction_component
created_at: 2026-05-08 17:27:17
updated_at: 2026-05-08 17:27:17
raw_config:
[cell repeats an earlier one in this file: 180 characters]

final_config_json:
  {"cType": "mid_image_sequence", "cId": "0000800", "title": "排序跳格子顺序", "meaning": "", "resourceMapping": {"Vicky": 658}, "question": {"desc": "We must go $one by one$."}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}, {"option": "0000800_option_03.png"}], "answer": [0, 1, 2, 3], "preDialog": [], "tip": "one by one指\"一个接一个\"", "corFeedback": {}, "errFeedback": {"type": "npc", "npcName": "Dan", "content": "We can't jump like that."}, "postDialog": [], "cDesc": "You arrange the hopscotch order one by one. (你一个接一个地排列跳格子的顺序。)"}

kp_info_json:
[cell repeats an earlier one in this file: 225 characters]


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_fillin
type_name: 对话挖空
level: L1
unit_id: U11
knowledge_points_raw: bat
raw_config:
  S4主线
  自动
  对话挖空
  1111404
  732-Matt
  棒球特训
  告诉 Matt

status: generated
bitable_token: X6nHbUztFaGY5tsSHnKcmeJtnm5
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:17
updated_at: 2026-05-08 18:05:17
final_config_json:
  {"cType": "mid_dialog_fillin", "cId": "1111404", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {}, "optionGroupList": [], "corFeedback": {}, "errFeedback": {}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_fillin", "cId": "1111404", "kpInfo": [{"kpId": "1111114", "kpType": "vocab", "kpTitle": "bat", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111114", "type": "vocab", "title": "bat", "vala_level": "L1", "en_desc": "a long wooden stick used to hit the ball in games like baseball or cricket"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_fillin
type_name: 对话挖空
level: L1
unit_id: U11
raw_config:
  S2主线
  自动
  对话挖空
  1111402
  732-Matt
  棒球特训
  去找 Matt

status: generated
bitable_token: X6nHbUztFaGY5tsSHnKcmeJtnm5
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:19
updated_at: 2026-05-08 18:05:19
final_config_json:
  {"cType": "mid_dialog_fillin", "cId": "1111402", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {"type": "user", "desc": "", "content": ""}, "optionGroupList": [], "corFeedback": {}, "errFeedback": {}, "postDialog": []}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_choose
type_name: 对话选择
level: L1
unit_id: U11
knowledge_points_raw: arm
raw_config:
  S5主线
  自动
  对话选择
  1111405
  732-Matt
  最佳击球手
  学习击球动作

status: generated
bitable_token: MsETbgiUAaG8h4sct0ycTOzGnfb
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:20
updated_at: 2026-05-08 18:05:20
final_config_json:
  {"cType": "mid_dialog_choose", "cId": "1111405", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "optionList": [], "answer": [], "corFeedback": {}, "errFeedback": {}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_choose", "cId": "1111405", "kpInfo": [{"kpId": "1111116", "kpType": "vocab", "kpTitle": "arm", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111116", "type": "vocab", "title": "arm", "vala_level": "L1", "en_desc": "the part of the body from the shoulder to the hand"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_image_multiple
type_name: 图片多选
level: L1
unit_id: U11
knowledge_points_raw: baseball
raw_config:
  S1主线
  图片多选
  1111401
  314-Pos
  棒球特训
  找出所有的棒球

status: generated
bitable_token: XZo5bwagdau3VvsTDL9cJPrInQd
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:21
updated_at: 2026-05-08 18:05:21
final_config_json:
  {"cType": "mid_image_multiple", "cId": "1111401", "title": "", "meaning": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "imageInfo": {"questionImg": "1111401_question.png", "answerImg": "1111401_answer.png"}, "optionList": [], "answer": [], "preDialog": [], "tip": "", "corFeedback": {}, "errFeedback": {}, "postDialog": [], "cDesc": "请你补充完整互动的目标关键词、相关场景等必要信息，我会按照要求生成对应的叙事描述。"}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_image_multiple", "cId": "1111401", "kpInfo": [{"kpId": "1111113", "kpType": "vocab", "kpTitle": "baseball", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111113", "type": "vocab", "title": "baseball", "vala_level": "L1", "en_desc": "a game played with a bat and ball by two teams of nine players each on a large field."}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_repeat
type_name: 对话朗读
level: L1
unit_id: U11
knowledge_points_raw: Are you...?
raw_config:
  S8主线
  自动
  对话朗读
  1111408
  732-Matt
  王牌棒球赛
  关心 Matt

status: generated
bitable_token: MuwubKXoSaJe55sO4k9c63VSnmh
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:24
updated_at: 2026-05-08 18:05:24
final_config_json:
  {"cType": "mid_dialog_repeat", "cId": "1111408", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {"type": "user", "content": ""}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_repeat", "cId": "1111408", "kpInfo": [{"kpId": "1111007", "kpType": "sentence", "kpTitle": "Are you...?", "kpSkill": "sentence_meaning", "kpSkillName": "语义", "candidates": [{"kp_id": "1111007", "type": "sentence", "title": "Are you...?", "vala_level": "L1", "en_desc": ""}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_image_choose
type_name: 图片单选
level: L1
unit_id: U11
knowledge_points_raw: hit
raw_config:
  S6主线
  自动
  图片单选
  1111406
  732-Matt
  最佳击球手
  击中棒球

status: generated
bitable_token: XyIVbYciraBkoasJtV1c3N5Gnhh
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:25
updated_at: 2026-05-08 18:05:25
final_config_json:
  {"cType": "mid_image_choose", "cId": "1111406", "title": "", "meaning": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "question": {}, "imageInfo": {"questionImg": "1111406_question.png", "answerImg": "1111406_answer.png"}, "optionList": [], "answer": [], "preDialog": [], "tip": "", "corFeedback": {}, "errFeedback": {}, "postDialog": [], "cDesc": "请您提供包含目标关键词等完整的互动相关信息，我才能为您生成符合要求的句子哦。"}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_image_choose", "cId": "1111406", "kpInfo": [{"kpId": "1111115", "kpType": "vocab", "kpTitle": "hit", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111115", "type": "vocab", "title": "hit", "vala_level": "L1", "en_desc": "to touch someone or something quickly and hard with your hand or a tool"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_image_choose
type_name: 图片单选
level: L1
unit_id: U11
knowledge_points_raw: bat
raw_config:
  S3主线
  图片单选
  1111403
  315-Pos
  棒球特训
  选出球棒

status: generated
bitable_token: XyIVbYciraBkoasJtV1c3N5Gnhh
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:25
updated_at: 2026-05-08 18:05:25
final_config_json:
  {"cType": "mid_image_choose", "cId": "1111403", "title": "", "meaning": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "question": {}, "imageInfo": {"questionImg": "1111403_question.png", "answerImg": "1111403_answer.png"}, "optionList": [], "answer": [], "preDialog": [], "tip": "", "corFeedback": {}, "errFeedback": {}, "postDialog": [], "cDesc": "Please find the correct position of the target word in the picture.（请在图中找出目标单词对应的正确位置。）"}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_image_choose", "cId": "1111403", "kpInfo": [{"kpId": "1111114", "kpType": "vocab", "kpTitle": "bat", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111114", "type": "vocab", "title": "bat", "vala_level": "L1", "en_desc": "a long wooden stick used to hit the ball in games like baseball or cricket"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_select
type_name: 对话选读
level: L1
unit_id: U11
knowledge_points_raw: baseball
raw_config:
  S7主线
  自动
  对话选读
  1111407
  732-Matt
  最佳击球手
  表达对棒球的喜爱

status: generated
bitable_token: GsNEbjVVYarWqpsNanTcf8UnnPf
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:27
updated_at: 2026-05-08 18:05:27
final_config_json:
  {"cType": "mid_dialog_select", "cId": "1111407", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "optionList": [], "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_select", "cId": "1111407", "kpInfo": [{"kpId": "1111113", "kpType": "vocab", "kpTitle": "baseball", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111113", "type": "vocab", "title": "baseball", "vala_level": "L1", "en_desc": "a game played with a bat and ball by two teams of nine players each on a large field."}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_repeat
type_name: 对话朗读
level: L1
unit_id: U11
knowledge_points_raw: hit
raw_config:
  S10主线
  自动
  对话朗读
  1111410
  589-Tom
  王牌棒球赛
  向 Tom 解释

status: generated
bitable_token: MuwubKXoSaJe55sO4k9c63VSnmh
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:27
updated_at: 2026-05-08 18:05:27
final_config_json:
  {"cType": "mid_dialog_repeat", "cId": "1111410", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {"type": "user", "content": ""}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_repeat", "cId": "1111410", "kpInfo": [{"kpId": "1111115", "kpType": "vocab", "kpTitle": "hit", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111115", "type": "vocab", "title": "hit", "vala_level": "L1", "en_desc": "to touch someone or something quickly and hard with your hand or a tool"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_fillin
type_name: 对话挖空
level: L1
unit_id: U11
knowledge_points_raw: Are you...?
raw_config:
  S11主线
  自动
  对话挖空
  1111411
  732-Matt
  王牌棒球赛
  查看 Matt 的情况

status: generated
bitable_token: X6nHbUztFaGY5tsSHnKcmeJtnm5
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:27
updated_at: 2026-05-08 18:05:27
final_config_json:
  {"cType": "mid_dialog_fillin", "cId": "1111411", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {}, "optionGroupList": [], "corFeedback": {}, "errFeedback": {}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_fillin", "cId": "1111411", "kpInfo": [{"kpId": "1111007", "kpType": "sentence", "kpTitle": "Are you...?", "kpSkill": "sentence_meaning", "kpSkillName": "语义", "candidates": [{"kp_id": "1111007", "type": "sentence", "title": "Are you...?", "vala_level": "L1", "en_desc": ""}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_fillin
type_name: 对话挖空
level: L1
unit_id: U11
knowledge_points_raw: arm
raw_config:
  S12主线
  自动
  对话挖空
  1111412
  732-Matt
  王牌棒球赛
  关心 Matt 的手臂

status: generated
bitable_token: X6nHbUztFaGY5tsSHnKcmeJtnm5
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:29
updated_at: 2026-05-08 18:05:29
final_config_json:
  {"cType": "mid_dialog_fillin", "cId": "1111412", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {}, "optionGroupList": [], "corFeedback": {}, "errFeedback": {}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_fillin", "cId": "1111412", "kpInfo": [{"kpId": "1111116", "kpType": "vocab", "kpTitle": "arm", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111116", "type": "vocab", "title": "arm", "vala_level": "L1", "en_desc": "the part of the body from the shoulder to the hand"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_repeat
type_name: 对话朗读
level: L1
unit_id: U11
knowledge_points_raw: You should...
raw_config:
  S13主线
  自动
  对话朗读
  1111413
  732-Matt
  王牌棒球赛
  让 Matt 去休息

status: generated
bitable_token: MuwubKXoSaJe55sO4k9c63VSnmh
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:30
updated_at: 2026-05-08 18:05:30
final_config_json:
  {"cType": "mid_dialog_repeat", "cId": "1111413", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {"type": "user", "content": ""}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_repeat", "cId": "1111413", "kpInfo": [{"kpId": "1111008", "kpType": "sentence", "kpTitle": "You should...", "kpSkill": "sentence_meaning", "kpSkillName": "语义", "candidates": [{"kp_id": "1111008", "type": "sentence", "title": "  You should...", "vala_level": "L1", "en_desc": ""}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_express
type_name: 对话表达
level: L1
unit_id: U11
knowledge_points_raw: hit
raw_config:
  S9主线
  自动
  对话表达
  1111409
  732-Matt
  王牌棒球赛
  为Matt加油

status: generated
bitable_token: IC2kbvgP0aLrj7sfzZicIozZn1e
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:31
updated_at: 2026-05-08 18:05:31
final_config_json:
  {"cType": "mid_dialog_express", "cId": "1111409", "title": "", "asrPrompt": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "tip": "", "corFeedback": {}, "errFeedback": {}, "question": {"desc": ""}, "example": {"type": "npc", "npcName": "", "content": ""}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_express", "cId": "1111409", "kpInfo": [{"kpId": "1111115", "kpType": "vocab", "kpTitle": "hit", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111115", "type": "vocab", "title": "hit", "vala_level": "L1", "en_desc": "to touch someone or something quickly and hard with your hand or a tool"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_fillin
type_name: 对话挖空
level: L1
unit_id: U11
knowledge_points_raw: You should...
raw_config:
  S14主线
  自动
  对话挖空
  1111414
  732-Matt
  王牌教练
  提出建议

status: generated
bitable_token: X6nHbUztFaGY5tsSHnKcmeJtnm5
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:31
updated_at: 2026-05-08 18:05:31
final_config_json:
  {"cType": "mid_dialog_fillin", "cId": "1111414", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {}, "optionGroupList": [], "corFeedback": {}, "errFeedback": {}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_fillin", "cId": "1111414", "kpInfo": [{"kpId": "1111008", "kpType": "sentence", "kpTitle": "You should...", "kpSkill": "sentence_meaning", "kpSkillName": "语义", "candidates": [{"kp_id": "1111008", "type": "sentence", "title": "  You should...", "vala_level": "L1", "en_desc": ""}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_select
type_name: 对话选读
level: L1
unit_id: U11
knowledge_points_raw: Are you...?
raw_config:
  S16主线
  自动
  对话选读
  1111416
  732-Matt
  王牌教练
  询问 Matt

status: generated
bitable_token: GsNEbjVVYarWqpsNanTcf8UnnPf
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:34
updated_at: 2026-05-08 18:05:34
final_config_json:
  {"cType": "mid_dialog_select", "cId": "1111416", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "optionList": [], "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_select", "cId": "1111416", "kpInfo": [{"kpId": "1111007", "kpType": "sentence", "kpTitle": "Are you...?", "kpSkill": "sentence_meaning", "kpSkillName": "语义", "candidates": [{"kp_id": "1111007", "type": "sentence", "title": "Are you...?", "vala_level": "L1", "en_desc": ""}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_express
type_name: 对话表达
level: L1
unit_id: U11
knowledge_points_raw: hit
raw_config:
  S17主线
  自动
  对话表达
  1111417
  316-Pos
  王牌教练
  击球准备

status: generated
bitable_token: IC2kbvgP0aLrj7sfzZicIozZn1e
db_table: middle_interaction_component
created_at: 2026-05-08 18:05:35
updated_at: 2026-05-08 18:05:35
final_config_json:
  {"cType": "mid_dialog_express", "cId": "1111417", "title": "", "asrPrompt": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "corFeedback": {}, "errFeedback": {}, "question": {"desc": ""}, "example": {}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_express", "cId": "1111417", "kpInfo": [{"kpId": "1111115", "kpType": "vocab", "kpTitle": "hit", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111115", "type": "vocab", "title": "hit", "vala_level": "L1", "en_desc": "to touch someone or something quickly and hard with your hand or a tool"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: core
cType: core_speaking_image
type_name: 看图说话
level: L1
unit_id: U11
knowledge_points_raw:
  hit
  arm
  bat

raw_config:
  S15主线
  看图说话
  1111415
  589-Tom
  王牌教练
  向 Tom 说明发生了什么

final_config_json: {}
intermediate_json: {"学习流程配置": "无", "语音识别热词": "无"}
image_info_json: {"questionImg": "1111415_question.png"}
status: generated
bitable_token: KBOXwzVHfin6ORkKbA3c3eWEnoh
db_table: core_interaction_component
created_at: 2026-05-08 18:05:43
updated_at: 2026-05-08 18:05:43
dialog_config_json:
  {"config": {"asrPrompt": "无", "promptInfo": {"user_scene": "", "user_task": "", "user_knowledge": "", "pass_condition": "", "reference_dialog": "", "questionList": []}}}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
knowledge_points_raw: afternoon
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:20
updated_at: 2026-05-08 18:43:20
raw_config:
  【组件类型】对话互动
  【知识点】afternoon / go to space
  【问题】今天下午他们要做什么？
  【选项】
  A. 去太空玩
  B. 去上学
  C. 去购物
  【正确答案】A
  【关联对话】
  User: This afternoon, we go to space!

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010002", "title": "", "asrPrompt": "", "preDialog": [], "question": {"mode": "read", "type": "user", "content": "This afternoon, we go to space!"}, "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [], "meaning": "", "resourceMapping": {}}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_sentence_dialogue", "cId": "0010002", "kpInfo": [{"kpId": null, "kpType": "vocab", "kpTitle": "afternoon", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": []}]}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:21
updated_at: 2026-05-08 18:43:21
raw_config:
  【组件类型】对话互动
  【知识点】book / broken
  【问题】故事书出什么问题了？
  【选项】
  A. 书页缺失了
  B. 书脏了
  C. 书太旧了
  【正确答案】A
  【关联对话】
  Dad: The book is broken. Some pages are gone!

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010003", "title": "", "asrPrompt": "", "preDialog": [], "question": {"mode": "choice", "type": "user", "content": "故事书出什么问题了？", "options": [{"option": "A", "content": "书页缺失了"}, {"option": "B", "content": "书脏了"}, {"option": "C", "content": "书太旧了"}], "correctAnswer": "A"}, "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [{"type": "npc", "npcName": "Dad", "content": "The book is broken. Some pages are gone!"}], "meaning": "知识点：book / broken", "resourceMapping": {}}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:21
updated_at: 2026-05-08 18:43:21
raw_config:
  【组件类型】对话互动
  【知识点】button / yellow
  【问题】电视机按钮是什么颜色的？
  【选项】
  A. 黄色
  B. 绿色
  C. 蓝色
  D. 红色
  【正确答案】A
  【关联对话】
  Dad: Press the yellow button!
  User: Wrong button, helper!

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010006", "title": "", "asrPrompt": "", "preDialog": [], "question": {"mode": "", "type": "", "content": "电视机按钮是什么颜色的？"}, "options": [{"label": "A", "content": "黄色"}, {"label": "B", "content": "绿色"}, {"label": "C", "content": "蓝色"}, {"label": "D", "content": "红色"}], "correctAnswer": "A", "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [{"type": "npc", "npcName": "Dad", "content": "Press the yellow button!"}, {"type": "user", "content": "Wrong button, helper!"}], "meaning": "", "resourceMapping": {}}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
knowledge_points_raw: afternoon
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:21
updated_at: 2026-05-08 18:43:21
raw_config:
  【组件类型】对话互动
  【知识点】afternoon / stay at home
  【问题】爸爸今天下午会待在家里吗？
  【选项】
  A. 是
  B. 否
  C. 不知道
  【正确答案】A
  【关联对话】
  Dad: We have the whole afternoon, dear.
  User: Are you staying home all afternoon?
  Dad: Yes, dear.

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010001", "title": "爸爸今天下午会待在家里吗？", "asrPrompt": "", "preDialog": [{"type": "npc", "npcName": "Dad", "content": "We have the whole afternoon, dear."}], "question": {"mode": "read", "type": "user", "content": "Are you staying home all afternoon?"}, "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [{"type": "npc", "npcName": "Dad", "content": "Yes, dear."}], "meaning": "知识点：afternoon / stay at home", "resourceMapping": {}}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_sentence_dialogue", "cId": "0010001", "kpInfo": [{"kpId": null, "kpType": "vocab", "kpTitle": "afternoon", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": []}]}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:25
updated_at: 2026-05-08 18:43:25
raw_config:
  【组件类型】对话互动
  【知识点】space rock / ahead
  【问题】飞船前方有什么？
  【选项】
  A. 太空陨石
  B. 星星
  C. 月亮
  【正确答案】A
  【关联对话】
  Dad: There are many space rocks ahead!

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010008", "title": "", "asrPrompt": "", "preDialog": [], "question": {"mode": "choice", "type": "user", "content": "飞船前方有什么？", "options": [{"label": "A", "value": "太空陨石"}, {"label": "B", "value": "星星"}, {"label": "C", "value": "月亮"}], "answer": "A"}, "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [{"type": "npc", "npcName": "Dad", "content": "There are many space rocks ahead!"}], "meaning": "知识点：space rock / ahead", "resourceMapping": {}}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
knowledge_points_raw: What's wrong with the...
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:25
updated_at: 2026-05-08 18:43:25
raw_config:
  【组件类型】对话互动
  【知识点】What's wrong with...? / spaceship
  【问题】What's wrong with the spaceship? 这句话的意思是？
  【选项】
  A. 飞船怎么了？
  B. 飞船在哪？
  C. 飞船多少钱？
  【正确答案】A
  【关联对话】
  User: What's wrong with the spaceship?

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010007", "title": "What's wrong with...? / spaceship知识点考查", "asrPrompt": "", "preDialog": [], "question": {"mode": "choose", "type": "user", "content": "What's wrong with the spaceship? 这句话的意思是？", "options": [{"label": "A", "content": "飞船怎么了？"}, {"label": "B", "content": "飞船在哪？"}, {"label": "C", "content": "飞船多少钱？"}], "correctAnswer": "A"}, "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [{"type": "user", "content": "What's wrong with the spaceship?"}], "meaning": "掌握句型What's wrong with...?及单词spaceship的用法", "resourceMapping": {}}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_sentence_dialogue", "cId": "0010007", "kpInfo": [{"kpId": null, "kpType": "sentence", "kpTitle": "What's wrong with the...", "kpSkill": "sentence_meaning", "kpSkillName": "语义", "candidates": []}]}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:25
updated_at: 2026-05-08 18:43:25
raw_config:
  【组件类型】对话互动
  【知识点】button / blue
  【问题】哪个按钮可以清理太空陨石？
  【选项】
  A. 黄色
  B. 绿色
  C. 蓝色
  D. 红色
  【正确答案】C
  【关联对话】
  User: Press the blue button.

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010010", "title": "哪个按钮可以清理太空陨石？", "asrPrompt": "", "preDialog": [], "question": {"mode": "read", "type": "user", "content": "Press the blue button."}, "options": [{"label": "A", "content": "黄色"}, {"label": "B", "content": "绿色"}, {"label": "C", "content": "蓝色"}, {"label": "D", "content": "红色"}], "correctAnswer": "C", "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [], "meaning": "知识点：button / blue", "resourceMapping": {}}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
knowledge_points_raw: armchair
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:26
updated_at: 2026-05-08 18:43:26
raw_config:
  【组件类型】对话互动
  【知识点】armchair / seat
  【问题】扶手椅是谁的座位？
  【选项】
  A. 船长User的
  B. 爸爸的
  C. 妈妈的
  【正确答案】A
  【关联对话】
  User: This armchair is my seat!

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010009", "title": "扶手椅是谁的座位？", "asrPrompt": "", "preDialog": [], "question": {"mode": "choice", "type": "user", "content": "扶手椅是谁的座位？", "options": [{"key": "A", "value": "船长User的"}, {"key": "B", "value": "爸爸的"}, {"key": "C", "value": "妈妈的"}], "answer": "A"}, "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [{"type": "user", "content": "This armchair is my seat!"}], "meaning": "知识点：armchair / seat", "resourceMapping": {}}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_sentence_dialogue", "cId": "0010009", "kpInfo": [{"kpId": null, "kpType": "vocab", "kpTitle": "armchair", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": []}]}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:30
updated_at: 2026-05-08 18:43:30
raw_config:
  【组件类型】对话互动
  【知识点】lamp / take care of
  【问题】User要怎么处理台灯？
  【选项】
  A. 拿着台灯，好好照顾它
  B. 把台灯扔掉
  C. 把台灯给妈妈
  【正确答案】A
  【关联对话】
  User: I will take care of the lamp.

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010014", "title": "lamp / take care of", "asrPrompt": "", "preDialog": [], "question": {"mode": "choice", "type": "user", "content": "User要怎么处理台灯？", "options": [{"option": "A", "content": "拿着台灯，好好照顾它"}, {"option": "B", "content": "把台灯扔掉"}, {"option": "C", "content": "把台灯给妈妈"}], "answer": "A"}, "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [{"type": "user", "content": "I will take care of the lamp."}], "meaning": "知识点：lamp / take care of", "resourceMapping": {}}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:30
updated_at: 2026-05-08 18:43:30
raw_config:
  【组件类型】对话互动
  【知识点】sit / armchair
  【问题】现在谁坐在扶手椅上？
  【选项】
  A. 爸爸
  B. User
  C. 妈妈
  【正确答案】A
  【关联对话】
  User: You sit in the armchair, Dad.

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010015", "title": "现在谁坐在扶手椅上？", "asrPrompt": "", "preDialog": [], "question": {"mode": "choice", "type": "user", "content": "现在谁坐在扶手椅上？", "options": [{"label": "A", "content": "爸爸"}, {"label": "B", "content": "User"}, {"label": "C", "content": "妈妈"}], "correctAnswer": "A"}, "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [{"type": "user", "content": "You sit in the armchair, Dad."}], "meaning": "知识点：sit / armchair", "resourceMapping": {}}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: mid
cType: mid_sentence_dialogue
type_name: 对话互动
level: L1
unit_id: U19
knowledge_points_raw: What's wrong with the lamp?
status: generated
bitable_token: GH0hbBT0ZavkCesaVQ7c40Zfnub
db_table: middle_interaction_component
created_at: 2026-05-08 18:43:30
updated_at: 2026-05-08 18:43:30
raw_config:
  【组件类型】对话互动
  【知识点】What's wrong with...? / lamp
  【问题】What's wrong with the lamp? 这句话的意思是？
  【选项】
  A. 台灯怎么了？
  B. 台灯在哪？
  C. 台灯多少钱？
  【正确答案】A
  【关联对话】
  User: What's wrong with the lamp?

final_config_json:
  {"cType": "mid_sentence_dialogue", "cId": "0010013", "title": "", "asrPrompt": "", "preDialog": [], "question": {"mode": "choose", "content": "What's wrong with the lamp? 这句话的意思是？", "options": [{"option": "A", "content": "台灯怎么了？", "isCorrect": true}, {"option": "B", "content": "台灯在哪？", "isCorrect": false}, {"option": "C", "content": "台灯多少钱？", "isCorrect": false}]}, "example": null, "tip": null, "corFeedback": null, "errFeedback": null, "postDialog": [{"type": "user", "content": "What's wrong with the lamp?"}], "meaning": "知识点：What's wrong with...? / lamp", "resourceMapping": {}}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_sentence_dialogue", "cId": "0010013", "kpInfo": [{"kpId": null, "kpType": "sentence", "kpTitle": "What's wrong with the lamp?", "kpSkill": "sentence_meaning", "kpSkillName": "语义", "candidates": []}]}


script_id: V4ccdCGD0o9mW1xbXVdcdpkqnXC
script_title: L1-S2-U19-L1 客厅游戏
category: core
cType: core_listening_drag
type_name: 听力拖拽
level: L1
unit_id: U19
final_config_json: {}
study_info_json: "无"
intermediate_json: {"学习过程配置": "无", "互动描述": "请你提供具体的题目材料、音频相关内容和对应的正确答案等关键信息哦，我会按照要求生成符合规范的叙事描述。"}
status: generated
bitable_token: K3QrwQnWqiPBm1krhnNcWDTqnhe
db_table: core_interaction_component
created_at: 2026-05-08 18:43:41
updated_at: 2026-05-08 18:43:41
raw_config:
  【组件类型】核心互动-听力拖拽
  【知识点】living room / armchair / lamp
  【拖拽项】
  1. 客厅
  2. 扶手椅
  3. 台灯
  【目标项】
  1. 太空
  2. 船长座位
  3. 发光的星星
  【正确匹配】
  客厅 → 太空
  扶手椅 → 船长座位
  台灯 → 发光的星星
  【听力原文】
  Our living room is the space.
  The armchair is the captain's seat.
  The lamp is the glowing star!


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_fillin
type_name: 对话挖空
level: L1
unit_id: U11
knowledge_points_raw: bat
raw_config:
  S4主线
  自动
  对话挖空
  1111404
  732-Matt
  棒球特训
  告诉 Matt

status: generated
bitable_token: X6nHbUztFaGY5tsSHnKcmeJtnm5
db_table: middle_interaction_component
created_at: 2026-05-08 19:23:25
updated_at: 2026-05-08 19:23:25
final_config_json:
  {"cType": "mid_dialog_fillin", "cId": "1111404", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {"type": "user", "desc": "", "content": ""}, "optionGroupList": [], "corFeedback": {}, "errFeedback": {}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_fillin", "cId": "1111404", "kpInfo": [{"kpId": "1111114", "kpType": "vocab", "kpTitle": "bat", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111114", "type": "vocab", "title": "bat", "vala_level": "L1", "en_desc": "a long wooden stick used to hit the ball in games like baseball or cricket"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_image_choose
type_name: 图片单选
level: L1
unit_id: U11
knowledge_points_raw: bat
raw_config:
  S3主线
  图片单选
  1111403
  315-Pos
  棒球特训
  选出球棒

status: generated
bitable_token: XyIVbYciraBkoasJtV1c3N5Gnhh
db_table: middle_interaction_component
created_at: 2026-05-08 19:23:27
updated_at: 2026-05-08 19:23:27
final_config_json:
  {"cType": "mid_image_choose", "cId": "1111403", "title": "无", "meaning": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "imageInfo": {"questionImg": "1111403_question.png", "answerImg": "1111403_answer.png"}, "optionList": [], "answer": [], "preDialog": [], "tip": "", "corFeedback": {}, "errFeedback": {}, "postDialog": [], "cDesc": "请提供包含目标关键词、互动动作等具体的互动任务信息，我会按照要求完成转写。"}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_image_choose", "cId": "1111403", "kpInfo": [{"kpId": "1111114", "kpType": "vocab", "kpTitle": "bat", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111114", "type": "vocab", "title": "bat", "vala_level": "L1", "en_desc": "a long wooden stick used to hit the ball in games like baseball or cricket"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_image_multiple
type_name: 图片多选
level: L1
unit_id: U11
knowledge_points_raw: baseball
raw_config:
  S1主线
  图片多选
  1111401
  314-Pos
  棒球特训
  找出所有的棒球

status: generated
bitable_token: XZo5bwagdau3VvsTDL9cJPrInQd
db_table: middle_interaction_component
created_at: 2026-05-08 19:23:30
updated_at: 2026-05-08 19:23:30
final_config_json:
  {"cType": "mid_image_multiple", "cId": "1111401", "title": "", "meaning": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "question": {}, "imageInfo": {"questionImg": "1111401_question.png", "answerImg": "1111401_answer.png"}, "optionList": [], "answer": [], "preDialog": [], "tip": "", "corFeedback": {}, "errFeedback": {}, "postDialog": [], "cDesc": "请你提供包含互动目标关键词的完整输入信息哦，目前给定的输入里缺少核心的目标词汇、相关互动场景等必要内容，无法生成符合要求的句子。"}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_image_multiple", "cId": "1111401", "kpInfo": [{"kpId": "1111113", "kpType": "vocab", "kpTitle": "baseball", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111113", "type": "vocab", "title": "baseball", "vala_level": "L1", "en_desc": "a game played with a bat and ball by two teams of nine players each on a large field."}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_image_choose
type_name: 图片单选
level: L1
unit_id: U11
knowledge_points_raw: hit
raw_config:
  S6主线
  自动
  图片单选
  1111406
  732-Matt
  最佳击球手
  击中棒球

status: generated
bitable_token: XyIVbYciraBkoasJtV1c3N5Gnhh
db_table: middle_interaction_component
created_at: 2026-05-08 19:23:31
updated_at: 2026-05-08 19:23:31
final_config_json:
  {"cType": "mid_image_choose", "cId": "1111406", "title": "", "meaning": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "question": {}, "imageInfo": {"questionImg": "1111406_question.png", "answerImg": "1111406_answer.png"}, "optionList": [], "answer": [], "preDialog": [], "tip": "", "corFeedback": {}, "errFeedback": {}, "postDialog": [], "cDesc": "请补充完整互动目标关键词、对应中文释义以及相关剧情场景信息，我会按照要求生成符合规范的内容。"}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_image_choose", "cId": "1111406", "kpInfo": [{"kpId": "1111115", "kpType": "vocab", "kpTitle": "hit", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111115", "type": "vocab", "title": "hit", "vala_level": "L1", "en_desc": "to touch someone or something quickly and hard with your hand or a tool"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_repeat
type_name: 对话朗读
level: L1
unit_id: U11
knowledge_points_raw: hit
raw_config:
  S10主线
  自动
  对话朗读
  1111410
  589-Tom
  王牌棒球赛
  向 Tom 解释

status: generated
bitable_token: MuwubKXoSaJe55sO4k9c63VSnmh
db_table: middle_interaction_component
created_at: 2026-05-08 19:23:34
updated_at: 2026-05-08 19:23:34
final_config_json:
  {"cType": "mid_dialog_repeat", "cId": "1111410", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_repeat", "cId": "1111410", "kpInfo": [{"kpId": "1111115", "kpType": "vocab", "kpTitle": "hit", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111115", "type": "vocab", "title": "hit", "vala_level": "L1", "en_desc": "to touch someone or something quickly and hard with your hand or a tool"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_fillin
type_name: 对话挖空
level: L1
unit_id: U11
knowledge_points_raw: Are you...?
raw_config:
  S11主线
  自动
  对话挖空
  1111411
  732-Matt
  王牌棒球赛
  查看 Matt 的情况

status: generated
bitable_token: X6nHbUztFaGY5tsSHnKcmeJtnm5
db_table: middle_interaction_component
created_at: 2026-05-08 19:23:34
updated_at: 2026-05-08 19:23:34
final_config_json:
  {"cType": "mid_dialog_fillin", "cId": "1111411", "title": "无", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "question": {"type": "user", "desc": "", "content": ""}, "optionGroupList": [], "corFeedback": {}, "errFeedback": {}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_fillin", "cId": "1111411", "kpInfo": [{"kpId": "1111007", "kpType": "sentence", "kpTitle": "Are you...?", "kpSkill": "sentence_meaning", "kpSkillName": "语义", "candidates": [{"kp_id": "1111007", "type": "sentence", "title": "Are you...?", "vala_level": "L1", "en_desc": ""}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_express
type_name: 对话表达
level: L1
unit_id: U11
knowledge_points_raw: hit
raw_config:
  S9主线
  自动
  对话表达
  1111409
  732-Matt
  王牌棒球赛
  为Matt加油

status: generated
bitable_token: IC2kbvgP0aLrj7sfzZicIozZn1e
db_table: middle_interaction_component
created_at: 2026-05-08 19:23:40
updated_at: 2026-05-08 19:23:40
final_config_json:
  {"cType": "mid_dialog_express", "cId": "1111409", "title": "无", "asrPrompt": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "corFeedback": {}, "errFeedback": {}, "question": {"desc": ""}, "example": {"type": "npc", "npcName": "", "content": ""}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_express", "cId": "1111409", "kpInfo": [{"kpId": "1111115", "kpType": "vocab", "kpTitle": "hit", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111115", "type": "vocab", "title": "hit", "vala_level": "L1", "en_desc": "to touch someone or something quickly and hard with your hand or a tool"}]}]}


script_id: WzNHdg4vzos1i2xJw3pck27XnZf
script_title: L1-S1-U11-L4 王牌棒球 Ace Baseball Showdown 副本
category: mid
cType: mid_dialog_express
type_name: 对话表达
level: L1
unit_id: U11
knowledge_points_raw: hit
raw_config:
  S17主线
  自动
  对话表达
  1111417
  316-Pos
  王牌教练
  击球准备

status: generated
bitable_token: IC2kbvgP0aLrj7sfzZicIozZn1e
db_table: middle_interaction_component
created_at: 2026-05-08 19:23:42
updated_at: 2026-05-08 19:23:42
final_config_json:
  {"cType": "mid_dialog_express", "cId": "1111417", "title": "", "asrPrompt": "", "resourceMapping": {"Pos": 314, "Matt": 732}, "preDialog": [], "imgShowTimingList": [], "tip": "", "corFeedback": {}, "errFeedback": {}, "question": {"desc": ""}, "example": {"type": "", "npcName": "", "content": ""}, "postDialog": []}

kp_info_json:
  {"pushType": "relationKp", "cType": "mid_dialog_express", "cId": "1111417", "kpInfo": [{"kpId": "1111115", "kpType": "vocab", "kpTitle": "hit", "kpSkill": "vocab_meaning", "kpSkillName": "词义", "candidates": [{"kp_id": "1111115", "type": "vocab", "title": "hit", "vala_level": "L1", "en_desc": "to touch someone or something quickly and hard with your hand or a tool"}]}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_choose
type_name: 听力选择
level: L1
unit_id: U14
knowledge_points_raw:
  school
  study
  play

raw_config:
  Where are Kimi and Jimmy going?
  0：学校
  1：动物园
  2：烘焙坊

intermediate_json: {"学习过程配置": "无", "互动描述": "请你提供具体的题目材料、对应的音频核心内容以及相关正确答案信息哦，我会按照要求为你生成符合规范的叙事化描述。"}
status: generated
bitable_token: Kwrcw6A4jip2sxkdLn4czd1knvf
db_table: core_interaction_component
created_at: 2026-05-08 19:30:01
updated_at: 2026-05-08 19:30:01
final_config_json:
  {"cType": "core_listening_choose", "cId": "0000810", "title": "", "sceneDesc": "", "key": [], "resourceMapping": {"Eva": 663, "Peter": 653, "Vicky": 658}, "cDesc": "请你提供具体的题目材料、对应的音频核心内容以及相关正确答案信息哦，我会按照要求为你生成符合规范的叙事化描述。"}

task_info_json:
  {"cType": "core_listening_choose", "cId": "0000810", "title": "", "sceneDesc": "", "key": [], "resourceMapping": {"Eva": 663, "Peter": 653, "Vicky": 658}, "cDesc": "请你提供具体的题目材料、对应的音频核心内容以及相关正确答案信息哦，我会按照要求为你生成符合规范的叙事化描述。"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_imageDrag
type_name: 看图选词
level: L1
unit_id: U14
knowledge_points_raw:
  lake n. 湖
  monkey n. 猴子
  three num. 三
  How many ...? 多少……？
  There be ... 有……

status: generated
bitable_token: MVo7wugWfimJPIkxhJCcqppFnyf
db_table: core_interaction_component
created_at: 2026-05-08 19:30:47
updated_at: 2026-05-08 19:30:47
raw_config:
[cell repeats an earlier one in this file: 747 characters]

final_config_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "我们看着单词城堡里的图片，补全Ben关于河马栖息地的提问里的空白，把lake填入句子得到“在湖里”，知道了河马生活在湖里。接着我们回答Brainy关于动物园里其他动物的问题，选出了tree作为答案，了解到动物园里还有住在树上的动物。"}

kp_info_json:
[cell repeats an earlier one in this file: 756 characters]

task_info_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "我们看着单词城堡里的图片，补全Ben关于河马栖息地的提问里的空白，把lake填入句子得到“在湖里”，知道了河马生活在湖里。接着我们回答Brainy关于动物园里其他动物的问题，选出了tree作为答案，了解到动物园里还有住在树上的动物。"}

study_info_json:
  {"learningPart": [{"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "小朋友，这道题我们要选河马居住的地方哦，先来认识三个单词~ lake是“湖”，tree是“树”，grass是“草”，你觉得哪个是河马的家呀？"}, "optionList": [{"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "tree是树的意思哦，河马的体型很大，没办法住在树上，再想想看呀。"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是草的意思，河马大部分时间都待在水里，不会住在草地上，再选一次吧。"}}, {"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！lake就是湖的意思，河马本来就生活在水里，你太棒啦，这个单词你掌握得很好哦。"}}], "answer": [2]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "现在我们来看题目哦，Ben问“河马住在哪里呀？”，结合我们刚才学的单词，想想横线处应该填什么，补全“在____里”这个回答吧。"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！河马生活在湖里，所以回答就是in the lake，你可以大声把这个短语读出来哦。"}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "tree是树，河马没办法住在树上，不符合常识哦，再想想看。"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是草，河马不是住在草地上的哦，再试一次吧。"}}], "answer": [0]}]}, {"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "这道题问的是动物园里还有什么其他动物，我们先来看看三个选项对应的意思~ lake是“湖”，tree是“树”，grass是“草”，哦不对，结合知识补充还有monkey是“猴子”，你觉得哪个是动物呀？"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "lake是湖，属于地点，不是动物哦，再想想看吧。"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是草，属于植物，不是动物哦，再选一次呀。"}}, {"option": "monkey", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！monkey就是猴子，是动物园里很常见的动物哦，你太厉害啦。"}}], "answer": [2]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "现在看题目哦，Brainy问“动物园里还有什么其他的动物？”，你要选出属于动物的那个选项来回答哦。"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "lake是湖，不是动物哦，不符合问题的要求，再试试呀。"}}, {"option": "monkey", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！猴子是动物园里的动物，正好可以回答这个问题，你可以大声说出“Monkey.”来回答哦。"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是草，不是动物哦，再想想看吧。"}}], "answer": [1]}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你今天复习了lake、monkey这些核心单词，还学会了怎么回答关于动物住所和动物种类的问题，表现超棒哦，继续加油，你的英语会越来越厉害的！"}}

intermediate_json:
  {"学习流程配置": "```\n# 小题 4\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：小朋友，这道题我们要选河马居住的地方哦，先来认识三个单词~ lake是“湖”，tree是“树”，grass是“草”，你觉得哪个是河马的家呀？\n- 选项 A：tree\n  Brainy：tree是树的意思哦，河马的体型很大，没办法住在树上，再想想看呀。\n- 选项 B：grass\n  Brainy：grass是草的意思，河马大部分时间都待在水里，不会住在草地上，再选一次吧。\n- 选项 C：lake [正确]\n  Brainy：答对啦！lake就是湖的意思，河马本来就生活在水里，你太棒啦，这个单词你掌握得很好哦。\n\n### 2. 原题降级\nBrainy：现在我们来看题目哦，Ben问“河马住在哪里呀？”，结合我们刚才学的单词，想想横线处应该填什么，补全“在____里”这个回答吧。\n- 选项 A：lake [正确]\n  Brainy：答对啦！河马生活在湖里，所以回答就是in the lake，你可以大声把这个短语读出来哦。\n- 选项 B：tree\n  Brainy：tree是树，河马没办法住在树上，不符合常识哦，再想想看。\n- 选项 C：grass\n  Brainy：grass是草，河马不是住在草地上的哦，再试一次吧。\n\n---\n# 小题 5\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：这道题问的是动物园里还有什么其他动物，我们先来看看三个选项对应的意思~ lake是“湖”，tree是“树”，grass是“草”，哦不对，结合知识补充还有monkey是“猴子”，你觉得哪个是动物呀？\n- 选项 A：lake\n  Brainy：lake是湖，属于地点，不是动物哦，再想想看吧。\n- 选项 B：grass\n  Brainy：grass是草，属于植物，不是动物哦，再选一次呀。\n- 选项 C：monkey [正确]\n  Brainy：答对啦！monkey就是猴子，是动物园里很常见的动物哦，你太厉害啦。\n\n### 2. 原题降级\nBrainy：现在看题目哦，Brainy问“动物园里还有什么其他的动物？”，你要选出属于动物的那个选项来回答哦。\n- 选项 A：lake\n  Brainy：lake是湖，不是动物哦，不符合问题的要求，再试试呀。\n- 选项 B：monkey [正确]\n  Brainy：答对啦！猴子是动物园里的动物，正好可以回答这个问题，你可以大声说出“Monkey.”来回答哦。\n- 选项 C：grass\n  Brainy：grass是草，不是动物哦，再想想看吧。\n\n---\n# 完结反馈\nBrainy：太棒了！你今天复习了lake、monkey这些核心单词，还学会了怎么回答关于动物住所和动物种类的问题，表现超棒哦，继续加油，你的英语会越来越厉害的！\n```", "互动描述": "We look at the picture in the word castle and fill the blank in Ben’s question about hippos’ habitat. We put \"lake\" in the sentence, so it becomes \"in the lake\", which tells us hippos live in the lake.（我们看着单词城堡里的图片，补全Ben关于河马栖息地的提问里的空白，把lake填入句子得到“在湖里”，知道了河马生活在湖里。）\nThen we answer Brainy’s question about other animals in the zoo with the correct word. We pick \"tree\" as the answer, and we learn there are animals living in the tree in the zoo.（接着我们回答Brainy关于动物园里其他动物的问题，选出了tree作为答案，了解到动物园里还有住在树上的动物。）"}

question_group_json:
[cell repeats an earlier one in this file: 430 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_order
type_name: 合作阅读
level: L1
unit_id: U14
knowledge_points_raw:
  club
  join
  member
  choose
  interested

status: generated
bitable_token: H6DJweNkpigCbak2Y5LcTZ8Vnfb
db_table: core_interaction_component
created_at: 2026-05-08 19:30:53
updated_at: 2026-05-08 19:30:53
raw_config:
[cell repeats an earlier one in this file: 2351 characters]

final_config_json:
[cell repeats an earlier one in this file: 645 characters]

kp_info_json:
[cell repeats an earlier one in this file: 865 characters]

task_info_json:
[cell repeats an earlier one in this file: 645 characters]

material_info_json:
[cell repeats an earlier one in this file: 2699 characters]

flow_info_json:
[cell repeats an earlier one in this file: 232 characters]

study_info_json:
  {"closing": {"type": "npc", "content": "太棒了！你已经完成了本次的全部学习内容，继续加油哦～", "npcName": "Brainy"}, "learningPart": [{"leadIn": {"desc": "At Vala Academy, Pioneers don't have exams. But you need points to level up!"}, "type": "npc", "content": "我们来认识一下这段话中的关键单词 points。points 在这里的意思是积分、分数，积累积分才能升级哦。", "npcName": "Brainy", "learning": [{"answer": [1], "meaning": "句意选择题", "optionList": [{"option": "但是你需要考试才能升级。", "feedback": {"type": "npc", "content": "不对哦，句子里的关键词是points（积分），不是考试，再仔细看看正确的释义吧。", "npcName": "Brainy"}}, {"option": "但是你需要积分才能升级。", "feedback": {"type": "npc", "content": "完美回答！你已经掌握了句中的关键单词 points 和整个句子的意思了～", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "接下来，我们来看下包含 points 的句子 But you need points to level up! 是什么意思呢？"}}, {"answer": [0], "meaning": "段落大意题", "optionList": [{"option": "瓦拉学院的开拓者们不需要考试，但需要靠积分升级。", "feedback": {"type": "npc", "content": "太棒了！你抓住了 don't have exams 和 need points to level up 这两个重点！", "npcName": "Brainy"}}, {"option": "瓦拉学院的开拓者们既要参加考试，也要攒积分升级。", "feedback": {"type": "npc", "content": "不太对哦，文中明确说了 don't have exams，也就是没有考试，再读一读试试看！", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "了解了关键单词和关键句子的意思，那我们来一起看看这一段主要在说什么呢？"}}]}, {"leadIn": {"desc": "You can choose your favourite club to join. If you are interested in something, you can find a club for it."}, "type": "npc", "content": "本段围绕一个关键词 club 展开，你认识这个单词吗？club 是俱乐部的意思，不同兴趣的人可以加入不同的俱乐部，比如读书俱乐部就是 reading club。", "npcName": "Brainy", "learning": [{"answer": [1], "meaning": "句意选择题", "optionList": [{"option": "你可以选择你最喜欢的课程去学习。", "feedback": {"type": "npc", "content": "课程的英文表达是 course 哦，并不是我们讲的 club，再认真看看正确的释义吧。", "npcName": "Brainy"}}, {"option": "你可以选择你最喜欢的俱乐部加入。", "feedback": {"type": "npc", "content": "完美回答！你已经掌握了文中的关键单词 club 和关键句子的意思了～", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "接下来我们看看包含 club 的句子 You can choose your favourite club to join. 你知道它是什么意思吗？"}}, {"answer": [0], "meaning": "段落大意题", "optionList": [{"option": "你可以根据自己的兴趣选择对应的俱乐部加入。", "feedback": {"type": "npc", "content": "答得好！选择偏好、兴趣匹配这两个核心信息你都记住啦！", "npcName": "Brainy"}}, {"option": "所有的俱乐部都是固定的，你只能从现有的里面选。", "feedback": {"type": "npc", "content": "小心哦～这一段只说了可以找对应兴趣的俱乐部，并没有说俱乐部是固定不能新增的，再仔细看看内容吧！", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "下面，让我们来看看这一段主要在讲什么。"}}]}]}

intermediate_json:
  {"阅读材料格式化": "```\n# 材料2\n类型：电子屏\n标题：How to Join Clubs?\n正文:\n<sp>You can choose your favourite club to join. If you are interested in something, you can find a club for it. The robot club, the plant club, the sports club, and the reading club are all popular choices.<br>If you are not interested in any club, you can start a new one with friends!<br><sp>图片:[0101106_core reading2]\n```", "学习材料格式化": "```\n# 段落1\n重点词汇: \n正文:\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n```\n```\n# 段落2\n重点词汇: \n正文:\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n```", "学习过程配置": "```\n# 段落1\n## 段落内容\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n## 互动题目\nBrainy: 我们来认识一下这段话中的关键单词 points。points 在这里的意思是积分、分数，积累积分才能升级哦。\n1. 句意选择题\nBrainy：接下来，我们来看下包含 points 的句子 But you need points to level up! 是什么意思呢？\n- 但是你需要考试才能升级。\n  Brainy：不对哦，句子里的关键词是points（积分），不是考试，再仔细看看正确的释义吧。\n- 但是你需要积分才能升级。[正确]\n  Brainy：完美回答！你已经掌握了句中的关键单词 points 和整个句子的意思了～\n2. 段落大意题\nBrainy：了解了关键单词和关键句子的意思，那我们来一起看看这一段主要在说什么呢？\n- 瓦拉学院的开拓者们不需要考试，但需要靠积分升级。[正确]\n  Brainy：太棒了！你抓住了 don't have exams 和 need points to level up 这两个重点！\n- 瓦拉学院的开拓者们既要参加考试，也要攒积分升级。\n  Brainy：不太对哦，文中明确说了 don't have exams，也就是没有考试，再读一读试试看！\n# 段落2\n## 段落内容\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n## 互动题目\nBrainy：本段围绕一个关键词 club 展开，你认识这个单词吗？club 是俱乐部的意思，不同兴趣的人可以加入不同的俱乐部，比如读书俱乐部就是 reading club。\n1. 句意选择题\nBrainy：接下来我们看看包含 club 的句子 You can choose your favourite club to join. 你知道它是什么意思吗？\n- 你可以选择你最喜欢的课程去学习。\n  Brainy：课程的英文表达是 course 哦，并不是我们讲的 club，再认真看看正确的释义吧。\n- 你可以选择你最喜欢的俱乐部加入。[正确]\n  Brainy：完美回答！你已经掌握了文中的关键单词 club 和关键句子的意思了～\n\n2. 段落大意题\nBrainy：下面，让我们来看看这一段主要在讲什么。\n- 你可以根据自己的兴趣选择对应的俱乐部加入。[正确]\n  Brainy：答得好！选择偏好、兴趣匹配这两个核心信息你都记住啦！\n- 所有的俱乐部都是固定的，你只能从现有的里面选。\n  Brainy：小心哦～这一段只说了可以找对应兴趣的俱乐部，并没有说俱乐部是固定不能新增的，再仔细看看内容吧！\n# 完结反馈\nBrainy: 太棒了！你已经完成了本次的全部学习内容，继续加油哦～\n```"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_inquiry
type_name: 口语妙问
level: L1
unit_id: U14
knowledge_points_raw: Where can I...?（语义）Can I have... please?（语义）What else can I...?（语义）
dialog_setting_json: {"setting": {"npcName": "Chloe", "round": 5, "checkRound": 3}}
status: generated
bitable_token: GJUVwNSEkis3EXkrVj0ccbqdn8c
db_table: core_interaction_component
created_at: 2026-05-08 19:31:06
updated_at: 2026-05-08 19:31:06
raw_config:
[cell repeats an earlier one in this file: 1022 characters]

final_config_json:
  {"cType": "core_speaking_inquiry", "cId": "0000800", "title": "询问空乘关于健身房的信息", "taskDesc": "你要向 Chloe 询问健身房的位置，以及讨要毛巾，做好开始运动的准备。", "sceneDesc": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "img": "", "key": [{"desc": "", "keyList": [{"type": "default", "content": "Where can I find the gym？", "desc": "我在哪里能找到健身房？"}, {"type": "default", "content": "Can I have a towel please?？", "desc": "我能要一条毛巾吗？"}, {"type": "default", "content": "What else can I do there?", "desc": "我在那儿还能做些什么？"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

kp_info_json:
[cell repeats an earlier one in this file: 568 characters]

task_info_json:
[cell repeats an earlier one in this file: 654 characters]

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Chloe", "content": "Can I help you?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "空乘Chloe主动询问你是否需要帮助，现在你需要向她询问健身房的位置。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确地说出了要询问健身房位置的表达。请大声朗读这句话！"}}, {"option": "Can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来索要毛巾的，现在你还没问健身房的位置哦，再试一次吧。"}}, {"option": "What else can I do there?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是询问在那里还能做什么的，不是询问健身房位置的，再选一次吧。"}}], "answer": [0], "read": {"type": "user", "content": "Where can I find the gym?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Look, it's over there at the end of this walkway."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe已经告诉你健身房在走道的尽头啦，现在你需要向她索要毛巾，为运动做准备。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你已经问过健身房的位置啦，现在需要向她要毛巾哦，再试一次吧。"}}, {"option": "Can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太聪明啦！你正确地表达了想要索要毛巾的请求。请大声朗读这句话！"}}, {"option": "What else can I do there?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是询问在健身房还能做什么的，现在你需要先索要毛巾，再选一次吧。"}}], "answer": [1], "read": {"type": "user", "content": "Can I have a towel please?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Of course! I'll bring a new one for you soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe同意马上给你拿新毛巾啦，现在你可以问问她在健身房还能做些什么。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你已经知道健身房的位置啦，现在要询问健身房的其他相关事项哦，再试一次吧。"}}, {"option": "Can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你已经要过毛巾啦，Choley也答应给你拿了，换一个问题问问吧。"}}, {"option": "What else can I do there?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你做得真好！这句话正好是询问在健身房还能做什么的。请大声朗读这句话！"}}], "answer": [2], "read": {"type": "user", "content": "What else can I do there?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Well, you can do some exercise and enjoy sightseeing there. Or you can just relax."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "你已经问清楚了健身房的位置、要到了毛巾，也了解了在健身房可以做的事，任务圆满完成啦！"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nChloe：Can I help you?\n\n# 中间回合1\nBrainy：空乘Chloe主动询问你是否需要帮助，现在你需要向她询问健身房的位置。\n\n用户选项:\n（选项 A）Where can I find the gym? [正确]\n  Brainy：太棒了！你正确地说出了要询问健身房位置的表达。请大声朗读这句话！\n（选项 B）Can I have a towel please?\n  Brainy：这句话是用来索要毛巾的，现在你还没问健身房的位置哦，再试一次吧。\n（选项 C）What else can I do there?\n  Brainy：这句话是询问在那里还能做什么的，不是询问健身房位置的，再选一次吧。\nChloe：Look, it's over there at the end of this walkway.\n\n# 中间回合2\nBrainy：Chloe已经告诉你健身房在走道的尽头啦，现在你需要向她索要毛巾，为运动做准备。\n\n用户选项:\n（选项 A）Where can I find the gym?\n  Brainy：你已经问过健身房的位置啦，现在需要向她要毛巾哦，再试一次吧。\n（选项 B）Can I have a towel please? [正确]\n  Brainy：太聪明啦！你正确地表达了想要索要毛巾的请求。请大声朗读这句话！\n（选项 C）What else can I do there?\n  Brainy：这句话是询问在健身房还能做什么的，现在你需要先索要毛巾，再选一次吧。\nChloe：Of course! I'll bring a new one for you soon.\n\n# 中间回合3\nBrainy：Chloe同意马上给你拿新毛巾啦，现在你可以问问她在健身房还能做些什么。\n\n用户选项:\n（选项 A）Where can I find the gym?\n  Brainy：你已经知道健身房的位置啦，现在要询问健身房的其他相关事项哦，再试一次吧。\n（选项 B）Can I have a towel please?\n  Brainy：你已经要过毛巾啦，Choley也答应给你拿了，换一个问题问问吧。\n（选项 C）What else can I do there? [正确]\n  Brainy：你做得真好！这句话正好是询问在健身房还能做什么的。请大声朗读这句话！\nChloe：Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.\n\n# 结尾回合\nBrainy：你已经问清楚了健身房的位置、要到了毛巾，也了解了在健身房可以做的事，任务圆满完成啦！\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n- 你是Chloe，是Twilight的空乘，服务乘客是你的职责。\n- 你对之前帮你解过围的用户格外友善热情。\n\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n\n# 3. 背景信息\n你是Chloe，是Twilight的空乘，服务好每一位乘客是你的使命。用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n\n# 4. 知识库（你知道的信息）\n- 健身房就在前方过道的尽头。\n- 你会为有需要的用户准备一条新毛巾。\n- 在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n- 对用户的任何提问，你都耐心安抚并一一回答。\n\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n\n# 6. 开场白\n你由你开始对话，你会说：\"Can I help you?\"\n\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题\n```", "语音识别热词": "gym,towel,exercise,walkway,sightseeing,relax"}

dialog_config_json:
  {"config": {"asrPrompt": "gym,towel,exercise,walkway,sightseeing,relax", "promptInfo": {"default": "# 1. 角色（你要扮演谁）\n- 你是Chloe，是Twilight的空乘，服务乘客是你的职责。\n- 你对之前帮你解过围的用户格外友善热情。\n\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n\n# 3. 背景信息\n你是Chloe，是Twilight的空乘，服务好每一位乘客是你的使命。用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n\n# 4. 知识库（你知道的信息）\n- 健身房就在前方过道的尽头。\n- 你会为有需要的用户准备一条新毛巾。\n- 在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n- 对用户的任何提问，你都耐心安抚并一一回答。\n\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n\n# 6. 开场白\n你由你开始对话，你会说：\"Can I help you?\"\n\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题", "scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "in_progress_goal": "用户成功问出“健身房在哪里”、“可以给我一条毛巾吗”以及“在哪儿我还能做什么”的三个问题。", "final_goal": "Chloe回答了用户关于健身房的问题，提供了耐心友好的帮助。", "reference_dialog": "Chloe: Can I help you?\nUser: Where can I find the gym?\nChloe: Look, it's over there at the end of this walkway.\nUser: Oh, and can I have a towel please? \nChloe: Of course! I'll bring a new one for you soon.\nUser: What else can I do there? \nChloe: Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.", "user_task": "你要向 Chloe 询问健身房的位置，以及讨要毛巾，做好开始运动的准备。", "user_scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "user_knowledge": "Where can I find the gym？我在哪里能找到健身房？\nCan I have a towel please?？我能要一条毛巾吗？\nWhat else can I do there? 我在那儿还能做些什么？"}}}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_reply
type_name: 口语快答
level: L1
unit_id: U14
knowledge_points_raw:
  Let's...（结构）
  Instead of..., we'd better...（结构）
  ... love(s) to...（结构）

dialog_setting_json: {"setting": {"npcName": "Logan", "round": 5, "checkRound": 3}}
status: generated
bitable_token: TSwcw0nFmi21khkpUndchNMsn6f
db_table: core_interaction_component
created_at: 2026-05-08 19:31:07
updated_at: 2026-05-08 19:31:07
raw_config:
[cell repeats an earlier one in this file: 998 characters]

final_config_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "句型表达", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}, {"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}, {"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

kp_info_json:
[cell repeats an earlier one in this file: 537 characters]

task_info_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "句型表达", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}, {"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}, {"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Logan", "content": "Hi. What happened to the elephant?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Logan问你大象怎么啦，你现在需要告诉对方大象需要洗澡，我们可以一起给她安排洗澡哦。"}, "optionList": [{"option": "The elephant needs a shower. Let's set up a shower for her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "回答得太棒啦！现在试着把这句话大声读出来吧~"}}, {"option": "The elephant is hungry. We need to give her some bananas.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "现在我们的任务是说大象需要洗澡哦，这句话是说大象饿了要吃香蕉，和当前的情况不匹配，再选一次吧。"}}, {"option": "The elephant is lost, can you help us find her?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "现在我们要告诉对方大象需要洗澡哦，这句话是说大象走丢了要找大象，不符合当前的情境，再试试吧。"}}], "answer": [0], "read": {"type": "user", "content": "The elephant needs a shower. Let's set up a shower for her."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Are you saying she hasn't had a shower yet? Maybe someone will probably come soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan说你是说她还没洗澡吗？可能很快就有人过来啦。你可以和他说与其在这里等，我们最好先去给她拿点水哦。"}, "optionList": [{"option": "We have to wait for the keepers to come.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "现在我们要表达的是不等了先去取水哦，这句话是说我们得等饲养员过来，和我们要表达的意思相反，再选一次吧。"}}, {"option": "Instead of waiting here, we'd better get some water for her first.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完全正确！快来把这句话大声读一遍吧~"}}, {"option": "We can go to play first and come back later.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "我们现在是要准备给大象洗澡哦，这句话是说我们可以先去玩一会再回来，不符合当前的任务，再试试吧。"}}], "answer": [1], "read": {"type": "user", "content": "Instead of waiting here, we'd better get some water for her first."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "The keepers are too careless! Thank you! Can you help her shower?"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan说饲养员太粗心了，谢谢你，还问你能不能帮忙给大象洗澡，你需要告诉他你们很乐意帮忙哦。"}, "optionList": [{"option": "We'd love to help.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你回答得太好啦！现在把这句话大声读出来就可以啦~"}}, {"option": "Sorry, we have other things to do.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "我们本来就是想要帮忙给大象洗澡的哦，这句话是说我们有别的事要做不能帮忙，不符合我们的想法，再选一次吧。"}}, {"option": "We need to ask our parents first.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "现在我们要直接表达愿意帮忙的想法哦，这句话是说我们得先问问父母，和当前要回应的内容不匹配，再试试吧。"}}], "answer": [0], "read": {"type": "user", "content": "We'd love to help."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Great. We will send some water to her right away."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒啦！你已经成功和清洁站工人沟通好了，他很快就会送干净的水过来，你们可以一起给大象洗澡啦，本次任务完成~"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nLogan：Hi. What happened to the elephant?\n\n# 中间回合1\nBrainy：Logan问你大象怎么啦，你现在需要告诉对方大象需要洗澡，我们可以一起给她安排洗澡哦。\n用户选项:\n（A）The elephant needs a shower. Let's set up a shower for her. ✅\n  Brainy：回答得太棒啦！现在试着把这句话大声读出来吧~\n（B）The elephant is hungry. We need to give her some bananas.\n  Brainy：现在我们的任务是说大象需要洗澡哦，这句话是说大象饿了要吃香蕉，和当前的情况不匹配，再选一次吧。\n（C）The elephant is lost, can you help us find her?\n  Brainy：现在我们要告诉对方大象需要洗澡哦，这句话是说大象走丢了要找大象，不符合当前的情境，再试试吧。\nLogan：Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\n\n# 中间回合2\nBrainy：Logan说你是说她还没洗澡吗？可能很快就有人过来啦。你可以和他说与其在这里等，我们最好先去给她拿点水哦。\n用户选项:\n（A）We have to wait for the keepers to come.\n  Brainy：现在我们要表达的是不等了先去取水哦，这句话是说我们得等饲养员过来，和我们要表达的意思相反，再选一次吧。\n（B）Instead of waiting here, we'd better get some water for her first. ✅\n  Brainy：完全正确！快来把这句话大声读一遍吧~\n（C）We can go to play first and come back later.\n  Brainy：我们现在是要准备给大象洗澡哦，这句话是说我们可以先去玩一会再回来，不符合当前的任务，再试试吧。\nLogan：The keepers are too careless! Thank you! Can you help her shower?\n\n# 中间回合3\nBrainy：Logan说饲养员太粗心了，谢谢你，还问你能不能帮忙给大象洗澡，你需要告诉他你们很乐意帮忙哦。\n用户选项:\n（A）We'd love to help. ✅\n  Brainy：你回答得太好啦！现在把这句话大声读出来就可以啦~\n（B）Sorry, we have other things to do.\n  Brainy：我们本来就是想要帮忙给大象洗澡的哦，这句话是说我们有别的事要做不能帮忙，不符合我们的想法，再选一次吧。\n（C）We need to ask our parents first.\n  Brainy：现在我们要直接表达愿意帮忙的想法哦，这句话是说我们得先问问父母，和当前要回应的内容不匹配，再试试吧。\nLogan：Great. We will send some water to her right away.\n\n# 结尾回合\nBrainy：太棒啦！你已经成功和清洁站工人沟通好了，他很快就会送干净的水过来，你们可以一起给大象洗澡啦，本次任务完成~\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切自然，适合儿童理解。\n# 2. 任务（你如何参与对话）\n1. 对话开场先询问用户大象的情况，确认大象是否没洗澡。\n2. 得到大象需要洗澡的答复后，告诉用户可以稍等一会，或许饲养员很快会过来。\n3. 接下来询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户表示愿意帮忙，先表达感谢，然后告知对方会马上送干净的水过去，之后自然结束对话。\n5. 如果用户表示不愿意帮忙，告诉对方没关系，你会自己想办法给大象安排洗澡，结束对话。\n6. 如果用户的回答你没听懂，可以礼貌请对方再说一次，比如\"Pardon? Can you say it again?\"\n7. 不要提出任务设定之外的其他问题，不要偏离给大象洗澡的对话主题。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。\n```", "语音识别热词": "elephant,shower,water,keepers,clean,help,Wander Port,banana"}

dialog_config_json:
  {"config": {"asrPrompt": "elephant,shower,water,keepers,clean,help,Wander Port,banana", "promptInfo": {"default": "# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切自然，适合儿童理解。\n# 2. 任务（你如何参与对话）\n1. 对话开场先询问用户大象的情况，确认大象是否没洗澡。\n2. 得到大象需要洗澡的答复后，告诉用户可以稍等一会，或许饲养员很快会过来。\n3. 接下来询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户表示愿意帮忙，先表达感谢，然后告知对方会马上送干净的水过去，之后自然结束对话。\n5. 如果用户表示不愿意帮忙，告诉对方没关系，你会自己想办法给大象安排洗澡，结束对话。\n6. 如果用户的回答你没听懂，可以礼貌请对方再说一次，比如\"Pardon? Can you say it again?\"\n7. 不要提出任务设定之外的其他问题，不要偏离给大象洗澡的对话主题。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。", "scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "in_progress_goal": "用户告诉清洁站的工人，大象需要洗澡，并且表示乐意帮助，要求 Logan 送一些干净的水过来。", "final_goal": "用户告诉清洁站的工人，大象需要洗澡，并提出需要一些水。", "reference_dialog": "Logan: Hi. What happened to the elephant?\nUser: The elephant needs a shower. Let's set up a shower for her.\nLogan: Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\nUser: Instead of waiting here, we'd better get some water for her first.\nLogan: The keepers are too careless! Thank you! Can you help her shower?\nUser: We'd love to help.\nLogan: Great. We will send some water to her right away.", "user_task": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "user_scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "user_knowledge": "Let's... 让我们……\nInstead of..., we'd better... 与其……，我们不如……\n... love(s) to... ……很乐意……"}}}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_image
type_name: 看图说话
level: L1
unit_id: U14
knowledge_points_raw:
  winter
  cold
  snow

image_info_json: {"questionImg": "0000800_question.png"}
status: generated
bitable_token: KBOXwzVHfin6ORkKbA3c3eWEnoh
db_table: core_interaction_component
created_at: 2026-05-08 19:31:33
updated_at: 2026-05-08 19:31:33
raw_config:
[cell repeats an earlier one in this file: 559 characters]

final_config_json:
[cell repeats an earlier one in this file: 609 characters]

kp_info_json:
[cell repeats an earlier one in this file: 462 characters]

task_info_json:
[cell repeats an earlier one in this file: 609 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"type": "npc", "npcName": "Rock", "content": "What season is it?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock 老师询问现在是什么季节，你需要告诉他当前冬季岛的季节哦。", "index": 0}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确说出了现在的季节是冬天。请大声朗读这句话！"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是寒冷的，但老师现在问的是现在是什么季节，不是天气情况哦。请再仔细听清问题，告诉老师现在的季节。"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是雪，但老师现在问的是当前的季节，不是能看到的事物哦。请再仔细听清问题，告诉老师现在的季节。"}}], "answer": [0], "read": {"type": "npc", "npcName": "User", "content": "Winter."}}]}, {"leadIn": {"type": "npc", "npcName": "Rock", "content": "Is it hot or cold?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock 老师现在问你天气是热还是冷，你需要回答冬季岛的天气情况哦。", "index": 1}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是冬天，但老师现在问的是天气是热还是冷，不是季节哦。请再仔细听清问题，告诉老师现在的天气情况。"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确说出了冬天的天气很寒冷。请大声朗读这句话！"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是雪，但老师现在问的是天气的冷热程度，不是能看到的事物哦。请再仔细听清问题，告诉老师现在的天气情况。"}}], "answer": [1], "read": {"type": "npc", "npcName": "User", "content": "Cold."}}]}, {"leadIn": {"type": "npc", "npcName": "Rock", "content": "What do you see in winter?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock 老师现在问你在冬天能看到什么，你需要说出冬季岛的特有景物哦。", "index": 2}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是冬天，但老师现在问的是你在冬天能看到什么东西，不是季节本身哦。请再仔细听清问题，告诉老师你看到的景物。"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是寒冷的，但老师现在问的是能看到的事物，不是天气感受哦。请再仔细听清问题，告诉老师你看到的景物。"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确说出了冬天能看到雪。请大声朗读这句话！"}}], "answer": [2], "read": {"type": "npc", "npcName": "User", "content": "Snow."}, "feedback": {"type": "npc", "npcName": "Rock", "content": "You have a great understanding of winter. Very good!"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒啦！你已经完成了和Rock老师的互动，准确回答了关于冬季岛的季节、天气和特有景物的问题，顺利完成了本次学习任务，接下来就可以享受热乎的食物啦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 中间回合1\nRock：What season is it?\nBrainy: Rock 老师询问现在是什么季节，你需要告诉他当前冬季岛的季节哦。\n用户选项:\n（选项 A）Winter. [正确]\n  Brainy: 太棒了！你正确说出了现在的季节是冬天。请大声朗读这句话！\n（选项 B）Cold.\n  Brainy: 这句话的意思是寒冷的，但老师现在问的是现在是什么季节，不是天气情况哦。请再仔细听清问题，告诉老师现在的季节。\n（选项 C）Snow.\n  Brainy: 这句话的意思是雪，但老师现在问的是当前的季节，不是能看到的事物哦。请再仔细听清问题，告诉老师现在的季节。\n\n# 中间回合2\nRock：Is it hot or cold?\nBrainy: Rock 老师现在问你天气是热还是冷，你需要回答冬季岛的天气情况哦。\n用户选项:\n（选项 A）Winter.\n  Brainy: 这句话的意思是冬天，但老师现在问的是天气是热还是冷，不是季节哦。请再仔细听清问题，告诉老师现在的天气情况。\n（选项 B）Cold. [正确]\n  Brainy: 太棒了！你正确说出了冬天的天气很寒冷。请大声朗读这句话！\n（选项 C）Snow.\n  Brainy: 这句话的意思是雪，但老师现在问的是天气的冷热程度，不是能看到的事物哦。请再仔细听清问题，告诉老师现在的天气情况。\n\n# 中间回合3\nRock：What do you see in winter?\nBrainy: Rock 老师现在问你在冬天能看到什么，你需要说出冬季岛的特有景物哦。\n用户选项:\n（选项 A）Winter.\n  Brainy: 这句话的意思是冬天，但老师现在问的是你在冬天能看到什么东西，不是季节本身哦。请再仔细听清问题，告诉老师你看到的景物。\n（选项 B）Cold.\n  Brainy: 这句话的意思是寒冷的，但老师现在问的是能看到的事物，不是天气感受哦。请再仔细听清问题，告诉老师你看到的景物。\n（选项 C）Snow. [正确]\n  Brainy: 太棒了！你正确说出了冬天能看到雪。请大声朗读这句话！\n\n# 结尾回合\nBrainy: 你已经和 Rock 老师分享完在冬季岛的所见所感啦，等下就可以吃到热乎的食物咯，任务成功完成！\n```", "语音识别热词": "Mr Rock,Winter Island,winter,cold,snow"}

dialog_config_json:
[cell repeats an earlier one in this file: 788 characters]

option_list_json:
[cell repeats an earlier one in this file: 111 characters]

question_list_json:
[cell repeats an earlier one in this file: 322 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_order
type_name: 合作听力
level: L1
unit_id: U14
knowledge_points_raw:
  bake（词义）
  healthy（词义）
  money（词义）
  cake（词义）
  alcohol（词义）

flow_info_json: {"sequence": [{"audio": [0]}, {"question": [0]}, {"audio": [1]}, {"question": [1, 2, 3]}]}
status: generated
bitable_token: FrxtwNRQDizqiikPkATcBzTCnYe
db_table: core_interaction_component
created_at: 2026-05-08 19:31:37
updated_at: 2026-05-08 19:31:37
raw_config:
[cell repeats an earlier one in this file: 2377 characters]

final_config_json:
[cell repeats an earlier one in this file: 557 characters]

kp_info_json:
[cell repeats an earlier one in this file: 739 characters]

task_info_json:
[cell repeats an earlier one in this file: 557 characters]

material_info_json:
[cell repeats an earlier one in this file: 2600 characters]

study_info_json:
  {"closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}, "learningPart": [{"leadIn": {"type": "npc", "content": "When you really want sweet food, like biscuits or cake, you can bake at home.", "npcName": "Brainy"}, "content": "刚刚听到的音频里有一个核心短语 bake at home，意思是在家烘焙。bake 是烘焙的意思，at home 是在家，组合起来就是在家自己做烘焙食物哦。", "type": "npc", "npcName": "Brainy", "learning": [{"answer": [1], "meaning": "听音选句", "optionList": [{"feedback": {"type": "npc", "content": "不对哦，这句话说的是在商店买，我们听到的句子里说的是在家烘焙，再仔细听一遍呀。", "npcName": "Brainy"}, "option": "When you really want sweet food, like biscuits or cake, you can buy at the shop."}, {"feedback": {"type": "npc", "content": "太厉害啦！你准确听出了句子里的重点短语 bake at home！", "npcName": "Brainy"}, "option": "When you really want sweet food, like biscuits or cake, you can bake at home."}], "question": {"type": "npc", "content": "认真听音频，选出你听到的那个句子吧。", "npcName": "Brainy"}}, {"answer": [0], "meaning": "听音选意", "optionList": [{"feedback": {"type": "npc", "content": "太棒啦！你完全理解了这句话的意思，还掌握了 bake at home 这个实用短语哦。", "npcName": "Brainy"}, "option": "当你很想吃甜食，比如饼干或者蛋糕的时候，你可以在家烘焙。"}, {"feedback": {"type": "npc", "content": "不对哦，我们的句子里说的不是去商店买，再回忆一下句子里的重点内容呀。", "npcName": "Brainy"}, "option": "当你很想吃甜食，比如饼干或者蛋糕的时候，你可以去商店买。"}], "question": {"type": "npc", "content": "刚才的句子是什么意思呢？快来选选正确的翻译吧。", "npcName": "Brainy"}}]}]}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：When you really want sweet food, like biscuits or cake, you can bake at home.\n讲解文本：刚刚听到的音频里有一个核心短语 bake at home，意思是在家烘焙。bake 是烘焙的意思，at home 是在家，组合起来就是在家自己做烘焙食物哦。\n1. 听音选句\nBrainy：认真听音频，选出你听到的那个句子吧。\n- When you really want sweet food, like biscuits or cake, you can buy at the shop.\n  - Brainy：不对哦，这句话说的是在商店买，我们听到的句子里说的是在家烘焙，再仔细听一遍呀。\n- When you really want sweet food, like biscuits or cake, you can bake at home. [正确]\n  - Brainy：太厉害啦！你准确听出了句子里的重点短语 bake at home！\n\n2. 听音选意\nBrainy：刚才的句子是什么意思呢？快来选选正确的翻译吧。\n- 当你很想吃甜食，比如饼干或者蛋糕的时候，你可以在家烘焙。[正确]\n  - Brainy：太棒啦！你完全理解了这句话的意思，还掌握了 bake at home 这个实用短语哦。\n- 当你很想吃甜食，比如饼干或者蛋糕的时候，你可以去商店买。\n  - Brainy：不对哦，我们的句子里说的不是去商店买，再回忆一下句子里的重点内容呀。\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You listened to the second part of Max's fitness guide, learning that a healthy routine requires going to bed and getting up early, and staying away from smoking and alcohol. (你听了Max健身指南的第二部分，了解到健康的作息需要早睡早起，并且远离烟酒。)\nYou also got to know that keeping healthy does not need much money or expensive items, and good habits are the most important thing. (你还得知保持健康不需要很多钱或者昂贵的物品，好习惯才是最重要的。)"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_drag
type_name: 听力拖拽
level: L1
unit_id: U14
knowledge_points_raw:
  between
  duck
  next to

status: generated
bitable_token: K3QrwQnWqiPBm1krhnNcWDTqnhe
db_table: core_interaction_component
created_at: 2026-05-08 19:31:43
updated_at: 2026-05-08 19:31:43
raw_config:
[cell repeats an earlier one in this file: 635 characters]

final_config_json:
  {"cType": "core_listening_drag", "cId": "0000800", "title": "指挥大家赶鸭子", "sceneDesc": "鸭子大乱斗！手忙脚乱没有用，你现在得和伙伴们一起协作，把到处跑的鸭子赶进水里。快说说你的计划吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "between", "desc": "prep. 在……中间"}, {"type": "default", "content": "next to", "desc": "prep. 紧邻"}, {"type": "default", "content": "duck", "desc": "n. 鸭子"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "You took on the fun task of herding ducks together, picked the right actions from three possible choices, and successfully guided all the little ducks to go back to their cozy home safely.（你参与了赶鸭子的趣味任务，从三个可行方案里选了合适的操作，成功把所有小鸭子安全送回了它们舒服的家。）"}

kp_info_json:
[cell repeats an earlier one in this file: 497 characters]

task_info_json:
  {"cType": "core_listening_drag", "cId": "0000800", "title": "指挥大家赶鸭子", "sceneDesc": "鸭子大乱斗！手忙脚乱没有用，你现在得和伙伴们一起协作，把到处跑的鸭子赶进水里。快说说你的计划吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "between", "desc": "prep. 在……中间"}, {"type": "default", "content": "next to", "desc": "prep. 紧邻"}, {"type": "default", "content": "duck", "desc": "n. 鸭子"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "You took on the fun task of herding ducks together, picked the right actions from three possible choices, and successfully guided all the little ducks to go back to their cozy home safely.（你参与了赶鸭子的趣味任务，从三个可行方案里选了合适的操作，成功把所有小鸭子安全送回了它们舒服的家。）"}

study_info_json:
  {"learningPart": [{"type": "npc", "npcName": "Brainy", "content": "Go between the red duck and the blue duck.", "learning": [{"question": {"content": "刚刚听到的音频中，包含了一个关键短语 between...and...，意思是“在……和……之间”，用来描述两个事物中间的位置哦。", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "仔细听音频，选出你听到的句子吧。", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "Go behind the red duck and the blue duck.", "feedback": {"type": "npc", "content": "哎呀，这句话里的behind是“在……后面”的意思，我们听到的句子里表示位置的短语不是这个哦，再听一遍试试吧。", "npcName": "Brainy"}}, {"option": "Go between the red duck and the blue duck.", "feedback": {"type": "npc", "content": "太厉害啦！你准确听出了句子里的重点短语between...and...！", "npcName": "Brainy"}}], "answer": [1]}, {"question": {"content": "Go between the red duck and the blue duck.", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "“走到红色的鸭子和蓝色的鸭子中间去”，这句话的意思和刚刚听到的英文是对应的吗？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "对 / Yes", "feedback": {"type": "npc", "content": "答对啦！你完全理解了between...and...的意思，太棒啦！", "npcName": "Brainy"}}, {"option": "错 / No", "feedback": {"type": "npc", "content": "再想想哦，我们听到的句子里说的位置是两只鸭子的中间，不是其他位置哦，再试一次吧。", "npcName": "Brainy"}}], "answer": [0]}]}], "closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：Go between the red duck and the blue duck.\n讲解文本：刚刚听到的音频中，包含了一个关键短语 between...and...，意思是“在……和……之间”，用来描述两个事物中间的位置哦。\n1. 听音选句\nBrainy：仔细听音频，选出你听到的句子吧。\n- Go behind the red duck and the blue duck.\n  - Brainy：哎呀，这句话里的behind是“在……后面”的意思，我们听到的句子里表示位置的短语不是这个哦，再听一遍试试吧。\n- Go between the red duck and the blue duck. [正确]\n  - Brainy：太厉害啦！你准确听出了句子里的重点短语between...and...！\n\n2. 听音选意\nBrainy：“走到红色的鸭子和蓝色的鸭子中间去”，这句话的意思和刚刚听到的英文是对应的吗？\n- 对 / Yes [正确]\n  - Brainy：答对啦！你完全理解了between...and...的意思，太棒啦！\n- 错 / No\n  - Brainy：再想想哦，我们听到的句子里说的位置是两只鸭子的中间，不是其他位置哦，再试一次吧。\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You took on the fun task of herding ducks together, picked the right actions from three possible choices, and successfully guided all the little ducks to go back to their cozy home safely.（你参与了赶鸭子的趣味任务，从三个可行方案里选了合适的操作，成功把所有小鸭子安全送回了它们舒服的家。）"}

question_list_json:
[cell repeats an earlier one in this file: 260 characters]

dialog_list_json:
  [[{"type": "npc", "npcName": "Matt", "content": "Where should I go?", "trans": "我该去哪里？", "isPoint": false}, {"type": "user", "content": "Go between the red duck and the blue duck.", "trans": "走到红鸭子和蓝鸭子中间。", "isPoint": false}, {"type": "user", "content": "Don't let them fight.", "trans": "别让它们打架。", "isPoint": false}], [{"type": "npc", "npcName": "Ben", "content": "What about me?", "trans": "那我呢？", "isPoint": false}, {"type": "user", "content": "You are next to the blue duck.", "trans": "你在蓝鸭子旁边。", "isPoint": false}], [{"type": "npc", "npcName": "Amber", "content": "And me? Where should I be?", "trans": "那我呢？我应该待在哪里？", "isPoint": false}, {"type": "user", "content": "You are next to the red duck.", "trans": "你在红鸭子旁边。", "isPoint": false}, {"type": "user", "content": "Get it into the water!", "trans": "把它弄到水里去！", "isPoint": false}]]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_imgMakeSentence
type_name: 看图组句
level: L1
unit_id: U14
knowledge_points_raw: terrible
status: generated
bitable_token: BkmtwUBwMiHd5Ak7VS6ccE9SnHd
db_table: core_interaction_component
created_at: 2026-05-08 19:32:15
updated_at: 2026-05-08 19:32:15
raw_config:
[cell repeats an earlier one in this file: 911 characters]

final_config_json:
[cell repeats an earlier one in this file: 867 characters]

kp_info_json:
[cell repeats an earlier one in this file: 704 characters]

task_info_json:
[cell repeats an earlier one in this file: 867 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"image": "0000800-01.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你们刚整理完搜集到的线索，现在要向Luisa教授汇报你推测的飞船坠落位置，你会怎么开场表达你的判断？"}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒啦！这句话正好可以用来引出你对飞船坠落位置的推测，完全符合当前汇报的场景哦。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是描述你看到的树木特征，不是用来表达你对飞船坠落位置的判断的，再试一下吧。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是说明你听到声响的方位，不是用来推测飞船坠落位置的开场哦，再想想看。"}}], "answer": [0], "write": {"desc": "I think the spaceship fell...", "trans": "我认为飞船坠落在……"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-00.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你要向教授说明无人机照片里拍到的特殊树木特征，作为飞船坠落的相关线索，你会怎么说？"}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来表达对飞船坠落位置的推测，不是描述树木特征的哦，再试一下。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太对了！用这句话就可以引出你观察到的树木的特殊特征，完美契合你要汇报线索的需求。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是描述你听到的声响相关的线索，不是描述看到的树木特征的，再想想哦。"}}], "answer": [1], "write": {"desc": "I saw trees with...", "trans": "我看到有……的树。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，可以使用准确的句型I think the spaceship fell...、I saw trees with...和I heard a loud noise in...，完成向Luisa教授汇报飞船坠落相关线索的内容写作！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你们刚整理完搜集到的线索，现在要向Luisa教授汇报你推测的飞船坠落位置，你会怎么开场表达你的判断？\n用户选项:\n（选项 A）I think the spaceship fell... [正确]\n  Brainy: 太棒啦！这句话正好可以用来引出你对飞船坠落位置的推测，完全符合当前汇报的场景哦。\n（选项 B）I saw trees with...\n  Brainy: 这句话是描述你看到的树木特征，不是用来表达你对飞船坠落位置的判断的，再试一下吧。\n（选项 C）I heard a loud noise in...\n  Brainy: 这句话是说明你听到声响的方位，不是用来推测飞船坠落位置的开场哦，再想想看。\n\n# 问题2：\nBrainy: 你要向教授说明无人机照片里拍到的特殊树木特征，作为飞船坠落的相关线索，你会怎么说？\n用户选项:\n（选项 A）I think the spaceship fell...\n  Brainy: 这句话是用来表达对飞船坠落位置的推测，不是描述树木特征的哦，再试一下。\n（选项 B）I saw trees with... [正确]\n  Brainy: 太对了！用这句话就可以引出你观察到的树木的特殊特征，完美契合你要汇报线索的需求。\n（选项 C）I heard a loud noise in...\n  Brainy: 这句话是描述你听到的声响相关的线索，不是描述看到的树木特征的，再想想哦。\n\n# 问题3：\nBrainy: 你要补充说明你当时听到的异常声响，给教授提供更多判断坠落方位的依据，你会怎么表达？\n用户选项:\n（选项 A）I think the spaceship fell...\n  Brainy: 这句话是用来表达你对坠落位置的推测，不是描述你听到的声响线索的，再试一下吧。\n（选项 B）I saw trees with...\n  Brainy: 这句话是描述你看到的树木相关线索，不是说明听到的声响的哦，再想想。\n（选项 C）I heard a loud noise in... [正确]\n  Brainy: 非常棒！这句话正好可以用来描述你听到巨大声响的方位，能给教授判断坠落位置提供很有用的信息~\n```", "互动描述": "Dear Alex, I hope this email finds you well. We can take care of each other.（亲爱的亚历克斯：希望你一切都好。我们可以互相照顾。）"}

text_info_json:
[cell repeats an earlier one in this file: 544 characters]

eval_info_json:
[cell repeats an earlier one in this file: 848 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_imgWrite
type_name: 看图撰写
level: L1
unit_id: U14
knowledge_points_raw:
  elephant（词形）
  banana（词形）
  shower（词形）
  ... love(s) to...（结构）

status: generated
bitable_token: KwPHwnaqdiWlvNkDm5fcFreDnQh
db_table: core_interaction_component
created_at: 2026-05-08 19:32:36
updated_at: 2026-05-08 19:32:36
raw_config:
[cell repeats an earlier one in this file: 770 characters]

final_config_json:
[cell repeats an earlier one in this file: 789 characters]

kp_info_json:
[cell repeats an earlier one in this file: 629 characters]

task_info_json:
[cell repeats an earlier one in this file: 789 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"image": "0000800-00.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "现在你要填写大象护理记录的第一栏，“Animal type（动物种类）”这里应该填什么呢？"}, "optionList": [{"option": "Elephant", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！我们今天照顾的动物是大象，这里填写elephant完全正确~"}}, {"option": "Banana", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，banana是香蕉，是大象吃的食物，不是动物种类呀，再想想看？"}}, {"option": "Shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，shower是洗澡，我们今天给大象做的清洁项目，不是动物种类，再试一下吧~"}}], "answer": [0], "write": {"desc": "Elephant", "trans": "大象"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-01.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "接下来填护理记录的食物栏，“Food: She ate ___ （她吃了___）”，横线处应该填什么呢？"}, "optionList": [{"option": "bananas", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！我们喂了大象香蕉，所以她吃了香蕉，这个答案完全正确~"}}, {"option": "elephants", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，elephant是大象，是我们照顾的动物，不是她吃的食物呀，再想想？"}}, {"option": "a shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，a shower是洗澡，是我们给大象做的清洁，不是吃的东西哦，再试一次~"}}], "answer": [0], "write": {"desc": "bananas", "trans": "香蕉"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-02.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "现在填清洁记录栏，“Cleaning: She had ___ today（清洁：她今天做了___）”，横线处应该填什么呢？"}, "optionList": [{"option": "a shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！我们今天给大象洗了澡，所以她今天冲了淋浴，答案正确哦~"}}, {"option": "bananas", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，bananas是香蕉，属于食物部分的内容，不是清洁项目呀，再想想？"}}, {"option": "elephant", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，elephant是大象本身，不是清洁项目哦，再试一下吧~"}}], "answer": [0], "write": {"desc": "a shower", "trans": "一次淋浴"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-02.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "最后要总结大象的喜好，需要表达“大象喜爱洗澡和香蕉”，下列哪个句子是正确的？"}, "optionList": [{"option": "The elephant loves showers and bananas!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太厉害了！你准确用了love表达大象的喜好，完整说出了她喜欢洗澡和香蕉，完全正确~"}}, {"option": "The elephant eats showers and bananas!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，eat是“吃”的意思，洗澡是不能吃的，我们要表达的是“喜爱”哦，再试一下？"}}, {"option": "The elephant loves showers and apples!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，我们今天喂的是香蕉（bananas），不是苹果（apples），和我们的护理记录内容不符呀，再想想？"}}], "answer": [0], "write": {"desc": "The elephant loves showers and bananas!", "trans": "这头大象喜欢洗澡和香蕉！"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，可以使用准确的单词 elephant、banana、shower;短语 ... love(s) to...，描述了三张图中的各个细节!"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 现在你要填写大象护理记录的第一栏，“Animal type（动物种类）”这里应该填什么呢？\n用户选项:\n（选项 A）Elephant [正确]\n  Brainy: 答对啦！我们今天照顾的动物是大象，这里填写elephant完全正确~\n（选项 B）Banana\n  Brainy: 不对哦，banana是香蕉，是大象吃的食物，不是动物种类呀，再想想看？\n（选项 C）Shower\n  Brainy: 不对哦，shower是洗澡，我们今天给大象做的清洁项目，不是动物种类，再试一下吧~\n\n# 问题2：\nBrainy: 接下来填护理记录的食物栏，“Food: She ate ___ （她吃了___）”，横线处应该填什么呢？\n用户选项:\n（选项 A）bananas [正确]\n  Brainy: 太棒了！我们喂了大象香蕉，所以她吃了香蕉，这个答案完全正确~\n（选项 B）elephants\n  Brainy: 不对哦，elephant是大象，是我们照顾的动物，不是她吃的食物呀，再想想？\n（选项 C）a shower\n  Brainy: 不对哦，a shower是洗澡，是我们给大象做的清洁，不是吃的东西哦，再试一次~\n\n# 问题3：\nBrainy: 现在填清洁记录栏，“Cleaning: She had ___ today（清洁：她今天做了___）”，横线处应该填什么呢？\n用户选项:\n（选项 A）a shower [正确]\n  Brainy: 答对啦！我们今天给大象洗了澡，所以她今天冲了淋浴，答案正确哦~\n（选项 B）bananas\n  Brainy: 不对哦，bananas是香蕉，属于食物部分的内容，不是清洁项目呀，再想想？\n（选项 C）elephant\n  Brainy: 不对哦，elephant是大象本身，不是清洁项目哦，再试一下吧~\n\n# 问题4：\nBrainy: 最后要总结大象的喜好，需要表达“大象喜爱洗澡和香蕉”，下列哪个句子是正确的？\n用户选项:\n（选项 A）The elephant loves showers and bananas! [正确]\n  Brainy: 太厉害了！你准确用了love表达大象的喜好，完整说出了她喜欢洗澡和香蕉，完全正确~\n（选项 B）The elephant eats showers and bananas!\n  Brainy: 不对哦，eat是“吃”的意思，洗澡是不能吃的，我们要表达的是“喜爱”哦，再试一下？\n（选项 C）The elephant loves showers and apples!\n  Brainy: 不对哦，我们今天喂的是香蕉（bananas），不是苹果（apples），和我们的护理记录内容不符呀，再想想？\n```", "互动描述": "Animal Keeper's Record Animal type: Elephant Food: She ate bananas. Cleaning: She had a shower today. What does she love? The elephant loves showers and bananas!（动物饲养员记录\n动物种类：大象\n食物：她吃了香蕉。\n清洁：她今天洗了澡。\n她喜欢什么呢？\n这头大象喜欢洗澡和香蕉！）"}

text_info_json:
  {"inputType": "write", "passCondition": "说明动物类型是大象。说明大象吃了香蕉。说明大象洗了澡。表达大象喜欢香蕉和洗澡。", "textList": [{"mode": "preset", "desc": "Animal Keeper's Record", "answerText": ""}, {"mode": "fillingInput", "desc": "Animal type: ___ ", "answerText": "Elephant", "hint": "动物种类：大象（Elephant）"}, {"mode": "fillingInput", "desc": "Food: She ate ___ .", "answerText": "bananas", "hint": "食物：她吃了香蕉（bananas）。"}, {"mode": "fillingInput", "desc": "Cleaning: She had ___ today. ", "answerText": "a shower", "hint": "清洁：她今天洗了澡（a shower）。"}, {"mode": "preset", "desc": "What does she love?", "answerText": ""}, {"mode": "universalInput", "answerText": "The elephant loves showers and bananas!", "hint": "这头大象喜欢洗澡和香蕉！（The elephant loves showers and bananas!）"}]}

eval_info_json:
  {"title": "填写大象护理记录", "taskDesc": "根据图片内容，填写大象护理报告。", "sceneDesc": "粗心的大象饲养员忘记给大象洗澡了！真是照顾不周。你们给大象洗了澡，还喂了香蕉，现在把这些都记在护理记录上吧！", "knowledge": "elephant n. 大象\nbanana n. 香蕉\nshower n. 淋浴、洗澡\n... love(s) to... ……喜爱……", "passCondition": "说明动物类型是大象。说明大象吃了香蕉。说明大象洗了澡。表达大象喜欢香蕉和洗澡。", "textList": [{"mode": "preset", "desc": "Animal Keeper's Record", "answerText": ""}, {"mode": "fillingInput", "desc": "Animal type: ___ ", "answerText": "Elephant", "hint": "动物种类：大象（Elephant）"}, {"mode": "fillingInput", "desc": "Food: She ate ___ .", "answerText": "bananas", "hint": "食物：她吃了香蕉（bananas）。"}, {"mode": "fillingInput", "desc": "Cleaning: She had ___ today. ", "answerText": "a shower", "hint": "清洁：她今天洗了澡（a shower）。"}, {"mode": "preset", "desc": "What does she love?", "answerText": ""}, {"mode": "universalInput", "answerText": "The elephant loves showers and bananas!", "hint": "这头大象喜欢洗澡和香蕉！（The elephant loves showers and bananas!）"}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_questionMakeSentence
type_name: 邮件组句
level: L1
unit_id: U14
knowledge_points_raw:
  That's why we have to...（结构）
  The job is...（结构）When will you arrive? （语义）

status: generated
bitable_token: M5oTwUP6wiImC4kVJU8cRYnfnyf
db_table: core_interaction_component
created_at: 2026-05-08 19:32:38
updated_at: 2026-05-08 19:32:38
raw_config:
[cell repeats an earlier one in this file: 975 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_questionMakeSentence", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["What is your opinion on the job?", "Why do you want to stay?", "Ask her when to come."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呢？你什么时候会到呀？）"}

kp_info_json:
[cell repeats an earlier one in this file: 1253 characters]

task_info_json:
  {"cId": "0000800", "cType": "core_writing_questionMakeSentence", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["What is your opinion on the job?", "Why do you want to stay?", "Ask her when to come."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呢？你什么时候会到呀？）"}

study_info_json:
  {"learningPart": [{"leadIn": {"desc": "What is your opinion on the job?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "邮件开头你已经告诉Rebecca你理解她的担心，也说明了这是探索Wander Port的好机会，接下来你要解释这份探索工作对你们很重要，你会说："}, "optionList": [{"option": "The job is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你准确表达了“这份工作对我们很重要”的含义，符合句子语境哦。"}}, {"option": "The jobs is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，这里be动词是is，说明主语应该是单数形式，jobs是复数，和is搭配不成立，再试一下吧。"}}, {"option": "The projects is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，projects是复数形式，和单数be动词is搭配不成立，而且这里要表达的是“这份工作”的含义，projects不符合语义，再试一下吧。"}}], "answer": [0], "write": {"desc": "The job is important for us.", "trans": "这份工作对我们来说很重要。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Why do you want to stay?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你已经说明了这份探索工作的重要性，接下来要表达“这就是我们必须留下来的原因”，你会说："}, "optionList": [{"option": "That's why we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太厉害啦！你准确用That's why...的结构表达了“这就是为什么我们必须……”的含义，完美契合语境。"}}, {"option": "That's how we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，how是用来表示方式的，这里你要解释留下来的原因，不是说明留下来的方式，所以用how不符合语义，再试一下吧。"}}, {"option": "That's which we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，which一般引导定语从句指代事物，不能用来引导表语从句说明原因，不符合句子的逻辑哦，再试一下吧。"}}], "answer": [0], "write": {"desc": "That's why we have to stay.", "trans": "这就是我们必须留下来的原因。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Ask her when to come."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你已经说完了留在Wander Port的决定和原因，现在你想询问Rebecca什么时候会抵达这里，你会怎么说："}, "optionList": [{"option": "When will you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完全正确！你准确用一般将来时询问了对方抵达的时间，符合邮件的提问需求。"}}, {"option": "When is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，arrive是实义动词，在疑问句中需要借助助动词而不是be动词is来构成句式，而且is不能和第二人称you搭配，这个句子语法是错误的，再试一下吧。"}}, {"option": "How is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，首先这句话有语法错误，实义动词arrive不能和be动词is搭配使用，其次这里你要询问的是抵达的时间，不是抵达的方式，how不符合语义，再试一下吧。"}}], "answer": [0], "write": {"desc": "When will you arrive?", "trans": "你什么时候会到？"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，你已经掌握了表达工作重要性的句式The job is...、说明原因的句式That's why we have to...以及询问时间的句式When will you arrive?，可以顺利完成给Rebecca的邮件啦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 邮件开头你已经告诉Rebecca你理解她的担心，也说明了这是探索Wander Port的好机会，接下来你要解释这份探索工作对你们很重要，你会说：\n用户选项:\n（选项 A）The job is important for us. [正确]\n  Brainy: 太棒了！你准确表达了“这份工作对我们很重要”的含义，符合句子语境哦。\n（选项 B）The jobs is important for us.\n  Brainy: 不对哦，这里be动词是is，说明主语应该是单数形式，jobs是复数，和is搭配不成立，再试一下吧。\n（选项 C）The projects is important for us.\n  Brainy: 不对哦，projects是复数形式，和单数be动词is搭配不成立，而且这里要表达的是“这份工作”的含义，projects不符合语义，再试一下吧。\n\n# 问题2：\nBrainy: 你已经说明了这份探索工作的重要性，接下来要表达“这就是我们必须留下来的原因”，你会说：\n用户选项:\n（选项 A）That's why we have to stay. [正确]\n  Brainy: 太厉害啦！你准确用That's why...的结构表达了“这就是为什么我们必须……”的含义，完美契合语境。\n（选项 B）That's how we have to stay.\n  Brainy: 不对哦，how是用来表示方式的，这里你要解释留下来的原因，不是说明留下来的方式，所以用how不符合语义，再试一下吧。\n（选项 C）That's which we have to stay.\n  Brainy: 不对哦，which一般引导定语从句指代事物，不能用来引导表语从句说明原因，不符合句子的逻辑哦，再试一下吧。\n\n# 问题3：\nBrainy: 你已经说完了留在Wander Port的决定和原因，现在你想询问Rebecca什么时候会抵达这里，你会怎么说：\n用户选项:\n（选项 A）When will you arrive? [正确]\n  Brainy: 完全正确！你准确用一般将来时询问了对方抵达的时间，符合邮件的提问需求。\n（选项 B）When is you arrive?\n  Brainy: 不对哦，arrive是实义动词，在疑问句中需要借助助动词而不是be动词is来构成句式，而且is不能和第二人称you搭配，这个句子语法是错误的，再试一下吧。\n（选项 C）How is you arrive?\n  Brainy: 不对哦，首先这句话有语法错误，实义动词arrive不能和be动词is搭配使用，其次这里你要询问的是抵达的时间，不是抵达的方式，how不符合语义，再试一下吧。\n```", "互动描述": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呢？你什么时候会到呀？）"}

text_info_json:
[cell repeats an earlier one in this file: 789 characters]

eval_info_json:
  {"title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "knowledge": "The job is... 这份工作...... That's why we have to... 这就是为什么我们必须…… When will you arrive? 你什么时候会到？", "passCondition": "用户写出：这份工作很重要。这就是我们为什么要留下。你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,"}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port. "}, {"mode": "fillingInput", "desc": "The ___ is important for us.", "optionList": [{"option": "job"}, {"option": "jobs"}, {"option": "projects"}], "answer": [0]}, {"mode": "fillingInput", "desc": "That's ___ we have to stay.", "optionList": [{"option": "why"}, {"option": "how"}, {"option": "which"}], "answer": [0]}, {"mode": "preset", "desc": "Will you come to Wander Port some day? "}, {"mode": "fillingInput", "desc": " ___ you arrive?", "optionList": [{"option": "When will"}, {"option": "When is"}, {"option": "How is"}], "answer": [0]}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_trace
type_name: 信息描写
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
raw_config:
  【任务标题】
  购买葡萄
  【互动内容】
  任务：请描写你需要的水果
  答案：grape

status: generated
bitable_token: Nd8cb0tnKankIHsVgw1caL1Xn3f
db_table: middle_interaction_component
created_at: 2026-05-08 19:32:39
updated_at: 2026-05-08 19:32:39
final_config_json:
  {"cType": "mid_message_trace", "cId": "0000800", "title": "购买葡萄", "resourceMapping": {"Vicky": 658}, "cDesc": "You bought the fresh grape as you needed. (你买了你需要的新鲜葡萄。)", "question": {"desc": "请描写你需要的水果"}, "trace": "grape", "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 226 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_questionWrite
type_name: 邮件撰写
level: L1
unit_id: U14
knowledge_points_raw: That's why we have to...（结构）The job is...（结构）When will you arrive? （语义）
status: generated
bitable_token: Brn0wldKYizsLZkBqK6clp1tnKd
db_table: core_interaction_component
created_at: 2026-05-08 19:32:40
updated_at: 2026-05-08 19:32:40
raw_config:
[cell repeats an earlier one in this file: 863 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_questionWrite", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["Tell her your decision and why.", "Ask her when she will arrive."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?\n（亲爱的丽贝卡：\n我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会有一天来漫游港吗？如果会的话，你什么时候到呢？）"}

kp_info_json:
[cell repeats an earlier one in this file: 309 characters]

task_info_json:
  {"cId": "0000800", "cType": "core_writing_questionWrite", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["Tell her your decision and why.", "Ask her when she will arrive."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?\n（亲爱的丽贝卡：\n我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会有一天来漫游港吗？如果会的话，你什么时候到呢？）"}

study_info_json:
  {"learningPart": [{"leadIn": {"desc": "Tell her your decision and why."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你在邮件里已经和Rebecca说明这是探索Wander Port的最好机会，接下来想强调这份任务对你们而言很重要，你会怎么说？"}, "optionList": [{"option": "The job is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！你准确表达了“这份工作（任务）对我们很重要”的含义，正好可以承接上文说明你们留下的理由，非常合适。"}}, {"option": "The jobs are important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这里你用了复数形式jobs，但这里指代的是你们这次探索Wander Port的单个任务，应该用单数job哦，再试一下吧。"}}, {"option": "The projects are important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "projects是“项目”的复数形式，不符合此处指代单个探索任务的语境，而且这里我们要用到的是job这个词哦，再想想吧。"}}], "answer": [0], "write": {"desc": "The job is important for us.", "trans": "这份工作对我们来说很重要。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Tell her your decision and why."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你已经说明了任务的重要性，现在要告诉Rebecca这就是你们必须留下来的原因，你会怎么表达？"}, "optionList": [{"option": "That's how we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "how是询问或说明“方式”的引导词，这里你是要解释留下的原因，不是留下的方式哦，再试一次吧。"}}, {"option": "That's why we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！用why引导表语从句准确表达了“这就是我们必须留下来的原因”的含义，完美承接了上文的理由，用得非常对。"}}, {"option": "That's which we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "which通常用来指代事物，不能用来引导表示原因的表语从句哦，这里要表达“为什么”的含义，换个词试试看吧。"}}], "answer": [1], "write": {"desc": "That's why we have to stay.", "trans": "这就是为什么我们必须留下来。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Ask her when she will arrive."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你已经在邮件里问过Rebecca是否会来Wander Port，现在想进一步询问她如果来的话什么时候会到，你会怎么说？"}, "optionList": [{"option": "If so, when will you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太优秀啦！你准确使用了一般将来时的特殊疑问句结构，自然询问了对方到达的时间，完全符合邮件里的询问需求。"}}, {"option": "If so, when is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "arrive是实义动词，构成疑问句时需要借助助动词will/do等，不能用be动词is哦，而且这个句子是将来的情况，应该用will来提问，再调整一下吧。"}}, {"option": "If so, how is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "how是用来询问方式的，这里你要问的是到达的时间，而且动词搭配也不对哦，再试试看吧。"}}], "answer": [0], "write": {"desc": "If so, when will you arrive?", "trans": "如果会的话，你什么时候到呢？"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，你已经掌握了短语The job is...、That's why we have to...以及句型When will you arrive?的用法，能够准确完成给Rebecca的邮件编写啦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你在邮件里已经和Rebecca说明这是探索Wander Port的最好机会，接下来想强调这份任务对你们而言很重要，你会怎么说？\n用户选项:\n（选项 A）The job is important for us. [正确]\n  Brainy: 答对啦！你准确表达了“这份工作（任务）对我们很重要”的含义，正好可以承接上文说明你们留下的理由，非常合适。\n（选项 B）The jobs are important for us.\n  Brainy: 这里你用了复数形式jobs，但这里指代的是你们这次探索Wander Port的单个任务，应该用单数job哦，再试一下吧。\n（选项 C）The projects are important for us.\n  Brainy: projects是“项目”的复数形式，不符合此处指代单个探索任务的语境，而且这里我们要用到的是job这个词哦，再想想吧。\n\n# 问题2：\nBrainy: 你已经说明了任务的重要性，现在要告诉Rebecca这就是你们必须留下来的原因，你会怎么表达？\n用户选项:\n（选项 A）That's how we have to stay.\n  Brainy: how是询问或说明“方式”的引导词，这里你是要解释留下的原因，不是留下的方式哦，再试一次吧。\n（选项 B）That's why we have to stay. [正确]\n  Brainy: 太棒了！用why引导表语从句准确表达了“这就是我们必须留下来的原因”的含义，完美承接了上文的理由，用得非常对。\n（选项 C）That's which we have to stay.\n  Brainy: which通常用来指代事物，不能用来引导表示原因的表语从句哦，这里要表达“为什么”的含义，换个词试试看吧。\n\n# 问题3：\nBrainy: 你已经在邮件里问过Rebecca是否会来Wander Port，现在想进一步询问她如果来的话什么时候会到，你会怎么说？\n用户选项:\n（选项 A）If so, when will you arrive? [正确]\n  Brainy: 太优秀啦！你准确使用了一般将来时的特殊疑问句结构，自然询问了对方到达的时间，完全符合邮件里的询问需求。\n（选项 B）If so, when is you arrive?\n  Brainy: arrive是实义动词，构成疑问句时需要借助助动词will/do等，不能用be动词is哦，而且这个句子是将来的情况，应该用will来提问，再调整一下吧。\n（选项 C）If so, how is you arrive?\n  Brainy: how是用来询问方式的，这里你要问的是到达的时间，而且动词搭配也不对哦，再试试看吧。\n```", "互动描述": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?\n（亲爱的丽贝卡：\n我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你会有一天来漫游港吗？如果会的话，你什么时候到呢？）"}

text_info_json:
  {"inputType": "write", "passCondition": "1. 这份工作很重要 2. 这就是我们为什么要留下 3. 你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,", "answerText": "", "hint": ""}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port.", "answerText": "", "hint": ""}, {"mode": "fillingInput", "desc": "The ____ is important for us.", "answerText": "job", "hint": "这份工作（job）对我们来说很重要。"}, {"mode": "fillingInput", "desc": "That's ____ we have to stay.", "answerText": "why", "hint": "这就是为什么（why）我们必须留下。"}, {"mode": "preset", "desc": "Will you come to Wander Port some day?", "answerText": "", "hint": ""}, {"mode": "fillingInput", "desc": "If so, _________ you arrive?", "answerText": "when will", "hint": "如果是这样的话，你什么时候将会（when will）到达？"}]}

eval_info_json:
  {"title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "knowledge": "The job is... 这份工作......That's why we have to... 这就是为什么我们必须……When will you arrive? 你什么时候会到？", "passCondition": "1. 这份工作很重要 2. 这就是我们为什么要留下 3. 你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,", "answerText": "", "hint": ""}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port.", "answerText": "", "hint": ""}, {"mode": "fillingInput", "desc": "The ____ is important for us.", "answerText": "job", "hint": "这份工作（job）对我们来说很重要。"}, {"mode": "fillingInput", "desc": "That's ____ we have to stay.", "answerText": "why", "hint": "这就是为什么（why）我们必须留下。"}, {"mode": "preset", "desc": "Will you come to Wander Port some day?", "answerText": "", "hint": ""}, {"mode": "fillingInput", "desc": "If so, _________ you arrive?", "answerText": "when will", "hint": "如果是这样的话，你什么时候将会（when will）到达？"}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_spell
type_name: 信息拼词
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: X0sPb1KERarvocs4rb3cK35AnFg
db_table: middle_interaction_component
created_at: 2026-05-08 19:32:43
updated_at: 2026-05-08 19:32:43
raw_config:
[cell repeats an earlier one in this file: 121 characters]

final_config_json:
  {"cType": "mid_message_spell", "cId": "0000800", "title": "购买葡萄", "resourceMapping": {"Vicky": 658}, "cDesc": "You bought the fresh sweet grapes. (你购买了葡萄。)", "question": {"desc": "请填入“葡萄”的正确的英文拼写"}, "tip": "葡萄的英文是 grape / 第二个字母是 r 哦，再想想最后一个空应该填什么吧", "inputConfig": [{"stem": "G（2）pe", "value": "ra"}], "stemList": ["h", "a", "r", "l", "e", "w"], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 226 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_combine
type_name: 信息组句
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: TXYobOAuaakk6KslHp9caUB7nXa
db_table: middle_interaction_component
created_at: 2026-05-08 19:32:45
updated_at: 2026-05-08 19:32:45
raw_config:
[cell repeats an earlier one in this file: 170 characters]

final_config_json:
  {"cType": "mid_message_combine", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You completed the sentence \"Is Maeve the visitor you invited?\". (你完成了句子“梅芙是你邀请的访客吗？”的填写。)", "question": {"desc": "请在空白处填入正确的单词，组成句子"}, "tip": "可以用 is 引导的一般疑问句询问；you invited 是 visitor 的后置定语", "optionList": [{"option": "is"}, {"option": "the visitor"}, {"option": "you invited"}, {"option": "Maeve"}], "answer": [0, 3, 1, 2], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 228 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_fillin
type_name: 信息补词
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
raw_config:
  【任务标题】
  填写信息表
  【互动内容】
  任务描述：请在空白处填入正确的字母，组成完整单词
  题干：K(3)ledge
  答案：now
  辅助信息：需要填入的单词的中文释义是“知识”

status: generated
bitable_token: FxwMb8MJmarcRsso2tQcV8thn5g
db_table: middle_interaction_component
created_at: 2026-05-08 19:32:46
updated_at: 2026-05-08 19:32:46
final_config_json:
  {"cType": "mid_message_fillin", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled \"now\" to make the word \"knowledge\". (你填入now组成了单词knowledge。)", "question": {"desc": "请在空白处填入正确的字母，组成完整单词"}, "tip": "需要填入的单词的中文释义是“知识”", "inputConfig": [{"stem": "K(3)ledge", "value": "now"}], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 227 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_sentence
type_name: 信息填句
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: CNFgbIIszaPWXfsekt7cCZjHnVh
db_table: middle_interaction_component
created_at: 2026-05-08 19:32:48
updated_at: 2026-05-08 19:32:48
raw_config:
[cell repeats an earlier one in this file: 176 characters]

final_config_json:
  {"cType": "mid_message_sentence", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You finished filling the information form correctly. (你正确填写了信息表。)", "question": {"desc": "请填入正确的内容，使句意完整"}, "tip": "你可以使用 The main purpose of this tour is...", "answerHint": "The main purpose of this tour is to learn knowledge about local traditional crafts.", "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 229 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_choose
type_name: 图片单选
level: L1
unit_id: U14
knowledge_points_raw: warm
status: generated
bitable_token: XyIVbYciraBkoasJtV1c3N5Gnhh
db_table: middle_interaction_component
created_at: 2026-05-08 19:32:52
updated_at: 2026-05-08 19:32:52
raw_config:
[cell repeats an earlier one in this file: 199 characters]

final_config_json:
  {"cType": "mid_image_choose", "cId": "0000800", "title": "选择合适的河段取水", "meaning": "", "resourceMapping": {"Vicky": 658}, "question": {"desc": "Find $warm$ water.", "content": "Find $warm$ water."}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}], "answer": [2], "preDialog": [{"type": "user", "content": "Look!"}], "tip": "warm 指“温暖的”。", "corFeedback": {"type": "npc", "npcName": "User", "content": "Warm water here!"}, "errFeedback": {"type": "npc", "npcName": "User", "content": "It doesn't seem like there's warm water."}, "postDialog": [], "cDesc": "You found the warm water at the right river section. (你在合适的河段找到了温暖的水。)"}

kp_info_json:
[cell repeats an earlier one in this file: 366 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_sequence
type_name: 图片有序
level: L1
unit_id: U14
knowledge_points_raw: ... one by one.
status: generated
bitable_token: BZWebQROpagkJ0sxArGcsBjwnCU
db_table: middle_interaction_component
created_at: 2026-05-08 19:32:57
updated_at: 2026-05-08 19:32:57
raw_config:
[cell repeats an earlier one in this file: 180 characters]

final_config_json:
  {"cType": "mid_image_sequence", "cId": "0000800", "title": "排序跳格子顺序", "meaning": "", "resourceMapping": {"Vicky": 658}, "question": {"desc": "We must go $one by one$."}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}, {"option": "0000800_option_03.png"}], "answer": [0, 1, 2, 3], "preDialog": [], "tip": "one by one指\"一个接一个\"", "corFeedback": {}, "errFeedback": {"type": "npc", "npcName": "Dan", "content": "We can't jump like that."}, "postDialog": [], "cDesc": "You arrange hopscotch in order one by one. (你一个接一个地排列跳格子的顺序。)"}

kp_info_json:
[cell repeats an earlier one in this file: 225 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_drag
type_name: 图片拖拽
level: L1
unit_id: U14
knowledge_points_raw: hammer （词义）
status: generated
bitable_token: Qqq9bVv19aH6LisRrsVcvf6xnqe
db_table: middle_interaction_component
created_at: 2026-05-08 19:32:59
updated_at: 2026-05-08 19:32:59
raw_config:
[cell repeats an earlier one in this file: 295 characters]

final_config_json:
  {"cType": "mid_image_drag", "cId": "0000800", "title": "选出正确的物品", "meaning": "", "resourceMapping": {}, "question": {"desc": "Let's pick the $fish$, $crab$ and $octopus$ in order."}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}, {"option": "0000800_option_03.png"}], "answer": [0, 2, 1], "preDialog": [{"type": "npc", "npcName": "Sarah", "content": "Look! So many gloves there!"}], "tip": "fish 指“鱼”；crab 指“螃蟹”；octopus 指“章鱼”", "corFeedback": {"type": "npc", "npcName": "Daisy", "content": "Yes! You got it right!"}, "errFeedback": {"type": "npc", "npcName": "Daisy", "content": "This doesn't seem like a crab."}, "postDialog": [{"type": "npc", "npcName": "Daisy", "content": "very good!"}], "cDesc": "You picked fish, crab and octopus in order. (你按顺序找出了鱼、螃蟹和章鱼。)"}

kp_info_json:
[cell repeats an earlier one in this file: 211 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_choose
type_name: 听力选择
level: L1
unit_id: U14
knowledge_points_raw:
  school
  study
  play

raw_config:
  Where are Kimi and Jimmy going?
  0：学校
  1：动物园
  2：烘焙坊

intermediate_json: {"学习过程配置": "无", "互动描述": "请您提供具体的任务名称和题目材料内容哦，我会按照要求为您生成对应的叙事化描述~"}
status: generated
bitable_token: Kwrcw6A4jip2sxkdLn4czd1knvf
db_table: core_interaction_component
created_at: 2026-05-09 10:34:27
updated_at: 2026-05-09 10:34:27
final_config_json:
  {"cType": "core_listening_choose", "cId": "0000810", "title": "无", "sceneDesc": "无", "key": [{"desc": "", "keyList": []}], "resourceMapping": {"Eva": 663, "Peter": 653, "Vicky": 658}, "cDesc": "请您提供具体的任务名称和题目材料内容哦，我会按照要求为您生成对应的叙事化描述~"}

task_info_json:
  {"cType": "core_listening_choose", "cId": "0000810", "title": "无", "sceneDesc": "无", "key": [{"desc": "", "keyList": []}], "resourceMapping": {"Eva": 663, "Peter": 653, "Vicky": 658}, "cDesc": "请您提供具体的任务名称和题目材料内容哦，我会按照要求为您生成对应的叙事化描述~"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_imageDrag
type_name: 看图选词
level: L1
unit_id: U14
knowledge_points_raw:
  lake n. 湖
  monkey n. 猴子
  three num. 三
  How many ...? 多少……？
  There be ... 有……

status: generated
bitable_token: MVo7wugWfimJPIkxhJCcqppFnyf
db_table: core_interaction_component
created_at: 2026-05-09 10:35:23
updated_at: 2026-05-09 10:35:23
raw_config:
[cell repeats an earlier one in this file: 747 characters]

final_config_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "To open the gate of the magic word castle, you fill the blank in the sentence \"in the ___\" answering where hippos live, and you choose the word \"lake\" which is the perfect fit.（为了打开神奇单词城堡的大门，你补全了“在___里”这个回答河马栖息地的句子空缺，选了“lake”这个最合适的单词。）Next, to keep going on your castle exploration, you answer Brainy’s question about other animals in the zoo, and you pick the word \"tree\" that matches the content of the main picture perfectly.（接下来为了继续城堡探险，你回答了Brainy提出的动物园里还有什么其他动物的问题，选了和主图内容完全匹配的“tree”这个单词。）"}

kp_info_json:
[cell repeats an earlier one in this file: 756 characters]

task_info_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "To open the gate of the magic word castle, you fill the blank in the sentence \"in the ___\" answering where hippos live, and you choose the word \"lake\" which is the perfect fit.（为了打开神奇单词城堡的大门，你补全了“在___里”这个回答河马栖息地的句子空缺，选了“lake”这个最合适的单词。）Next, to keep going on your castle exploration, you answer Brainy’s question about other animals in the zoo, and you pick the word \"tree\" that matches the content of the main picture perfectly.（接下来为了继续城堡探险，你回答了Brainy提出的动物园里还有什么其他动物的问题，选了和主图内容完全匹配的“tree”这个单词。）"}

study_info_json:
  {"learningPart": [{"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "小朋友你好呀，这道题我们要学习核心名词lake，先考考你，下面哪个选项的意思是“湖”呀？"}, "optionList": [{"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "tree的意思是“树”，不是我们要找的哦，再试一下吧~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass的意思是“草”，不对哦，再想想看吧~"}}, {"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！lake就是“湖”的意思，你太棒啦，这个知识点你已经记住啦~"}}], "answer": [2]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "现在我们来看题目哦，Ben问“河马生活在哪里呀？”，需要你选一个单词填到空里，补全“在____里”这个回答，想一想河马的生存环境是哪个吧~"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！河马是生活在湖里的，所以回答是in the lake，太棒了，现在大声把这个句子读出来吧~"}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "tree是树，河马不会生活在树上哦，结合河马的生活习惯再选一次吧~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是草地，河马不是主要生活在草地上的哦，再想想看吧~"}}], "answer": [0]}]}, {"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "这道题我们要分辨三个名词的意思，先考考你，下面哪个选项的意思是“树”呀？"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "lake的意思是“湖”，不是我们要找的哦，再试一下吧~"}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！tree就是“树”的意思，你记得真牢，太厉害啦~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass的意思是“草”，不对哦，再想想看吧~"}}], "answer": [1]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "现在来看题目哦，Brainy问“动物园里还有什么其他的动物相关事物？”，需要你选出合适的答案~"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "lake是湖，不是动物相关的典型事物哦，再结合动物园里常见的东西想想看吧~"}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！动物园里有很多树，是动物生活环境里常见的事物哦，太棒了，现在可以试着说一说你在动物园里见过的其他东西哦~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是草，不是最符合的选项哦，再选一次吧~"}}], "answer": [1]}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你复习了lake（湖）、tree（树）、grass（草）这些核心名词，还学会了怎么回答关于动物栖息地和动物园事物的问题，你今天的英语学习收获超丰富哦，继续加油呀~"}}

intermediate_json:
  {"学习流程配置": "```\n# 小题 4\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：小朋友你好呀，这道题我们要学习核心名词lake，先考考你，下面哪个选项的意思是“湖”呀？\n- 选项 A：tree\n  Brainy：tree的意思是“树”，不是我们要找的哦，再试一下吧~\n- 选项 B：grass\n  Brainy：grass的意思是“草”，不对哦，再想想看吧~\n- 选项 C：lake [正确]\n  Brainy：答对啦！lake就是“湖”的意思，你太棒啦，这个知识点你已经记住啦~\n\n### 2. 原题降级\nBrainy：现在我们来看题目哦，Ben问“河马生活在哪里呀？”，需要你选一个单词填到空里，补全“在____里”这个回答，想一想河马的生存环境是哪个吧~\n- 选项 A：lake [正确]\n  Brainy：答对啦！河马是生活在湖里的，所以回答是in the lake，太棒了，现在大声把这个句子读出来吧~\n- 选项 B：tree\n  Brainy：tree是树，河马不会生活在树上哦，结合河马的生活习惯再选一次吧~\n- 选项 C：grass\n  Brainy：grass是草地，河马不是主要生活在草地上的哦，再想想看吧~\n\n---\n\n# 小题 5\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：这道题我们要分辨三个名词的意思，先考考你，下面哪个选项的意思是“树”呀？\n- 选项 A：lake\n  Brainy：lake的意思是“湖”，不是我们要找的哦，再试一下吧~\n- 选项 B：tree [正确]\n  Brainy：答对啦！tree就是“树”的意思，你记得真牢，太厉害啦~\n- 选项 C：grass\n  Brainy：grass的意思是“草”，不对哦，再想想看吧~\n\n### 2. 原题降级\nBrainy：现在来看题目哦，Brainy问“动物园里还有什么其他的动物相关事物？”，需要你选出合适的答案~\n- 选项 A：lake\n  Brainy：lake是湖，不是动物相关的典型事物哦，再结合动物园里常见的东西想想看吧~\n- 选项 B：tree [正确]\n  Brainy：答对啦！动物园里有很多树，是动物生活环境里常见的事物哦，太棒了，现在可以试着说一说你在动物园里见过的其他东西哦~\n- 选项 C：grass\n  Brainy：grass是草，不是最符合的选项哦，再选一次吧~\n\n---\n\n# 完结反馈\nBrainy：太棒了！你复习了lake（湖）、tree（树）、grass（草）这些核心名词，还学会了怎么回答关于动物栖息地和动物园事物的问题，你今天的英语学习收获超丰富哦，继续加油呀~\n```", "互动描述": "To open the gate of the magic word castle, you fill the blank in the sentence \"in the ___\" answering where hippos live, and you choose the word \"lake\" which is the perfect fit.（为了打开神奇单词城堡的大门，你补全了“在___里”这个回答河马栖息地的句子空缺，选了“lake”这个最合适的单词。）\nNext, to keep going on your castle exploration, you answer Brainy’s question about other animals in the zoo, and you pick the word \"tree\" that matches the content of the main picture perfectly.（接下来为了继续城堡探险，你回答了Brainy提出的动物园里还有什么其他动物的问题，选了和主图内容完全匹配的“tree”这个单词。）"}

question_group_json:
[cell repeats an earlier one in this file: 430 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_order
type_name: 合作阅读
level: L1
unit_id: U14
knowledge_points_raw:
  club
  join
  member
  choose
  interested

status: generated
bitable_token: H6DJweNkpigCbak2Y5LcTZ8Vnfb
db_table: core_interaction_component
created_at: 2026-05-09 10:35:27
updated_at: 2026-05-09 10:35:27
raw_config:
[cell repeats an earlier one in this file: 2351 characters]

final_config_json:
[cell repeats an earlier one in this file: 645 characters]

kp_info_json:
[cell repeats an earlier one in this file: 865 characters]

task_info_json:
[cell repeats an earlier one in this file: 645 characters]

material_info_json:
[cell repeats an earlier one in this file: 2699 characters]

flow_info_json:
[cell repeats an earlier one in this file: 232 characters]

study_info_json:
  {"closing": {"type": "npc", "content": "恭喜你完成了本次所有的学习任务，你对知识点的掌握很棒哦，继续保持呀！", "npcName": "Brainy"}, "learningPart": [{"leadIn": {"desc": "At Vala Academy, Pioneers don't have exams. But you need points to level up!"}, "type": "npc", "content": "我们来认识一下这段话中的关键单词 exams。exams 是考试的意思，平时我们说参加考试就可以说 take exams。", "npcName": "Brainy", "learning": [{"answer": [0], "meaning": "句意选择题", "optionList": [{"option": "在瓦拉学院，开拓者们不用参加考试。", "feedback": {"type": "npc", "content": "太棒了！你完全掌握了 exams 的意思和这个句子的含义啦~", "npcName": "Brainy"}}, {"option": "在瓦拉学院，开拓者们没有俱乐部。", "feedback": {"type": "npc", "content": "不对哦，club才是俱乐部的意思，我们这里的重点单词exams是考试的意思，再回忆一下释义吧。", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "接下来，我们来看下包含 exams 的句子 At Vala Academy, Pioneers don't have exams. 是什么意思呢？"}}, {"answer": [0], "meaning": "段落大意题", "optionList": [{"option": "瓦拉学院的开拓者不需要考试，但是需要积分来升级。", "feedback": {"type": "npc", "content": "回答正确！你准确抓住了段落里的两个核心信息点，太厉害啦~", "npcName": "Brainy"}}, {"option": "瓦拉学院的开拓者既需要参加考试，也需要积分来升级。", "feedback": {"type": "npc", "content": "有点小失误哦，段落里明确说了开拓者们是没有考试的，再仔细读一遍段落内容吧。", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "了解了关键单词和关键句子的意思，我们一起来看看这一段主要在说什么吧？"}}]}, {"leadIn": {"desc": "You can choose your favourite club to join. If you are interested in something, you can find a club for it."}, "type": "npc", "content": "本段的重点单词是 club，它的意思是俱乐部，我们常说的足球俱乐部就是 football club。", "npcName": "Brainy", "learning": [{"answer": [1], "meaning": "句意选择题", "optionList": [{"option": "你可以选择你最喜欢的课程去上。", "feedback": {"type": "npc", "content": "不对哦，课程的英文是course，我们这里的club是俱乐部的意思，再想想正确的意思吧。", "npcName": "Brainy"}}, {"option": "你可以选择你最喜欢的俱乐部加入。", "feedback": {"type": "npc", "content": "完美！你已经牢牢记住了club的意思，也理解了这个句子的含义~", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "我们来看看包含 club 的句子 You can choose your favourite club to join. 是什么意思呢？"}}, {"answer": [0], "meaning": "段落大意题", "optionList": [{"option": "你可以选择加入喜欢的俱乐部，如果你对某件事感兴趣，就能找到对应的俱乐部。", "feedback": {"type": "npc", "content": "答得太对了！你完全理解了这一段的核心内容，继续加油哦~", "npcName": "Brainy"}}, {"option": "所有的俱乐部都非常受欢迎，你必须加入其中一个。", "feedback": {"type": "npc", "content": "这一段并没有提到俱乐部是否受欢迎，也没有要求必须加入俱乐部哦，再回顾一下段落内容吧。", "npcName": "Brainy"}}], "question": {"type": "npc", "npcName": "Brainy", "content": "下面我们来看看这一段主要讲了什么内容吧？"}}]}]}

intermediate_json:
  {"阅读材料格式化": "```\n# 材料2\n类型：电子屏\n标题：How to Join Clubs?\n正文:\n<sp>You can choose your favourite club to join. If you are interested in something, you can find a club for it. The robot club, the plant club, the sports club, and the reading club are all popular choices.<br>If you are not interested in any club, you can start a new one with friends!<br><sp>图片:[0101106_core reading2]\n```", "学习材料格式化": "```\n# 段落1\n重点词汇: \n正文:\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n```\n```\n# 段落2\n重点词汇: \n正文:\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n```", "学习过程配置": "```\n# 段落1\n## 段落内容\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n## 互动题目\nBrainy：我们来认识一下这段话中的关键单词 exams。exams 是考试的意思，平时我们说参加考试就可以说 take exams。\n1. 句意选择题\nBrainy：接下来，我们来看下包含 exams 的句子 At Vala Academy, Pioneers don't have exams. 是什么意思呢？\n- 在瓦拉学院，开拓者们不用参加考试。[正确]\n  Brainy：太棒了！你完全掌握了 exams 的意思和这个句子的含义啦~\n- 在瓦拉学院，开拓者们没有俱乐部。\n  Brainy：不对哦，club才是俱乐部的意思，我们这里的重点单词exams是考试的意思，再回忆一下释义吧。\n\n2. 段落大意题\nBrainy：了解了关键单词和关键句子的意思，我们一起来看看这一段主要在说什么吧？\n- 瓦拉学院的开拓者不需要考试，但是需要积分来升级。[正确]\n  Brainy：回答正确！你准确抓住了段落里的两个核心信息点，太厉害啦~\n- 瓦拉学院的开拓者既需要参加考试，也需要积分来升级。\n  Brainy：有点小失误哦，段落里明确说了开拓者们是没有考试的，再仔细读一遍段落内容吧。\n# 段落2\n## 段落内容\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n## 互动题目\nBrainy：本段的重点单词是 club，它的意思是俱乐部，我们常说的足球俱乐部就是 football club。\n1. 句意选择题\nBrainy：我们来看看包含 club 的句子 You can choose your favourite club to join. 是什么意思呢？\n- 你可以选择你最喜欢的课程去上。\n  Brainy：不对哦，课程的英文是course，我们这里的club是俱乐部的意思，再想想正确的意思吧。\n- 你可以选择你最喜欢的俱乐部加入。[正确]\n  Brainy：完美！你已经牢牢记住了club的意思，也理解了这个句子的含义~\n\n2. 段落大意题\nBrainy：下面我们来看看这一段主要讲了什么内容吧？\n- 你可以选择加入喜欢的俱乐部，如果你对某件事感兴趣，就能找到对应的俱乐部。[正确]\n  Brainy：答得太对了！你完全理解了这一段的核心内容，继续加油哦~\n- 所有的俱乐部都非常受欢迎，你必须加入其中一个。\n  Brainy：这一段并没有提到俱乐部是否受欢迎，也没有要求必须加入俱乐部哦，再回顾一下段落内容吧。\n# 完结反馈\nBrainy：恭喜你完成了本次所有的学习任务，你对知识点的掌握很棒哦，继续保持呀！\n```"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_reply
type_name: 口语快答
level: L1
unit_id: U14
knowledge_points_raw:
  Let's...（结构）
  Instead of..., we'd better...（结构）
  ... love(s) to...（结构）

dialog_setting_json: {"setting": {"npcName": "Logan", "round": 5, "checkRound": 3}}
status: generated
bitable_token: TSwcw0nFmi21khkpUndchNMsn6f
db_table: core_interaction_component
created_at: 2026-05-09 10:35:45
updated_at: 2026-05-09 10:35:45
raw_config:
[cell repeats an earlier one in this file: 998 characters]

final_config_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "Let's... 让我们……", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}]}, {"desc": "Instead of..., we'd better... 与其……，我们不如……", "keyList": [{"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}]}, {"desc": "... love(s) to... ……很乐意……", "keyList": [{"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

kp_info_json:
[cell repeats an earlier one in this file: 537 characters]

task_info_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "Let's... 让我们……", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}]}, {"desc": "Instead of..., we'd better... 与其……，我们不如……", "keyList": [{"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}]}, {"desc": "... love(s) to... ……很乐意……", "keyList": [{"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Logan", "content": "Hi. What happened to the elephant?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "清洁站的Logan问你大象怎么了，你需要告诉他大象需要洗澡，你们打算帮她准备淋浴哦。"}, "optionList": [{"option": "The elephant needs a shower. Let's set up a shower for her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒啦，你选对了！现在试着把这句话大声读出来吧~"}}, {"option": "The elephant likes eating bananas. We want to feed her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句的意思是“大象喜欢吃香蕉，我们想要喂她”，现在我们要和Logan说的是大象需要洗澡的事，所以这个选项不符合哦，再选一次吧。"}}, {"option": "We saw the keeper just now. He is coming here.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句的意思是“我们刚才看到饲养员了，他正往这边来”，但我们现在需要告诉Logan大象需要洗澡，这个选项和当前要表达的内容不匹配，再试试吧。"}}], "answer": [0], "read": {"type": "user", "content": "The elephant needs a shower. Let's set up a shower for her."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Are you saying she hasn't had a shower yet? Maybe someone will probably come soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan说“你是说她还没洗澡吗？可能很快就会有人过来了”，这时候你可以建议别在这等，我们先去给大象打点水。"}, "optionList": [{"option": "That's great. Let's wait for the keeper together.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“太好了，我们一起等饲养员吧”，但我们要表达的是不等了先去取水，所以这个选项不合适哦，再选一次吧。"}}, {"option": "Instead of waiting here, we'd better get some water for her first.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "选得太对啦！现在大声把这句话读出来就好~"}}, {"option": "We need to go home now. Maybe we can help tomorrow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“我们现在要回家了，也许我们明天可以帮忙”，和我们现在要主动先取水的想法不一样哦，再试试吧。"}}], "answer": [1], "read": {"type": "user", "content": "Instead of waiting here, we'd better get some water for her first."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "The keepers are too careless! Thank you! Can you help her shower?"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan说“饲养员太粗心了！谢谢你们！你们能帮她洗澡吗？”，你要回答他你们很乐意帮忙哦。"}, "optionList": [{"option": "We'd love to help.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完全正确！快试着把这句话读出来吧~"}}, {"option": "Sorry, we are very busy now.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“不好意思，我们现在很忙”，但我们本来就想要帮忙给大象洗澡，所以这个选项不对哦，再选一次吧。"}}, {"option": "We don't know how to wash an elephant.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“我们不知道怎么给大象洗澡”，现在你要告诉Logan你愿意帮忙，所以这个选项不符合哦，再试试吧。"}}], "answer": [0], "read": {"type": "user", "content": "We'd love to help."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Great. We will send some water to her right away."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "你太棒啦！已经顺利和Logan沟通好，他会马上送水过来，你们可以一起给大象洗澡了，本次任务完成~"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nLogan：Hi. What happened to the elephant?\n\n# 中间回合1\nBrainy：清洁站的Logan问你大象怎么了，你需要告诉他大象需要洗澡，你们打算帮她准备淋浴哦。\n用户选项:\n（A）The elephant needs a shower. Let's set up a shower for her. ✅\n  Brainy：太棒啦，你选对了！现在试着把这句话大声读出来吧~\n（B）The elephant likes eating bananas. We want to feed her.\n  Brainy：这句的意思是“大象喜欢吃香蕉，我们想要喂她”，现在我们要和Logan说的是大象需要洗澡的事，所以这个选项不符合哦，再选一次吧。\n（C）We saw the keeper just now. He is coming here.\n  Brainy：这句的意思是“我们刚才看到饲养员了，他正往这边来”，但我们现在需要告诉Logan大象需要洗澡，这个选项和当前要表达的内容不匹配，再试试吧。\nLogan：Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\n\n# 中间回合2\nBrainy：Logan说“你是说她还没洗澡吗？可能很快就会有人过来了”，这时候你可以建议别在这等，我们先去给大象打点水。\n用户选项:\n（A）That's great. Let's wait for the keeper together.\n  Brainy：这句话的意思是“太好了，我们一起等饲养员吧”，但我们要表达的是不等了先去取水，所以这个选项不合适哦，再选一次吧。\n（B）Instead of waiting here, we'd better get some water for her first. ✅\n  Brainy：选得太对啦！现在大声把这句话读出来就好~\n（C）We need to go home now. Maybe we can help tomorrow.\n  Brainy：这句话的意思是“我们现在要回家了，也许我们明天可以帮忙”，和我们现在要主动先取水的想法不一样哦，再试试吧。\nLogan：The keepers are too careless! Thank you! Can you help her shower?\n\n# 中间回合3\nBrainy：Logan说“饲养员太粗心了！谢谢你们！你们能帮她洗澡吗？”，你要回答他你们很乐意帮忙哦。\n用户选项:\n（A）We'd love to help. ✅\n  Brainy：完全正确！快试着把这句话读出来吧~\n（B）Sorry, we are very busy now.\n  Brainy：这句话的意思是“不好意思，我们现在很忙”，但我们本来就想要帮忙给大象洗澡，所以这个选项不对哦，再选一次吧。\n（C）We don't know how to wash an elephant.\n  Brainy：这句话的意思是“我们不知道怎么给大象洗澡”，现在你要告诉Logan你愿意帮忙，所以这个选项不符合哦，再试试吧。\nLogan：Great. We will send some water to her right away.\n\n# 结尾回合\nBrainy：你太棒啦！已经顺利和Logan沟通好，他会马上送水过来，你们可以一起给大象洗澡了，本次任务完成~\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切自然，适合儿童理解。\n# 2. 任务（你如何参与对话）\n1. 开场首先询问用户大象的情况，确认大象是不是没洗澡。\n2. 听完用户说明大象需要洗澡的内容后，告诉用户可以先等一等，或许饲养员很快就会来。\n3. 接下来询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户表示愿意帮忙，先表达感谢，然后告诉用户你会马上安排送干净的水过去。\n5. 如果用户表示不愿意帮忙，你可以表达没关系，说你会自己想办法给大象洗澡，然后自然结束对话。\n6. 如果用户的回答偏离任务相关内容，你可以友好提醒用户聊聊大象洗澡的事，再把话题拉回当前的任务步骤。\n7. 确认用户愿意帮忙且你告知会送水后，简单表扬用户有爱心，自然结束对话即可。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。\n```", "语音识别热词": "elephant,shower,water,keepers,help,clean,Wander Port,Logan,banana"}

dialog_config_json:
  {"config": {"asrPrompt": "elephant,shower,water,keepers,help,clean,Wander Port,Logan,banana", "promptInfo": {"default": "\n# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切自然，适合儿童理解。\n# 2. 任务（你如何参与对话）\n1. 开场首先询问用户大象的情况，确认大象是不是没洗澡。\n2. 听完用户说明大象需要洗澡的内容后，告诉用户可以先等一等，或许饲养员很快就会来。\n3. 接下来询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户表示愿意帮忙，先表达感谢，然后告诉用户你会马上安排送干净的水过去。\n5. 如果用户表示不愿意帮忙，你可以表达没关系，说你会自己想办法给大象洗澡，然后自然结束对话。\n6. 如果用户的回答偏离任务相关内容，你可以友好提醒用户聊聊大象洗澡的事，再把话题拉回当前的任务步骤。\n7. 确认用户愿意帮忙且你告知会送水后，简单表扬用户有爱心，自然结束对话即可。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。\n", "scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "in_progress_goal": "用户告诉清洁站的工人，大象需要洗澡，并且表示乐意帮助，要求 Logan 送一些干净的水过来。", "final_goal": "用户告诉清洁站的工人，大象需要洗澡，并提出需要一些水。", "reference_dialog": "Logan: Hi. What happened to the elephant?\nUser: The elephant needs a shower. Let's set up a shower for her.\nLogan: Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\nUser: Instead of waiting here, we'd better get some water for her first.\nLogan: The keepers are too careless! Thank you! Can you help her shower?\nUser: We'd love to help.\nLogan: Great. We will send some water to her right away.", "user_task": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "user_scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "user_knowledge": "Let's... 让我们……\nInstead of..., we'd better... 与其……，我们不如……\n... love(s) to... ……很乐意……"}}}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_inquiry
type_name: 口语妙问
level: L1
unit_id: U14
knowledge_points_raw: Where can I...?（语义）Can I have... please?（语义）What else can I...?（语义）
dialog_setting_json: {"setting": {"npcName": "Chloe", "round": 5, "checkRound": 3}}
status: generated
bitable_token: GJUVwNSEkis3EXkrVj0ccbqdn8c
db_table: core_interaction_component
created_at: 2026-05-09 10:35:47
updated_at: 2026-05-09 10:35:47
raw_config:
[cell repeats an earlier one in this file: 1022 characters]

final_config_json:
[cell repeats an earlier one in this file: 654 characters]

kp_info_json:
[cell repeats an earlier one in this file: 568 characters]

task_info_json:
[cell repeats an earlier one in this file: 654 characters]

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Chloe", "content": "Can I help you?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "空乘Chloe主动询问你是否需要帮助，你现在需要先向她询问健身房的位置。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确地说出了要询问健身房位置的表达。请大声朗读这句话！"}}, {"option": "Can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是询问能不能拿毛巾的，现在你需要先问健身房的位置哦，再试一下吧。"}}, {"option": "What else can I do there?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是询问在那里还能做什么的，现在你需要先问健身房的位置哦，再试一下吧。"}}], "answer": [0], "read": {"type": "user", "content": "Where can I find the gym?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Look, it's over there at the end of this walkway."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe已经告诉了你健身房就在这条走道的尽头，现在你需要接着向她讨要毛巾，为运动做准备。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你已经问过健身房的位置啦，现在需要向Chloe要毛巾哦，再试一下吧。"}}, {"option": "Oh, and can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确地说出了想要毛巾的请求。请大声朗读这句话！"}}, {"option": "What else can I do there?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是询问在健身房还能做什么的，现在你需要先讨要毛巾哦，再试一下吧。"}}], "answer": [1], "read": {"type": "user", "content": "Oh, and can I have a towel please?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Of course! I'll bring a new one for you soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe答应很快会给你拿一条新毛巾，现在你可以询问一下在健身房还能做些什么，了解更多相关信息。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你已经知道健身房的位置啦，现在需要询问在健身房还能做什么哦，再试一下吧。"}}, {"option": "Can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你已经要过毛巾啦，现在需要询问在健身房还能做什么哦，再试一下吧。"}}, {"option": "What else can I do there?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确地说出了询问健身房其他用途的表达。请大声朗读这句话！"}}], "answer": [2], "read": {"type": "user", "content": "What else can I do there?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Well, you can do some exercise and enjoy sightseeing there. Or you can just relax."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "Chloe已经告诉了你健身房的位置、给你准备了毛巾，还和你说了在健身房可以锻炼、观光或者放松，你已经完成了所有询问健身房相关信息的任务啦，做得很棒！"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nChloe：Can I help you?\n\n# 中间回合1\nBrainy：空乘Chloe主动询问你是否需要帮助，你现在需要先向她询问健身房的位置。\n\n用户选项:\n（选项 A）Where can I find the gym? [正确]\n  Brainy：太棒了！你正确地说出了要询问健身房位置的表达。请大声朗读这句话！\n（选项 B）Can I have a towel please?\n  Brainy：这句话是询问能不能拿毛巾的，现在你需要先问健身房的位置哦，再试一下吧。\n（选项 C）What else can I do there?\n  Brainy：这句话是询问在那里还能做什么的，现在你需要先问健身房的位置哦，再试一下吧。\n\nChloe：Look, it's over there at the end of this walkway.\n\n# 中间回合2\nBrainy：Chloe已经告诉了你健身房就在这条走道的尽头，现在你需要接着向她讨要毛巾，为运动做准备。\n\n用户选项:\n（选项 A）Where can I find the gym?\n  Brainy：你已经问过健身房的位置啦，现在需要向Chloe要毛巾哦，再试一下吧。\n（选项 B）Oh, and can I have a towel please? [正确]\n  Brainy：太棒了！你正确地说出了想要毛巾的请求。请大声朗读这句话！\n（选项 C）What else can I do there?\n  Brainy：这句话是询问在健身房还能做什么的，现在你需要先讨要毛巾哦，再试一下吧。\n\nChloe：Of course! I'll bring a new one for you soon.\n\n# 中间回合3\nBrainy：Chloe答应很快会给你拿一条新毛巾，现在你可以询问一下在健身房还能做些什么，了解更多相关信息。\n\n用户选项:\n（选项 A）Where can I find the gym?\n  Brainy：你已经知道健身房的位置啦，现在需要询问在健身房还能做什么哦，再试一下吧。\n（选项 B）Can I have a towel please?\n  Brainy：你已经要过毛巾啦，现在需要询问在健身房还能做什么哦，再试一下吧。\n（选项 C）What else can I do there? [正确]\n  Brainy：太棒了！你正确地说出了询问健身房其他用途的表达。请大声朗读这句话！\n\nChloe：Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.\n\n# 结尾回合\nBrainy：Chloe已经告诉了你健身房的位置、给你准备了毛巾，还和你说了在健身房可以锻炼、观光或者放松，你已经完成了所有询问健身房相关信息的任务啦，做得很棒！\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n你是Chloe，是Twilight的空乘，服务好每一位乘客是你的使命。你对曾经帮你解过围的乘客格外友善热情。\n\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n\n# 3. 背景信息\n你是Chloe，是Twilight的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n\n# 4. 知识库（你知道的信息）\n你知道健身房就在前方过道的尽头。\n你会为有需要的用户准备一条新毛巾。\n你会解答用户的问题，告诉用户在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n对用户的任何提问，你都耐心安抚并一一回答。\n\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n\n# 6. 开场白\n你由你开始对话，你会说：Can I help you?\n\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题\n```", "语音识别热词": "gym,towel,walkway,exercise,sightseeing,relax"}

dialog_config_json:
  {"config": {"asrPrompt": "gym,towel,walkway,exercise,sightseeing,relax", "promptInfo": {"default": "# 1. 角色（你要扮演谁）\n你是Chloe，是Twilight的空乘，服务好每一位乘客是你的使命。你对曾经帮你解过围的乘客格外友善热情。\n\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n\n# 3. 背景信息\n你是Chloe，是Twilight的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n\n# 4. 知识库（你知道的信息）\n你知道健身房就在前方过道的尽头。\n你会为有需要的用户准备一条新毛巾。\n你会解答用户的问题，告诉用户在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n对用户的任何提问，你都耐心安抚并一一回答。\n\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n\n# 6. 开场白\n你由你开始对话，你会说：Can I help you?\n\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题", "scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "in_progress_goal": "用户成功问出“健身房在哪里”、“可以给我一条毛巾吗”以及“在哪儿我还能做什么”的三个问题。", "final_goal": "Chloe回答了用户关于健身房的问题，提供了耐心友好的帮助。", "reference_dialog": "Chloe: Can I help you?\nUser: Where can I find the gym?\nChloe: Look, it's over there at the end of this walkway.\nUser: Oh, and can I have a towel please? \nChloe: Of course! I'll bring a new one for you soon.\nUser: What else can I do there? \nChloe: Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.", "user_task": "你要向 Chloe 询问健身房的位置，以及讨要毛巾，做好开始运动的准备。", "user_scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "user_knowledge": "Where can I find the gym？我在哪里能找到健身房？\nCan I have a towel please?？我能要一条毛巾吗？\nWhat else can I do there? 我在那儿还能做些什么？"}}}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_image
type_name: 看图说话
level: L1
unit_id: U14
knowledge_points_raw:
  winter
  cold
  snow

image_info_json: {"questionImg": "0000800_question.png"}
status: generated
bitable_token: KBOXwzVHfin6ORkKbA3c3eWEnoh
db_table: core_interaction_component
created_at: 2026-05-09 10:36:16
updated_at: 2026-05-09 10:36:16
raw_config:
[cell repeats an earlier one in this file: 559 characters]

final_config_json:
[cell repeats an earlier one in this file: 609 characters]

kp_info_json:
[cell repeats an earlier one in this file: 462 characters]

task_info_json:
[cell repeats an earlier one in this file: 609 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"type": "npc", "npcName": "Rock", "content": "What season is it?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock老师问现在是什么季节，你需要告诉他现在的季节。", "index": 0}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确说出了现在的季节是冬天。请大声朗读这句话！"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“冷的”，但老师现在问的是季节是什么，不是天气感受，和当前情境不符。请再仔细听清问题，告诉老师现在的季节。"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“雪”，但老师现在问的是季节是什么，不是冬天能看到的事物，和当前情境不符。请再仔细听清问题，告诉老师现在的季节。"}}], "answer": [0], "read": {"type": "npc", "npcName": "User", "content": "Winter."}}]}, {"leadIn": {"type": "npc", "npcName": "Rock", "content": "Is it hot or cold?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock老师问天气是热的还是冷的，你需要告诉他冬季的天气感受。", "index": 1}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“冬天”，但老师现在问的是天气冷热，不是季节是什么，和当前情境不符。请再仔细听清问题，告诉老师冬天的天气感受。"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确说出了冬天的天气是寒冷的。请大声朗读这句话！"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“雪”，但老师现在问的是天气冷热，不是冬天能看到的事物，和当前情境不符。请再仔细听清问题，告诉老师冬天的天气感受。"}}], "answer": [1], "read": {"type": "npc", "npcName": "User", "content": "Cold."}}]}, {"leadIn": {"type": "npc", "npcName": "Rock", "content": "What do you see in winter?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock老师问你在冬天能看到什么，你需要告诉他冬季特有的事物。", "index": 2}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“冬天”，但老师现在问的是冬天能看到的具体事物，不是季节本身，和当前情境不符。请再仔细听清问题，告诉老师你在冬天能看到的东西。"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“冷的”，但老师现在问的是能看到的事物，不是天气感受，和当前情境不符。请再仔细听清问题，告诉老师你在冬天能看到的东西。"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确说出了冬天可以看到雪。请大声朗读这句话！"}}], "answer": [2], "read": {"type": "npc", "npcName": "User", "content": "Snow."}, "feedback": {"type": "npc", "npcName": "Rock", "content": "Great! You know so much about winter. I'm very happy to talk with you."}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "你已经成功回答了Rock老师关于冬天的三个问题，分别了解了冬天的季节名称、天气特点和特有事物，本次学习任务圆满完成啦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 中间回合1\nRock：What season is it?\nBrainy：Rock老师问现在是什么季节，你需要告诉他现在的季节。\n用户选项:\n（选项 A）Winter. [正确]\n  Brainy：太棒了！你正确说出了现在的季节是冬天。请大声朗读这句话！\n（选项 B）Cold.\n  Brainy：这句话的意思是“冷的”，但老师现在问的是季节是什么，不是天气感受，和当前情境不符。请再仔细听清问题，告诉老师现在的季节。\n（选项 C）Snow.\n  Brainy：这句话的意思是“雪”，但老师现在问的是季节是什么，不是冬天能看到的事物，和当前情境不符。请再仔细听清问题，告诉老师现在的季节。\n\n# 中间回合2\nRock：Is it hot or cold?\nBrainy：Rock老师问天气是热的还是冷的，你需要告诉他冬季的天气感受。\n用户选项:\n（选项 A）Winter.\n  Brainy：这句话的意思是“冬天”，但老师现在问的是天气冷热，不是季节是什么，和当前情境不符。请再仔细听清问题，告诉老师冬天的天气感受。\n（选项 B）Cold. [正确]\n  Brainy：太棒了！你正确说出了冬天的天气是寒冷的。请大声朗读这句话！\n（选项 C）Snow.\n  Brainy：这句话的意思是“雪”，但老师现在问的是天气冷热，不是冬天能看到的事物，和当前情境不符。请再仔细听清问题，告诉老师冬天的天气感受。\n\n# 中间回合3\nRock：What do you see in winter?\nBrainy：Rock老师问你在冬天能看到什么，你需要告诉他冬季特有的事物。\n用户选项:\n（选项 A）Winter.\n  Brainy：这句话的意思是“冬天”，但老师现在问的是冬天能看到的具体事物，不是季节本身，和当前情境不符。请再仔细听清问题，告诉老师你在冬天能看到的东西。\n（选项 B）Cold.\n  Brainy：这句话的意思是“冷的”，但老师现在问的是能看到的事物，不是天气感受，和当前情境不符。请再仔细听清问题，告诉老师你在冬天能看到的东西。\n（选项 C）Snow. [正确]\n  Brainy：太棒了！你正确说出了冬天可以看到雪。请大声朗读这句话！\n\n# 结尾回合\nBrainy：你已经和Rock老师分享了在冬季岛的见闻，任务成功完成！马上就能吃到热乎乎的食物啦~\n```", "语音识别热词": "Mr Rock,Winter Island,winter,cold,snow"}

dialog_config_json:
  {"config": {"asrPrompt": "Mr Rock,Winter Island,winter,cold,snow", "promptInfo": {"user_scene": "Mr Rock 要给我们煮东西吃，看着暖腾腾的热气，听着咕咚咚的水声，闻着香飘飘的味道，心里美滋滋。等待开饭的时间里，和 Mr Rock 聊聊天吧。", "user_task": "回答 Mr Rock 的问题", "user_knowledge": "winter 冬天；cold 冷的；snow  雪", "pass_condition": "用户说出：1. 冬天；2. 冷的；3. 雪", "reference_dialog": "NPC: What season is it?\nUser: Winter.\nNPC: Is it hot or cold?\nUser: Cold.\nNPC: What do you see in winter?\nUser: Snow.", "questionList": [{"type": "npc", "npcName": "Rock", "content": "What season is it?", "index": 0, "answerText": "Winter."}, {"type": "npc", "npcName": "Rock", "content": "Is it hot or cold?", "index": 1, "answerText": "Cold."}, {"type": "npc", "npcName": "Rock", "content": "What do you see in winter?", "index": 2, "answerText": "Snow."}]}}}

option_list_json:
[cell repeats an earlier one in this file: 111 characters]

question_list_json:
[cell repeats an earlier one in this file: 322 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_order
type_name: 合作听力
level: L1
unit_id: U14
knowledge_points_raw:
  bake（词义）
  healthy（词义）
  money（词义）
  cake（词义）
  alcohol（词义）

status: generated
bitable_token: FrxtwNRQDizqiikPkATcBzTCnYe
db_table: core_interaction_component
created_at: 2026-05-09 10:36:18
updated_at: 2026-05-09 10:36:18
raw_config:
[cell repeats an earlier one in this file: 2377 characters]

final_config_json:
[cell repeats an earlier one in this file: 557 characters]

kp_info_json:
[cell repeats an earlier one in this file: 739 characters]

task_info_json:
[cell repeats an earlier one in this file: 557 characters]

material_info_json:
[cell repeats an earlier one in this file: 2596 characters]

flow_info_json:
[cell repeats an earlier one in this file: 122 characters]

study_info_json:
  {"closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}, "learningPart": [{"leadIn": {"type": "npc", "content": "When you really want sweet food, like biscuits or cake, you can bake at home.", "npcName": "Brainy"}, "content": "刚刚听到的音频里，有一个很实用的短语 bake at home，bake 是“烘焙”的意思，bake at home 就是“在家烘焙”，是很健康的制作食物的方式哦。", "type": "npc", "npcName": "Brainy", "learning": [{"question": {"type": "npc", "content": "仔细听音频，哪一个句子和你听到的内容一致呢？", "npcName": "Brainy"}, "optionList": [{"option": "When you really want sweet food, like biscuits or cake, you can bake at home.", "feedback": {"type": "npc", "content": "太厉害啦！你准确听出了句子里的重点短语 bake at home！", "npcName": "Brainy"}}, {"option": "When you really want sweet food, like biscuits or cake, you can buy at the shop.", "feedback": {"type": "npc", "content": "哦不对哦，这句话说的是 buy at the shop（在商店买），不是 bake at home 哦，再仔细听听音频吧！", "npcName": "Brainy"}}], "answer": [0], "meaning": "听音选句"}, {"question": {"type": "npc", "content": "那你知道这句话的中文意思是什么吗？选选看吧！", "npcName": "Brainy"}, "optionList": [{"option": "当你很想吃甜食，比如饼干或者蛋糕的时候，你可以在家烘焙。", "feedback": {"type": "npc", "content": "太棒啦！你完全理解了这句话的意思，还掌握了 bake at home 这个实用短语哦！", "npcName": "Brainy"}}, {"option": "当你很想吃甜食，比如饼干或者蛋糕的时候，你可以去商店买。", "feedback": {"type": "npc", "content": "不对哦，句子里说的不是去商店买的做法，再想想看呀。", "npcName": "Brainy"}}], "answer": [0], "meaning": "听音选意"}]}]}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：When you really want sweet food, like biscuits or cake, you can bake at home.\n讲解文本：刚刚听到的音频里，有一个很实用的短语 bake at home，bake 是“烘焙”的意思，bake at home 就是“在家烘焙”，是很健康的制作食物的方式哦。\n1. 听音选句\nBrainy：仔细听音频，哪一个句子和你听到的内容一致呢？\n- When you really want sweet food, like biscuits or cake, you can bake at home. [正确]\n  - Brainy：太厉害啦！你准确听出了句子里的重点短语 bake at home！\n- When you really want sweet food, like biscuits or cake, you can buy at the shop.\n  - Brainy：哦不对哦，这句话说的是 buy at the shop（在商店买），不是 bake at home 哦，再仔细听听音频吧！\n\n2. 听音选意\nBrainy：那你知道这句话的中文意思是什么吗？选选看吧！\n- 当你很想吃甜食，比如饼干或者蛋糕的时候，你可以在家烘焙。[正确]\n  - Brainy：太棒啦！你完全理解了这句话的意思，还掌握了 bake at home 这个实用短语哦！\n- 当你很想吃甜食，比如饼干或者蛋糕的时候，你可以去商店买。\n  - Brainy：不对哦，句子里说的不是去商店买的做法，再想想看呀。\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You listened to the second part of Max's fitness guide, learning a healthy routine means going to bed on time and getting up early, staying away from smoking and alcohol. (你听了Max健身指南的第二部分，了解到健康的作息意味着按时睡觉早起，远离烟酒。)\nYou also got to know that keeping healthy doesn't need much money or expensive items, and good habits are the most important thing for health. (你还了解到保持健康不需要很多钱或者昂贵的物品，好习惯对健康来说是最重要的。)"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_drag
type_name: 听力拖拽
level: L1
unit_id: U14
knowledge_points_raw:
  between
  duck
  next to

status: generated
bitable_token: K3QrwQnWqiPBm1krhnNcWDTqnhe
db_table: core_interaction_component
created_at: 2026-05-09 10:36:23
updated_at: 2026-05-09 10:36:23
raw_config:
[cell repeats an earlier one in this file: 635 characters]

final_config_json:
  {"cType": "core_listening_drag", "cId": "0000800", "title": "指挥大家赶鸭子", "sceneDesc": "鸭子大乱斗！手忙脚乱没有用，你现在得和伙伴们一起协作，把到处跑的鸭子赶进水里。快说说你的计划吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "between", "desc": "prep. 在……中间"}, {"type": "default", "content": "next to", "desc": "prep. 紧邻"}, {"type": "default", "content": "duck", "desc": "n. 鸭子"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "You took on the fun task of directing everyone to herd the ducks, and picked out the right pictures to guide everyone to get all the waddling little ducks back to their cozy pen smoothly.（你接下了指挥大家赶鸭子的有趣任务，选出了合适的图片引导大家顺利把所有摇摇晃晃的小鸭子赶回了舒适的鸭舍。）"}

kp_info_json:
[cell repeats an earlier one in this file: 497 characters]

task_info_json:
  {"cType": "core_listening_drag", "cId": "0000800", "title": "指挥大家赶鸭子", "sceneDesc": "鸭子大乱斗！手忙脚乱没有用，你现在得和伙伴们一起协作，把到处跑的鸭子赶进水里。快说说你的计划吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "between", "desc": "prep. 在……中间"}, {"type": "default", "content": "next to", "desc": "prep. 紧邻"}, {"type": "default", "content": "duck", "desc": "n. 鸭子"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "You took on the fun task of directing everyone to herd the ducks, and picked out the right pictures to guide everyone to get all the waddling little ducks back to their cozy pen smoothly.（你接下了指挥大家赶鸭子的有趣任务，选出了合适的图片引导大家顺利把所有摇摇晃晃的小鸭子赶回了舒适的鸭舍。）"}

study_info_json:
  {"learningPart": [{"type": "npc", "npcName": "Brainy", "content": "Go between the red duck and the blue duck.", "learning": [{"question": {"content": "刚刚听到的音频中，包含了一个关键短语 between...and...，意思是“在……和……之间”，用来描述两个事物中间的位置哦。", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "仔细听音频，选一选哪一句是你刚刚听到的内容吧。", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "Go behind the red duck and the blue duck.", "feedback": {"type": "npc", "content": "哎呀，这句话里用的是behind（在……后面），不是我们听到的between哦，再听一遍试试呀。", "npcName": "Brainy"}}, {"option": "Go between the red duck and the blue duck.", "feedback": {"type": "npc", "content": "太厉害啦！你准确听出了句子里的重点短语between...and...！", "npcName": "Brainy"}}], "answer": [1]}, {"question": {"content": "Go between the red duck and the blue duck.", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "“走到红色的鸭子和蓝色的鸭子中间去”，这句话的意思是对的吗？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "对 / Yes", "feedback": {"type": "npc", "content": "答对啦！你完全理解了between...and...的意思，太棒啦！", "npcName": "Brainy"}}, {"option": "错 / No", "feedback": {"type": "npc", "content": "再想想哦，我们句子里说的位置是两只鸭子的中间，不是别的位置哦，再试一次吧～", "npcName": "Brainy"}}], "answer": [0]}]}], "closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：Go between the red duck and the blue duck.\n讲解文本：刚刚听到的音频中，包含了一个关键短语 between...and...，意思是“在……和……之间”，用来描述两个事物中间的位置哦。\n1. 听音选句\nBrainy：仔细听音频，选一选哪一句是你刚刚听到的内容吧。\n- Go behind the red duck and the blue duck.\n  - Brainy：哎呀，这句话里用的是behind（在……后面），不是我们听到的between哦，再听一遍试试呀。\n- Go between the red duck and the blue duck. [正确]\n  - Brainy：太厉害啦！你准确听出了句子里的重点短语between...and...！\n\n2. 听音选意\nBrainy：“走到红色的鸭子和蓝色的鸭子中间去”，这句话的意思是对的吗？\n- 对 / Yes [正确]\n  - Brainy：答对啦！你完全理解了between...and...的意思，太棒啦！\n- 错 / No\n  - Brainy：再想想哦，我们句子里说的位置是两只鸭子的中间，不是别的位置哦，再试一次吧～\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You took on the fun task of directing everyone to herd the ducks, and picked out the right pictures to guide everyone to get all the waddling little ducks back to their cozy pen smoothly.（你接下了指挥大家赶鸭子的有趣任务，选出了合适的图片引导大家顺利把所有摇摇晃晃的小鸭子赶回了舒适的鸭舍。）"}

question_list_json:
[cell repeats an earlier one in this file: 260 characters]

dialog_list_json:
  [[{"type": "npc", "npcName": "Matt", "content": "Where should I go?", "trans": "我该去哪里？", "isPoint": false}, {"type": "user", "content": "Go between the red duck and the blue duck.", "trans": "走到红鸭子和蓝鸭子中间。", "isPoint": false}, {"type": "user", "content": "Don't let them fight.", "trans": "别让它们打架。", "isPoint": false}], [{"type": "npc", "npcName": "Ben", "content": "What about me?", "trans": "那我呢？", "isPoint": false}, {"type": "user", "content": "You are next to the blue duck.", "trans": "你在蓝鸭子旁边。", "isPoint": false}], [{"type": "npc", "npcName": "Amber", "content": "And me? Where should I be?", "trans": "那我呢？我该待在哪里？", "isPoint": false}, {"type": "user", "content": "You are next to the red duck.", "trans": "你在红鸭子旁边。", "isPoint": false}, {"type": "user", "content": "Get it into the water!", "trans": "把它弄到水里去！", "isPoint": false}]]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_choose
type_name: 听力选择
level: L1
unit_id: U14
knowledge_points_raw: summerhotshortstrousersCould you...It feels...
status: generated
bitable_token: Kwrcw6A4jip2sxkdLn4czd1knvf
db_table: core_interaction_component
created_at: 2026-05-09 10:36:30
updated_at: 2026-05-09 10:36:30
raw_config:
[cell repeats an earlier one in this file: 1095 characters]

final_config_json:
  {"cType": "core_listening_choose", "cId": "0000800", "title": "请求路边钓鱼的叔叔帮忙", "sceneDesc": "心心念念的短裤原来卡在石头间了，快抓紧时间请钓鱼叔叔帮忙钓上来吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "summer", "desc": "n. 夏天"}, {"type": "default", "content": "hot", "desc": "adj. 热的"}, {"type": "default", "content": "trousers", "desc": "n. 长裤"}, {"type": "default", "content": "shorts", "desc": "n. 短裤"}, {"type": "default", "content": "It feels...", "desc": "感觉......"}, {"type": "default", "content": "Could you...", "desc": "可以请你......吗？"}]}], "resourceMapping": {"Vicky": 658}, "cDesc": "You listened to the conversation between Jack and the kid, and found it is summer now, and the weather is extremely hot.（你听了Jack和小朋友的对话，发现现在是夏天，天气非常炎热。）\nYou got to know that the kid doesn't have any shorts at hand right now, and he is badly in need of a pair of shorts.（你了解到小朋友现在没有短裤，他非常需要一条短裤。）\nYou learned that the kid's shorts are between the rocks, and Jack is going to help him get the shorts back.（你得知小朋友的短裤在石头中间，Jack会帮忙把短裤拿回来。）"}

kp_info_json:
[cell repeats an earlier one in this file: 898 characters]

task_info_json:
  {"cType": "core_listening_choose", "cId": "0000800", "title": "请求路边钓鱼的叔叔帮忙", "sceneDesc": "心心念念的短裤原来卡在石头间了，快抓紧时间请钓鱼叔叔帮忙钓上来吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "summer", "desc": "n. 夏天"}, {"type": "default", "content": "hot", "desc": "adj. 热的"}, {"type": "default", "content": "trousers", "desc": "n. 长裤"}, {"type": "default", "content": "shorts", "desc": "n. 短裤"}, {"type": "default", "content": "It feels...", "desc": "感觉......"}, {"type": "default", "content": "Could you...", "desc": "可以请你......吗？"}]}], "resourceMapping": {"Vicky": 658}, "cDesc": "You listened to the conversation between Jack and the kid, and found it is summer now, and the weather is extremely hot.（你听了Jack和小朋友的对话，发现现在是夏天，天气非常炎热。）\nYou got to know that the kid doesn't have any shorts at hand right now, and he is badly in need of a pair of shorts.（你了解到小朋友现在没有短裤，他非常需要一条短裤。）\nYou learned that the kid's shorts are between the rocks, and Jack is going to help him get the shorts back.（你得知小朋友的短裤在石头中间，Jack会帮忙把短裤拿回来。）"}

study_info_json:
  {"learningPart": [{"type": "npc", "npcName": "Brainy", "content": "This summer!", "learning": [{"question": {"content": "刚刚听到的音频中，包含了一个关键单词summer，意思是夏天，是一年中天气很热的季节。", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "仔细听音频，下面哪一个句子是你刚刚听到的内容呢？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "This summer!", "feedback": {"type": "npc", "content": "太厉害啦！你准确听出了句子里的重点单词summer！", "npcName": "Brainy"}}, {"option": "This winter!", "feedback": {"type": "npc", "content": "不对哦，这句话里的单词是winter（冬天），不是我们听到的summer，再仔细听听音频吧！", "npcName": "Brainy"}}], "answer": [0]}, {"question": {"content": "This summer!", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "这句话的中文意思是“这个夏天！”，对不对呀？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "错 / No", "feedback": {"type": "npc", "content": "再想想哦，summer是夏天的意思，再试着选一次吧~", "npcName": "Brainy"}}, {"option": "对 / Yes", "feedback": {"type": "npc", "content": "太棒啦！你完全掌握了summer这个单词的意思，真不错！", "npcName": "Brainy"}}], "answer": [1]}]}], "closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：This summer!\n讲解文本：刚刚听到的音频中，包含了一个关键单词summer，意思是夏天，是一年中天气很热的季节。\n1. 听音选句\nBrainy：仔细听音频，下面哪一个句子是你刚刚听到的内容呢？\n- This summer! [正确]\n  - Brainy：太厉害啦！你准确听出了句子里的重点单词summer！\n- This winter!\n  - Brainy：不对哦，这句话里的单词是winter（冬天），不是我们听到的summer，再仔细听听音频吧！\n\n2. 听音选意\nBrainy：这句话的中文意思是“这个夏天！”，对不对呀？\n- 错 / No\n  - Brainy：再想想哦，summer是夏天的意思，再试着选一次吧~\n- 对 / Yes [正确]\n  - Brainy：太棒啦！你完全掌握了summer这个单词的意思，真不错！\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You listened to the conversation between Jack and the kid, and found it is summer now, and the weather is extremely hot.（你听了Jack和小朋友的对话，发现现在是夏天，天气非常炎热。）\nYou got to know that the kid doesn't have any shorts at hand right now, and he is badly in need of a pair of shorts.（你了解到小朋友现在没有短裤，他非常需要一条短裤。）\nYou learned that the kid's shorts are between the rocks, and Jack is going to help him get the shorts back.（你得知小朋友的短裤在石头中间，Jack会帮忙把短裤拿回来。）"}

question_group_json:
[cell repeats an earlier one in this file: 2271 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_imgMakeSentence
type_name: 看图组句
level: L1
unit_id: U14
knowledge_points_raw: terrible
status: generated
bitable_token: BkmtwUBwMiHd5Ak7VS6ccE9SnHd
db_table: core_interaction_component
created_at: 2026-05-09 10:37:15
updated_at: 2026-05-09 10:37:15
raw_config:
[cell repeats an earlier one in this file: 911 characters]

final_config_json:
[cell repeats an earlier one in this file: 867 characters]

kp_info_json:
[cell repeats an earlier one in this file: 704 characters]

task_info_json:
[cell repeats an earlier one in this file: 867 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"image": "0000800-01.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你和伙伴们在森林里找到了飞船坠落的相关线索，现在要向Luisa教授汇报你的推测，你想表达“我认为飞船坠落在山脉南侧的空地上”，首先需要说出开头的推测句式，你会怎么说？"}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！这个句式刚好可以用来引出你对飞船坠落地点的推测，完全符合汇报的语境。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来描述你看到的树木特征，不是用来表达对飞船坠落地点的推测哦，再试一下吧。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来描述你听到声响的方位，不是用来表达对坠落地点的推测的，再试试看。"}}], "answer": [0], "write": {"desc": "I think the spaceship fell...", "trans": "我认为飞船坠落在……"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-00.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你之前在森林里看到部分树木的树干上有烧焦的痕迹，这是和飞船坠落相关的重要线索，现在你要向教授描述这个发现，你会用哪个句式开头？"}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来表达你对坠落地点的推测，不是用来描述你看到的树木相关线索的，再试一下哦。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太对啦！这个句式正好可以用来描述你观察到的树木的特征，很适合说明你找到的线索。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来描述你听到的声响情况，不是用来描述你看到的树木特征的，再试试看。"}}], "answer": [1], "write": {"desc": "I saw trees with...", "trans": "我看到有……的树。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "你们昨天在森林探索时，西边方向传来过巨大的爆炸声，这也是判断飞船坠落位置的重要信息，你要向教授说明这个情况，会选择哪个句式开头？"}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来表达你对坠落地点的推测，不是用来描述你听到的声响线索的，再试一下哦。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来描述你看到的树木特征，不是用来描述你听到的声响的，再试试看。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "非常好！这个句式刚好可以用来引出你听到巨响的方位，完美符合汇报线索的语境。"}}], "answer": [2], "write": {"desc": "I heard a loud noise in...", "trans": "我听到……方向有巨大的声音。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，可以使用准确的句式 I think the spaceship fell...、I saw trees with... 和 I heard a loud noise in...，完成向Luisa教授汇报飞船坠落相关推测和线索的内容！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你和伙伴们在森林里找到了飞船坠落的相关线索，现在要向Luisa教授汇报你的推测，你想表达“我认为飞船坠落在山脉南侧的空地上”，首先需要说出开头的推测句式，你会怎么说？\n用户选项:\n（选项 A）I think the spaceship fell... [正确]\n  Brainy: 太棒了！这个句式刚好可以用来引出你对飞船坠落地点的推测，完全符合汇报的语境。\n（选项 B）I saw trees with...\n  Brainy: 这句话是用来描述你看到的树木特征，不是用来表达对飞船坠落地点的推测哦，再试一下吧。\n（选项 C）I heard a loud noise in...\n  Brainy: 这句话是用来描述你听到声响的方位，不是用来表达对坠落地点的推测的，再试试看。\n\n# 问题2：\nBrainy: 你之前在森林里看到部分树木的树干上有烧焦的痕迹，这是和飞船坠落相关的重要线索，现在你要向教授描述这个发现，你会用哪个句式开头？\n用户选项:\n（选项 A）I think the spaceship fell...\n  Brainy: 这句话是用来表达你对坠落地点的推测，不是用来描述你看到的树木相关线索的，再试一下哦。\n（选项 B）I saw trees with... [正确]\n  Brainy: 太对啦！这个句式正好可以用来描述你观察到的树木的特征，很适合说明你找到的线索。\n（选项 C）I heard a loud noise in...\n  Brainy: 这句话是用来描述你听到的声响情况，不是用来描述你看到的树木特征的，再试试看。\n\n# 问题3：\nBrainy: 你们昨天在森林探索时，西边方向传来过巨大的爆炸声，这也是判断飞船坠落位置的重要信息，你要向教授说明这个情况，会选择哪个句式开头？\n用户选项:\n（选项 A）I think the spaceship fell...\n  Brainy: 这句话是用来表达你对坠落地点的推测，不是用来描述你听到的声响线索的，再试一下哦。\n（选项 B）I saw trees with...\n  Brainy: 这句话是用来描述你看到的树木特征，不是用来描述你听到的声响的，再试试看。\n（选项 C）I heard a loud noise in... [正确]\n  Brainy: 非常好！这个句式刚好可以用来引出你听到巨响的方位，完美符合汇报线索的语境。\n```", "互动描述": "Dear Alex, I hope this email finds you well. We can take care of each other.（亲爱的亚历克斯：希望你一切都好。我们可以互相照顾。）"}

text_info_json:
[cell repeats an earlier one in this file: 544 characters]

eval_info_json:
  {"title": "报告飞船坠毁事件", "taskDesc": "请根据图片内容，用英文写一段求救报告，说明你们现在的处境、遇到的困难和需要的帮助。", "sceneDesc": "在森林中，Otis、Skylar 和你通过小熊猫 Bam 和无人机照片搜集到了关于飞船坠落的重要线索。你们需要将这些信息整理并汇报给 Luisa 教授，以便确定飞船的具体坠落位置。", "knowledge": "- 地点描述 I think the spaceship fell...  我认为飞船坠落在…… I saw trees with...  我看到有…… 的树。 I heard a loud noise in...  我听到…… 方向有巨大的声音。", "passCondition": "用户写出：1. 坠机在一个湖附近 2. 湖周边树木有红黄色的叶子 3. Bam 听到东北方向的噪音", "textList": [{"mode": "preset", "desc": "Dear Alex,"}, {"mode": "universalInput", "optionList": [{"option": "well"}, {"option": "this email"}, {"option": "you"}, {"option": "finds"}, {"option": "I hope"}, {"option": "fine"}], "answer": [4, 1, 3, 2, 0]}, {"mode": "fillingInput", "desc": "We can ___ each other.", "optionList": [{"option": "of"}, {"option": "take"}, {"option": "care"}, {"option": "look"}, {"option": "for"}], "answer": [1, 2, 0]}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_imgWrite
type_name: 看图撰写
level: L1
unit_id: U14
knowledge_points_raw:
  elephant（词形）
  banana（词形）
  shower（词形）
  ... love(s) to...（结构）

status: generated
bitable_token: KwPHwnaqdiWlvNkDm5fcFreDnQh
db_table: core_interaction_component
created_at: 2026-05-09 10:37:16
updated_at: 2026-05-09 10:37:16
raw_config:
[cell repeats an earlier one in this file: 770 characters]

final_config_json:
[cell repeats an earlier one in this file: 789 characters]

kp_info_json:
[cell repeats an earlier one in this file: 629 characters]

task_info_json:
[cell repeats an earlier one in this file: 789 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"image": "0000800-00.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你要填写大象护理记录的第一栏，首先需要记录动物的种类，你应该填什么呢？"}, "optionList": [{"option": "Elephant", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！你准确写出了大象的英文单词，这正是我们要记录的动物种类~"}}, {"option": "Banana", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，banana是香蕉的意思，是大象吃的食物，不是动物种类，再想想吧。"}}, {"option": "Shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，shower是洗澡的意思，是我们今天给大象做的清洁项目，不是动物种类，再试试。"}}], "answer": [0], "write": {"desc": "Elephant", "trans": "大象"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-01.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "接下来要记录大象今天的进食内容，护理记录里写着\"Food: She ate ___\"，你需要填什么呢？"}, "optionList": [{"option": "bananas", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你选对了，大象今天吃了香蕉，刚好对应我们喂它的食物哦。"}}, {"option": "elephants", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，elephant是大象本身，它可不会吃同类呀，再想想它今天吃了什么吧。"}}, {"option": "a shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，a shower是洗澡，属于清洁项目，不是吃的食物哦，再选一次吧。"}}], "answer": [0], "write": {"desc": "bananas", "trans": "香蕉"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-02.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "现在要填写清洁护理的部分，记录里写着\"Cleaning: She had ___ today\"，这里应该填什么呢？"}, "optionList": [{"option": "a shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完全正确！我们今天给大象洗了澡，had a shower就是洗澡的意思，完美符合记录要求~"}}, {"option": "bananas", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，bananas是香蕉，属于食物类，不是清洁项目，回忆一下我们今天给大象做了什么清洁工作吧。"}}, {"option": "elephant", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，elephant是大象，不能填在清洁记录的内容里，再想想吧。"}}], "answer": [0], "write": {"desc": "a shower", "trans": "一次淋浴/洗澡"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-02.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "最后我们要总结大象的喜好，你想表达“大象喜爱洗澡和吃香蕉”，应该怎么说呢？"}, "optionList": [{"option": "The elephant loves showers and bananas!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太厉害了！你准确使用了love表达喜好的用法，完整说出了大象的两个爱好，完美完成了护理记录~"}}, {"option": "The elephant loves showers and apples!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，我们今天喂大象的是香蕉（bananas）不是苹果（apples），不符合我们的护理内容，再调整一下吧。"}}, {"option": "The elephant hates showers and bananas!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，hate是讨厌的意思，和我们要表达的“喜爱”意思相反，应该用love来描述它的喜好哦。"}}], "answer": [0], "write": {"desc": "The elephant loves showers and bananas!", "trans": "这头大象喜欢洗澡和香蕉！"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，可以使用准确的单词 elephant、banana、shower，以及句型 ...love(s) to...，完成了大象护理记录的填写，准确描述了大象的相关信息和喜好！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你要填写大象护理记录的第一栏，首先需要记录动物的种类，你应该填什么呢？\n用户选项:\n（选项 A）Elephant [正确]\n  Brainy: 答对啦！你准确写出了大象的英文单词，这正是我们要记录的动物种类~\n（选项 B）Banana\n  Brainy: 不对哦，banana是香蕉的意思，是大象吃的食物，不是动物种类，再想想吧。\n（选项 C）Shower\n  Brainy: 不对哦，shower是洗澡的意思，是我们今天给大象做的清洁项目，不是动物种类，再试试。\n\n# 问题2：\nBrainy: 接下来要记录大象今天的进食内容，护理记录里写着\"Food: She ate ___\"，你需要填什么呢？\n用户选项:\n（选项 A）bananas [正确]\n  Brainy: 太棒了！你选对了，大象今天吃了香蕉，刚好对应我们喂它的食物哦。\n（选项 B）elephants\n  Brainy: 不对哦，elephant是大象本身，它可不会吃同类呀，再想想它今天吃了什么吧。\n（选项 C）a shower\n  Brainy: 不对哦，a shower是洗澡，属于清洁项目，不是吃的食物哦，再选一次吧。\n\n# 问题3：\nBrainy: 现在要填写清洁护理的部分，记录里写着\"Cleaning: She had ___ today\"，这里应该填什么呢？\n用户选项:\n（选项 A）a shower [正确]\n  Brainy: 完全正确！我们今天给大象洗了澡，had a shower就是洗澡的意思，完美符合记录要求~\n（选项 B）bananas\n  Brainy: 不对哦，bananas是香蕉，属于食物类，不是清洁项目，回忆一下我们今天给大象做了什么清洁工作吧。\n（选项 C）elephant\n  Brainy: 不对哦，elephant是大象，不能填在清洁记录的内容里，再想想吧。\n\n# 问题4：\nBrainy: 最后我们要总结大象的喜好，你想表达“大象喜爱洗澡和吃香蕉”，应该怎么说呢？\n用户选项:\n（选项 A）The elephant loves showers and bananas! [正确]\n  Brainy: 太厉害了！你准确使用了love表达喜好的用法，完整说出了大象的两个爱好，完美完成了护理记录~\n（选项 B）The elephant loves showers and apples!\n  Brainy: 不对哦，我们今天喂大象的是香蕉（bananas）不是苹果（apples），不符合我们的护理内容，再调整一下吧。\n（选项 C）The elephant hates showers and bananas!\n  Brainy: 不对哦，hate是讨厌的意思，和我们要表达的“喜爱”意思相反，应该用love来描述它的喜好哦。\n```", "互动描述": "Animal Keeper's Record Animal type: Elephant Food: She ate bananas. Cleaning: She had a shower today. What does she love? The elephant loves showers and bananas!（动物饲养员记录\n动物种类：大象\n食物：她吃了香蕉。\n清洁：她今天洗了澡。\n她喜欢什么呢？\n这头大象喜欢洗澡和香蕉！）"}

text_info_json:
  {"inputType": "write", "passCondition": "用户能够：说明动物类型是大象。说明大象吃了香蕉。说明大象洗了澡。表达大象喜欢香蕉和洗澡。", "textList": [{"mode": "preset", "desc": "Animal Keeper's Record", "answerText": ""}, {"mode": "fillingInput", "desc": "Animal type: ___ ", "answerText": "Elephant", "hint": "动物种类：大象（Elephant）"}, {"mode": "fillingInput", "desc": "Food: She ate ___ .", "answerText": "bananas", "hint": "食物：她吃了香蕉（bananas）。"}, {"mode": "fillingInput", "desc": "Cleaning: She had ___ today. ", "answerText": "a shower", "hint": "清洁：她今天洗了澡（a shower）。"}, {"mode": "preset", "desc": "What does she love?", "answerText": ""}, {"mode": "universalInput", "answerText": "The elephant loves showers and bananas!", "hint": "大象喜欢洗澡和香蕉！（The elephant loves showers and bananas!）"}]}

eval_info_json:
  {"title": "填写大象护理记录", "taskDesc": "根据图片内容，填写大象护理报告。", "sceneDesc": "粗心的大象饲养员忘记给大象洗澡了！真是照顾不周。你们给大象洗了澡，还喂了香蕉，现在把这些都记在护理记录上吧！", "knowledge": "elephant n. 大象\nbanana n. 香蕉\nshower n. 淋浴、洗澡\n... love(s) to... ……喜爱……", "passCondition": "用户能够：说明动物类型是大象。说明大象吃了香蕉。说明大象洗了澡。表达大象喜欢香蕉和洗澡。", "textList": [{"mode": "preset", "desc": "Animal Keeper's Record", "answerText": ""}, {"mode": "fillingInput", "desc": "Animal type: ___ ", "answerText": "Elephant", "hint": "动物种类：大象（Elephant）"}, {"mode": "fillingInput", "desc": "Food: She ate ___ .", "answerText": "bananas", "hint": "食物：她吃了香蕉（bananas）。"}, {"mode": "fillingInput", "desc": "Cleaning: She had ___ today. ", "answerText": "a shower", "hint": "清洁：她今天洗了澡（a shower）。"}, {"mode": "preset", "desc": "What does she love?", "answerText": ""}, {"mode": "universalInput", "answerText": "The elephant loves showers and bananas!", "hint": "大象喜欢洗澡和香蕉！（The elephant loves showers and bananas!）"}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_questionWrite
type_name: 邮件撰写
level: L1
unit_id: U14
knowledge_points_raw: That's why we have to...（结构）The job is...（结构）When will you arrive? （语义）
status: generated
bitable_token: Brn0wldKYizsLZkBqK6clp1tnKd
db_table: core_interaction_component
created_at: 2026-05-09 10:37:28
updated_at: 2026-05-09 10:37:28
raw_config:
[cell repeats an earlier one in this file: 863 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_questionWrite", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["Tell her your decision and why.", "Ask her when she will arrive."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这份工作对我们来说很重要。这就是我们必须留下来的原因。你会有一天来漫游港吗？如果会的话，你什么时候到呢？）"}

kp_info_json:
[cell repeats an earlier one in this file: 309 characters]

task_info_json:
  {"cId": "0000800", "cType": "core_writing_questionWrite", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["Tell her your decision and why.", "Ask her when she will arrive."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这份工作对我们来说很重要。这就是我们必须留下来的原因。你会有一天来漫游港吗？如果会的话，你什么时候到呢？）"}

study_info_json:
  {"learningPart": [{"leadIn": {"desc": "Tell her your decision and why."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你正在给Rebecca写邮件，已经向她说明知道她很担心，这是你们探索Wander Port最好的机会，接下来你想表达“这份工作对我们来说很重要”，你会怎么说？"}, "optionList": [{"option": "The job is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你准确表达了“这份工作对我们很重要”的含义，这里job用单数形式和语境匹配，完全正确。"}}, {"option": "The jobs are important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，jobs是job的复数形式，意思是“多份工作”，这里我们要表达的是“这份（探索的）工作”，应该用单数形式，再试一下吧。"}}, {"option": "The projects are important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "projects是“项目”的意思，和我们要表达的“工作”含义不符，不符合句子要表达的内容，再想想呀。"}}], "answer": [0], "write": {"desc": "The job is important for us.", "trans": "这份工作对我们来说很重要。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "你已经说明了这份工作的重要性，接下来要表达“这就是为什么我们必须留下来”，你会怎么说？"}, "optionList": [{"option": "That's how we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "how是“如何、怎样”的意思，这句话翻译过来是“这就是我们必须怎么留下的方式”，不符合我们要表达的“说明留下来的原因”的含义哦，再试一次。"}}, {"option": "That's why we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "非常棒！why用来引出原因，这句话准确表达了“这就是我们必须留下来的原因”，完全符合邮件里要说明决定的语境。"}}, {"option": "That's which we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "which通常用来指代事物，放在这里句子逻辑不通哦，我们要表达因果关系，应该用表示原因的连接词，再想想吧。"}}], "answer": [1], "write": {"desc": "That's why we have to stay.", "trans": "这就是为什么我们必须留下来。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Ask her when she will arrive."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "邮件最后你询问Rebecca是否会来Wander Port，如果她要来的话，你想知道她什么时候抵达，你会怎么问？"}, "optionList": [{"option": "when is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "语法不对哦，arrive是实义动词，构成疑问句要借助助动词will，而不是is，而且is和第二人称you也不搭配，再试一下吧。"}}, {"option": "how is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，how是询问方式，我们这里要询问的是“到达的时间”，而且这个句子本身语法也不正确，再想想正确的表达吧。"}}, {"option": "when will you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太对啦！你正确使用了一般将来时的疑问结构，准确询问了对方到达的时间，完全符合邮件里的询问需求。"}}], "answer": [2], "write": {"desc": "when will you arrive?", "trans": "你什么时候会到？"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，你已经掌握了短语The job is...、That's why we have to...以及句型When will you arrive?的用法，成功完成了给Rebecca的邮件编写!"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你正在给Rebecca写邮件，已经向她说明知道她很担心，这是你们探索Wander Port最好的机会，接下来你想表达“这份工作对我们来说很重要”，你会怎么说？\n用户选项:\n（选项 A）The job is important for us. [正确]\n  Brainy: 太棒了！你准确表达了“这份工作对我们很重要”的含义，这里job用单数形式和语境匹配，完全正确。\n（选项 B）The jobs are important for us.\n  Brainy: 不对哦，jobs是job的复数形式，意思是“多份工作”，这里我们要表达的是“这份（探索的）工作”，应该用单数形式，再试一下吧。\n（选项 C）The projects are important for us.\n  Brainy: projects是“项目”的意思，和我们要表达的“工作”含义不符，不符合句子要表达的内容，再想想呀。\n\n# 问题2：\nBrainy: 你已经说明了这份工作的重要性，接下来要表达“这就是为什么我们必须留下来”，你会怎么说？\n用户选项:\n（选项 A）That's how we have to stay.\n  Brainy: how是“如何、怎样”的意思，这句话翻译过来是“这就是我们必须怎么留下的方式”，不符合我们要表达的“说明留下来的原因”的含义哦，再试一次。\n（选项 B）That's why we have to stay. [正确]\n  Brainy: 非常棒！why用来引出原因，这句话准确表达了“这就是我们必须留下来的原因”，完全符合邮件里要说明决定的语境。\n（选项 C）That's which we have to stay.\n  Brainy: which通常用来指代事物，放在这里句子逻辑不通哦，我们要表达因果关系，应该用表示原因的连接词，再想想吧。\n\n# 问题3：\nBrainy: 邮件最后你询问Rebecca是否会来Wander Port，如果她要来的话，你想知道她什么时候抵达，你会怎么问？\n用户选项:\n（选项 A）when is you arrive?\n  Brainy: 语法不对哦，arrive是实义动词，构成疑问句要借助助动词will，而不是is，而且is和第二人称you也不搭配，再试一下吧。\n（选项 B）how is you arrive?\n  Brainy: 不对哦，how是询问方式，我们这里要询问的是“到达的时间”，而且这个句子本身语法也不正确，再想想正确的表达吧。\n（选项 C）when will you arrive? [正确]\n  Brainy: 太对啦！你正确使用了一般将来时的疑问结构，准确询问了对方到达的时间，完全符合邮件里的询问需求。\n```", "互动描述": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这份工作对我们来说很重要。这就是我们必须留下来的原因。你会有一天来漫游港吗？如果会的话，你什么时候到呢？）"}

text_info_json:
  {"inputType": "write", "passCondition": "1. 这份工作很重要 2. 这就是我们为什么要留下 3. 你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,", "answerText": ""}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port.", "answerText": ""}, {"mode": "fillingInput", "desc": "The ____ is important for us.", "answerText": "job", "hint": "这份工作（job）对我们来说很重要。"}, {"mode": "fillingInput", "desc": "That's ____ we have to stay.", "answerText": "why", "hint": "这就是为什么（why）我们必须留下。"}, {"mode": "preset", "desc": "Will you come to Wander Port some day?", "answerText": ""}, {"mode": "fillingInput", "desc": "If so, _________ you arrive?", "answerText": "when will", "hint": "如果是这样的话，你什么时候（when will）将会到达？"}]}

eval_info_json:
  {"title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "knowledge": "The job is... 这份工作......That's why we have to... 这就是为什么我们必须……When will you arrive? 你什么时候会到？", "passCondition": "1. 这份工作很重要 2. 这就是我们为什么要留下 3. 你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,", "answerText": ""}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port.", "answerText": ""}, {"mode": "fillingInput", "desc": "The ____ is important for us.", "answerText": "job", "hint": "这份工作（job）对我们来说很重要。"}, {"mode": "fillingInput", "desc": "That's ____ we have to stay.", "answerText": "why", "hint": "这就是为什么（why）我们必须留下。"}, {"mode": "preset", "desc": "Will you come to Wander Port some day?", "answerText": ""}, {"mode": "fillingInput", "desc": "If so, _________ you arrive?", "answerText": "when will", "hint": "如果是这样的话，你什么时候（when will）将会到达？"}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_questionMakeSentence
type_name: 邮件组句
level: L1
unit_id: U14
knowledge_points_raw:
  That's why we have to...（结构）
  The job is...（结构）When will you arrive? （语义）

status: generated
bitable_token: M5oTwUP6wiImC4kVJU8cRYnfnyf
db_table: core_interaction_component
created_at: 2026-05-09 10:37:29
updated_at: 2026-05-09 10:37:29
raw_config:
[cell repeats an earlier one in this file: 975 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_questionMakeSentence", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["What is your opinion on the job?", "Why do you want to stay?", "Ask her when to come."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你将来会来漫游港吗？你什么时候会到？）"}

kp_info_json:
[cell repeats an earlier one in this file: 1253 characters]

task_info_json:
[cell repeats an earlier one in this file: 924 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"desc": "What is your opinion on the job?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你在邮件里需要向Rebecca说明这份探索任务对你们的重要性，现在要补全句子\"The ___ is important for us.\""}, "optionList": [{"option": "job", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！这里用可数名词单数\"job\"指代这次探索任务，和后面的be动词\"is\"也搭配正确，准确表达了这份任务对你们的重要性~"}}, {"option": "jobs", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，\"jobs\"是可数名词复数，后面应该搭配be动词\"are\"，和句子里的\"is\"不匹配，而且这里指代的是当前这一份探索任务，不需要用复数，再想想呀。"}}, {"option": "projects", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，\"projects\"是可数名词复数，后面应该搭配be动词\"are\"，和句子里的\"is\"不匹配，不符合句子的语法要求，再试试吧。"}}], "answer": [0], "write": {"desc": "The job is important for us.", "trans": "这项工作对我们来说很重要。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Why do you want to stay?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你已经说明了任务的重要性，接下来要表达这就是你们必须留下来的原因，现在要补全句子\"That's ___ we have to stay.\""}, "optionList": [{"option": "why", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！\"That's why...\"是固定表达，用来引出某个决定的原因，刚好符合你要向Rebecca解释留下来的原因的语境，用得非常准确~"}}, {"option": "how", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，\"how\"是用来询问方式的，这里你是要解释留下来的原因，不是说明留下来的方式，不符合语境，再想一想呀。"}}, {"option": "which", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，\"which\"一般用来引导定语从句指代事物，放在这里语义不通，没法表达解释原因的意思，再试试吧。"}}], "answer": [0], "write": {"desc": "That's why we have to stay.", "trans": "这就是为什么我们必须留下来。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Ask her when to come."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "邮件最后你想询问Rebecca什么时候会到达Wander Port，现在要补全句子\"___ you arrive?\""}, "optionList": [{"option": "When will", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！询问对方将来的到达时间，用一般将来时的特殊疑问句结构\"When will + 主语 + 动词原形\"，完全符合你想知道Rebecca什么时候来的需求~"}}, {"option": "When is", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，句子里的\"arrive\"是实义动词原形，不能和be动词\"is\"搭配使用，语法上是错误的，再想想正确的结构吧。"}}, {"option": "How is", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，首先\"how\"是询问方式的，你这里要问的是到达的时间，疑问词就不对，而且\"is\"也不能和实义动词原形\"arrive\"搭配，再试试吧。"}}], "answer": [0], "write": {"desc": "When will you arrive?", "trans": "你什么时候会到？"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，你已经掌握了短语\"The job is...\"、\"That's why we have to...\"和句型\"When will you arrive?\"的用法，能够顺利完成给Rebecca的邮件写作啦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你在邮件里需要向Rebecca说明这份探索任务对你们的重要性，现在要补全句子\"The ___ is important for us.\"\n用户选项:\n（选项 A）job [正确]\n  Brainy: 答对啦！这里用可数名词单数\"job\"指代这次探索任务，和后面的be动词\"is\"也搭配正确，准确表达了这份任务对你们的重要性~\n（选项 B）jobs\n  Brainy: 不对哦，\"jobs\"是可数名词复数，后面应该搭配be动词\"are\"，和句子里的\"is\"不匹配，而且这里指代的是当前这一份探索任务，不需要用复数，再想想呀。\n（选项 C）projects\n  Brainy: 不对哦，\"projects\"是可数名词复数，后面应该搭配be动词\"are\"，和句子里的\"is\"不匹配，不符合句子的语法要求，再试试吧。\n\n# 问题2：\nBrainy: 你已经说明了任务的重要性，接下来要表达这就是你们必须留下来的原因，现在要补全句子\"That's ___ we have to stay.\"\n用户选项:\n（选项 A）why [正确]\n  Brainy: 太棒了！\"That's why...\"是固定表达，用来引出某个决定的原因，刚好符合你要向Rebecca解释留下来的原因的语境，用得非常准确~\n（选项 B）how\n  Brainy: 不对哦，\"how\"是用来询问方式的，这里你是要解释留下来的原因，不是说明留下来的方式，不符合语境，再想一想呀。\n（选项 C）which\n  Brainy: 不对哦，\"which\"一般用来引导定语从句指代事物，放在这里语义不通，没法表达解释原因的意思，再试试吧。\n\n# 问题3：\nBrainy: 邮件最后你想询问Rebecca什么时候会到达Wander Port，现在要补全句子\"___ you arrive?\"\n用户选项:\n（选项 A）When will [正确]\n  Brainy: 答对啦！询问对方将来的到达时间，用一般将来时的特殊疑问句结构\"When will + 主语 + 动词原形\"，完全符合你想知道Rebecca什么时候来的需求~\n（选项 B）When is\n  Brainy: 不对哦，句子里的\"arrive\"是实义动词原形，不能和be动词\"is\"搭配使用，语法上是错误的，再想想正确的结构吧。\n（选项 C）How is\n  Brainy: 不对哦，首先\"how\"是询问方式的，你这里要问的是到达的时间，疑问词就不对，而且\"is\"也不能和实义动词原形\"arrive\"搭配，再试试吧。\n```", "互动描述": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你将来会来漫游港吗？你什么时候会到？）"}

text_info_json:
[cell repeats an earlier one in this file: 789 characters]

eval_info_json:
[cell repeats an earlier one in this file: 1055 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_combine
type_name: 信息组句
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: TXYobOAuaakk6KslHp9caUB7nXa
db_table: middle_interaction_component
created_at: 2026-05-09 10:37:36
updated_at: 2026-05-09 10:37:36
raw_config:
[cell repeats an earlier one in this file: 170 characters]

final_config_json:
  {"cType": "mid_message_combine", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You finished the sentence \"Is Maeve the visitor you invited?\". (你完成了“Is Maeve the visitor you invited?”这个句子。)", "question": {"desc": "请在空白处填入正确的单词，组成句子"}, "tip": "可以用 is 引导的一般疑问句询问；you invited 是 visitor 的后置定语", "optionList": [{"option": "is"}, {"option": "the visitor"}, {"option": "you invited"}, {"option": "Maeve"}], "answer": [0, 3, 1, 2], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 228 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_sequence
type_name: 图片有序
level: L1
unit_id: U14
knowledge_points_raw: ... one by one.
status: generated
bitable_token: BZWebQROpagkJ0sxArGcsBjwnCU
db_table: middle_interaction_component
created_at: 2026-05-09 10:37:46
updated_at: 2026-05-09 10:37:46
raw_config:
[cell repeats an earlier one in this file: 180 characters]

final_config_json:
  {"cType": "mid_image_sequence", "cId": "0000800", "title": "排序跳格子顺序", "meaning": "", "resourceMapping": {"Vicky": 658}, "question": {"desc": "We must go $one by one$."}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}, {"option": "0000800_option_03.png"}], "answer": [0, 1, 2, 3], "preDialog": [], "tip": "one by one指\"一个接一个\"", "corFeedback": {}, "errFeedback": {"type": "npc", "npcName": "Dan", "content": "We can't jump like that."}, "postDialog": [], "cDesc": "You jump the hopscotch $one\\ by\\ one$ in order. (你按顺序一个接一个跳格子。)"}

kp_info_json:
[cell repeats an earlier one in this file: 225 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_drag
type_name: 图片拖拽
level: L1
unit_id: U14
knowledge_points_raw: hammer （词义）
status: generated
bitable_token: Qqq9bVv19aH6LisRrsVcvf6xnqe
db_table: middle_interaction_component
created_at: 2026-05-09 10:37:51
updated_at: 2026-05-09 10:37:51
raw_config:
[cell repeats an earlier one in this file: 295 characters]

final_config_json:
  {"cType": "mid_image_drag", "cId": "0000800", "title": "选出正确的物品", "meaning": "", "resourceMapping": {}, "question": {"desc": "Let's pick the $fish$, $crab$ and $octopus$ in order."}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}, {"option": "0000800_option_03.png"}], "answer": ["00", "02", "01"], "preDialog": [{"type": "npc", "npcName": "Sarah", "content": "Look! So many gloves there!"}], "tip": "fish 指“鱼”；crab 指“螃蟹”；octopus 指“章鱼”", "corFeedback": {"type": "npc", "npcName": "Daisy", "content": "Yes! You got it right!"}, "errFeedback": {"type": "npc", "npcName": "Daisy", "content": "This doesn't seem like a crab."}, "postDialog": [{"type": "npc", "npcName": "Daisy", "content": "very good!"}], "cDesc": "You found fish, crab and octopus in order. (你依次找到了鱼、螃蟹和章鱼。)"}

kp_info_json:
[cell repeats an earlier one in this file: 211 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_imageDrag
type_name: 看图选词
level: L1
unit_id: U14
knowledge_points_raw:
  lake n. 湖
  monkey n. 猴子
  three num. 三
  How many ...? 多少……？
  There be ... 有……

status: generated
bitable_token: MVo7wugWfimJPIkxhJCcqppFnyf
db_table: core_interaction_component
created_at: 2026-05-09 10:56:55
updated_at: 2026-05-09 10:56:55
raw_config:
[cell repeats an earlier one in this file: 747 characters]

final_config_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "看图选词拖拽补全句子，在单词城堡场景中完成填空任务解锁城堡大门"}

kp_info_json:
[cell repeats an earlier one in this file: 756 characters]

task_info_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "看图选词拖拽补全句子，在单词城堡场景中完成填空任务解锁城堡大门"}

study_info_json:
  {"learningPart": [{"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "这道题我们要选河马居住的地方，先来认识核心词汇哦~lake是“湖”，tree是“树”，grass是“草”，想一想哪个是河马的家呀？"}, "optionList": [{"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "tree是“树”的意思，河马的体型很大，没办法住在树上哦，再想想看吧~"}}, {"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！lake就是“湖”，河马平时喜欢生活在水里，这个是正确的，你真棒~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是“草”，虽然河马会吃草，但草不是它长期居住的地方哦，再试一次吧。"}}], "answer": [1]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Ben在问“河马住在哪里呀？”，你要选合适的词补全回答“在____里”，结合刚刚学的单词，想想哪个是对的呢？"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太聪明啦！回答“in the lake”就是“在湖里”的意思，河马就是住在湖里的，快来大声朗读这个句子：In the lake."}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "选tree的话句子就是“在树里”，河马没办法住在树上呀，结合河马的生活习性再选一次吧~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "选grass的话句子就是“在草里”，这不是河马主要的居住场所哦，再想想看吧。"}}], "answer": [0]}]}, {"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "这道题问动物园里还有什么其他动物，我们来复习相关单词哦，lake是“湖”，tree是“树”，grass是“草”，想一想哪个是属于动物的呀？"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "lake是“湖”，属于地点，不是动物哦，再想想看吧~"}}, {"option": "monkey", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！monkey就是“猴子”，是动物园里常见的动物，你已经掌握这个单词啦~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是“草”，是植物，不是动物哦，再试一次吧。"}}], "answer": [1]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Brainy在问“动物园里还有什么其他的动物？”，你要选出属于动物的选项来回答哦。"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "lake是湖，是地点不是动物哦，仔细看问题问的是动物，再选一次吧~"}}, {"option": "monkey", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！猴子就是动物园里的动物哦，快来大声朗读这个回答：Monkey."}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass是草，属于植物，不是动物哦，结合问题再想一想吧。"}}], "answer": [1]}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你复习了lake、monkey这些核心单词，还学会了怎么回答关于动物居所和动物种类的问题，今天的英语对话任务完成得超出色哦，继续加油呀！"}}

intermediate_json:
  {"学习流程配置": "```\n# 小题 4\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：这道题我们要选河马居住的地方，先来认识核心词汇哦~lake是“湖”，tree是“树”，grass是“草”，想一想哪个是河马的家呀？\n- 选项 A：tree\n  Brainy：tree是“树”的意思，河马的体型很大，没办法住在树上哦，再想想看吧~\n- 选项 B：lake\n  Brainy：答对啦！lake就是“湖”，河马平时喜欢生活在水里，这个是正确的，你真棒~\n- 选项 C：grass\n  Brainy：grass是“草”，虽然河马会吃草，但草不是它长期居住的地方哦，再试一次吧。\n\n### 2. 原题降级\nBrainy：Ben在问“河马住在哪里呀？”，你要选合适的词补全回答“在____里”，结合刚刚学的单词，想想哪个是对的呢？\n- 选项 A：lake [正确]\n  Brainy：太聪明啦！回答“in the lake”就是“在湖里”的意思，河马就是住在湖里的，快来大声朗读这个句子：In the lake.\n- 选项 B：tree\n  Brainy：选tree的话句子就是“在树里”，河马没办法住在树上呀，结合河马的生活习性再选一次吧~\n- 选项 C：grass\n  Brainy：选grass的话句子就是“在草里”，这不是河马主要的居住场所哦，再想想看吧。\n\n---\n# 小题 5\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：这道题问动物园里还有什么其他动物，我们来复习相关单词哦，lake是“湖”，tree是“树”，grass是“草”，想一想哪个是属于动物的呀？\n- 选项 A：lake\n  Brainy：lake是“湖”，属于地点，不是动物哦，再想想看吧~\n- 选项 B：monkey\n  Brainy：答对啦！monkey就是“猴子”，是动物园里常见的动物，你已经掌握这个单词啦~\n- 选项 C：grass\n  Brainy：grass是“草”，是植物，不是动物哦，再试一次吧。\n\n### 2. 原题降级\nBrainy：Brainy在问“动物园里还有什么其他的动物？”，你要选出属于动物的选项来回答哦。\n- 选项 A：lake\n  Brainy：lake是湖，是地点不是动物哦，仔细看问题问的是动物，再选一次吧~\n- 选项 B：monkey [正确]\n  Brainy：答对啦！猴子就是动物园里的动物哦，快来大声朗读这个回答：Monkey.\n- 选项 C：grass\n  Brainy：grass是草，属于植物，不是动物哦，结合问题再想一想吧。\n\n---\n# 完结反馈\nBrainy：太棒了！你复习了lake、monkey这些核心单词，还学会了怎么回答关于动物居所和动物种类的问题，今天的英语对话任务完成得超出色哦，继续加油呀！\n```", "互动描述": "To unlock the gate of the word castle, you first fill in the blank in Ben's question about hippos' habitat, choosing the word \"lake\" to complete the sentence \"in the lake\".（你要打开单词城堡的大门，首先填写了本关于河马栖息地问题的空白处，选择“lake”这个词完成了“in the lake”这个表述。）\nThen you answer Brainy's question about other zoo animals, picking the word \"tree\" as the right choice to show there are animals living in trees in the zoo.（接着你回答了布莱尼关于动物园其他动物的问题，选择“tree”这个词，说明动物园里还有栖息在树上的动物。）"}

question_group_json:
[cell repeats an earlier one in this file: 430 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_order
type_name: 合作阅读
level: L1
unit_id: U14
knowledge_points_raw:
  club
  join
  member
  choose
  interested

status: generated
bitable_token: H6DJweNkpigCbak2Y5LcTZ8Vnfb
db_table: core_interaction_component
created_at: 2026-05-09 10:57:04
updated_at: 2026-05-09 10:57:04
raw_config:
[cell repeats an earlier one in this file: 2351 characters]

final_config_json:
[cell repeats an earlier one in this file: 645 characters]

kp_info_json:
[cell repeats an earlier one in this file: 865 characters]

task_info_json:
[cell repeats an earlier one in this file: 645 characters]

material_info_json:
[cell repeats an earlier one in this file: 2699 characters]

flow_info_json:
[cell repeats an earlier one in this file: 232 characters]

study_info_json:
  {"closing": {"type": "npc", "content": "太棒了！你已经完成了全部的学习流程，对相关知识的掌握很不错哦！", "npcName": "Brainy"}, "learningPart": [{"leadIn": {"desc": "At Vala Academy, Pioneers don't have exams. But you need points to level up!"}, "type": "npc", "content": "我们来认识一下这段话中的关键单词 points。points 在这里的意思是积分、分数，攒积分可以说 collect points。", "npcName": "Brainy", "learning": [{"answer": [1], "meaning": "句意选择题", "optionList": [{"feedback": {"type": "npc", "content": "不对哦，句中的关键词是points积分，不是考试，再确认下正确答案吧。", "npcName": "Brainy"}, "option": "但是你需要通过考试才能升级。"}, {"feedback": {"type": "npc", "content": "完美回答！你已经掌握了句中的关键单词 points 和整个句子的意思了～", "npcName": "Brainy"}, "option": "但是你需要积分才能升级。"}], "question": {"type": "npc", "npcName": "Brainy", "content": "接下来，我们来看下包含 points 的句子 But you need points to level up! 是什么意思呢？"}}, {"answer": [0], "meaning": "段落大意题", "optionList": [{"feedback": {"type": "npc", "content": "太棒了！你抓住了 don't have exams 和 need points to level up 这两个重点！", "npcName": "Brainy"}, "option": "在瓦拉学院，开拓者们不需要考试，但需要攒积分升级。"}, {"feedback": {"type": "npc", "content": "不太对哦，文中明确说开拓者们没有考试，再读一读试试看！", "npcName": "Brainy"}, "option": "在瓦拉学院，开拓者们需要参加考试获得积分升级。"}], "question": {"type": "npc", "npcName": "Brainy", "content": "了解了关键单词和关键句子的意思，那我们来一起看看这一段主要在说什么呢？"}}]}, {"leadIn": {"desc": "You can choose your favourite club to join. If you are interested in something, you can find a club for it."}, "type": "npc", "content": "本段围绕一个关键词 club 展开，你认识这个单词吗？club 是俱乐部的意思，加入俱乐部可以说 join a club。", "npcName": "Brainy", "learning": [{"answer": [1], "meaning": "句意选择题", "optionList": [{"feedback": {"type": "npc", "content": "课程的英文表达是 course 哦，并不是我们讲的 club，再认真看看正确的释义吧。", "npcName": "Brainy"}, "option": "你可以选择你最喜欢的课程去上。"}, {"feedback": {"type": "npc", "content": "完美回答！你已经掌握了文中的关键单词 club 和关键句子的意思了～", "npcName": "Brainy"}, "option": "你可以选择你最喜欢的俱乐部加入。"}], "question": {"type": "npc", "npcName": "Brainy", "content": "接下来我们看看包含 club 的句子 You can choose your favourite club to join. 你知道它是什么意思吗？"}}, {"answer": [0], "meaning": "段落大意题", "optionList": [{"feedback": {"type": "npc", "content": "答得好！选择偏好和俱乐部对应规则你都记住啦！", "npcName": "Brainy"}, "option": "你可以选择加入感兴趣的俱乐部，感兴趣的内容都能找到对应的俱乐部。"}, {"feedback": {"type": "npc", "content": "小心看哦～文中并没有说必须加入俱乐部，再仔细看看正确的释义吧！", "npcName": "Brainy"}, "option": "所有的俱乐部都非常受欢迎，你必须加入一个。"}], "question": {"type": "npc", "npcName": "Brainy", "content": "下面，让我们来看看这一段主要在讲什么。"}}]}]}

intermediate_json:
  {"阅读材料格式化": "```\n# 材料2\n类型：电子屏\n标题：How to Join Clubs? \n正文:\n<sp>You can choose your favourite club to join. If you are interested in something, you can find a club for it. The robot club, the plant club, the sports club, and the reading club are all popular choices.<br>If you are not interested in any club, you can start a new one with friends!<br><sp>图片:[0101106_core reading2]\n```", "学习材料格式化": "```\n# 段落1\n重点词汇: 无\n正文:\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n```\n```\n# 段落2\n重点词汇: 无\n正文:\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n```", "学习过程配置": "```\n# 段落1\n## 段落内容\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n## 互动题目\nBrainy：我们来认识一下这段话中的关键单词 points。points 在这里的意思是积分、分数，攒积分可以说 collect points。\n1. 句意选择题\nBrainy：接下来，我们来看下包含 points 的句子 But you need points to level up! 是什么意思呢？\n- 但是你需要通过考试才能升级。\n  Brainy：不对哦，句中的关键词是points积分，不是考试，再确认下正确答案吧。\n- 但是你需要积分才能升级。[正确]\n  Brainy：完美回答！你已经掌握了句中的关键单词 points 和整个句子的意思了～\n\n2. 段落大意题\nBrainy：了解了关键单词和关键句子的意思，那我们来一起看看这一段主要在说什么呢？\n- 在瓦拉学院，开拓者们不需要考试，但需要攒积分升级。[正确]\n  Brainy：太棒了！你抓住了 don't have exams 和 need points to level up 这两个重点！\n- 在瓦拉学院，开拓者们需要参加考试获得积分升级。\n  Brainy：不太对哦，文中明确说开拓者们没有考试，再读一读试试看！\n# 段落2\n## 段落内容\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n## 互动题目\nBrainy：本段围绕一个关键词 club 展开，你认识这个单词吗？club 是俱乐部的意思，加入俱乐部可以说 join a club。\n1. 句意选择题\nBrainy：接下来我们看看包含 club 的句子 You can choose your favourite club to join. 你知道它是什么意思吗？\n- 你可以选择你最喜欢的课程去上。\n  Brainy：课程的英文表达是 course 哦，并不是我们讲的 club，再认真看看正确的释义吧。\n- 你可以选择你最喜欢的俱乐部加入。[正确]\n  Brainy：完美回答！你已经掌握了文中的关键单词 club 和关键句子的意思了～\n\n2. 段落大意题\nBrainy：下面，让我们来看看这一段主要在讲什么。\n- 你可以选择加入感兴趣的俱乐部，感兴趣的内容都能找到对应的俱乐部。[正确]\n  Brainy：答得好！选择偏好和俱乐部对应规则你都记住啦！\n- 所有的俱乐部都非常受欢迎，你必须加入一个。\n  Brainy：小心看哦～文中并没有说必须加入俱乐部，再仔细看看正确的释义吧！\n# 完结反馈\nBrainy：太棒了！你已经完成了全部的学习流程，对相关知识的掌握很不错哦！\n```"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_reply
type_name: 口语快答
level: L1
unit_id: U14
knowledge_points_raw:
  Let's...（结构）
  Instead of..., we'd better...（结构）
  ... love(s) to...（结构）

dialog_setting_json: {"setting": {"npcName": "Logan", "round": 5, "checkRound": 3}}
status: generated
bitable_token: TSwcw0nFmi21khkpUndchNMsn6f
db_table: core_interaction_component
created_at: 2026-05-09 10:57:16
updated_at: 2026-05-09 10:57:16
raw_config:
[cell repeats an earlier one in this file: 998 characters]

final_config_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}, {"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}, {"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

kp_info_json:
[cell repeats an earlier one in this file: 537 characters]

task_info_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}, {"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}, {"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Logan", "content": "Hi. What happened to the elephant?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Logan在问大象发生什么事啦，你需要告诉他大象需要洗澡，我们可以帮她安排洗澡哦。"}, "optionList": [{"option": "The elephant needs a shower. Let's set up a shower for her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！你太棒了，试着把这句话大声读出来吧~"}}, {"option": "The elephant is hungry, we can give her some bananas.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "现在我们的任务是说大象需要洗澡哦，这句话是说大象饿了要给她喂香蕉，和当前情境不匹配，再试试吧~"}}, {"option": "The keeper is coming to feed the elephant now.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话说的是饲养员现在要来喂大象啦，不是我们要表达的大象需要洗澡的内容，再选一次吧~"}}], "answer": [0], "read": {"type": "user", "content": "The elephant needs a shower. Let's set up a shower for her."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Are you saying she hasn't had a shower yet? Maybe someone will probably come soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan问你是不是说大象还没洗澡，还说可能很快就会有人来啦，你要回应说与其在这里等，我们最好先去给她拿点水哦。"}, "optionList": [{"option": "You are right, let's wait here for the keeper.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是说我们在这里等饲养员，不是我们要表达的先去拿水的意思哦，再试试吧~"}}, {"option": "Instead of waiting here, we'd better get some water for her first.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "选对啦，你真厉害！来试着朗读这句话吧~"}}, {"option": "We don't have enough time to help the elephant.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是说我们没有足够的时间帮助大象，和我们要主动帮忙的情境不符合哦，再选一次吧~"}}], "answer": [1], "read": {"type": "user", "content": "Instead of waiting here, we'd better get some water for her first."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "The keepers are too careless! Thank you! Can you help her shower?"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan说饲养员太粗心了，还感谢你们，问你们能不能帮忙给大象洗澡，你要回应说你们很乐意帮忙哦。"}, "optionList": [{"option": "We'd love to help.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "回答正确！你做得真好，大声把这句话读出来吧~"}}, {"option": "We are too busy to help her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是说我们太忙了帮不了她，和我们愿意帮忙的想法不一样哦，再试试吧~"}}, {"option": "We have to go home now, bye.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是说我们现在得回家了，不是答应帮忙的回应哦，再选一次吧~"}}], "answer": [0], "read": {"type": "user", "content": "We'd love to help."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Great. We will send some water to her right away."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒啦！你已经顺利完成了求助清洁工人给大象送水帮忙洗澡的任务，你表现得超棒哦~"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nLogan：Hi. What happened to the elephant?\n\n# 中间回合1\nBrainy：Logan在问大象发生什么事啦，你需要告诉他大象需要洗澡，我们可以帮她安排洗澡哦。\n用户选项:\nA. The elephant needs a shower. Let's set up a shower for her. ✓\n  Brainy：答对啦！你太棒了，试着把这句话大声读出来吧~\nB. The elephant is hungry, we can give her some bananas.\n  Brainy：现在我们的任务是说大象需要洗澡哦，这句话是说大象饿了要给她喂香蕉，和当前情境不匹配，再试试吧~\nC. The keeper is coming to feed the elephant now.\n  Brainy：这句话说的是饲养员现在要来喂大象啦，不是我们要表达的大象需要洗澡的内容，再选一次吧~\nLogan：Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\n\n# 中间回合2\nBrainy：Logan问你是不是说大象还没洗澡，还说可能很快就会有人来啦，你要回应说与其在这里等，我们最好先去给她拿点水哦。\n用户选项:\nA. You are right, let's wait here for the keeper.\n  Brainy：这句话是说我们在这里等饲养员，不是我们要表达的先去拿水的意思哦，再试试吧~\nB. Instead of waiting here, we'd better get some water for her first. ✓\n  Brainy：选对啦，你真厉害！来试着朗读这句话吧~\nC. We don't have enough time to help the elephant.\n  Brainy：这句话是说我们没有足够的时间帮助大象，和我们要主动帮忙的情境不符合哦，再选一次吧~\nLogan：The keepers are too careless! Thank you! Can you help her shower?\n\n# 中间回合3\nBrainy：Logan说饲养员太粗心了，还感谢你们，问你们能不能帮忙给大象洗澡，你要回应说你们很乐意帮忙哦。\n用户选项:\nA. We'd love to help. ✓\n  Brainy：回答正确！你做得真好，大声把这句话读出来吧~\nB. We are too busy to help her.\n  Brainy：这句话是说我们太忙了帮不了她，和我们愿意帮忙的想法不一样哦，再试试吧~\nC. We have to go home now, bye.\n  Brainy：这句话是说我们现在得回家了，不是答应帮忙的回应哦，再选一次吧~\nLogan：Great. We will send some water to her right away.\n\n# 结尾回合\nBrainy：太棒啦！你已经顺利完成了求助清洁工人给大象送水帮忙洗澡的任务，你表现得超棒哦~\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切自然，适合儿童理解。\n# 2. 任务（你如何参与对话）\n1. 对话开场先询问大象的情况，确认大象是不是还没洗澡。\n2. 当用户告知大象需要洗澡后，告诉用户可以先等一等，或许饲养员很快就会来。\n3. 接下来询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户明确表示愿意帮忙，先表达感谢，再告诉用户你会立刻送干净的水过去，然后自然结束对话。\n5. 如果用户表述模糊没有说清是否愿意帮忙，再重复询问一次是否愿意帮大象洗澡。\n6. 如果用户说不愿意帮忙，表达理解即可，不需要继续推进任务，自然结束对话。\n7. 如果用户说的内容和任务无关，可以礼貌回应后，把对话拉回当前的任务流程里。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。\n```", "语音识别热词": "elephant,shower,water,keepers,help,clean,Wander Port,banana"}

dialog_config_json:
  {"config": {"asrPrompt": "elephant,shower,water,keepers,help,clean,Wander Port,banana", "promptInfo": {"default": "\n# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切自然，适合儿童理解。\n# 2. 任务（你如何参与对话）\n1. 对话开场先询问大象的情况，确认大象是不是还没洗澡。\n2. 当用户告知大象需要洗澡后，告诉用户可以先等一等，或许饲养员很快就会来。\n3. 接下来询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户明确表示愿意帮忙，先表达感谢，再告诉用户你会立刻送干净的水过去，然后自然结束对话。\n5. 如果用户表述模糊没有说清是否愿意帮忙，再重复询问一次是否愿意帮大象洗澡。\n6. 如果用户说不愿意帮忙，表达理解即可，不需要继续推进任务，自然结束对话。\n7. 如果用户说的内容和任务无关，可以礼貌回应后，把对话拉回当前的任务流程里。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。\n", "scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "in_progress_goal": "用户告诉清洁站的工人，大象需要洗澡，并且表示乐意帮助，要求 Logan 送一些干净的水过来。", "final_goal": "用户告诉清洁站的工人，大象需要洗澡，并提出需要一些水。", "reference_dialog": "Logan: Hi. What happened to the elephant?\nUser: The elephant needs a shower. Let's set up a shower for her.\nLogan: Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\nUser: Instead of waiting here, we'd better get some water for her first.\nLogan: The keepers are too careless! Thank you! Can you help her shower?\nUser: We'd love to help.\nLogan: Great. We will send some water to her right away.", "user_task": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "user_scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "user_knowledge": "Let's... 让我们……\nInstead of..., we'd better... 与其……，我们不如……\n... love(s) to... ……很乐意……"}}}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_inquiry
type_name: 口语妙问
level: L1
unit_id: U14
knowledge_points_raw: Where can I...?（语义）Can I have... please?（语义）What else can I...?（语义）
dialog_setting_json: {"setting": {"npcName": "Chloe", "round": 5, "checkRound": 3}}
status: generated
bitable_token: GJUVwNSEkis3EXkrVj0ccbqdn8c
db_table: core_interaction_component
created_at: 2026-05-09 10:57:21
updated_at: 2026-05-09 10:57:21
raw_config:
[cell repeats an earlier one in this file: 1022 characters]

final_config_json:
[cell repeats an earlier one in this file: 654 characters]

kp_info_json:
[cell repeats an earlier one in this file: 568 characters]

task_info_json:
[cell repeats an earlier one in this file: 654 characters]

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Chloe", "content": "Can I help you?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "空乘Chloe主动上前询问你是否需要帮助，现在你需要告诉她你想找健身房，询问健身房的位置。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确地问出了健身房的位置。请大声朗读这句话！"}}, {"option": "Can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是索要毛巾的表达，现在你还没问清楚健身房的位置哦，先告诉Chloe你要找健身房吧，再试一次~"}}, {"option": "What can I do in the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是询问健身房里可以做什么的，现在你首先要问清楚健身房在哪里哦，再试一次吧。"}}], "answer": [0], "read": {"type": "user", "content": "Where can I find the gym?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Look, it's over there at the end of this walkway."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe已经告诉了你健身房在走道的尽头，现在你还需要向她索要一条毛巾，方便之后运动使用。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你已经问过健身房的位置啦，Chloe也告诉过你啦，现在你需要向她要毛巾哦，再试一次吧。"}}, {"option": "Oh, and can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太对啦！你准确地向Chloe提出了要毛巾的请求。请大声朗读这句话！"}}, {"option": "I want to drink some water.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是说你想要喝水，不符合现在要毛巾的需求哦，再试一次吧。"}}], "answer": [1], "read": {"type": "user", "content": "Oh, and can I have a towel please?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Of course! I'll bring a new one for you soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe同意给你拿新毛巾啦，现在你可以再问问她在健身房里还能做些什么，提前了解一下健身房的功能。"}, "optionList": [{"option": "How much is the towel?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "毛巾是Chloe免费提供给你的哦，不需要问价格，现在你要问问健身房里可以做的事，再试一次吧。"}}, {"option": "Is the gym open now?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你已经知道健身房的位置啦，现在你可以问问在健身房里能做些什么哦，再试一次吧。"}}, {"option": "What else can I do there?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "非常好！你正确地问出了在健身房里还能做的其他事。请大声朗读这句话！"}}], "answer": [2], "read": {"type": "user", "content": "What else can I do there?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Well, you can do some exercise and enjoy sightseeing there. Or you can just relax."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "你已经问清楚了健身房的位置、拿到了毛巾，也了解了健身房里可以做的事，任务圆满完成啦，可以准备去运动咯！"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nChloe: Can I help you?\n\n# 中间回合1\nBrainy: 空乘Chloe主动上前询问你是否需要帮助，现在你需要告诉她你想找健身房，询问健身房的位置。\n用户选项:\n（选项 A）Where can I find the gym? [正确]\n  Brainy: 太棒了！你正确地问出了健身房的位置。请大声朗读这句话！\n（选项 B）Can I have a towel please?\n  Brainy: 这句话是索要毛巾的表达，现在你还没问清楚健身房的位置哦，先告诉Chloe你要找健身房吧，再试一次~\n（选项 C）What can I do in the gym?\n  Brainy: 这句话是询问健身房里可以做什么的，现在你首先要问清楚健身房在哪里哦，再试一次吧。\nChloe: Look, it's over there at the end of this walkway.\n\n# 中间回合2\nBrainy: Chloe已经告诉了你健身房在走道的尽头，现在你还需要向她索要一条毛巾，方便之后运动使用。\n用户选项:\n（选项 A）Where can I find the gym?\n  Brainy: 你已经问过健身房的位置啦，Chloe也告诉过你啦，现在你需要向她要毛巾哦，再试一次吧。\n（选项 B）Oh, and can I have a towel please? [正确]\n  Brainy: 太对啦！你准确地向Chloe提出了要毛巾的请求。请大声朗读这句话！\n（选项 C）I want to drink some water.\n  Brainy: 这句话是说你想要喝水，不符合现在要毛巾的需求哦，再试一次吧。\nChloe: Of course! I'll bring a new one for you soon.\n\n# 中间回合3\nBrainy: Chloe同意给你拿新毛巾啦，现在你可以再问问她在健身房里还能做些什么，提前了解一下健身房的功能。\n用户选项:\n（选项 A）How much is the towel?\n  Brainy: 毛巾是Chloe免费提供给你的哦，不需要问价格，现在你要问问健身房里可以做的事，再试一次吧。\n（选项 B）Is the gym open now?\n  Brainy: 你已经知道健身房的位置啦，现在你可以问问在健身房里能做些什么哦，再试一次吧。\n（选项 C）What else can I do there? [正确]\n  Brainy: 非常好！你正确地问出了在健身房里还能做的其他事。请大声朗读这句话！\nChloe: Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.\n\n# 结尾回合\nBrainy: 你已经问清楚了健身房的位置、拿到了毛巾，也了解了健身房里可以做的事，任务圆满完成啦，可以准备去运动咯！\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n- 你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n- 你对曾经帮你解过围的用户格外友善热情，会耐心回应用户的所有提问。\n\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n\n# 3. 背景信息\n你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n\n# 4. 知识库（你知道的信息）\n- 你知道健身房就在前方过道的尽头。\n- 你会为有需要的用户准备一条新毛巾。\n- 你会解答用户的问题，告诉用户在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n- 对用户的任何提问，你都耐心安抚并一一回答。\n\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n\n# 6. 开场白\n你由你开始对话，你会说：\"Can I help you?\"\n\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题\n```", "语音识别热词": "gym,towel,exercise,sightseeing,relax,walkway"}

dialog_config_json:
  {"config": {"asrPrompt": "gym,towel,exercise,sightseeing,relax,walkway", "promptInfo": {"default": "# 1. 角色（你要扮演谁）\n- 你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n- 你对曾经帮你解过围的用户格外友善热情，会耐心回应用户的所有提问。\n\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n\n# 3. 背景信息\n你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n\n# 4. 知识库（你知道的信息）\n- 你知道健身房就在前方过道的尽头。\n- 你会为有需要的用户准备一条新毛巾。\n- 你会解答用户的问题，告诉用户在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n- 对用户的任何提问，你都耐心安抚并一一回答。\n\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n\n# 6. 开场白\n你由你开始对话，你会说：\"Can I help you?\"\n\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题", "scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "in_progress_goal": "用户成功问出“健身房在哪里”、“可以给我一条毛巾吗”以及“在哪儿我还能做什么”的三个问题。", "final_goal": "Chloe回答了用户关于健身房的问题，提供了耐心友好的帮助。", "reference_dialog": "Chloe: Can I help you?\nUser: Where can I find the gym?\nChloe: Look, it's over there at the end of this walkway.\nUser: Oh, and can I have a towel please? \nChloe: Of course! I'll bring a new one for you soon.\nUser: What else can I do there? \nChloe: Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.", "user_task": "你要向 Chloe 询问健身房的位置，以及讨要毛巾，做好开始运动的准备。", "user_scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "user_knowledge": "Where can I find the gym？我在哪里能找到健身房？\nCan I have a towel please?？我能要一条毛巾吗？\nWhat else can I do there? 我在那儿还能做些什么？"}}}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_order
type_name: 合作听力
level: L1
unit_id: U14
knowledge_points_raw:
  bake（词义）
  healthy（词义）
  money（词义）
  cake（词义）
  alcohol（词义）

flow_info_json: {"sequence": [{"audio": [0]}, {"question": [0]}, {"audio": [1]}, {"question": [1, 2, 3]}]}
status: generated
bitable_token: FrxtwNRQDizqiikPkATcBzTCnYe
db_table: core_interaction_component
created_at: 2026-05-09 10:57:44
updated_at: 2026-05-09 10:57:44
raw_config:
[cell repeats an earlier one in this file: 2377 characters]

final_config_json:
[cell repeats an earlier one in this file: 557 characters]

kp_info_json:
[cell repeats an earlier one in this file: 739 characters]

task_info_json:
[cell repeats an earlier one in this file: 557 characters]

material_info_json:
[cell repeats an earlier one in this file: 2600 characters]

study_info_json:
  {"closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}, "learningPart": [{"leadIn": {"type": "npc", "content": "When you really want sweet food, like biscuits or cake, you can bake at home.", "npcName": "Brainy"}, "content": "刚刚听到的音频中，包含了一个关键短语 bake at home，意思是在家烘焙。正确的发音是 /beɪk æt həʊm/。", "type": "npc", "npcName": "Brainy", "learning": [{"answer": [0], "meaning": "听音选句", "optionList": [{"feedback": {"type": "npc", "content": "太厉害啦！你精准听出了句子里的重点短语 bake at home！", "npcName": "Brainy"}, "option": "When you really want sweet food, like biscuits or cake, you can bake at home."}, {"feedback": {"type": "npc", "content": "不对哦，这句话说的是 buy at the shop，并不是 bake at home，再仔细听一遍音频试试吧！", "npcName": "Brainy"}, "option": "When you really want sweet food, like biscuits or cake, you can buy at the shop."}], "question": {"type": "npc", "npcName": "Brainy", "content": "仔细听音频，选出你听到的正确句子哦。"}}, {"answer": [0], "meaning": "听音选意", "optionList": [{"feedback": {"type": "npc", "content": "完全正确！你已经掌握了 bake at home 这个短语的意思，太棒啦！", "npcName": "Brainy"}, "option": "当你很想吃甜食，比如饼干或蛋糕时，你可以在家烘焙。"}, {"feedback": {"type": "npc", "content": "不对哦，句子里说的不是去商店买的意思，再好好想一想哦。", "npcName": "Brainy"}, "option": "当你很想吃甜食，比如饼干或蛋糕时，你可以去商店买。"}], "question": {"type": "npc", "npcName": "Brainy", "content": "现在看看这句话的意思，选出正确的中文翻译吧。"}}]}]}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：When you really want sweet food, like biscuits or cake, you can bake at home.\n讲解文本：刚刚听到的音频中，包含了一个关键短语 bake at home，意思是在家烘焙。正确的发音是 /beɪk æt həʊm/。\n1. 听音选句\nBrainy：仔细听音频，选出你听到的正确句子哦。\n- When you really want sweet food, like biscuits or cake, you can bake at home. [正确]\n  - Brainy：太厉害啦！你精准听出了句子里的重点短语 bake at home！\n- When you really want sweet food, like biscuits or cake, you can buy at the shop.\n  - Brainy：不对哦，这句话说的是 buy at the shop，并不是 bake at home，再仔细听一遍音频试试吧！\n\n2. 听音选意\nBrainy：现在看看这句话的意思，选出正确的中文翻译吧。\n- 当你很想吃甜食，比如饼干或蛋糕时，你可以在家烘焙。[正确]\n  - Brainy：完全正确！你已经掌握了 bake at home 这个短语的意思，太棒啦！\n- 当你很想吃甜食，比如饼干或蛋糕时，你可以去商店买。\n  - Brainy：不对哦，句子里说的不是去商店买的意思，再好好想一想哦。\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You listened to the second part of Max's fitness guide, learning that a healthy routine requires going to bed on time and getting up early, while staying away from smoking and alcohol. (你听了Max健身指南的第二部分，了解到健康的作息需要早睡早起，同时要远离烟酒。)\nYou also learned that keeping healthy does not need a lot of money or expensive items, and good habits are the most important thing for health. (你还了解到保持健康不需要很多钱或者昂贵的物品，好习惯对健康来说才是最重要的。)"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_image
type_name: 看图说话
level: L1
unit_id: U14
knowledge_points_raw:
  winter
  cold
  snow

image_info_json: {"questionImg": "0000800_question.png"}
status: generated
bitable_token: KBOXwzVHfin6ORkKbA3c3eWEnoh
db_table: core_interaction_component
created_at: 2026-05-09 10:57:44
updated_at: 2026-05-09 10:57:44
raw_config:
[cell repeats an earlier one in this file: 559 characters]

final_config_json:
[cell repeats an earlier one in this file: 609 characters]

kp_info_json:
[cell repeats an earlier one in this file: 462 characters]

task_info_json:
[cell repeats an earlier one in this file: 609 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"type": "npc", "npcName": "Rock", "content": "What season is it?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock 老师问你现在是什么季节，你需要回答现在的季节哦。", "index": 0}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确回答了现在是冬季。请大声朗读这句话！"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“寒冷的”，但老师现在问的是季节，不是天气感受哦。请再仔细听清问题，回答对应的季节。"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“雪”，但老师现在问的是季节，不是冬天能看到的事物哦。请再仔细听清问题，回答对应的季节。"}}], "answer": [0], "read": {"type": "npc", "npcName": "User", "content": "Winter."}}]}, {"leadIn": {"type": "npc", "npcName": "Rock", "content": "Is it hot or cold?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock 老师问你现在天气是热还是冷，你需要回答冬天的天气感受哦。", "index": 1}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“冬季”，但老师现在问的是天气冷热，不是季节哦。请再仔细听清问题，回答对应的天气感受。"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确回答了冬天天气寒冷。请大声朗读这句话！"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“雪”，但老师现在问的是天气冷热，不是冬天能看到的事物哦。请再仔细听清问题，回答对应的天气感受。"}}], "answer": [1], "read": {"type": "npc", "npcName": "User", "content": "Cold."}}]}, {"leadIn": {"type": "npc", "npcName": "Rock", "content": "What do you see in winter?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "Rock 老师问你在冬天能看到什么，你需要回答冬季的典型事物哦。", "index": 2}, "optionList": [{"option": "Winter.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“冬季”，但老师现在问的是冬天能看到的东西，不是季节本身哦。请再仔细听清问题，回答对应的冬季事物。"}}, {"option": "Cold.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“寒冷的”，但老师现在问的是能看到的事物，不是天气感受哦。请再仔细听清问题，回答对应的冬季事物。"}}, {"option": "Snow.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确回答了冬天能看到雪。请大声朗读这句话！"}}], "answer": [2], "read": {"type": "npc", "npcName": "User", "content": "Snow."}, "feedback": {"type": "npc", "npcName": "Rock", "content": "You did a great job answering all my questions about winter!"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你已经圆满回答了Rock老师的所有问题，顺利完成了本次分享任务，还掌握了关于冬季的相关英文表达，真的很厉害哦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 中间回合1\nRock: What season is it?\nBrainy: Rock 老师问你现在是什么季节，你需要回答现在的季节哦。\n用户选项:\n（选项 A）Winter. [正确]\n  Brainy: 太棒了！你正确回答了现在是冬季。请大声朗读这句话！\n（选项 B）Cold.\n  Brainy: 这句话的意思是“寒冷的”，但老师现在问的是季节，不是天气感受哦。请再仔细听清问题，回答对应的季节。\n（选项 C）Snow.\n  Brainy: 这句话的意思是“雪”，但老师现在问的是季节，不是冬天能看到的事物哦。请再仔细听清问题，回答对应的季节。\n\n# 中间回合2\nRock: Is it hot or cold?\nBrainy: Rock 老师问你现在天气是热还是冷，你需要回答冬天的天气感受哦。\n用户选项:\n（选项 A）Winter.\n  Brainy: 这句话的意思是“冬季”，但老师现在问的是天气冷热，不是季节哦。请再仔细听清问题，回答对应的天气感受。\n（选项 B）Cold. [正确]\n  Brainy: 太棒了！你正确回答了冬天天气寒冷。请大声朗读这句话！\n（选项 C）Snow.\n  Brainy: 这句话的意思是“雪”，但老师现在问的是天气冷热，不是冬天能看到的事物哦。请再仔细听清问题，回答对应的天气感受。\n\n# 中间回合3\nRock: What do you see in winter?\nBrainy: Rock 老师问你在冬天能看到什么，你需要回答冬季的典型事物哦。\n用户选项:\n（选项 A）Winter.\n  Brainy: 这句话的意思是“冬季”，但老师现在问的是冬天能看到的东西，不是季节本身哦。请再仔细听清问题，回答对应的冬季事物。\n（选项 B）Cold.\n  Brainy: 这句话的意思是“寒冷的”，但老师现在问的是能看到的事物，不是天气感受哦。请再仔细听清问题，回答对应的冬季事物。\n（选项 C）Snow. [正确]\n  Brainy: 太棒了！你正确回答了冬天能看到雪。请大声朗读这句话！\n\n# 结尾回合\nBrainy: 你已经圆满回答了 Rock 老师的所有问题，顺利完成了本次分享任务，真厉害！\n```", "语音识别热词": "Mr Rock,Winter Island,winter,cold,snow"}

dialog_config_json:
[cell repeats an earlier one in this file: 788 characters]

option_list_json:
[cell repeats an earlier one in this file: 111 characters]

question_list_json:
[cell repeats an earlier one in this file: 322 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_drag
type_name: 听力拖拽
level: L1
unit_id: U14
knowledge_points_raw:
  between
  duck
  next to

status: generated
bitable_token: K3QrwQnWqiPBm1krhnNcWDTqnhe
db_table: core_interaction_component
created_at: 2026-05-09 10:57:53
updated_at: 2026-05-09 10:57:53
raw_config:
[cell repeats an earlier one in this file: 635 characters]

final_config_json:
  {"cType": "core_listening_drag", "cId": "0000800", "title": "指挥大家赶鸭子", "sceneDesc": "鸭子大乱斗！手忙脚乱没有用，你现在得和伙伴们一起协作，把到处跑的鸭子赶进水里。快说说你的计划吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "between", "desc": "prep. 在……中间"}, {"type": "default", "content": "next to", "desc": "prep. 紧邻"}, {"type": "default", "content": "duck", "desc": "n. 鸭子"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "You joined the duck-herding activity, carefully observed the three different operation guides, and picked the right ways to lead all the fluffy ducks back to their safe pen smoothly. (你参与了赶鸭子的活动，仔细查看了三份不同的操作指引，选对了方法，顺利把所有毛茸茸的小鸭子都赶回了安全的鸭圈里。)"}

kp_info_json:
[cell repeats an earlier one in this file: 497 characters]

task_info_json:
  {"cType": "core_listening_drag", "cId": "0000800", "title": "指挥大家赶鸭子", "sceneDesc": "鸭子大乱斗！手忙脚乱没有用，你现在得和伙伴们一起协作，把到处跑的鸭子赶进水里。快说说你的计划吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "between", "desc": "prep. 在……中间"}, {"type": "default", "content": "next to", "desc": "prep. 紧邻"}, {"type": "default", "content": "duck", "desc": "n. 鸭子"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "You joined the duck-herding activity, carefully observed the three different operation guides, and picked the right ways to lead all the fluffy ducks back to their safe pen smoothly. (你参与了赶鸭子的活动，仔细查看了三份不同的操作指引，选对了方法，顺利把所有毛茸茸的小鸭子都赶回了安全的鸭圈里。)"}

study_info_json:
  {"learningPart": [{"type": "npc", "npcName": "Brainy", "content": "Go between the red duck and the blue duck.", "learning": [{"question": {"content": "刚刚听到的音频中，包含了一个关键短语 between...and...，意思是在……和……之间，用来描述两个事物中间的位置哦。", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "仔细听音频哦，看看下面哪个句子是你刚刚听到的内容？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "Go behind the red duck and the blue duck.", "feedback": {"type": "npc", "content": "哎呀不对，这句话里的behind是“在……后面”的意思，我们听到的句子说的是两个鸭子中间的位置哦，再试试吧~", "npcName": "Brainy"}}, {"option": "Go between the red duck and the blue duck.", "feedback": {"type": "npc", "content": "太棒啦！你准确听出了句子里的重点短语between...and...，太厉害啦！", "npcName": "Brainy"}}], "answer": [1]}, {"question": {"content": "Go between the red duck and the blue duck.", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "“走到红色的鸭子和蓝色的鸭子中间去”，这句话的意思是这个吗？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "对 / Yes", "feedback": {"type": "npc", "content": "完全正确！你不仅听懂了句子意思，还掌握了between...and...这个表示位置的短语哦，真棒！", "npcName": "Brainy"}}, {"option": "错 / No", "feedback": {"type": "npc", "content": "不对哦，再仔细看看句子里描述的位置，再选一次试试看呀~", "npcName": "Brainy"}}], "answer": [0]}]}], "closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：Go between the red duck and the blue duck.\n讲解文本：刚刚听到的音频中，包含了一个关键短语 between...and...，意思是在……和……之间，用来描述两个事物中间的位置哦。\n1. 听音选句\nBrainy：仔细听音频哦，看看下面哪个句子是你刚刚听到的内容？\n- Go behind the red duck and the blue duck.\n  - Brainy：哎呀不对，这句话里的behind是“在……后面”的意思，我们听到的句子说的是两个鸭子中间的位置哦，再试试吧~\n- Go between the red duck and the blue duck. [正确]\n  - Brainy：太棒啦！你准确听出了句子里的重点短语between...and...，太厉害啦！\n\n2. 听音选意\nBrainy：“走到红色的鸭子和蓝色的鸭子中间去”，这句话的意思是这个吗？\n- 对 / Yes [正确]\n  - Brainy：完全正确！你不仅听懂了句子意思，还掌握了between...and...这个表示位置的短语哦，真棒！\n- 错 / No\n  - Brainy：不对哦，再仔细看看句子里描述的位置，再选一次试试看呀~\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You joined the duck-herding activity, carefully observed the three different operation guides, and picked the right ways to lead all the fluffy ducks back to their safe pen smoothly. (你参与了赶鸭子的活动，仔细查看了三份不同的操作指引，选对了方法，顺利把所有毛茸茸的小鸭子都赶回了安全的鸭圈里。)"}

question_list_json:
[cell repeats an earlier one in this file: 260 characters]

dialog_list_json:
  [[{"type": "npc", "npcName": "Matt", "content": "Where should I go?", "trans": "我该去哪里？", "isPoint": false}, {"type": "user", "content": "Go between the red duck and the blue duck.", "trans": "走到红鸭子和蓝鸭子中间去。", "isPoint": false}, {"type": "user", "content": "Don't let them fight.", "trans": "别让它们打起来。", "isPoint": false}], [{"type": "npc", "npcName": "Ben", "content": "What about me?", "trans": "那我呢？", "isPoint": false}, {"type": "user", "content": "You are next to the blue duck.", "trans": "你在蓝鸭子旁边。", "isPoint": false}], [{"type": "npc", "npcName": "Amber", "content": "And me? Where should I be?", "trans": "那我呢？我该待在哪里？", "isPoint": false}, {"type": "user", "content": "You are next to the red duck.", "trans": "你在红鸭子旁边。", "isPoint": false}, {"type": "user", "content": "Get it into the water!", "trans": "把它弄到水里去！", "isPoint": false}]]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_listening_choose
type_name: 听力选择
level: L1
unit_id: U14
knowledge_points_raw: summerhotshortstrousersCould you...It feels...
status: generated
bitable_token: Kwrcw6A4jip2sxkdLn4czd1knvf
db_table: core_interaction_component
created_at: 2026-05-09 10:57:59
updated_at: 2026-05-09 10:57:59
raw_config:
[cell repeats an earlier one in this file: 1095 characters]

final_config_json:
  {"cType": "core_listening_choose", "cId": "0000800", "title": "请求路边钓鱼的叔叔帮忙", "sceneDesc": "心心念念的短裤原来卡在石头间了，快抓紧时间请钓鱼叔叔帮忙钓上来吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "summer", "desc": "n. 夏天"}, {"type": "default", "content": "hot", "desc": "adj. 热的"}, {"type": "default", "content": "trousers", "desc": "n. 长裤"}, {"type": "default", "content": "shorts", "desc": "n. 短裤"}, {"type": "default", "content": "It feels...", "desc": "感觉......"}, {"type": "default", "content": "Could you...", "desc": "可以请你......吗？"}]}], "resourceMapping": {"Vicky": 658}, "cDesc": "You first listened to the conversation between Jack and the kid, learning that it is hot summer now, and the kid needs the shorts between the rocks. (你听了Jack和小朋友的对话，了解到现在是炎热的夏天，小朋友需要石头中间的短裤。)\nYou then found the correct season, confirmed the kid needs shorts, and decided Jack should help get the shorts for the kid. (你找到了对应的季节，确认小朋友需要短裤，并且决定Jack应该帮忙把短裤拿给小朋友。)"}

kp_info_json:
[cell repeats an earlier one in this file: 898 characters]

task_info_json:
  {"cType": "core_listening_choose", "cId": "0000800", "title": "请求路边钓鱼的叔叔帮忙", "sceneDesc": "心心念念的短裤原来卡在石头间了，快抓紧时间请钓鱼叔叔帮忙钓上来吧！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "summer", "desc": "n. 夏天"}, {"type": "default", "content": "hot", "desc": "adj. 热的"}, {"type": "default", "content": "trousers", "desc": "n. 长裤"}, {"type": "default", "content": "shorts", "desc": "n. 短裤"}, {"type": "default", "content": "It feels...", "desc": "感觉......"}, {"type": "default", "content": "Could you...", "desc": "可以请你......吗？"}]}], "resourceMapping": {"Vicky": 658}, "cDesc": "You first listened to the conversation between Jack and the kid, learning that it is hot summer now, and the kid needs the shorts between the rocks. (你听了Jack和小朋友的对话，了解到现在是炎热的夏天，小朋友需要石头中间的短裤。)\nYou then found the correct season, confirmed the kid needs shorts, and decided Jack should help get the shorts for the kid. (你找到了对应的季节，确认小朋友需要短裤，并且决定Jack应该帮忙把短裤拿给小朋友。)"}

study_info_json:
  {"learningPart": [{"type": "npc", "npcName": "Brainy", "content": "This summer!", "learning": [{"question": {"content": "刚刚听到的音频里包含了关键单词 summer，意思是夏天，是一年里天气很热的季节哦。", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "仔细听音频，下面哪个句子和你听到的内容一致呢？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "This summer!", "feedback": {"type": "npc", "content": "太厉害啦！你精准听出了这个表达！", "npcName": "Brainy"}}, {"option": "This winter!", "feedback": {"type": "npc", "content": "哎呀，这句话说的是冬天，和你听到的内容不一样哦，再试着听一遍吧。", "npcName": "Brainy"}}], "answer": [0]}, {"question": {"content": "This summer!", "type": "npc", "npcName": "Brainy"}, "extendQuestion": {"content": "这句话的中文意思是“这个冬天”，对不对呀？", "type": "npc", "npcName": "Brainy"}, "optionList": [{"option": "对 / Yes", "feedback": {"type": "npc", "content": "不对哦，summer是夏天的意思，不是冬天，再想想看~", "npcName": "Brainy"}}, {"option": "错 / No", "feedback": {"type": "npc", "content": "太棒啦！你已经知道summer是夏天，完全理解这句话的意思啦！", "npcName": "Brainy"}}], "answer": [1]}]}], "closing": {"type": "npc", "content": "很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!", "npcName": "Brainy"}}

intermediate_json:
  {"学习过程配置": "```\n# 重点句子 1\n音频文本：This summer!\n讲解文本：刚刚听到的音频里包含了关键单词 summer，意思是夏天，是一年里天气很热的季节哦。\n1. 听音选句\nBrainy：仔细听音频，下面哪个句子和你听到的内容一致呢？\n- This summer! [正确]\n  - Brainy：太厉害啦！你精准听出了这个表达！\n- This winter!\n  - Brainy：哎呀，这句话说的是冬天，和你听到的内容不一样哦，再试着听一遍吧。\n\n2. 听音选意\nBrainy：这句话的中文意思是“这个冬天”，对不对呀？\n- 对 / Yes\n  - Brainy：不对哦，summer是夏天的意思，不是冬天，再想想看~\n- 错 / No [正确]\n  - Brainy：太棒啦！你已经知道summer是夏天，完全理解这句话的意思啦！\n---\n# 完成反馈\nBrainy：很好！你已经回答完了全部问题，相信你已经听懂了这个任务中所有的重点句子。现在让我们来查看结果吧!\n```", "互动描述": "You first listened to the conversation between Jack and the kid, learning that it is hot summer now, and the kid needs the shorts between the rocks. (你听了Jack和小朋友的对话，了解到现在是炎热的夏天，小朋友需要石头中间的短裤。)\nYou then found the correct season, confirmed the kid needs shorts, and decided Jack should help get the shorts for the kid. (你找到了对应的季节，确认小朋友需要短裤，并且决定Jack应该帮忙把短裤拿给小朋友。)"}

question_group_json:
[cell repeats an earlier one in this file: 2271 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_imgMakeSentence
type_name: 看图组句
level: L1
unit_id: U14
knowledge_points_raw: terrible
status: generated
bitable_token: BkmtwUBwMiHd5Ak7VS6ccE9SnHd
db_table: core_interaction_component
created_at: 2026-05-09 10:58:36
updated_at: 2026-05-09 10:58:36
raw_config:
[cell repeats an earlier one in this file: 911 characters]

final_config_json:
[cell repeats an earlier one in this file: 867 characters]

kp_info_json:
[cell repeats an earlier one in this file: 704 characters]

task_info_json:
[cell repeats an earlier one in this file: 867 characters]

study_info_json:
  {"learningPart": [{"leadIn": {"image": "0000800-01.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你们整理完线索后，准备向Luisa教授汇报飞船坠落的位置，现在你要首先表达自己对飞船坠落位置的推测，你会说："}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！这句话正好可以用来引出你对飞船坠落位置的推测，符合汇报的语境哦。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是描述你看到的树木特征，不是用来表达对飞船坠落位置的推测的，再试一下吧。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是说你听到某个方向有巨响，是在描述听到的声响，不是表达坠落位置的推测哦，再想想。"}}], "answer": [0], "write": {"desc": "I think the spaceship fell...", "trans": "我认为飞船坠落在……"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-00.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你想向教授补充你观察到的现场树木的特殊特征，来辅助判断坠落位置，你会怎么说："}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是用来推测飞船坠落位置的，不是描述树木特征的哦，再试一次吧。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太对啦！这句话刚好可以用来描述你看到的带有特征的树木，能给教授提供更多现场线索哦。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是描述你听到的声响，和描述树木特征没有关系哦，再想想怎么说更合适。"}}], "answer": [1], "write": {"desc": "I saw trees with...", "trans": "我看到有……的树。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "你还要告诉教授你当时听到巨响的方向，帮助进一步缩小飞船坠落的范围，你会说："}, "optionList": [{"option": "I think the spaceship fell...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是表达对坠落位置的推测，不是描述听到声响的方向哦，再试一下吧。"}}, {"option": "I saw trees with...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是描述你看到的树木情况，和说明声响方向的需求不符哦，再想想。"}}, {"option": "I heard a loud noise in...", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完全正确！这句话正好可以说明你在某个方向听到了巨大声响，能帮教授更精准地定位飞船坠落位置。"}}], "answer": [2], "write": {"desc": "I heard a loud noise in...", "trans": "我听到……方向有巨大的声音。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，可以使用准确的句型I think the spaceship fell...、I saw trees with...和I heard a loud noise in...，完成了向Luisa教授汇报飞船坠落位置相关内容的写作！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 你们整理完线索后，准备向Luisa教授汇报飞船坠落的位置，现在你要首先表达自己对飞船坠落位置的推测，你会说：\n用户选项:\n（选项 A）I think the spaceship fell... [正确]\n  Brainy: 太棒了！这句话正好可以用来引出你对飞船坠落位置的推测，符合汇报的语境哦。\n（选项 B）I saw trees with...\n  Brainy: 这句话是描述你看到的树木特征，不是用来表达对飞船坠落位置的推测的，再试一下吧。\n（选项 C）I heard a loud noise in...\n  Brainy: 这句话是说你听到某个方向有巨响，是在描述听到的声响，不是表达坠落位置的推测哦，再想想。\n\n# 问题2：\nBrainy: 你想向教授补充你观察到的现场树木的特殊特征，来辅助判断坠落位置，你会怎么说：\n用户选项:\n（选项 A）I think the spaceship fell...\n  Brainy: 这句话是用来推测飞船坠落位置的，不是描述树木特征的哦，再试一次吧。\n（选项 B）I saw trees with... [正确]\n  Brainy: 太对啦！这句话刚好可以用来描述你看到的带有特征的树木，能给教授提供更多现场线索哦。\n（选项 C）I heard a loud noise in...\n  Brainy: 这句话是描述你听到的声响，和描述树木特征没有关系哦，再想想怎么说更合适。\n\n# 问题3：\nBrainy: 你还要告诉教授你当时听到巨响的方向，帮助进一步缩小飞船坠落的范围，你会说：\n用户选项:\n（选项 A）I think the spaceship fell...\n  Brainy: 这句话是表达对坠落位置的推测，不是描述听到声响的方向哦，再试一下吧。\n（选项 B）I saw trees with...\n  Brainy: 这句话是描述你看到的树木情况，和说明声响方向的需求不符哦，再想想。\n（选项 C）I heard a loud noise in... [正确]\n  Brainy: 完全正确！这句话正好可以说明你在某个方向听到了巨大声响，能帮教授更精准地定位飞船坠落位置。\n```", "互动描述": "Dear Alex, I hope this email finds you well. We can take care of each other.（亲爱的亚历克斯：希望你一切都好。我们可以互相照顾。）"}

text_info_json:
[cell repeats an earlier one in this file: 544 characters]

eval_info_json:
[cell repeats an earlier one in this file: 848 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_imgWrite
type_name: 看图撰写
level: L1
unit_id: U14
knowledge_points_raw:
  elephant（词形）
  banana（词形）
  shower（词形）
  ... love(s) to...（结构）

status: generated
bitable_token: KwPHwnaqdiWlvNkDm5fcFreDnQh
db_table: core_interaction_component
created_at: 2026-05-09 10:58:38
updated_at: 2026-05-09 10:58:38
raw_config:
[cell repeats an earlier one in this file: 770 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_imgWrite", "title": "填写大象护理记录", "taskDesc": "根据图片内容，填写大象护理报告。", "sceneDesc": "粗心的大象饲养员忘记给大象洗澡了！真是照顾不周。你们给大象洗了澡，还喂了香蕉，现在把这些都记在护理记录上吧！", "img": "", "plotSummary": "", "stemDesc": ["0000800-00.png", "0000800-01.png", "0000800-02.png"], "key": [{"keyList": [{"type": "default", "content": "elephant", "desc": "n. 大象"}, {"type": "default", "content": "banana", "desc": "n. 香蕉"}, {"type": "default", "content": "shower", "desc": "n. 淋浴、洗澡"}, {"type": "default", "content": "... love(s) to...", "desc": "……喜爱……"}]}], "cDesc": "Animal Keeper's Record Animal type: Elephant Food: She ate bananas. Cleaning: She had a shower today. What does she love? The elephant loves showers and bananas!（动物饲养员记录\n动物种类：大象\n食物：她吃了香蕉。\n清洁：她今天洗了澡。\n她喜欢什么？\n这头大象喜欢洗澡和香蕉！）"}

kp_info_json:
[cell repeats an earlier one in this file: 629 characters]

task_info_json:
  {"cId": "0000800", "cType": "core_writing_imgWrite", "title": "填写大象护理记录", "taskDesc": "根据图片内容，填写大象护理报告。", "sceneDesc": "粗心的大象饲养员忘记给大象洗澡了！真是照顾不周。你们给大象洗了澡，还喂了香蕉，现在把这些都记在护理记录上吧！", "img": "", "plotSummary": "", "stemDesc": ["0000800-00.png", "0000800-01.png", "0000800-02.png"], "key": [{"keyList": [{"type": "default", "content": "elephant", "desc": "n. 大象"}, {"type": "default", "content": "banana", "desc": "n. 香蕉"}, {"type": "default", "content": "shower", "desc": "n. 淋浴、洗澡"}, {"type": "default", "content": "... love(s) to...", "desc": "……喜爱……"}]}], "cDesc": "Animal Keeper's Record Animal type: Elephant Food: She ate bananas. Cleaning: She had a shower today. What does she love? The elephant loves showers and bananas!（动物饲养员记录\n动物种类：大象\n食物：她吃了香蕉。\n清洁：她今天洗了澡。\n她喜欢什么？\n这头大象喜欢洗澡和香蕉！）"}

study_info_json:
  {"learningPart": [{"leadIn": {"image": "0000800-00.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "现在你要填写大象护理记录的动物类型一栏，需要告诉大家这次护理的动物是什么，你应该怎么填呢？"}, "optionList": [{"option": "Elephant", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你选对了，elephant就是“大象”的意思，准确填写了护理的动物类型。"}}, {"option": "Banana", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，banana是“香蕉”，是大象吃的食物，不是动物类型，再试试看吧。"}}, {"option": "Shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，shower是“淋浴、洗澡”，是给大象做的清洁项目，不是动物类型，再试试看吧。"}}], "answer": [0], "write": {"desc": "Elephant", "trans": "大象"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-01.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "接下来要填写护理记录里的食物部分，记录里写了“She ate ___”，你要告诉大家大象今天吃了什么，该选哪个填进去呢？"}, "optionList": [{"option": "bananas", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！banana是“香蕉”，这里用复数形式bananas，准确记录了大象吃的食物。"}}, {"option": "elephants", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，elephant是“大象”，这里是要填写大象吃的食物，不是动物本身，再试试看吧。"}}, {"option": "a shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，a shower是“一次洗澡”，属于清洁项目，不是食物，再试试看吧。"}}], "answer": [0], "write": {"desc": "She ate bananas.", "trans": "她吃了香蕉。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"image": "0000800-02.png"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "现在要填清洁记录部分，句子是“She had ___ today”，需要你记录今天大象做了什么清洁项目，该选哪个呢？"}, "optionList": [{"option": "a shower", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太聪明啦！a shower就是“洗澡”的意思，正好符合你今天给大象清洁的内容。"}}, {"option": "bananas", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，bananas是“香蕉”，属于食物，不是清洁项目，再试试看吧。"}}, {"option": "an elephant", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，elephant是“大象”，是这次护理的对象，不是清洁项目，再试试看吧。"}}], "answer": [0], "write": {"desc": "She had a shower today.", "trans": "她今天洗了澡。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "最后要总结大象的喜好，你需要用正确的句子说明大象喜欢什么，该怎么说呢？"}, "optionList": [{"option": "The elephant loves showers and bananas!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完全正确！你准确用了“...love(s)...”的结构表达大象的喜好，完美总结了今天的护理内容。"}}, {"option": "The elephant eats showers and bananas!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，这里eat是“吃”的意思，shower是洗澡不能被吃，应该用love表达喜爱，再试试看吧。"}}, {"option": "The elephant loves showers only!", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，大象不仅喜欢洗澡，也喜欢吃香蕉，这个回答内容不完整，再试试看吧。"}}], "answer": [0], "write": {"desc": "The elephant loves showers and bananas!", "trans": "这头大象喜欢洗澡和香蕉！"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，可以使用准确的单词 elephant、banana、shower，短语 ... love(s) to...，以及相关句型描述了三张图中的各个细节!"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 现在你要填写大象护理记录的动物类型一栏，需要告诉大家这次护理的动物是什么，你应该怎么填呢？\n用户选项:\n（选项 A）Elephant [正确]\n  Brainy: 太棒了！你选对了，elephant就是“大象”的意思，准确填写了护理的动物类型。\n（选项 B）Banana\n  Brainy: 不对哦，banana是“香蕉”，是大象吃的食物，不是动物类型，再试试看吧。\n（选项 C）Shower\n  Brainy: 不对哦，shower是“淋浴、洗澡”，是给大象做的清洁项目，不是动物类型，再试试看吧。\n\n# 问题2：\nBrainy: 接下来要填写护理记录里的食物部分，记录里写了“She ate ___”，你要告诉大家大象今天吃了什么，该选哪个填进去呢？\n用户选项:\n（选项 A）bananas [正确]\n  Brainy: 答对啦！banana是“香蕉”，这里用复数形式bananas，准确记录了大象吃的食物。\n（选项 B）elephants\n  Brainy: 不对哦，elephant是“大象”，这里是要填写大象吃的食物，不是动物本身，再试试看吧。\n（选项 C）a shower\n  Brainy: 不对哦，a shower是“一次洗澡”，属于清洁项目，不是食物，再试试看吧。\n\n# 问题3：\nBrainy: 现在要填清洁记录部分，句子是“She had ___ today”，需要你记录今天大象做了什么清洁项目，该选哪个呢？\n用户选项:\n（选项 A）a shower [正确]\n  Brainy: 太聪明啦！a shower就是“洗澡”的意思，正好符合你今天给大象清洁的内容。\n（选项 B）bananas\n  Brainy: 不对哦，bananas是“香蕉”，属于食物，不是清洁项目，再试试看吧。\n（选项 C）an elephant\n  Brainy: 不对哦，elephant是“大象”，是这次护理的对象，不是清洁项目，再试试看吧。\n\n# 问题4：\nBrainy: 最后要总结大象的喜好，你需要用正确的句子说明大象喜欢什么，该怎么说呢？\n用户选项:\n（选项 A）The elephant loves showers and bananas! [正确]\n  Brainy: 完全正确！你准确用了“...love(s)...”的结构表达大象的喜好，完美总结了今天的护理内容。\n（选项 B）The elephant eats showers and bananas!\n  Brainy: 不对哦，这里eat是“吃”的意思，shower是洗澡不能被吃，应该用love表达喜爱，再试试看吧。\n（选项 C）The elephant loves showers only!\n  Brainy: 不对哦，大象不仅喜欢洗澡，也喜欢吃香蕉，这个回答内容不完整，再试试看吧。\n```", "互动描述": "Animal Keeper's Record Animal type: Elephant Food: She ate bananas. Cleaning: She had a shower today. What does she love? The elephant loves showers and bananas!（动物饲养员记录\n动物种类：大象\n食物：她吃了香蕉。\n清洁：她今天洗了澡。\n她喜欢什么？\n这头大象喜欢洗澡和香蕉！）"}

text_info_json:
  {"inputType": "write", "passCondition": "说明动物类型是大象。说明大象吃了香蕉。说明大象洗了澡。表达大象喜欢香蕉和洗澡。", "textList": [{"mode": "preset", "desc": "Animal Keeper's Record", "answerText": ""}, {"mode": "fillingInput", "desc": "Animal type: ___ ", "answerText": "Elephant", "hint": "动物类型：大象（Elephant）"}, {"mode": "fillingInput", "desc": "Food: She ate ___ .", "answerText": "bananas", "hint": "食物：她吃了香蕉（bananas）。"}, {"mode": "fillingInput", "desc": "Cleaning: She had ___ today. ", "answerText": "a shower", "hint": "清洁：她今天洗了澡（a shower）。"}, {"mode": "preset", "desc": "What does she love?", "answerText": ""}, {"mode": "universalInput", "answerText": "The elephant loves showers and bananas!", "hint": "这头大象喜欢洗澡和香蕉！（The elephant loves showers and bananas!）"}]}

eval_info_json:
  {"title": "填写大象护理记录", "taskDesc": "根据图片内容，填写大象护理报告。", "sceneDesc": "粗心的大象饲养员忘记给大象洗澡了！真是照顾不周。你们给大象洗了澡，还喂了香蕉，现在把这些都记在护理记录上吧！", "knowledge": "elephant n. 大象\nbanana n. 香蕉\nshower n. 淋浴、洗澡\n... love(s) to... ……喜爱……", "passCondition": "说明动物类型是大象。说明大象吃了香蕉。说明大象洗了澡。表达大象喜欢香蕉和洗澡。", "textList": [{"mode": "preset", "desc": "Animal Keeper's Record", "answerText": ""}, {"mode": "fillingInput", "desc": "Animal type: ___ ", "answerText": "Elephant", "hint": "动物类型：大象（Elephant）"}, {"mode": "fillingInput", "desc": "Food: She ate ___ .", "answerText": "bananas", "hint": "食物：她吃了香蕉（bananas）。"}, {"mode": "fillingInput", "desc": "Cleaning: She had ___ today. ", "answerText": "a shower", "hint": "清洁：她今天洗了澡（a shower）。"}, {"mode": "preset", "desc": "What does she love?", "answerText": ""}, {"mode": "universalInput", "answerText": "The elephant loves showers and bananas!", "hint": "这头大象喜欢洗澡和香蕉！（The elephant loves showers and bananas!）"}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_questionWrite
type_name: 邮件撰写
level: L1
unit_id: U14
knowledge_points_raw: That's why we have to...（结构）The job is...（结构）When will you arrive? （语义）
status: generated
bitable_token: Brn0wldKYizsLZkBqK6clp1tnKd
db_table: core_interaction_component
created_at: 2026-05-09 10:58:51
updated_at: 2026-05-09 10:58:51
raw_config:
[cell repeats an earlier one in this file: 863 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_questionWrite", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["Tell her your decision and why.", "Ask her when she will arrive."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这份工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呢？如果会的话，你什么时候会到？）"}

kp_info_json:
[cell repeats an earlier one in this file: 309 characters]

task_info_json:
  {"cId": "0000800", "cType": "core_writing_questionWrite", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["Tell her your decision and why.", "Ask her when she will arrive."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这份工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呢？如果会的话，你什么时候会到？）"}

study_info_json:
  {"learningPart": [{"leadIn": {"desc": "Tell her your decision and why."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "邮件开头你已经表达了理解Rebecca的担心，也说明了这次是探索Wander Port的绝佳机会，现在想要强调相关工作对你们的重要性，你会怎么说？"}, "optionList": [{"option": "The job is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！你准确表达了“这份工作对我们很重要”的含义，和上下文逻辑衔接得非常好。"}}, {"option": "The jobs are important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这里be动词用了is，说明主语是单数，jobs是复数形式，和主谓一致的规则不符哦，再试一下吧。"}}, {"option": "The projects are important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "projects是“项目”的意思，不符合这里想要表达“这份工作很重要”的语义，而且be动词也和主语不匹配，再想想哦。"}}], "answer": [0], "write": {"desc": "The job is important for us.", "trans": "这份工作对我们来说很重要。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "你已经说明了这份工作的重要性，现在想要接着解释这就是你们必须留下的原因，你会怎么表达？"}, "optionList": [{"option": "That's how we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "how是询问方式的疑问词，这句话的意思是“我们就是这样必须留下的”，不符合想要解释原因的语境哦，再试一次吧。"}}, {"option": "That's why we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你准确使用了That's why...的句式来解释原因，完美表达了“这就是我们必须留下的原因”的意思。"}}, {"option": "That's which we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "which通常用来指代事物，不能用来引导表语从句说明原因，语义不通顺哦，再想想吧。"}}], "answer": [1], "write": {"desc": "That's why we have to stay.", "trans": "这就是我们必须留下来的原因。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Ask her when she will arrive."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你已经讲清了留下的决定，接着你询问Rebecca会不会来Wander Port，现在想要进一步问她如果来的话什么时候会到，你会怎么说？"}, "optionList": [{"option": "If so, when is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "arrive是实义动词，构成疑问句需要借助助动词will而不是be动词is，这个表达语法不正确哦，再试一下吧。"}}, {"option": "If so, how is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话既不符合询问时间的语义，助动词和主谓搭配也都是错误的，再想一想哦。"}}, {"option": "If so, when will you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太厉害啦！你准确使用了将来时的特殊疑问句，正确表达了询问对方到达时间的意思，完全符合语境要求。"}}], "answer": [2], "write": {"desc": "If so, when will you arrive?", "trans": "如果会的话，你什么时候会到？"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，你可以准确使用短语“The job is...”、“That's why we have to...”以及句子“When will you arrive?”完成给Rebecca的邮件，清晰表达了你们的决定、原因以及对她到达时间的询问！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 邮件开头你已经表达了理解Rebecca的担心，也说明了这次是探索Wander Port的绝佳机会，现在想要强调相关工作对你们的重要性，你会怎么说？\n用户选项:\n（选项 A）The job is important for us. [正确]\n  Brainy: 答对啦！你准确表达了“这份工作对我们很重要”的含义，和上下文逻辑衔接得非常好。\n（选项 B）The jobs are important for us.\n  Brainy: 这里be动词用了is，说明主语是单数，jobs是复数形式，和主谓一致的规则不符哦，再试一下吧。\n（选项 C）The projects are important for us.\n  Brainy: projects是“项目”的意思，不符合这里想要表达“这份工作很重要”的语义，而且be动词也和主语不匹配，再想想哦。\n\n# 问题2：\nBrainy: 你已经说明了这份工作的重要性，现在想要接着解释这就是你们必须留下的原因，你会怎么表达？\n用户选项:\n（选项 A）That's how we have to stay.\n  Brainy: how是询问方式的疑问词，这句话的意思是“我们就是这样必须留下的”，不符合想要解释原因的语境哦，再试一次吧。\n（选项 B）That's why we have to stay. [正确]\n  Brainy: 太棒了！你准确使用了That's why...的句式来解释原因，完美表达了“这就是我们必须留下的原因”的意思。\n（选项 C）That's which we have to stay.\n  Brainy: which通常用来指代事物，不能用来引导表语从句说明原因，语义不通顺哦，再想想吧。\n\n# 问题3：\nBrainy: 你已经讲清了留下的决定，接着你询问Rebecca会不会来Wander Port，现在想要进一步问她如果来的话什么时候会到，你会怎么说？\n用户选项:\n（选项 A）If so, when is you arrive?\n  Brainy: arrive是实义动词，构成疑问句需要借助助动词will而不是be动词is，这个表达语法不正确哦，再试一下吧。\n（选项 B）If so, how is you arrive?\n  Brainy: 这句话既不符合询问时间的语义，助动词和主谓搭配也都是错误的，再想一想哦。\n（选项 C）If so, when will you arrive? [正确]\n  Brainy: 太厉害啦！你准确使用了将来时的特殊疑问句，正确表达了询问对方到达时间的意思，完全符合语境要求。\n```", "互动描述": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? If so, when will you arrive?\n（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这份工作对我们来说很重要。这就是我们必须留下来的原因。你会不会有一天来漫游港呢？如果会的话，你什么时候会到？）"}

text_info_json:
  {"inputType": "write", "passCondition": "1. 这份工作很重要 2. 这就是我们为什么要留下 3. 你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,", "answerText": "Dear Rebecca,"}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port.", "answerText": "I know you are worried. But this is our best chance to explore Wander Port."}, {"mode": "fillingInput", "desc": "The ____ is important for us.", "answerText": "job", "hint": "这份工作（job）对我们来说很重要。"}, {"mode": "fillingInput", "desc": "That's ____ we have to stay.", "answerText": "why", "hint": "这就是为什么（why）我们必须留下。"}, {"mode": "preset", "desc": "Will you come to Wander Port some day?", "answerText": "Will you come to Wander Port some day?"}, {"mode": "fillingInput", "desc": "If so, _________ you arrive?", "answerText": "when will", "hint": "如果是这样的话，你什么时候（when will）会到？"}]}

eval_info_json:
  {"title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "knowledge": "The job is... 这份工作......That's why we have to... 这就是为什么我们必须……When will you arrive? 你什么时候会到？", "passCondition": "1. 这份工作很重要 2. 这就是我们为什么要留下 3. 你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,", "answerText": "Dear Rebecca,"}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port.", "answerText": "I know you are worried. But this is our best chance to explore Wander Port."}, {"mode": "fillingInput", "desc": "The ____ is important for us.", "answerText": "job", "hint": "这份工作（job）对我们来说很重要。"}, {"mode": "fillingInput", "desc": "That's ____ we have to stay.", "answerText": "why", "hint": "这就是为什么（why）我们必须留下。"}, {"mode": "preset", "desc": "Will you come to Wander Port some day?", "answerText": "Will you come to Wander Port some day?"}, {"mode": "fillingInput", "desc": "If so, _________ you arrive?", "answerText": "when will", "hint": "如果是这样的话，你什么时候（when will）会到？"}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_writing_questionMakeSentence
type_name: 邮件组句
level: L1
unit_id: U14
knowledge_points_raw:
  That's why we have to...（结构）
  The job is...（结构）When will you arrive? （语义）

status: generated
bitable_token: M5oTwUP6wiImC4kVJU8cRYnfnyf
db_table: core_interaction_component
created_at: 2026-05-09 10:58:51
updated_at: 2026-05-09 10:58:51
raw_config:
[cell repeats an earlier one in this file: 975 characters]

final_config_json:
  {"cId": "0000800", "cType": "core_writing_questionMakeSentence", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["What is your opinion on the job?", "Why do you want to stay?", "Ask her when to come."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你某天会来漫游港吗？你什么时候会到？）"}

kp_info_json:
[cell repeats an earlier one in this file: 1253 characters]

task_info_json:
  {"cId": "0000800", "cType": "core_writing_questionMakeSentence", "title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "img": "", "plotSummary": "", "stemDesc": ["What is your opinion on the job?", "Why do you want to stay?", "Ask her when to come."], "key": [{"keyList": [{"type": "default", "content": "The job is...", "desc": "这份工作......"}, {"type": "default", "content": "That's why we have to...", "desc": "这就是为什么我们必须……"}, {"type": "default", "content": "When will you arrive?", "desc": "你什么时候会到？"}]}], "cDesc": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你某天会来漫游港吗？你什么时候会到？）"}

study_info_json:
  {"learningPart": [{"leadIn": {"desc": "What is your opinion on the job?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "邮件开头你已经向Rebecca表达了理解她的担忧，也说明了这是探索Wander Port的绝佳机会，现在你要进一步说明这份探索工作对你们的重要性，你会怎么说？"}, "optionList": [{"option": "The job is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！你准确表达了“这份工作对我们很重要”的含义，和上下文衔接得非常自然。"}}, {"option": "The jobs is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，jobs是job的复数形式，后面的be动词应该用are，和句中的is不匹配，而且这里指的是探索Wander Port这一项工作，应该用单数形式job，再试试吧。"}}, {"option": "The projects is important for us.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，projects是“项目”的复数形式，后面的be动词应该用are，和句中的is不匹配，语义也不符合这里表达“探索工作”的语境，再试试吧。"}}], "answer": [0], "write": {"desc": "The job is important for us.", "trans": "这份工作对我们来说很重要。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Why do you want to stay?"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你已经说明了这份探索工作的重要性，现在想要表达“这就是为什么我们必须留下来”，你会怎么组织这句话？"}, "optionList": [{"option": "That's how we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，how是询问方式的引导词，这句话的意思变成了“我们就是这样得留下来的”，不符合你要解释留下原因的语境，再试试吧。"}}, {"option": "That's why we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你用That's why...的句式准确表达了做某事的原因，完美对应了“这就是为什么我们必须留下来”的含义。"}}, {"option": "That's which we have to stay.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，which是引导定语从句的关系代词，不能在这里引导表语从句说明原因，语义不通顺，再试试吧。"}}], "answer": [1], "write": {"desc": "That's why we have to stay.", "trans": "这就是为什么我们必须留下来。"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}, {"leadIn": {"desc": "Ask her when to come."}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "你已经告知了Rebecca你们的决定，现在你想询问她什么时候会抵达Wander Port，你会怎么问？"}, "optionList": [{"option": "When will you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太好啦！你准确使用了一般将来时的特殊疑问句结构，正确询问了对方抵达的时间，非常符合邮件的语境。"}}, {"option": "When is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，arrive是实义动词，构成疑问句需要借助助动词，不能用be动词is，而且is和第二人称you也不搭配，再试试吧。"}}, {"option": "How is you arrive?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "不对哦，这句话既有疑问词使用错误（how是询问方式，你要问的是时间），也有语法错误，实义动词arrive的疑问句不能用be动词is引导，再试试吧。"}}], "answer": [0], "write": {"desc": "When will you arrive?", "trans": "你什么时候会到？"}, "feedback": {"type": "npc", "npcName": "Brainy", "content": "你写的很好！"}}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "恭喜你，你已经掌握了表达“The job is...”“That's why we have to...”“When will you arrive?”等相关句式，成功完成了给Rebecca的邮件编写！"}}

intermediate_json:
  {"学习流程配置": "```\n# 问题1：\nBrainy: 邮件开头你已经向Rebecca表达了理解她的担忧，也说明了这是探索Wander Port的绝佳机会，现在你要进一步说明这份探索工作对你们的重要性，你会怎么说？\n用户选项:\n（选项 A）The job is important for us. [正确]\n  Brainy: 答对啦！你准确表达了“这份工作对我们很重要”的含义，和上下文衔接得非常自然。\n（选项 B）The jobs is important for us.\n  Brainy: 不对哦，jobs是job的复数形式，后面的be动词应该用are，和句中的is不匹配，而且这里指的是探索Wander Port这一项工作，应该用单数形式job，再试试吧。\n（选项 C）The projects is important for us.\n  Brainy: 不对哦，projects是“项目”的复数形式，后面的be动词应该用are，和句中的is不匹配，语义也不符合这里表达“探索工作”的语境，再试试吧。\n\n# 问题2：\nBrainy: 你已经说明了这份探索工作的重要性，现在想要表达“这就是为什么我们必须留下来”，你会怎么组织这句话？\n用户选项:\n（选项 A）That's how we have to stay.\n  Brainy: 不对哦，how是询问方式的引导词，这句话的意思变成了“我们就是这样得留下来的”，不符合你要解释留下原因的语境，再试试吧。\n（选项 B）That's why we have to stay. [正确]\n  Brainy: 太棒了！你用That's why...的句式准确表达了做某事的原因，完美对应了“这就是为什么我们必须留下来”的含义。\n（选项 C）That's which we have to stay.\n  Brainy: 不对哦，which是引导定语从句的关系代词，不能在这里引导表语从句说明原因，语义不通顺，再试试吧。\n\n# 问题3：\nBrainy: 你已经告知了Rebecca你们的决定，现在你想询问她什么时候会抵达Wander Port，你会怎么问？\n用户选项:\n（选项 A）When will you arrive? [正确]\n  Brainy: 太好啦！你准确使用了一般将来时的特殊疑问句结构，正确询问了对方抵达的时间，非常符合邮件的语境。\n（选项 B）When is you arrive?\n  Brainy: 不对哦，arrive是实义动词，构成疑问句需要借助助动词，不能用be动词is，而且is和第二人称you也不搭配，再试试吧。\n（选项 C）How is you arrive?\n  Brainy: 不对哦，这句话既有疑问词使用错误（how是询问方式，你要问的是时间），也有语法错误，实义动词arrive的疑问句不能用be动词is引导，再试试吧。\n```", "互动描述": "Dear Rebecca, I know you are worried. But this is our best chance to explore Wander Port. The job is important for us. That's why we have to stay. Will you come to Wander Port some day? When will you arrive?（亲爱的丽贝卡：我知道你很担心。但这是我们探索漫游港的最佳机会。这项工作对我们来说很重要。这就是我们必须留下来的原因。你某天会来漫游港吗？你什么时候会到？）"}

text_info_json:
[cell repeats an earlier one in this file: 789 characters]

eval_info_json:
  {"title": "编写给 Rebecca 的邮件", "taskDesc": "请根据提示问题，用英文组句完成这封邮件。", "sceneDesc": "Rebecca听上去十分担心你们的安全，你们刚刚做出了决定，要继续留在 Wander Port 进行学院的探索任务，你需要回一封邮件给她，告诉她你们的决定以及原因，顺便询问她何时会来。", "knowledge": "The job is... 这份工作...... That's why we have to... 这就是为什么我们必须…… When will you arrive? 你什么时候会到？", "passCondition": "用户写出：这份工作很重要。这就是我们为什么要留下。你什么时候将会到达？", "textList": [{"mode": "preset", "desc": "Dear Rebecca,"}, {"mode": "preset", "desc": "I know you are worried. But this is our best chance to explore Wander Port. "}, {"mode": "fillingInput", "desc": "The ___ is important for us.", "optionList": [{"option": "job"}, {"option": "jobs"}, {"option": "projects"}], "answer": [0]}, {"mode": "fillingInput", "desc": "That's ___ we have to stay.", "optionList": [{"option": "why"}, {"option": "how"}, {"option": "which"}], "answer": [0]}, {"mode": "preset", "desc": "Will you come to Wander Port some day? "}, {"mode": "fillingInput", "desc": " ___ you arrive?", "optionList": [{"option": "When will"}, {"option": "When is"}, {"option": "How is"}], "answer": [0]}]}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_word
type_name: 信息填词
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
raw_config:
  【任务标题】
  填写信息表
  【互动内容】
  任务描述：请在空白处填入合适的单词，使句意完整
  答案：knowledge, information
  辅助信息：需要填入的单词的中文释义是“知识”

status: generated
bitable_token: ElRebtQe3aeCyOsRjg6cEniznwg
db_table: middle_interaction_component
created_at: 2026-05-09 10:58:57
updated_at: 2026-05-09 10:58:57
final_config_json:
  {"cType": "mid_message_word", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled in \"knowledge\" and \"information\" in the form. (你在信息表里填入了“知识”对应的单词。)", "question": {"desc": "请在空白处填入合适的单词，使句意完整"}, "tip": "需要填入的单词的中文释义是“知识”", "answer": ["knowledge", "information"], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 225 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_combine
type_name: 信息组句
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: TXYobOAuaakk6KslHp9caUB7nXa
db_table: middle_interaction_component
created_at: 2026-05-09 10:59:02
updated_at: 2026-05-09 10:59:02
raw_config:
[cell repeats an earlier one in this file: 170 characters]

final_config_json:
  {"cType": "mid_message_combine", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You formed the sentence \"Is Maeve the visitor you invited?\".（你组合出了句子“梅芙是你邀请的访客吗？”。）", "question": {"desc": "请在空白处填入正确的单词，组成句子"}, "tip": "可以用 is 引导的一般疑问句询问；you invited 是 visitor 的后置定语", "optionList": [{"option": "is"}, {"option": "the visitor"}, {"option": "you invited"}, {"option": "Maeve"}], "answer": [0, 3, 1, 2], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 228 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_fillin
type_name: 信息补词
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
raw_config:
  【任务标题】
  填写信息表
  【互动内容】
  任务描述：请在空白处填入正确的字母，组成完整单词
  题干：K(3)ledge
  答案：now
  辅助信息：需要填入的单词的中文释义是“知识”

status: generated
bitable_token: FxwMb8MJmarcRsso2tQcV8thn5g
db_table: middle_interaction_component
created_at: 2026-05-09 10:59:02
updated_at: 2026-05-09 10:59:02
final_config_json:
  {"cType": "mid_message_fillin", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled in \"now\" to make \"knowledge\". (你填入\"now\"组成了单词“知识”。)", "question": {"desc": "请在空白处填入正确的字母，组成完整单词"}, "tip": "需要填入的单词的中文释义是“知识”", "inputConfig": [{"stem": "K(3)ledge", "value": "now"}], "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 227 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_message_sentence
type_name: 信息填句
level: L1
unit_id: U14
knowledge_points_raw: Grape (词形 - 拼写规律)
status: generated
bitable_token: CNFgbIIszaPWXfsekt7cCZjHnVh
db_table: middle_interaction_component
created_at: 2026-05-09 10:59:03
updated_at: 2026-05-09 10:59:03
raw_config:
[cell repeats an earlier one in this file: 176 characters]

final_config_json:
  {"cType": "mid_message_sentence", "cId": "0000800", "title": "填写信息表", "resourceMapping": {"Vicky": 658}, "cDesc": "You filled the information form with the correct sentence. (你填写了正确的句子完成信息表。)", "question": {"desc": "请填入正确的内容，使句意完整"}, "tip": "你可以使用 The main purpose of this tour is...", "answerHint": "The main purpose of this tour is to learn knowledge about local traditional crafts.", "img": "0000800.png", "inputSet": []}

kp_info_json:
[cell repeats an earlier one in this file: 229 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: mid
cType: mid_image_sequence
type_name: 图片有序
level: L1
unit_id: U14
knowledge_points_raw: ... one by one.
status: generated
bitable_token: BZWebQROpagkJ0sxArGcsBjwnCU
db_table: middle_interaction_component
created_at: 2026-05-09 10:59:11
updated_at: 2026-05-09 10:59:11
raw_config:
[cell repeats an earlier one in this file: 180 characters]

final_config_json:
  {"cType": "mid_image_sequence", "cId": "0000800", "title": "排序跳格子顺序", "meaning": "", "resourceMapping": {}, "question": {"desc": "We must go $one by one$."}, "imageInfo": {"questionImg": "0000800_question.png", "answerImg": "0000800_answer.png"}, "optionList": [{"option": "0000800_option_00.png"}, {"option": "0000800_option_01.png"}, {"option": "0000800_option_02.png"}, {"option": "0000800_option_03.png"}], "answer": [0, 1, 2, 3], "preDialog": [], "tip": "one by one指\"一个接一个\"", "corFeedback": {}, "errFeedback": {"type": "npc", "npcName": "Dan", "content": "We can't jump like that."}, "postDialog": [], "cDesc": "You arranged hopscotch order one by one. (你一个接一个地排列了跳格子的顺序。)"}

kp_info_json:
[cell repeats an earlier one in this file: 225 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_imageDrag
type_name: 看图选词
level: L1
unit_id: U14
knowledge_points_raw:
  lake n. 湖
  monkey n. 猴子
  three num. 三
  How many ...? 多少……？
  There be ... 有……

status: generated
bitable_token: MVo7wugWfimJPIkxhJCcqppFnyf
db_table: core_interaction_component
created_at: 2026-05-09 11:09:28
updated_at: 2026-05-09 11:09:28
raw_config:
[cell repeats an earlier one in this file: 747 characters]

final_config_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "When you arrive at the Word Castle, you see the first sentence on the wall, which asks where hippos live. You pick the word \"lake\" to fill in the blank, completing the sentence \"in the lake\" smoothly.（你来到单词城堡后看到墙上的第一个句子询问河马的栖息地，你选了lake这个单词补全空白，顺利完成了“在湖里”这个表述。）Next, you look at the second sentence on the castle wall, which is about other animals in the zoo. You choose the word \"tree\" as the fitting answer, getting one step closer to opening the castle gate.（接着你看城堡墙上的第二个关于动物园里其他动物的句子，你选了tree作为合适的答案，离打开城堡大门又近了一步。）"}

kp_info_json:
[cell repeats an earlier one in this file: 756 characters]

task_info_json:
  {"cType": "core_reading_imageDrag", "cId": "0000800", "title": "看图选词填句", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [{"desc": "", "keyList": [{"type": "default", "content": "lake", "desc": "n. 湖"}, {"type": "default", "content": "monkey", "desc": "n. 猴子"}, {"type": "default", "content": "three", "desc": "num. 三"}, {"type": "default", "content": "How many ...?", "desc": "多少……？"}, {"type": "default", "content": "There be ...", "desc": "有……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}, "cDesc": "When you arrive at the Word Castle, you see the first sentence on the wall, which asks where hippos live. You pick the word \"lake\" to fill in the blank, completing the sentence \"in the lake\" smoothly.（你来到单词城堡后看到墙上的第一个句子询问河马的栖息地，你选了lake这个单词补全空白，顺利完成了“在湖里”这个表述。）Next, you look at the second sentence on the castle wall, which is about other animals in the zoo. You choose the word \"tree\" as the fitting answer, getting one step closer to opening the castle gate.（接着你看城堡墙上的第二个关于动物园里其他动物的句子，你选了tree作为合适的答案，离打开城堡大门又近了一步。）"}

study_info_json:
  {"learningPart": [{"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "这道题我们要认识表示地点的名词哦，先看看这几个单词哪个是“湖”的意思吧~"}, "optionList": [{"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "tree的意思是“树”，河马不住在树上哦，再选一次试试看吧~"}}, {"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！lake就是“湖”的意思，你太棒啦，这个单词你记住啦~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass的意思是“草”，河马的栖息地不是草地哦，再想想看吧~"}}], "answer": [1]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Ben问“河马住在哪里呀？”，你要选合适的单词填到空里，说明河马的居住地点哦。"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对了！河马是住在湖里的，非常符合常识~ 现在大声朗读这句话：\"Where do hippos live? In the lake.\" 吧~"}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "树是很多小鸟或者小松鼠的家，河马这么大的体型可住不到树上哦，根据图片里的场景再选一次吧~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "草地通常是小羊、小马活动的地方，河马大部分时间都待在水里哦，再想想看吧~"}}], "answer": [0]}]}, {"image": "1201001_02.png", "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "这道题我们要选动物园里有的东西哦，先看看这几个单词哪个是“树”的意思吧~"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "lake的意思是“湖”，湖属于自然景观，不是动物园里特有的动物哦，再选一次试试看吧~"}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对啦！tree就是“树”的意思，动物园里会种树给动物们提供栖息的地方哦，你太棒啦~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "grass的意思是“草”，草是很常见的植物，不是动物园里特有的动物哦，再想想看吧~"}}], "answer": [1]}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Brainy问“动物园里还有什么其他的东西？”，你要选合适的选项，说明动物园里存在的事物哦。"}, "optionList": [{"option": "lake", "feedback": {"type": "npc", "npcName": "Brainy", "content": "湖一般是自然形成的水域，动物园里不会特意设置湖哦，结合你对动物园的了解再选一次吧~"}}, {"option": "tree", "feedback": {"type": "npc", "npcName": "Brainy", "content": "答对了！动物园里会种植很多树木，给动物们遮阴、提供栖息地，非常符合场景~ 现在大声朗读这个回答：\"There are trees in the zoo.\" 吧~"}}, {"option": "grass", "feedback": {"type": "npc", "npcName": "Brainy", "content": "草坪在公园、路边都很常见，不是动物园里特有的事物哦，再想想看吧~"}}], "answer": [1]}]}], "closing": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你已经完成了所有的对话任务，还复习了lake、tree这些重点单词，学会了回答关于动物栖息地和动物园事物的问题，你的英语又进步啦！"}}

intermediate_json:
  {"学习流程配置": "```\n# 小题 4\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：这道题我们要认识表示地点的名词哦，先看看这几个单词哪个是“湖”的意思吧~\n- 选项 A：tree\n  Brainy：tree的意思是“树”，河马不住在树上哦，再选一次试试看吧~\n- 选项 B：lake [正确]\n  Brainy：答对啦！lake就是“湖”的意思，你太棒啦，这个单词你记住啦~\n- 选项 C：grass\n  Brainy：grass的意思是“草”，河马的栖息地不是草地哦，再想想看吧~\n\n### 2. 原题降级\nBrainy：Ben问“河马住在哪里呀？”，你要选合适的单词填到空里，说明河马的居住地点哦。\n- 选项 A：lake [正确]\n  Brainy：答对了！河马是住在湖里的，非常符合常识~ 现在大声朗读这句话：\"Where do hippos live? In the lake.\" 吧~\n- 选项 B：tree\n  Brainy：树是很多小鸟或者小松鼠的家，河马这么大的体型可住不到树上哦，根据图片里的场景再选一次吧~\n- 选项 C：grass\n  Brainy：草地通常是小羊、小马活动的地方，河马大部分时间都待在水里哦，再想想看吧~\n\n---\n# 小题 5\n## 材料内容\n【展示该小题对应的图片 ID：1201001_02.png】\n\n## 互动题目\n### 1. 句意选词题\nBrainy：这道题我们要选动物园里有的东西哦，先看看这几个单词哪个是“树”的意思吧~\n- 选项 A：lake\n  Brainy：lake的意思是“湖”，湖属于自然景观，不是动物园里特有的动物哦，再选一次试试看吧~\n- 选项 B：tree [正确]\n  Brainy：答对啦！tree就是“树”的意思，动物园里会种树给动物们提供栖息的地方哦，你太棒啦~\n- 选项 C：grass\n  Brainy：grass的意思是“草”，草是很常见的植物，不是动物园里特有的动物哦，再想想看吧~\n\n### 2. 原题降级\nBrainy：Brainy问“动物园里还有什么其他的东西？”，你要选合适的选项，说明动物园里存在的事物哦。\n- 选项 A：lake\n  Brainy：湖一般是自然形成的水域，动物园里不会特意设置湖哦，结合你对动物园的了解再选一次吧~\n- 选项 B：tree [正确]\n  Brainy：答对了！动物园里会种植很多树木，给动物们遮阴、提供栖息地，非常符合场景~ 现在大声朗读这个回答：\"There are trees in the zoo.\" 吧~\n- 选项 C：grass\n  Brainy：草坪在公园、路边都很常见，不是动物园里特有的事物哦，再想想看吧~\n\n---\n# 完结反馈\nBrainy：太棒了！你已经完成了所有的对话任务，还复习了lake、tree这些重点单词，学会了回答关于动物栖息地和动物园事物的问题，你的英语又进步啦！\n```", "互动描述": "When you arrive at the Word Castle, you see the first sentence on the wall, which asks where hippos live. You pick the word \"lake\" to fill in the blank, completing the sentence \"in the lake\" smoothly.（你来到单词城堡后看到墙上的第一个句子询问河马的栖息地，你选了lake这个单词补全空白，顺利完成了“在湖里”这个表述。）\nNext, you look at the second sentence on the castle wall, which is about other animals in the zoo. You choose the word \"tree\" as the fitting answer, getting one step closer to opening the castle gate.（接着你看城堡墙上的第二个关于动物园里其他动物的句子，你选了tree作为合适的答案，离打开城堡大门又近了一步。）"}

question_group_json:
[cell repeats an earlier one in this file: 446 characters]


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_reading_order
type_name: 合作阅读
level: L1
unit_id: U14
knowledge_points_raw:
  club
  join
  member
  choose
  interested

status: generated
bitable_token: H6DJweNkpigCbak2Y5LcTZ8Vnfb
db_table: core_interaction_component
created_at: 2026-05-09 11:09:39
updated_at: 2026-05-09 11:09:39
raw_config:
[cell repeats an earlier one in this file: 2351 characters]

final_config_json:
[cell repeats an earlier one in this file: 645 characters]

kp_info_json:
[cell repeats an earlier one in this file: 865 characters]

task_info_json:
[cell repeats an earlier one in this file: 645 characters]

material_info_json:
[cell repeats an earlier one in this file: 2699 characters]

flow_info_json:
[cell repeats an earlier one in this file: 232 characters]

study_info_json:
  {"closing": {"type": "npc", "content": "恭喜你完成了本次的所有学习任务，对内容掌握得很不错哦，继续加油呀！", "npcName": "Brainy"}, "learningPart": [{"leadIn": {"desc": "At Vala Academy, Pioneers don't have exams. But you need points to level up!"}, "type": "npc", "content": "我们先来认识这段话里的重点单词 exams，exams的意思是考试，参加考试可以说take exams。", "npcName": "Brainy", "learning": [{"answer": [0], "meaning": "句意选择题", "optionList": [{"feedback": {"type": "npc", "content": "答对啦！你完全掌握了exams的意思和这句话的含义哦～", "npcName": "Brainy"}, "option": "在瓦拉学院，先锋们不用参加考试。"}, {"feedback": {"type": "npc", "content": "不对哦，俱乐部活动的英文是club activities，并不是我们这里讲的exams，再回顾下单词释义吧。", "npcName": "Brainy"}, "option": "在瓦拉学院，先锋们不用参加俱乐部活动。"}], "question": {"type": "npc", "npcName": "Brainy", "content": "我们来看包含exams的句子“At Vala Academy, Pioneers don't have exams.”是什么意思呢？"}}, {"answer": [0], "meaning": "段落大意题", "optionList": [{"feedback": {"type": "npc", "content": "太棒了！你准确抓住了“没有考试”和“需要积分升级”两个核心信息哦。", "npcName": "Brainy"}, "option": "瓦拉学院的先锋们不需要考试，但需要攒积分来升级。"}, {"feedback": {"type": "npc", "content": "和原文意思相反啦，原文明确说先锋们是没有考试的，再仔细读一遍段落内容吧。", "npcName": "Brainy"}, "option": "瓦拉学院的先锋们不仅要参加考试，还要攒积分才能升级。"}], "question": {"type": "npc", "npcName": "Brainy", "content": "了解了单词和句子的意思，我们来看看这段主要讲了什么内容吧？"}}]}, {"leadIn": {"desc": "You can choose your favourite club to join. If you are interested in something, you can find a club for it."}, "type": "npc", "content": "这段话的重点单词是club，club的意思是俱乐部，加入俱乐部可以说join a club。", "npcName": "Brainy", "learning": [{"answer": [1], "meaning": "句意选择题", "optionList": [{"feedback": {"type": "npc", "content": "不对哦，课程的英文是course，不是我们这里讲的club，再看看单词的正确释义吧。", "npcName": "Brainy"}, "option": "你可以选择自己最喜欢的课程去学习。"}, {"feedback": {"type": "npc", "content": "回答正确！你已经掌握了club的意思和这个句子的含义啦。", "npcName": "Brainy"}, "option": "你可以选择自己最喜欢的俱乐部加入。"}], "question": {"type": "npc", "npcName": "Brainy", "content": "我们来看包含club的句子“You can choose your favourite club to join.”是什么意思呢？"}}, {"answer": [0], "meaning": "段落大意题", "optionList": [{"feedback": {"type": "npc", "content": "太厉害啦！你完整理解了段落要表达的两层意思哦。", "npcName": "Brainy"}, "option": "你可以挑选感兴趣的俱乐部加入，如果有感兴趣的事，也能找到对应的俱乐部。"}, {"feedback": {"type": "npc", "content": "这段没有提到俱乐部受欢迎，也没有说必须加入俱乐部哦，再仔细看看段落内容吧。", "npcName": "Brainy"}, "option": "所有俱乐部都很受欢迎，你必须加入其中一个。"}], "question": {"type": "npc", "npcName": "Brainy", "content": "接下来我们看看这段整体在说什么内容吧？"}}]}]}

intermediate_json:
  {"阅读材料格式化": "```\n# 材料2\n类型：电子屏\n标题：How to Join Clubs?\n正文:\n<sp>You can choose your favourite club to join. If you are interested in something, you can find a club for it. The robot club, the plant club, the sports club, and the reading club are all popular choices.<br>If you are not interested in any club, you can start a new one with friends!<br>\n<sp>图片:[0101106_core reading2]\n```", "学习材料格式化": "```\n# 段落1\n重点词汇: \n正文:\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n```\n```\n# 段落2\n重点词汇: \n正文:\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n```", "学习过程配置": "```\n# 段落1\n## 段落内容\n---\nAt Vala Academy, Pioneers don't have exams. But you need points to level up!\n---\n## 互动题目\nBrainy：我们先来认识这段话里的重点单词 exams，exams的意思是考试，参加考试可以说take exams。\n1. 句意选择题\nBrainy：我们来看包含exams的句子“At Vala Academy, Pioneers don't have exams.”是什么意思呢？\n- 在瓦拉学院，先锋们不用参加考试。[正确]\n  Brainy：答对啦！你完全掌握了exams的意思和这句话的含义哦～\n- 在瓦拉学院，先锋们不用参加俱乐部活动。\n  Brainy：不对哦，俱乐部活动的英文是club activities，并不是我们这里讲的exams，再回顾下单词释义吧。\n\n2. 段落大意题\nBrainy：了解了单词和句子的意思，我们来看看这段主要讲了什么内容吧？\n- 瓦拉学院的先锋们不需要考试，但需要攒积分来升级。[正确]\n  Brainy：太棒了！你准确抓住了“没有考试”和“需要积分升级”两个核心信息哦。\n- 瓦拉学院的先锋们不仅要参加考试，还要攒积分才能升级。\n  Brainy：和原文意思相反啦，原文明确说先锋们是没有考试的，再仔细读一遍段落内容吧。\n# 段落2\n## 段落内容\n---\nYou can choose your favourite club to join. If you are interested in something, you can find a club for it.\n---\n## 互动题目\nBrainy：这段话的重点单词是club，club的意思是俱乐部，加入俱乐部可以说join a club。\n1. 句意选择题\nBrainy：我们来看包含club的句子“You can choose your favourite club to join.”是什么意思呢？\n- 你可以选择自己最喜欢的课程去学习。\n  Brainy：不对哦，课程的英文是course，不是我们这里讲的club，再看看单词的正确释义吧。\n- 你可以选择自己最喜欢的俱乐部加入。[正确]\n  Brainy：回答正确！你已经掌握了club的意思和这个句子的含义啦。\n\n2. 段落大意题\nBrainy：接下来我们看看这段整体在说什么内容吧？\n- 你可以挑选感兴趣的俱乐部加入，如果有感兴趣的事，也能找到对应的俱乐部。[正确]\n  Brainy：太厉害啦！你完整理解了段落要表达的两层意思哦。\n- 所有俱乐部都很受欢迎，你必须加入其中一个。\n  Brainy：这段没有提到俱乐部受欢迎，也没有说必须加入俱乐部哦，再仔细看看段落内容吧。\n# 完结反馈\nBrainy：恭喜你完成了本次的所有学习任务，对内容掌握得很不错哦，继续加油呀！\n```"}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_reply
type_name: 口语快答
level: L1
unit_id: U14
knowledge_points_raw:
  Let's...（结构）
  Instead of..., we'd better...（结构）
  ... love(s) to...（结构）

dialog_setting_json: {"setting": {"npcName": "Logan", "round": 5, "checkRound": 3}}
status: generated
bitable_token: TSwcw0nFmi21khkpUndchNMsn6f
db_table: core_interaction_component
created_at: 2026-05-09 11:09:54
updated_at: 2026-05-09 11:09:54
raw_config:
[cell repeats an earlier one in this file: 998 characters]

final_config_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "类型1的描述", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}, {"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}, {"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

kp_info_json:
[cell repeats an earlier one in this file: 537 characters]

task_info_json:
  {"cType": "core_speaking_reply", "cId": "0000800", "title": "求助清洁工人为大象洗澡", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [{"desc": "类型1的描述", "keyList": [{"type": "default", "content": "Let's...", "desc": "让我们……"}, {"type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……"}, {"type": "default", "content": "... love(s) to...", "desc": "……很乐意……"}]}], "resourceMapping": {"Eva": 738, "Peter": 739}}

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Logan", "content": "Hi. What happened to the elephant?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "清洁站的Logan问你大象怎么了，现在你需要告诉他大象需要洗澡，你们想要帮大象准备淋浴哦。"}, "optionList": [{"option": "The elephant needs a shower. Let's set up a shower for her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒啦，你选对了！现在试着大声把这句话读出来吧~"}}, {"option": "The elephant likes eating bananas. We want to feed her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“大象喜欢吃香蕉，我们想要喂她”，现在我们是要和Logan说大象需要洗澡的事哦，不是要喂大象，再选一次吧。"}}, {"option": "The elephant is missing. We can't find her anywhere.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“大象不见了，我们到处都找不到她”，但实际大象只是需要洗澡，并没有失踪哦，再试一次吧。"}}], "answer": [0], "read": {"type": "user", "content": "The elephant needs a shower. Let's set up a shower for her."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Are you saying she hasn't had a shower yet? Maybe someone will probably come soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan问你是不是说大象还没洗澡，他说可能很快就会有人来处理啦。现在你要回应他，与其在这等，不如我们先去给大象拿点水。"}, "optionList": [{"option": "We can wait for the keeper to come and help her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“我们可以等饲养员过来帮她”，但我们现在想表达的是不要等，自己先去拿水哦，不符合当前要表达的意思，再选一次吧。"}}, {"option": "Instead of waiting here, we'd better get some water for her first.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "完全正确！快把这句话大声读出来吧~"}}, {"option": "We don't want to help the elephant take a shower.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“我们不想帮大象洗澡”，但我们本来就是来帮忙的呀，意思完全反啦，再试一次哦。"}}], "answer": [1], "read": {"type": "user", "content": "Instead of waiting here, we'd better get some water for her first."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "The keepers are too careless! Thank you! Can you help her shower?"}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Logan说饲养员太粗心了，还感谢了你们，现在他问你们能不能帮忙给大象洗澡，你要告诉他你们很乐意帮忙哦。"}, "optionList": [{"option": "We'd love to help.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "选对啦，你真棒！快来朗读一下这句话吧~"}}, {"option": "We are too busy to help her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“我们太忙了，没法帮她”，我们本来就是来帮忙的，可不能这么说哦，再选一次吧。"}}, {"option": "We don't have any time to play with her.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话的意思是“我们没时间和她玩”，现在Logan问的是能不能帮忙洗澡，不是问要不要和大象玩哦，再试一次吧。"}}], "answer": [0], "read": {"type": "user", "content": "We'd love to help."}, "feedback": {"type": "npc", "npcName": "Logan", "content": "Great. We will send some water to her right away."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "你太棒啦！已经顺利和Logan沟通好了，他马上就会送干净的水过来，你们可以一起帮大象洗澡咯，本次任务完成~"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nLogan：Hi. What happened to the elephant?\n\n# 中间回合1\nBrainy：清洁站的Logan问你大象怎么了，现在你需要告诉他大象需要洗澡，你们想要帮大象准备淋浴哦。\n用户选项:\n（A）The elephant needs a shower. Let's set up a shower for her. ✅\n  Brainy：太棒啦，你选对了！现在试着大声把这句话读出来吧~\n（B）The elephant likes eating bananas. We want to feed her.\n  Brainy：这句话的意思是“大象喜欢吃香蕉，我们想要喂她”，现在我们是要和Logan说大象需要洗澡的事哦，不是要喂大象，再选一次吧。\n（C）The elephant is missing. We can't find her anywhere.\n  Brainy：这句话的意思是“大象不见了，我们到处都找不到她”，但实际大象只是需要洗澡，并没有失踪哦，再试一次吧。\nLogan：Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\n\n# 中间回合2\nBrainy：Logan问你是不是说大象还没洗澡，他说可能很快就会有人来处理啦。现在你要回应他，与其在这等，不如我们先去给大象拿点水。\n用户选项:\n（A）We can wait for the keeper to come and help her.\n  Brainy：这句话的意思是“我们可以等饲养员过来帮她”，但我们现在想表达的是不要等，自己先去拿水哦，不符合当前要表达的意思，再选一次吧。\n（B）Instead of waiting here, we'd better get some water for her first. ✅\n  Brainy：完全正确！快把这句话大声读出来吧~\n（C）We don't want to help the elephant take a shower.\n  Brainy：这句话的意思是“我们不想帮大象洗澡”，但我们本来就是来帮忙的呀，意思完全反啦，再试一次哦。\nLogan：The keepers are too careless! Thank you! Can you help her shower?\n\n# 中间回合3\nBrainy：Logan说饲养员太粗心了，还感谢了你们，现在他问你们能不能帮忙给大象洗澡，你要告诉他你们很乐意帮忙哦。\n用户选项:\n（A）We'd love to help. ✅\n  Brainy：选对啦，你真棒！快来朗读一下这句话吧~\n（B）We are too busy to help her.\n  Brainy：这句话的意思是“我们太忙了，没法帮她”，我们本来就是来帮忙的，可不能这么说哦，再选一次吧。\n（C）We don't have any time to play with her.\n  Brainy：这句话的意思是“我们没时间和她玩”，现在Logan问的是能不能帮忙洗澡，不是问要不要和大象玩哦，再试一次吧。\nLogan：Great. We will send some water to her right away.\n\n# 结尾回合\nBrainy：你太棒啦！已经顺利和Logan沟通好了，他马上就会送干净的水过来，你们可以一起帮大象洗澡咯，本次任务完成~\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切易懂，适合儿童沟通。\n# 2. 任务（你如何参与对话）\n1. 对话开场主动询问用户大象的情况，确认大象是否需要洗澡。\n2. 当用户说明大象需要洗澡后，告诉用户可以先等一等，或许饲养员很快就会来。\n3. 之后询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户表示愿意帮忙，先表达感谢，然后告知对方会马上送干净的水过去。\n5. 如果用户表示不愿意帮忙，告诉对方没关系，你会自己想办法给大象洗澡，自然结束对话。\n6. 如果用户的回答你听不懂，友好地请对方再说一次，可以说\"Pardon?\"。\n7. 完成所有任务后，简单和用户道别，结束对话。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。\n```", "语音识别热词": "elephant,shower,water,keepers,help,clean,Wander Port,Logan"}

dialog_config_json:
  {"config": {"asrPrompt": "elephant,shower,water,keepers,help,clean,Wander Port,Logan", "promptInfo": {"default": "# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切易懂，适合儿童沟通。\n# 2. 任务（你如何参与对话）\n1. 对话开场主动询问用户大象的情况，确认大象是否需要洗澡。\n2. 当用户说明大象需要洗澡后，告诉用户可以先等一等，或许饲养员很快就会来。\n3. 之后询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户表示愿意帮忙，先表达感谢，然后告知对方会马上送干净的水过去。\n5. 如果用户表示不愿意帮忙，告诉对方没关系，你会自己想办法给大象洗澡，自然结束对话。\n6. 如果用户的回答你听不懂，友好地请对方再说一次，可以说\"Pardon?\"。\n7. 完成所有任务后，简单和用户道别，结束对话。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。", "scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "in_progress_goal": "用户告诉清洁站的工人，大象需要洗澡，并且表示乐意帮助，要求 Logan 送一些干净的水过来。", "final_goal": "用户告诉清洁站的工人，大象需要洗澡，并提出需要一些水。", "reference_dialog": "Logan: Hi. What happened to the elephant?\nUser: The elephant needs a shower. Let's set up a shower for her.\nLogan: Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\nUser: Instead of waiting here, we'd better get some water for her first.\nLogan: The keepers are too careless! Thank you! Can you help her shower?\nUser: We'd love to help.\nLogan: Great. We will send some water to her right away.", "user_task": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "user_scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "user_knowledge": "Let's... 让我们……\nInstead of..., we'd better... 与其……，我们不如……\n... love(s) to... ……很乐意……"}}}


script_id: JIjndhxT7obcUdxLQK7cd5HvnLe
script_title: L1-S2-U14-L1 到你上学啦 (组件录入测试-全量)
category: core
cType: core_speaking_inquiry
type_name: 口语妙问
level: L1
unit_id: U14
knowledge_points_raw: Where can I...?（语义）Can I have... please?（语义）What else can I...?（语义）
dialog_setting_json: {"setting": {"npcName": "Chloe", "round": 5, "checkRound": 3}}
status: generated
bitable_token: GJUVwNSEkis3EXkrVj0ccbqdn8c
db_table: core_interaction_component
created_at: 2026-05-09 11:09:54
updated_at: 2026-05-09 11:09:54
raw_config:
[cell repeats an earlier one in this file: 1022 characters]

final_config_json:
[cell repeats an earlier one in this file: 654 characters]

kp_info_json:
[cell repeats an earlier one in this file: 568 characters]

task_info_json:
[cell repeats an earlier one in this file: 654 characters]

study_info_json:
  {"learningPart": {"opening": {"type": "npc", "npcName": "Chloe", "content": "Can I help you?"}, "wrongReadLeadIn": {"type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy"}, "learning": [{"question": {"type": "npc", "npcName": "Brainy", "content": "空乘Chloe主动问你是否需要帮助，你现在需要向她询问健身房的位置哦。"}, "optionList": [{"option": "Where can I find the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太棒了！你正确问出了健身房的位置。请大声朗读这句话！"}}, {"option": "Can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是询问能不能要毛巾的，现在你还没问健身房位置哦，再试一次吧。"}}, {"option": "What can I do in the gym?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是问在健身房可以做什么的，你现在需要先问健身房的位置哦，再选一次吧。"}}], "answer": [0], "read": {"type": "user", "content": "Where can I find the gym?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Look, it's over there at the end of this walkway."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe已经告诉了你健身房在走道的尽头，现在你可以向她讨要一条毛巾，方便之后运动使用哦。"}, "optionList": [{"option": "Where is the restaurant?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是问餐厅在哪里的，不是要毛巾的表达哦，再试一次吧。"}}, {"option": "Oh, and can I have a towel please?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "太厉害啦！你正确地向Chloe提出了要毛巾的请求。请大声朗读这句话！"}}, {"option": "I want a bottle of water.", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是说你想要一瓶水，不是要毛巾的内容哦，再试一次吧。"}}], "answer": [1], "read": {"type": "user", "content": "Oh, and can I have a towel please?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Of course! I'll bring a new one for you soon."}}, {"question": {"type": "npc", "npcName": "Brainy", "content": "Chloe说会马上给你拿一条新毛巾，现在你可以问问她在健身房还能做些什么，提前了解下健身房的功能哦。"}, "optionList": [{"option": "What else can I do there?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "你太聪明啦！准确问出了在健身房还能做的事。请大声朗读这句话！"}}, {"option": "How much is the towel?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是问毛巾多少钱的，不需要问价格哦，你现在要了解的是健身房的其他用途，再试一次吧。"}}, {"option": "When does the gym close?", "feedback": {"type": "npc", "npcName": "Brainy", "content": "这句话是问健身房什么时候关门的，不是询问能做什么的表达哦，再选一次吧。"}}], "answer": [0], "read": {"type": "user", "content": "What else can I do there?"}, "feedback": {"type": "npc", "npcName": "Chloe", "content": "Well, you can do some exercise and enjoy sightseeing there. Or you can just relax."}}], "closing": {"type": "npc", "npcName": "Brainy", "content": "Chloe已经告诉你在健身房可以运动、欣赏风景，也可以放松休息，你已经问清楚了健身房的相关信息，任务圆满完成啦！"}}}

intermediate_json:
  {"学习流程配置": "```\n# 开场回合\nChloe：Can I help you?\n\n# 中间回合1\nBrainy：空乘Chloe主动问你是否需要帮助，你现在需要向她询问健身房的位置哦。\n用户选项:\n（选项 A）Where can I find the gym? [正确]\n  Brainy：太棒了！你正确问出了健身房的位置。请大声朗读这句话！\n（选项 B）Can I have a towel please?\n  Brainy：这句话是询问能不能要毛巾的，现在你还没问健身房位置哦，再试一次吧。\n（选项 C）What can I do in the gym?\n  Brainy：这句话是问在健身房可以做什么的，你现在需要先问健身房的位置哦，再选一次吧。\nChloe：Look, it's over there at the end of this walkway.\n\n# 中间回合2\nBrainy：Chloe已经告诉了你健身房在走道的尽头，现在你可以向她讨要一条毛巾，方便之后运动使用哦。\n用户选项:\n（选项 A）Where is the restaurant?\n  Brainy：这句话是问餐厅在哪里的，不是要毛巾的表达哦，再试一次吧。\n（选项 B）Oh, and can I have a towel please? [正确]\n  Brainy：太厉害啦！你正确地向Chloe提出了要毛巾的请求。请大声朗读这句话！\n（选项 C）I want a bottle of water.\n  Brainy：这句话是说你想要一瓶水，不是要毛巾的内容哦，再试一次吧。\nChloe：Of course! I'll bring a new one for you soon.\n\n# 中间回合3\nBrainy：Chloe说会马上给你拿一条新毛巾，现在你可以问问她在健身房还能做些什么，提前了解下健身房的功能哦。\n用户选项:\n（选项 A）What else can I do there? [正确]\n  Brainy：你太聪明啦！准确问出了在健身房还能做的事。请大声朗读这句话！\n（选项 B）How much is the towel?\n  Brainy：这句话是问毛巾多少钱的，不需要问价格哦，你现在要了解的是健身房的其他用途，再试一次吧。\n（选项 C）When does the gym close?\n  Brainy：这句话是问健身房什么时候关门的，不是询问能做什么的表达哦，再选一次吧。\nChloe：Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.\n\n# 结尾回合\nBrainy：Chloe已经告诉你在健身房可以运动、欣赏风景，也可以放松休息，你已经问清楚了健身房的相关信息，任务圆满完成啦！\n```", "promptInfo配置": "```\n# 1. 角色（你要扮演谁）\n- 你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n- 你对之前帮你解过围的乘客格外友善热情，会耐心回应对方的所有问题。\n\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n\n# 3. 背景信息\n你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n\n# 4. 知识库（你知道的信息）\n- 健身房就在前方过道的尽头。\n- 你会为有需要的用户准备一条新毛巾。\n- 在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n- 对用户的任何提问，你都耐心安抚并一一回答。\n\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n\n# 6. 开场白\n你由你开始对话，你会说：\"Can I help you?\"\n\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题\n```", "语音识别热词": "gym,towel,exercise,sightseeing,walkway,relax"}

dialog_config_json:
  {"config": {"asrPrompt": "gym,towel,exercise,sightseeing,walkway,relax", "promptInfo": {"default": "# 1. 角色（你要扮演谁）\n- 你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n- 你对之前帮你解过围的乘客格外友善热情，会耐心回应对方的所有问题。\n\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n\n# 3. 背景信息\n你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n\n# 4. 知识库（你知道的信息）\n- 健身房就在前方过道的尽头。\n- 你会为有需要的用户准备一条新毛巾。\n- 在健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n- 对用户的任何提问，你都耐心安抚并一一回答。\n\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n  \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n\n# 6. 开场白\n你由你开始对话，你会说：\"Can I help you?\"\n\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题", "scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "in_progress_goal": "用户成功问出“健身房在哪里”、“可以给我一条毛巾吗”以及“在哪儿我还能做什么”的三个问题。", "final_goal": "Chloe回答了用户关于健身房的问题，提供了耐心友好的帮助。", "reference_dialog": "Chloe: Can I help you?\nUser: Where can I find the gym?\nChloe: Look, it's over there at the end of this walkway.\nUser: Oh, and can I have a towel please? \nChloe: Of course! I'll bring a new one for you soon.\nUser: What else can I do there? \nChloe: Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.", "user_task": "你要向 Chloe 询问健身房的位置，以及讨要毛巾，做好开始运动的准备。", "user_scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "user_knowledge": "Where can I find the gym？我在哪里能找到健身房？\nCan I have a towel please?？我能要一条毛巾吗？\nWhat else can I do there? 我在那儿还能做些什么？"}}}


