{ "name": "keping", "version": "1.0.0", "description": "穹狼乐高编程AI课评生成系统 - 根据教师极简输入自动生成个性化课后评价", "author": "穹狼教学团队", "triggers": ["/课评", "/keping", "/kp"], "args": { "student": { "type": "string", "description": "学生姓名", "required": true }, "class": { "type": "string", "description": "班级名称(如:发现世界-周四19点)", "required": false }, "course": { "type": "string", "description": "课程代码(如:TUBE-001, DISC-003, SPIKE-005)", "required": false }, "performance": { "type": "string", "description": "课堂表现描述(核心观察)", "required": true }, "emotion": { "type": "string", "description": "情绪状态(稳定/开心/兴奋/低落/烦躁等)", "required": false }, "compare": { "type": "string", "description": "与之前对比(比上周主动/保持/退步等)", "required": false }, "special": { "type": "string", "description": "特殊情况备注", "required": false }, "batch": { "type": "boolean", "description": "是否为批量模式(一节课多学生)", "default": false } }, "workflow": { "steps": [ { "id": "step1_parse_input", "name": "输入解析", "description": "解析教师输入,提取关键信息", "action": "parse_input", "rules": [ "识别学生姓名、班级、课程代码", "提取核心表现描述(关键动词+具体行为)", "识别情绪关键词", "提取对比词(比上周/和之前/退步等)" ], "output": ["parsed_data"] }, { "id": "step2_match_student", "name": "学生画像匹配", "description": "调取学生历史档案,实现千人千面", "action": "match_student_profile", "rules": [ "根据学生姓名匹配画像档案", "提取气质类型、学习风格、能力优势", "获取历史表现对比基准", "识别需要特别关注的维度" ], "sources": ["memory/student/**/用户画像.md"], "output": ["student_profile"] }, { "id": "step3_match_course", "name": "课程教案匹配", "description": "调取课程信息,提取知识点", "action": "match_course_content", "rules": [ "根据课程代码匹配教案", "提取本节课核心知识点", "获取课程目标和评价维度", "确定适用年龄和课程类型" ], "sources": ["memory/lesson/**"], "output": ["course_content", "age_group", "course_type"] }, { "id": "step4_determine_style", "name": "风格规则匹配", "description": "确定课评语言风格和结构", "action": "determine_style", "rules": [ "根据年龄段确定模板(幼儿/小学低/小学中)", "根据课程类型确定字数(180-220/190-230/200-240)", "根据学生画像调整个性化侧重点", "选择必写模块的具体表述方式" ], "references": [ ".claude/rules/20-style-building.md", ".claude/rules/21-style-coding.md", ".claude/rules/22-style-robotics.md" ], "output": ["style_config", "word_count", "tone"] }, { "id": "step5_generate_content", "name": "内容生成", "description": "基于5个必写模块生成课评内容", "action": "generate_evaluation", "modules": [ { "id": "module1_knowledge", "name": "课程知识点", "rules": [ "30-40字(幼儿)/ 35-45字(编程)/ 40-50字(竞赛)", "点明具体知识,避免笼统", "从教案自动提取并适配" ] }, { "id": "module2_mastery", "name": "掌握程度", "rules": [ "基于课堂表现关键词判断", "'自己调整/主动尝试'=掌握较好", "'需提醒/帮助'=掌握一般", "客观描述,避免评价性词语" ] }, { "id": "module3_performance", "name": "课堂表现", "rules": [ "专注度、情绪状态、互动情况", "结合学生画像对比常态", "真实记录,不夸大不回避" ] }, { "id": "module4_highlight", "name": "成长亮点", "rules": [ "纵向对比历史表现", "突出独特进步或品质", "千人千面,避免雷同" ] }, { "id": "module5_suggestion", "name": "课后建议", "rules": [ "可操作的家庭活动", "关联本节课知识点", "尊重家庭,用'可以'而非'必须'" ] } ], "output": ["evaluation_content"] }, { "id": "step6_personalize", "name": "个性化处理", "description": "根据学生画像进行差异化调整", "action": "personalize", "rules": [ "活泼型学生:突出创意和参与热情", "谨慎型学生:肯定尝试勇气", "敏感型学生:温和措辞,强调支持", "慢热型学生:肯定渐入佳境的过程", "根据能力优势调整侧重点" ], "output": ["personalized_content"] }, { "id": "step7_format_check", "name": "格式校验", "description": "检查输出格式和质量", "action": "format_check", "checklist": [ "字数符合要求(±10%)", "5个必写模块完整", "学生姓名正确", "无错别字", "无负面标签", "无比较性语言", "段落间距正确(段间空一行)" ], "output": ["verified_content"] }, { "id": "step8_output", "name": "输出与反馈", "description": "生成最终课评并呈现", "action": "output", "format": { "header": "【学生:{student}】{word_count}字 | {paragraph_count}段", "content": "{evaluation_content}", "footer": "---\n生成时间:{datetime}\n模板:{style_type}\n审核状态:待教师审核" }, "batch_mode": { "separator": "\n━━━━━━━━━━━━━━━━━━━━━━━\n", "summary": "批量生成完成({count}份)\n字数检查:{word_check}\n重复检查:{duplicate_check}" } } ] }, "input_templates": { "single_quick": "{student}:{performance} → {highlight}", "single_yaml": "学生:{student}\n班级:{class}\n课程:{course}\n表现:{performance}\n情绪:{emotion}\n对比:{compare}", "batch_table": "| 学生 | 核心表现 | 情绪 | 亮点/需关注 |\n|-----|---------|------|------------|" }, "quality_standards": { "word_count": { "幼儿积木": {"min": 180, "max": 220, "target": 200}, "少儿编程": {"min": 190, "max": 230, "target": 210}, "机器人竞赛": {"min": 200, "max": 240, "target": 220} }, "paragraph_count": { "min": 4, "max": 5 }, "forbidden_words": ["宝贝", "小天才", "最棒", "无敌", "超级厉害", "完美", "秒杀", "碾压"], "forbidden_patterns": ["比.*小朋友.*好", "其他.*不好", "最差", "最慢"] }, "error_handling": { "student_not_found": "未找到学生画像,使用通用模板生成。建议先建立画像档案以获得更个性化的课评。", "course_not_found": "未找到课程教案,请提供课程代码或手动输入知识点。", "missing_performance": "课堂表现为必填项,请描述学生本节课的关键行为。", "word_count_short": "⚠️ 字数偏短({actual}字),建议补充具体事例。", "word_count_long": "⚠️ 字数偏长({actual}字),建议精简描述。" }, "examples": { "example1": { "input": "小明:观望5分钟→主动搭3层→自己调高度,情绪稳定,比上周主动", "output": "小明今天学习了'互锁结构'——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固。\n\n互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成。\n\n这节课专注了约30分钟,中间想玩旁边教具,提醒后回来继续。最后主动给房子加了烟囱和窗户。\n\n和上周比,今天结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意。\n\n家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固今天的概念。" } }, "created_at": "2026-03-25", "version_history": [ {"version": "1.0.0", "date": "2026-03-25", "note": "初始版本,支持单学生和批量模式"} ] }