{"format":"midoo-native-plan","version":1,"jsonSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"require_profile":{"type":"object","properties":{"learn_lan":{"type":"string","pattern":"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$","description":"学习语言，例如 en / ja / ko / es / fr / de"},"teaching_lan":{"default":"zh-Hans","description":"讲解语言，默认 zh-Hans","type":"string","pattern":"^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"},"background_goal":{"default":"","description":"学习者背景与目标","type":"string","maxLength":4000},"current_level":{"default":"","description":"CEFR 水平","type":"string","enum":["","A0","A1","A2","B1","B2","C1","C2"]},"other":{"default":"","type":"string","maxLength":4000}},"required":["learn_lan"],"additionalProperties":{}},"plan":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":160,"description":"计划标题"},"analyst":{"default":"","description":"计划说明：为谁设计、如何安排","type":"string","maxLength":20000},"stages":{"minItems":1,"maxItems":12,"type":"array","items":{"type":"object","properties":{"stage_title":{"type":"string","minLength":1,"maxLength":160},"stage_desc":{"default":"","type":"string","maxLength":20000},"stage_time":{"default":"","description":"例如 第1周","type":"string","maxLength":40},"day_lessons":{"minItems":1,"maxItems":60,"type":"array","items":{"type":"object","properties":{"day_lesson_title":{"type":"string","minLength":1,"maxLength":160},"lessons":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{"lesson_title":{"type":"string","minLength":1,"maxLength":160,"description":"课时标题"},"lesson_desc":{"type":"string","minLength":1,"maxLength":100000,"description":"课时正文。可在正文末尾附带 ```yaml 代码块，包含 topic_kps 知识点结构"},"lesson_type":{"type":"string","maxLength":40}},"required":["lesson_title","lesson_desc"],"additionalProperties":{}}}},"required":["day_lesson_title","lessons"],"additionalProperties":{}}}},"required":["stage_title","day_lessons"],"additionalProperties":{}}}},"required":["name","stages"],"additionalProperties":{}}},"required":["require_profile","plan"],"additionalProperties":{}},"example":{"require_profile":{"learn_lan":"ja","teaching_lan":"zh-Hans","background_goal":"下个月去大阪旅行，想自己点餐和问路","current_level":"A0","other":""},"plan":{"name":"大阪旅行日语：点餐与问路","analyst":"零基础，两周内掌握旅行中最常用的点餐和问路表达。","stages":[{"stage_title":"在餐厅点餐","stage_desc":"能看懂菜单、点餐并结账。","stage_time":"第1周","day_lessons":[{"day_lesson_title":"进店与点餐","lessons":[{"lesson_title":"说出想要的菜","lesson_desc":"1. 作为顾客告诉店员想要哪道菜。2. 说明数量。\n知识点：\n```yaml\ntopic_kps:\n  - topic_id: 1\n    topic_key: ordering\n    knowledge_points:\n      - knowledge_id: kp-1\n        pattern: これを ___ ください。\n        pattern_trans: 请给我___这个。\n        level: A0\n        function: speaking\n        chunks: [一つ, 二つ]\n        examples:\n          - これを一つください。\n```"}]}]}]}},"knowledgePointYaml":"lesson_desc 可在末尾附带 ```yaml 代码块：topic_kps[].topic_id/topic_key/knowledge_points[]，每个知识点含 knowledge_id、pattern、pattern_trans、level、function(speaking|listening)、chunks[]、examples[]。"}