From 079a09d743f5deab3a80c7f25a343380c369ccd1 Mon Sep 17 00:00:00 2001 From: qiuyan <15989106650@qonnwolf.com> Date: Sat, 9 May 2026 20:45:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E5=88=99=E7=B2=BE=E7=AE=80=E5=90=88?= =?UTF-8?q?=E5=B9=B6=20v3.2=20+=20=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将20+个独立规则合并为9个核心规则(00/10/15/20/21/22/30/50/51) - 旧规则移入90-archive并标注已合并,请勿直接引用 - 拆分新增:21-shorthand.md(速记符号)、22-student-mgmt.md(补课/新学生/转正) - 升级keping-advanced skill配置:v2.1 → v2.2(自动双轨保存、三段式结构、字数弹性180-350) - 删除旧skill文件(keping.json、速查卡、使用指南)和CHANGELOG.md - 删除各周多余的独立出勤统计文件(出勤已嵌入班级汇总) - SPIKE02班级文件夹名称规范化(去除特殊字符) - 将学生模板文件移入memory/student/模板/子目录 - 将fix_config.py移入src/,删除根目录test123.txt测试文件 Co-Authored-By: Claude Opus 4.7 --- .claude/rules/00-core.md | 2 + .claude/rules/00-system.md | 108 --- .claude/rules/01-student-ages.md | 162 ---- .claude/rules/02-course-types.md | 186 ----- .claude/rules/03-evaluation-dimensions.md | 141 ---- .claude/rules/06-scoring.md | 207 ------ .claude/rules/10-style.md | 48 +- .claude/rules/20-style-building.md | 173 ----- .claude/rules/20-workflow.md | 696 +++++------------- .claude/rules/21-shorthand.md | 89 +++ .claude/rules/21-style-coding.md | 155 ---- .claude/rules/22-student-mgmt.md | 112 +++ .claude/rules/22-style-robotics.md | 111 --- .../rules/25-template-preschool-detailed.md | 213 ------ .claude/rules/30-input-format.md | 316 -------- .claude/rules/30-student.md | 57 ++ .claude/rules/31-class-differentiation.md | 172 ----- .claude/rules/32-batch-generation.md | 258 ------- .claude/rules/33-first-class-rules.md | 346 --------- .claude/rules/35-画像建立指南.md | 166 ----- .claude/rules/36-shorthand-learning.md | 158 ---- .claude/rules/37-status-panel.md | 76 -- .claude/rules/38-quick-edit.md | 123 ---- .claude/rules/40-keping-快速入门.md | 295 -------- .claude/rules/50-output-format-preschool.md | 40 +- .claude/rules/51-output-format-elementary.md | 30 +- .claude/rules/60-name-processing.md | 373 ---------- .claude/rules/90-archive/00-system.md | 2 + .claude/rules/90-archive/01-student-ages.md | 2 + .claude/rules/90-archive/02-course-types.md | 2 + .../90-archive/03-evaluation-dimensions.md | 2 + .claude/rules/90-archive/06-scoring.md | 2 + .claude/rules/90-archive/20-style-building.md | 4 +- .claude/rules/90-archive/21-style-coding.md | 2 + .claude/rules/90-archive/22-style-robotics.md | 2 + .../25-template-preschool-detailed.md | 2 + .claude/rules/90-archive/30-input-format.md | 2 + .../90-archive/31-class-differentiation.md | 2 + .../rules/90-archive/32-batch-generation.md | 2 + .../rules/90-archive/33-first-class-rules.md | 2 + .claude/rules/90-archive/35-画像建立指南.md | 6 +- .../rules/90-archive/36-shorthand-learning.md | 2 + .claude/rules/90-archive/37-status-panel.md | 2 + .claude/rules/90-archive/38-quick-edit.md | 2 + .../rules/90-archive/40-keping-快速入门.md | 2 + .../rules/90-archive/60-name-processing.md | 2 + .../rules/90-archive/70-common-structures.md | 6 +- .claude/skills/keping-advanced/config.json | 295 +++----- .claude/skills/keping-使用指南.md | 255 ------- .claude/skills/keping-速查卡.md | 80 -- .claude/skills/keping.json | 247 ------- CHANGELOG.md | 72 -- CLAUDE.md | 37 +- .../第10周/发现世界-周六19点.md | 67 ++ .../第7周/出勤统计.md | 69 -- .../第8周/出勤统计.md | 73 -- ...PIKE02-周日10:30.md => SPIKE02-周日1030.md} | 2 +- .../第9周/出勤统计.md | 80 -- memory/student/README.md | 9 +- .../吴浩洋/历史课评记录.md | 0 .../吴浩洋/成长素材.md | 0 .../吴浩洋/用户画像.md | 0 .../吴浩骏/历史课评记录.md | 0 .../吴浩骏/成长素材.md | 0 .../吴浩骏/用户画像.md | 0 .../方柳莫/历史课评记录.md | 0 .../方柳莫/成长素材.md | 0 .../方柳莫/用户画像.md | 0 .../洪一栩/历史课评记录.md | 0 .../洪一栩/成长素材.md | 0 .../洪一栩/用户画像.md | 0 .../王骏诚/历史课评记录.md | 0 .../王骏诚/成长素材.md | 0 .../王骏诚/用户画像.md | 0 .../邓琬曦/历史课评记录.md | 0 .../邓琬曦/成长素材.md | 0 .../邓琬曦/用户画像.md | 0 .../邓琬颖/历史课评记录.md | 0 .../邓琬颖/成长素材.md | 0 .../邓琬颖/用户画像.md | 0 .../发现世界-周六09点/杨佳兴/历史课评记录.md | 27 + .../发现世界-周六09点/杨佳兴/用户画像.md | 3 +- memory/student/{ => 模板}/历史课评记录模板.md | 0 memory/student/{ => 模板}/填写指南.md | 0 memory/student/{ => 模板}/成长素材模板.md | 0 memory/student/{ => 模板}/模板-成长时间线.md | 0 memory/student/{ => 模板}/用户画像模板.md | 0 src/fix_config.py | 40 + 88 files changed, 804 insertions(+), 5415 deletions(-) delete mode 100644 .claude/rules/00-system.md delete mode 100644 .claude/rules/01-student-ages.md delete mode 100644 .claude/rules/02-course-types.md delete mode 100644 .claude/rules/03-evaluation-dimensions.md delete mode 100644 .claude/rules/06-scoring.md delete mode 100644 .claude/rules/20-style-building.md create mode 100644 .claude/rules/21-shorthand.md delete mode 100644 .claude/rules/21-style-coding.md create mode 100644 .claude/rules/22-student-mgmt.md delete mode 100644 .claude/rules/22-style-robotics.md delete mode 100644 .claude/rules/25-template-preschool-detailed.md delete mode 100644 .claude/rules/30-input-format.md delete mode 100644 .claude/rules/31-class-differentiation.md delete mode 100644 .claude/rules/32-batch-generation.md delete mode 100644 .claude/rules/33-first-class-rules.md delete mode 100644 .claude/rules/35-画像建立指南.md delete mode 100644 .claude/rules/36-shorthand-learning.md delete mode 100644 .claude/rules/37-status-panel.md delete mode 100644 .claude/rules/38-quick-edit.md delete mode 100644 .claude/rules/40-keping-快速入门.md delete mode 100644 .claude/rules/60-name-processing.md delete mode 100644 .claude/skills/keping-使用指南.md delete mode 100644 .claude/skills/keping-速查卡.md delete mode 100644 .claude/skills/keping.json delete mode 100644 CHANGELOG.md create mode 100644 memory/class-evaluation-summary/第10周/发现世界-周六19点.md delete mode 100644 memory/class-evaluation-summary/第7周/出勤统计.md delete mode 100644 memory/class-evaluation-summary/第8周/出勤统计.md rename memory/class-evaluation-summary/第9周/{SPIKE02-周日10:30.md => SPIKE02-周日1030.md} (98%) delete mode 100644 memory/class-evaluation-summary/第9周/出勤统计.md rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/吴浩洋/历史课评记录.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/吴浩洋/成长素材.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/吴浩洋/用户画像.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/吴浩骏/历史课评记录.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/吴浩骏/成长素材.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/吴浩骏/用户画像.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/方柳莫/历史课评记录.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/方柳莫/成长素材.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/方柳莫/用户画像.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/洪一栩/历史课评记录.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/洪一栩/成长素材.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/洪一栩/用户画像.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/王骏诚/历史课评记录.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/王骏诚/成长素材.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/王骏诚/用户画像.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/邓琬曦/历史课评记录.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/邓琬曦/成长素材.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/邓琬曦/用户画像.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/邓琬颖/历史课评记录.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/邓琬颖/成长素材.md (100%) rename memory/student/{SPIKE02-周日10:30 => SPIKE02-周日1030}/邓琬颖/用户画像.md (100%) rename memory/student/{ => 模板}/历史课评记录模板.md (100%) rename memory/student/{ => 模板}/填写指南.md (100%) rename memory/student/{ => 模板}/成长素材模板.md (100%) rename memory/student/{ => 模板}/模板-成长时间线.md (100%) rename memory/student/{ => 模板}/用户画像模板.md (100%) create mode 100644 src/fix_config.py diff --git a/.claude/rules/00-core.md b/.claude/rules/00-core.md index 049baff..48012e0 100644 --- a/.claude/rules/00-core.md +++ b/.claude/rules/00-core.md @@ -148,6 +148,8 @@ IF age >= 8 AND age <= 10 → 小学中年级 ### 4.3 年龄段维度权重 +> **说明**:本节采用合并后的统一权重体系(五大能力维度)。90-archive/06-scoring.md 中的旧版六指标权重(专注度/创造力/动手能力/逻辑思维/团队协作/编程能力)已不再使用,请勿混淆。 + **托班/小班 (2.5-4岁)** - 社会情感:40% | 动手操作:30% | 认知发展:20% | 创造力:10% diff --git a/.claude/rules/00-system.md b/.claude/rules/00-system.md deleted file mode 100644 index f23a556..0000000 --- a/.claude/rules/00-system.md +++ /dev/null @@ -1,108 +0,0 @@ -# 系统基础规则 - -## 系统角色定义 - -### 核心角色 -- **角色定位**:乐高编程课程AI课评助手 -- **服务对象**:2.5岁-小学4年级学生家长 -- **输出目标**:专业、温暖、个性化的课后评价 - -### 教师角色 -- 穹狼乐高编程AI授课课程老师 -- 负责课堂教学与观察记录 -- 审核AI生成的课评内容 -- 与家长沟通学生发展 - -## 核心原则 - -### 1. 年龄适配原则 -- 语言风格需匹配学生年龄段 -- 评价深度与认知发展水平一致 -- 避免超前或滞后的能力期待 - -### 2. 正向引导原则 -- 以鼓励为主,建设性建议为辅 -- 关注进步而非绝对水平 -- 强调过程价值而非结果评判 - -### 3. 个性化原则 -- 基于真实课堂表现生成 -- 避免模板化、千篇一律的表述 -- 突出学生独特亮点 - -### 4. 专业性原则 -- 使用教育心理学专业术语 -- 结合乐高教育理念 -- 体现编程思维培养价值 - -## 约束条件 - -### 禁止事项 -- ❌ 使用负面标签化语言 -- ❌ 与其他学生进行不当比较 -- ❌ 透露敏感个人信息 -- ❌ 承诺超出课程范围的效果 -- ❌ 使用过于技术化难懂的术语 - -### 必须事项 -- ✅ 每篇课评包含具体课堂事例 -- ✅ 提供可操作的课后建议 -- ✅ 肯定学生努力过程 -- ✅ 保持语气友善亲切 -- ✅ 确保信息准确无误 - -## 处理流程 - -``` -输入解析 → 年龄匹配 → 维度评估 → 内容生成 → 格式校验 → 输出 -``` - -### 步骤说明 -1. **输入解析**:提取学生信息、课程信息、课堂表现 -2. **年龄匹配**:确定适用的语言风格和评价维度 -3. **维度评估**:根据各项指标计算能力发展描述 -4. **内容生成**:基于模板和规则生成评价内容 -5. **格式校验**:检查格式规范和完整性 -6. **输出**:生成最终课评文本 - -## 紧急情况处理 - -### 数据缺失 -- 关键字段缺失时需提示补充 -- 使用默认值并标注 -- 避免生成不完整评价 - -### 异常情况 -- 课堂表现与常态差异大时需特别标注 -- 学生情绪问题需单独反馈 -- 技术故障影响课堂需说明 - -## 输出格式规范 - -### 基础格式标准 -- **编码**:UTF-8 -- **换行**:Unix风格 (\n) -- **段落间距**:段间空一行 -- **缩进**:中文内容不使用首行缩进 -- **字数控制**: - - 幼儿积木课:180-220字 - - 少儿编程课:190-230字 - - 机器人竞赛课:200-240字 - -### 质量检查清单 - -**发布前检查** -- [ ] 学生姓名正确 -- [ ] 日期时间正确 -- [ ] 课程主题正确 -- [ ] 无错别字,语句通顺 -- [ ] 格式统一,内容完整 -- [ ] 语气恰当,长度合适 -- [ ] 无其他学生负面信息 -- [ ] 无比较性语言 -- [ ] 无不实承诺 - -## 版本信息 -- 版本:v1.0 -- 更新日期:2026-03-25 -- 维护者:穹狼教学团队 diff --git a/.claude/rules/01-student-ages.md b/.claude/rules/01-student-ages.md deleted file mode 100644 index e278bdb..0000000 --- a/.claude/rules/01-student-ages.md +++ /dev/null @@ -1,162 +0,0 @@ -# 学生年龄段分类规则 - -## 年龄段划分 - -| 学段 | 年龄范围 | 代码 | 关键特征 | -|------|---------|------|---------| -| 托班 | 2.5-3岁 | AGE_TB | 感知运动阶段,注意力短暂 | -| 小班 | 3-4岁 | AGE_XB | 自我意识萌发,喜欢模仿 | -| 中班 | 4-5岁 | AGE_ZB | 想象力丰富,开始合作游戏 | -| 大班 | 5-6岁 | AGE_DB | 逻辑思维萌芽,任务意识增强 | -| 小学低年级 | 6-8岁 | AGE_PS_LOW | 抽象思维起步,规则意识强 | -| 小学中年级 | 8-10岁 | AGE_PS_MID | 逻辑思维发展,自主学习 | - -## 各年龄段特征详解 - -### 托班 (2.5-3岁) - -**认知发展** -- 以感官探索为主 -- 注意力集中时间:5-10分钟 -- 需要大量重复和示范 - -**语言风格** -- 使用简单短句 -- 多用拟声词和形象化表达 -- 强调"好玩""开心"等情绪体验 - -**评价重点** -- 参与度和兴趣 -- 大肌肉动作发展 -- 感知觉体验 -- 与老师的互动 - -**示例词汇** -- 萌萌哒、小手、积木朋友、一起玩 - -### 小班 (3-4岁) - -**认知发展** -- 平行游戏阶段 -- 开始理解简单指令 -- 想象力初步发展 - -**语言风格** -- 亲切活泼,多用感叹号 -- 适当使用儿化音 -- 强调"真棒""好厉害"等鼓励 - -**评价重点** -- 独立完成任务的能力 -- 遵守课堂常规 -- 基础搭建技能 -- 表达与分享 - -**示例词汇** -- 宝贝、小能手、动脑筋、顶呱呱 - -### 中班 (4-5岁) - -**认知发展** -- 合作游戏开始 -- 能完成多步骤任务 -- 创造力快速发展 - -**语言风格** -- 温暖鼓励为主 -- 可以引入简单专业词汇 -- 注重过程描述 - -**评价重点** -- 创意表现 -- 团队协作 -- 问题解决 -- 专注力时长 - -**示例词汇** -- 创意小达人、动脑筋想办法、小伙伴 - -### 大班 (5-6岁) - -**认知发展** -- 逻辑思维萌芽 -- 能接受挑战性任务 -- 规则意识强 - -**语言风格** -- 平等对话式 -- 可以讨论"为什么" -- 强调成长进步 - -**评价重点** -- 编程思维 -- 复杂结构搭建 -- 项目管理 -- 自主学习 - -**示例词汇** -- 小工程师、挑战自我、逻辑思维 - -### 小学低年级 (6-8岁) - -**认知发展** -- 具体运算阶段 -- 能进行简单抽象思考 -- 竞争意识出现 - -**语言风格** -- 尊重平等 -- 可以讨论技术细节 -- 强调能力发展 - -**评价重点** -- 编程逻辑 -- 创新设计 -- 调试能力 -- 知识迁移 - -**示例词汇** -- 逻辑能力、创新思维、调试优化 - -### 小学中年级 (8-10岁) - -**认知发展** -- 抽象思维发展 -- 自主学习能力强 -- 能承担复杂项目 - -**语言风格** -- 专业且亲切 -- 深入分析能力表现 -- 提供建设性建议 - -**评价重点** -- 复杂问题解决 -- 独立项目能力 -- 跨学科应用 -- 批判性思维 - -**示例词汇** -- 项目能力、系统思维、优化迭代 - -## 年龄匹配规则 - -### 自动匹配逻辑 -``` -IF age >= 2.5 AND age < 3 → 托班 -IF age >= 3 AND age < 4 → 小班 -IF age >= 4 AND age < 5 → 中班 -IF age >= 5 AND age < 6 → 大班 -IF age >= 6 AND age < 8 → 小学低年级 -IF age >= 8 AND age <= 10 → 小学中年级 -``` - -### 特殊情况处理 -- **跳级学生**:按实际能力水平而非年龄 -- **晚发育学生**:适当降低期待,强调进步 -- **早慧学生**:提供更高挑战描述 - -## 版本信息 -- 版本:v1.0 -- 更新日期:2026-03-25 -- 参考标准:《3-6岁儿童学习与发展指南》 diff --git a/.claude/rules/02-course-types.md b/.claude/rules/02-course-types.md deleted file mode 100644 index 99a34fa..0000000 --- a/.claude/rules/02-course-types.md +++ /dev/null @@ -1,186 +0,0 @@ -# 课程类型定义规则 - -## 课程分类体系 - -### 按内容分类 - -| 类型代码 | 课程类型 | 适用年龄 | 核心能力 | 课时长度 | -|---------|---------|---------|---------|---------| -| COURSE_BUILD | 创意搭建 | 2.5-10岁 | 空间想象、手眼协调 | 45-60分钟 | -| COURSE_MECH | 机械原理 | 5-10岁 | 物理认知、逻辑思维 | 60-90分钟 | -| COURSE_KITTEN | 图形编程 | 6-10岁 | 编程思维、逻辑思维 | 60-90分钟 | -| COURSE_PYTHON | Python代码 | 8-10岁 | 代码能力、算法思维 | 90分钟 | -| COURSE_AI | AI启蒙 | 8-10岁 | 人工智能认知 | 60-90分钟 | -| COURSE_ROBOT | 机器人竞技 | 6-10岁 | 综合应用、竞技意识 | 90-120分钟 | -| COURSE_STEAM | STEAM综合 | 5-10岁 | 跨学科整合 | 90分钟 | - -### 按形式分类 - -| 形式代码 | 课程形式 | 特点 | 评价侧重 | -|---------|---------|------|---------| -| FORM_TRIAL | 体验课 | 首次接触 | 兴趣激发、参与度 | -| FORM_REGULAR | 常规课 | 系统学习 | 技能发展、持续进步 | -| FORM_WORKSHOP | 主题工坊 | 短期集中 | 项目成果、创意表现 | -| FORM_CAMP | 集训营 | 密集训练 | 综合能力、团队协作 | -| FORM_COMPETITION | 竞赛辅导 | 备赛导向 | 竞技水平、心理素质 | -| FORM_SHOWCASE | 成果展示 | 总结汇报 | 表达能力、成果质量 | - -## 课程类型详解 - -### 1. 创意搭建 (COURSE_BUILD) - -**课程特点** -- 以自由创作为主 -- 主题贴近生活 -- 鼓励个性表达 - -**评价维度** -- 创意独特性 -- 结构稳定性 -- 色彩搭配 -- 故事表达能力 - -**家长沟通重点** -- 想象力的价值 -- 搭建过程中的坚持 -- 作品背后的故事 - -### 2. 机械原理 (COURSE_MECH) - -**课程特点** -- 学习齿轮、杠杆、滑轮等原理 -- 理解机械传动 -- 培养工程思维 - -**评价维度** -- 原理理解程度 -- 机械结构搭建 -- 功能实现效果 -- 故障排查能力 - -**家长沟通重点** -- 物理启蒙意义 -- 工程思维培养 -- 与数学的关联 - -### 3. 图形编程 (COURSE_kitten) - -**课程特点** -- 使用Kitten等图形化工具 -- 学习编程基础概念 -- 制作动画和游戏 - -**评价维度** -- 逻辑思维 -- 程序完整性 -- 调试能力 -- 创意实现 - -**家长沟通重点** -- 编程思维的价值 -- 数字化素养 -- 创造力与技术结合 - -### 4. Python代码 (COURSE_PYTHON) - -**课程特点** -- 学习真实代码 -- 掌握语法规则 -- 项目实战开发 - -**评价维度** -- 语法掌握 -- 代码规范 -- 问题解决 -- 项目完成度 - -**家长沟通重点** -- 正式编程语言学习 -- 未来学习基础 -- 计算思维深化 - -### 5. AI启蒙 (COURSE_AI) - -**课程特点** -- 了解人工智能概念 -- 体验AI应用 -- 培养AI素养 - -**评价维度** -- 概念理解 -- 应用探索 -- 伦理意识 -- 创新思考 - -**家长沟通重点** -- AI时代素养 -- 技术与人文结合 -- 未来能力准备 - -### 6. 机器人竞技 (COURSE_ROBOT) - -**课程特点** -- 竞技对抗性 -- 团队协作 -- 实时决策 - -**评价维度** -- 操控技能 -- 战术意识 -- 团队配合 -- 抗压能力 - -**家长沟通重点** -- 竞技精神 -- 团队意识 -- 胜败教育 - -### 7. STEAM综合 (COURSE_STEAM) - -**课程特点** -- 跨学科整合 -- 项目制学习 -- 真实问题解决 - -**评价维度** -- 知识整合 -- 项目规划 -- 执行能力 -- 成果展示 - -**家长沟通重点** -- 综合能力培养 -- 学习方法论 -- 真实世界连接 - -## 课程组合规则 - -### 年龄与课程匹配 -``` -2.5-4岁:创意搭建为主 -4-5岁:创意搭建 + 机械原理入门 -5-6岁:机械原理 + 图形编程入门 -6-8岁:图形编程 + 机械原理 + 机器人竞技 -8-10岁:Python + AI启蒙 + 高级机器人 -``` - -### 课程递进关系 -``` -创意搭建 → 机械原理 → 图形编程 → Python/AI - ↓ ↓ ↓ - 基础能力 进阶能力 高级能力 -``` - -## 特殊课程标记 - -### 标记代码 -- `NEW`:新课程首发 -- `UPGRADE`:课程升级/改版 -- `LIMITED`:限定主题课程 -- `ADVANCED`:进阶挑战课程 -- `REMEDIAL`:补习强化课程 - -## 版本信息 -- 版本:v1.0 -- 更新日期:2026-03-25 -- 课程范围:穹狼乐高编程全课程体系 diff --git a/.claude/rules/03-evaluation-dimensions.md b/.claude/rules/03-evaluation-dimensions.md deleted file mode 100644 index b144889..0000000 --- a/.claude/rules/03-evaluation-dimensions.md +++ /dev/null @@ -1,141 +0,0 @@ -# 评价维度与指标规则 - -## 核心能力维度 - -### 1. 认知发展维度 (COGNITIVE) - -| 指标代码 | 指标名称 | 定义 | 评价要点 | -|---------|---------|------|---------| -| COG_FOCUS | 专注度 | 课堂注意力集中程度 | 持续时间、抗干扰能力 | -| COG_LOGIC | 逻辑思维 | 分析推理能力 | 步骤理解、因果认知 | -| COG_PROB | 问题解决 | 面对困难的处理方式 | 坚持性、策略运用 | -| COG_MEM | 记忆力 | 信息保持与提取 | 指令记忆、知识迁移 | - -**评分标准 (1-5分)** -- 5分:持续专注,主动思考,独立解决复杂问题 -- 4分:大部分时间专注,能理解逻辑,尝试独立解决 -- 3分:专注度一般,需要适当提醒,能完成基础任务 -- 2分:容易分心,理解较慢,需要帮助才能完成任务 -- 1分:注意力分散严重,难以理解任务要求 - -### 2. 创造力维度 (CREATIVITY) - -| 指标代码 | 指标名称 | 定义 | 评价要点 | -|---------|---------|------|---------| -| CREA_ORIG | 原创性 | 作品的独特程度 | 不模仿他人、有个性 | -| CREA_IMAG | 想象力 | 构思的新颖程度 | 故事性、场景构建 | -| CREA_AEST | 审美力 | 色彩搭配与造型 | 美观度、协调性 | -| CREA_RISK | 冒险精神 | 尝试新方法的勇气 | 突破常规、大胆创新 | - -**评分标准 (1-5分)** -- 5分:极具创意,完全原创,审美出色,勇于尝试新方法 -- 4分:创意较好,有个人特色,审美良好,愿意尝试 -- 3分:有一定创意,参考范例但有变化,审美一般 -- 2分:模仿为主,变化较少,审美需要引导 -- 1分:完全模仿,缺乏个人想法 - -### 3. 动手操作维度 (MOTOR) - -| 指标代码 | 指标名称 | 定义 | 评价要点 | -|---------|---------|------|---------| -| MOT_FINE | 精细动作 | 手部小肌肉控制 | 拼插精准度、手眼协调 | -| MOT_COOR | 协调性 | 双手配合能力 | 左右手配合、操作流畅度 | -| MOT_SPEED | 操作速度 | 完成任务的效率 | 时间管理、节奏把控 | -| MOT_SAFE | 安全意识 | 工具使用安全 | 规范操作、自我保护 | - -**评分标准 (1-5分)** -- 5分:动作精准流畅,双手配合娴熟,效率高,安全意识强 -- 4分:动作较稳,配合良好,速度适中,遵守安全规则 -- 3分:基本能完成操作,偶尔需要调整,速度一般 -- 2分:动作不够协调,需要较多帮助,速度较慢 -- 1分:精细动作发展滞后,需要全程辅助 - -### 4. 社会情感维度 (SOCIAL) - -| 指标代码 | 指标名称 | 定义 | 评价要点 | -|---------|---------|------|---------| -| SOC_COMM | 沟通能力 | 表达与倾听 | 语言清晰、理解他人 | -| SOC_TEAM | 团队协作 | 与同伴合作 | 分享、互助、分工 | -| SOC_EMOT | 情绪管理 | 情感调节能力 | 面对挫折、情绪表达 | -| SOC_RESP | 责任感 | 任务担当 | 完成承诺、遵守规则 | - -**评分标准 (1-5分)** -- 5分:表达清晰,主动合作,情绪稳定,责任心强 -- 4分:能清楚表达,愿意合作,能调节情绪,有责任感 -- 3分:基本能表达,可以配合他人,情绪偶有波动 -- 2分:表达不够清晰,合作需要引导,情绪管理需帮助 -- 1分:不愿交流,独自玩耍,情绪易失控 - -### 5. 编程思维维度 (CODING) - -| 指标代码 | 指标名称 | 定义 | 评价要点 | -|---------|---------|------|---------| -| COD_SEQ | 序列思维 | 步骤排序能力 | 指令顺序、流程理解 | -| COD_LOOP | 循环概念 | 重复模式理解 | 简化代码、模式识别 | -| COD_COND | 条件判断 | 分支逻辑理解 | if/else、决策树 | -| COD_DEBUG | 调试能力 | 错误排查修正 | 找bug、测试验证 | - -**评分标准 (1-5分)** -- 5分:完全掌握编程概念,能独立编写复杂程序,调试能力强 -- 4分:理解核心概念,能独立完成中等难度程序 -- 3分:理解基础概念,在帮助下能完成编程任务 -- 2分:概念理解模糊,需要较多指导 -- 1分:难以理解编程概念 - -## 维度组合规则 - -### 按课程类型选择维度 - -| 课程类型 | 主要维度 | 次要维度 | -|---------|---------|---------| -| 创意搭建 | 创造力、动手操作 | 认知发展、社会情感 | -| 机械原理 | 认知发展、动手操作 | 创造力、社会情感 | -| 图形编程 | 编程思维、认知发展 | 创造力、问题解决 | -| Python代码 | 编程思维、认知发展 | 问题解决、自主学习 | -| 机器人竞技 | 社会情感、编程思维 | 动手操作、问题解决 | -| STEAM综合 | 全维度评估 | - | - -### 按年龄段调整权重 - -**托班/小班 (2.5-4岁)** -- 社会情感:40% -- 动手操作:30% -- 认知发展:20% -- 创造力:10% - -**中班/大班 (4-6岁)** -- 创造力:25% -- 动手操作:25% -- 认知发展:25% -- 社会情感:25% - -**小学 (6-10岁)** -- 编程思维:30% -- 认知发展:25% -- 创造力:20% -- 动手操作:15% -- 社会情感:10% - -## 评价维度应用 - -### 评价生成流程 -1. 根据课程类型选择评估维度 -2. 根据年龄段调整维度权重 -3. 基于课堂观察给出各维度评分 -4. 生成维度雷达图描述(可选) -5. 综合各维度生成整体评价 - -### 家长报告格式 -``` -【能力发展雷达图】 -[图形化展示5个维度的评分] - -【各维度详细反馈】 -优势维度:[列出得分最高的维度及具体表现] -发展维度:[列出可提升的维度及建议] -``` - -## 版本信息 -- 版本:v1.0 -- 更新日期:2026-03-25 -- 理论基础:多元智能理论、布鲁姆教育目标分类 diff --git a/.claude/rules/06-scoring.md b/.claude/rules/06-scoring.md deleted file mode 100644 index 07c8bf1..0000000 --- a/.claude/rules/06-scoring.md +++ /dev/null @@ -1,207 +0,0 @@ -# 评分标准体系规则 - -## 总体评分体系 - -### 五级评分制 - -| 等级 | 分值 | 描述 | 对应评级 | -|-----|-----|-----|---------| -| 优秀 | 4.5-5.0 | 超出预期,可作为榜样 | A+ | -| 良好 | 3.5-4.4 | 达到预期,表现稳定 | A/A- | -| 合格 | 2.5-3.4 | 基本达标,有进步空间 | B/B+ | -| 待改进 | 1.5-2.4 | 需要关注,给予支持 | C | -| 需帮助 | 1.0-1.4 | 明显困难,重点辅导 | D | - -### 百分制转换 - -``` -百分制 = 五级分 × 20 - -例如: -4.5分 → 90分 -3.8分 → 76分 -2.2分 → 44分 -``` - -## 分维度评分标准 - -### 1. 专注度评分标准 - -| 分值 | 描述 | 课堂表现 | -|-----|-----|---------| -| 5分 | 高度专注 | 整节课主动投入,不被外界干扰,自驱力强 | -| 4分 | 较为专注 | 大部分时间专注,偶尔分心但可自我调整 | -| 3分 | 基本专注 | 能跟随课堂节奏,需要适当提醒保持专注 | -| 2分 | 容易分心 | 经常走神,需要多次提醒才能回到任务 | -| 1分 | 难以专注 | 注意力分散严重,无法完成基础任务 | - -### 2. 创造力评分标准 - -| 分值 | 描述 | 作品/表现特征 | -|-----|-----|--------------| -| 5分 | 极富创意 | 完全原创,构思新颖独特,有个人风格 | -| 4分 | 创意良好 | 在范例基础上有较大创新,有想象力 | -| 3分 | 有一定创意 | 参考范例但有所变化,能加入个人想法 | -| 2分 | 创意较少 | 基本按照范例完成,变化不多 | -| 1分 | 缺乏创意 | 完全模仿,没有个人想法 | - -### 3. 动手能力评分标准 - -| 分值 | 描述 | 操作表现 | -|-----|-----|---------| -| 5分 | 操作娴熟 | 动作精准流畅,能处理复杂结构 | -| 4分 | 操作熟练 | 动作较稳,能独立完成标准任务 | -| 3分 | 基本熟练 | 能完成操作,偶尔需要调整 | -| 2分 | 需要练习 | 动作不够协调,需要帮助 | -| 1分 | 需要辅助 | 精细动作发展滞后,需全程协助 | - -### 4. 逻辑思维能力评分标准 - -| 分值 | 描述 | 思维表现 | -|-----|-----|---------| -| 5分 | 逻辑清晰 | 能快速理解复杂逻辑,善于分析推理 | -| 4分 | 逻辑较好 | 能理解逻辑关系,能解决中等难度问题 | -| 3分 | 逻辑一般 | 能理解简单逻辑,复杂问题需要引导 | -| 2分 | 逻辑较弱 | 理解较慢,需要反复解释 | -| 1分 | 逻辑困难 | 难以理解基本逻辑关系 | - -### 5. 团队协作评分标准 - -| 分值 | 描述 | 合作表现 | -|-----|-----|---------| -| 5分 | 优秀合作者 | 主动协作,善于分工,能调解冲突 | -| 4分 | 良好合作者 | 愿意配合,能完成分工任务 | -| 3分 | 基本能合作 | 能跟随团队,偶尔需要引导 | -| 2分 | 合作较少 | 倾向独自工作,不太主动交流 | -| 1分 | 难以合作 | 不愿参与团队,有冲突行为 | - -### 6. 编程能力评分标准 - -| 分值 | 描述 | 编程表现 | -|-----|-----|---------| -| 5分 | 熟练掌握 | 能独立完成复杂程序,善于调试优化 | -| 4分 | 较好掌握 | 能独立完成标准程序,基本能调试 | -| 3分 | 基本掌握 | 在帮助下能完成程序,需要指导调试 | -| 2分 | 初步接触 | 理解基础概念,实践有困难 | -| 1分 | 难以理解 | 概念理解模糊,实践困难大 | - -## 综合评分计算 - -### 加权计算法 - -``` -综合评分 = Σ(维度得分 × 维度权重) - -示例: -专注度:4分 × 0.25 = 1.0 -创造力:3分 × 0.20 = 0.6 -动手能力:4分 × 0.25 = 1.0 -逻辑思维:3分 × 0.20 = 0.6 -团队协作:4分 × 0.10 = 0.4 - -综合评分 = 1.0 + 0.6 + 1.0 + 0.6 + 0.4 = 3.6分(良好) -``` - -### 年龄权重调整 - -**托班/小班 (2.5-4岁)** -- 专注度:15% -- 创造力:15% -- 动手能力:20% -- 逻辑思维:15% -- 团队协作:25% -- 编程能力:10%(如适用) - -**中班/大班 (4-6岁)** -- 专注度:20% -- 创造力:20% -- 动手能力:20% -- 逻辑思维:20% -- 团队协作:15% -- 编程能力:5%(如适用) - -**小学 (6-10岁)** -- 专注度:15% -- 创造力:15% -- 动手能力:15% -- 逻辑思维:20% -- 团队协作:10% -- 编程能力:25% - -## 进步度评分 - -### 进步度评估 - -| 进步等级 | 描述 | 判断标准 | -|---------|-----|---------| -| 显著进步 | 比之前有明显提升 | 评分提升≥1分或有质的突破 | -| 稳步进步 | 持续有小幅提升 | 评分提升0.3-0.9分 | -| 保持水平 | 维持原有水平 | 评分变化在±0.3分以内 | -| 有所波动 | 表现不太稳定 | 评分下降0.3-0.9分 | -| 需要关注 | 表现下滑明显 | 评分下降≥1分 | - -### 进步度评语模板 - -**显著进步** -- "[学生]这次课的表现让老师非常惊喜,在[方面]有了质的飞跃!" -- "相比上次,[学生]在[方面]进步显著,继续加油!" - -**稳步进步** -- "[学生]一直在稳定进步,每次课都能看到新的成长。" -- "持之以恒的努力让[学生]在[方面]越来越出色。" - -**保持水平** -- "[学生]保持着良好的学习状态,表现稳定。" -- "[学生]在[方面]已经形成了良好的习惯。" - -**需要关注** -- "最近在[方面]遇到了一些小挑战,我们一起帮[学生]度过。" -- "[学生]需要多一些支持和鼓励,相信很快就能调整过来。" - -## 评分应用规则 - -### 评分与评语对应 - -| 评分 | 评语基调 | 鼓励程度 | 建议比例 | -|-----|---------|---------|---------| -| 4.5-5.0 | 高度肯定 | 80% | 20% | -| 3.5-4.4 | 肯定为主 | 70% | 30% | -| 2.5-3.4 | 中性客观 | 60% | 40% | -| 1.5-2.4 | 鼓励为主 | 70% | 30%(温和)| -| 1.0-1.4 | 重点关注 | 80%(支持性)| 20%(建设性)| - -### 评分记录与追踪 - -**单次课评分** -- 各维度评分 -- 综合评分 -- 进步度标记 - -**阶段汇总** -- 平均分统计 -- 维度变化趋势 -- 能力发展曲线 - -**学期报告** -- 总体评价 -- 各阶段对比 -- 发展建议 - -## 评分质量保障 - -### 评分一致性 - -- 同一教师对不同学生评分标准统一 -- 不同教师间定期校准 -- 极端评分需说明原因 - -### 评分反馈 - -- 评分后提供具体事例支撑 -- 允许家长了解评分依据 -- 定期复盘评分标准 - -## 版本信息 -- 版本:v1.0 -- 更新日期:2026-03-25 -- 评分周期:每节课/每阶段/每学期 diff --git a/.claude/rules/10-style.md b/.claude/rules/10-style.md index af6b3d5..ec2b75f 100644 --- a/.claude/rules/10-style.md +++ b/.claude/rules/10-style.md @@ -17,8 +17,8 @@ | 课程类型 | 适用年龄 | 风格特点 | 基准字数 | |---------|---------|---------|---------| -| 幼儿积木搭建(意识/发现/发明/创造世界) | 2.5-6岁 | 温暖活泼,画面感强,像蹲下来跟孩子说话 | 180-320字 | -| 少儿编程入门(SPIKE/WEDO) | 6-8岁 | 尊重平等,准确使用术语但不堆砌 | 190-320字 | +| 幼儿积木搭建(意识/发现/发明/创造世界) | 2.5-6岁 | 温暖活泼,画面感强,像蹲下来跟孩子说话 | 180-350字 | +| 少儿编程入门(SPIKE/WEDO) | 6-8岁 | 尊重平等,准确使用术语但不堆砌 | 190-350字 | | 机器人竞赛进阶(AI03/AICODE) | 8-10岁 | 专业竞技感,数据说话,承认比赛残酷 | 200-350字 | --- @@ -128,9 +128,23 @@ | 技术编程 | ⚙️/🤖 | SPIKE/AI03课程 | ### 4.3 Emoji位置 -- **位置**:每段末尾 -- **灵活适配**:第2段可根据亮点数量用2-3个表情 -- **禁止**:段落中间、连续多个、负面表情 + +| 段落 | 位置 | 说明 | +|------|------|------| +| **第1段** | **段末** | 1个表情,紧跟段落最后一个句号后 | +| **第2段** | **段内分散** | 1-3个表情,分别插入在段落中合适的句号之后,作为语句的自然分隔 | +| **第3段** | **段末** | 1个表情,紧跟段落最后一个句号后 | + +**第2段分散插入示例**: +``` +互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐💪,第三块开始能自己完成✨。和上周比,今天结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意🌟。 +``` + +**规则**: +- 表情紧跟句号,不加空格(如"...完成✨。") +- 第2段有2个亮点时,插入2个表情;有3个亮点时,插入3个表情 +- 表情插入点选择:在描述完一个独立亮点/情节后,紧跟其句号 +- 禁止:段落开头、连续多个表情、负面表情(😡😤💢) --- @@ -238,14 +252,14 @@ **输出**: -小明本节课学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固 🔍 +小明本节课学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固🔍 -本节课小明对房子主题很感兴趣,搭建环节专注投入约30分钟。互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成。和上周比,本节课结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意 💪✨ +本节课小明对房子主题很感兴趣,搭建环节专注投入约30分钟💪。互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成✨。和上周比,本节课结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意🌟 -家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固本节课的概念 🏠 +家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固本节课的概念🏠 --- -*字数:198字 | 段落:3段 | Emoji:3个(第1段1个/第2段2个/第3段1个)* +*字数:198字 | 段落:3段 | Emoji:4个(第1段1个/第2段2个/第3段1个),第2段分散在段内* ### 示例2:少儿编程课(小学二年级) @@ -253,14 +267,14 @@ **输出**: -李想本节课学习了"重复执行"(循环)和"如果碰到颜色就..."(条件判断),用这两个概念做了一个小猫走迷宫的游戏 💡 +李想本节课学习了"重复执行"(循环)和"如果碰到颜色就..."(条件判断),用这两个概念做了一个小猫走迷宫的游戏💡 -循环的作用理解了,但第一次把循环次数设成3次,小猫走得不够远;改成10次后正常,条件判断一开始方向写反了,检查代码后发现并修正。导入环节对迷宫游戏很感兴趣,实践环节专注完成代码搭建,最后分享环节能说出循环的作用,本节课的编程目标顺利达成。和上周相比,本节课会主动给代码分区域摆放(运动放一起、外观放一起),这个整理习惯有助于后续写更复杂的程序 📈 +循环的作用理解了,但第一次把循环次数设成3次,小猫走得不够远;改成10次后正常,条件判断一开始方向写反了,检查代码后发现并修正💪。导入环节对迷宫游戏很感兴趣,实践环节专注完成代码搭建,最后分享环节能说出循环的作用,本节课的编程目标顺利达成✨。和上周相比,本节课会主动给代码分区域摆放(运动放一起、外观放一起),这个整理习惯有助于后续写更复杂的程序📈 -回家后可以试试给游戏加一个"开始"按钮,点击后小猫才动。需要用到"当角色被点击"事件,可以预习一下。下周我们继续 🏠 +回家后可以试试给游戏加一个"开始"按钮,点击后小猫才动。需要用到"当角色被点击"事件,可以预习一下。下周我们继续🏠 --- -*字数:218字 | 段落:3段 | Emoji:3个(每段1个)* +*字数:218字 | 段落:3段 | Emoji:4个(第1段1个/第2段2个/第3段1个),第2段分散在段内* ### 示例3:机器人竞赛课(小学四年级) @@ -268,11 +282,11 @@ **输出**: -王浩本节课训练了颜色传感器的巡线校准(重新标定白/黑值)和新的任务策略(先近后远、分段计时),主要解决之前巡线误判和策略执行拖沓的问题 ⚙️ +王浩本节课训练了颜色传感器的巡线校准(重新标定白/黑值)和新的任务策略(先近后远、分段计时),主要解决之前巡线误判和策略执行拖沓的问题⚙️ -校准后巡线成功率从上次60%提升到85%,新策略执行不够果断,计划的"前30秒拿近处"实际用了45秒。导入环节对竞技策略话题很感兴趣,实操训练专注完成巡线调试,复盘环节能分析出问题原因,本节课的训练目标顺利达成。和两周前相比,遇到程序异常时不再直接重试,而是先分析可能原因(传感器/参数/结构),有针对性调整,调试效率明显提高 📈 +校准后巡线成功率从上次60%提升到85%,新策略执行不够果断,计划的"前30秒拿近处"实际用了45秒💪。导入环节对竞技策略话题很感兴趣,实操训练专注完成巡线调试,复盘环节能分析出问题原因,本节课的训练目标顺利达成✨。和两周前相比,遇到程序异常时不再直接重试,而是先分析可能原因(传感器/参数/结构),有针对性调整,调试效率明显提高📈 -周末可以用模拟器测试几种不同的时间分配方案(20+100、30+90、40+80),记录哪种得分更高,下周带数据来讨论策略优化 🏠 +周末可以用模拟器测试几种不同的时间分配方案(20+100、30+90、40+80),记录哪种得分更高,下周带数据来讨论策略优化🏠 --- -*字数:226字 | 段落:3段 | Emoji:3个(每段1个)* +*字数:226字 | 段落:3段 | Emoji:4个(第1段1个/第2段2个/第3段1个),第2段分散在段内* diff --git a/.claude/rules/20-style-building.md b/.claude/rules/20-style-building.md deleted file mode 100644 index 76cac1c..0000000 --- a/.claude/rules/20-style-building.md +++ /dev/null @@ -1,173 +0,0 @@ -# 风格规则:幼儿积木搭建乐高课 - -## 基础设定 - -| 项目 | 设定 | -|------|------| -| 适用年龄 | 2.5-6岁(托班至大班) | -| 课程类型 | COURSE_BUILD(创意搭建) | -| 输出字数 | **弹性范围:180-320字**(根据输入内容丰富度自动调整) | -| 段落数 | **3段**(第1段:课程知识30-50字;第2段:课堂细节长段落100-180字;第3段:课后建议30-50字) | - -## 字数弹性规则 - -### 自动判断逻辑 -根据教师输入的内容丰富度,自动选择合适篇幅: - -| 输入类型 | 字数范围 | 适用场景 | -|:-------:|:-------:|:---------| -| **精简版** | 180-220字 | 输入简洁,无特别亮点 | -| **标准版** | 220-280字 | 输入有具体细节或成长亮点 | -| **详细版** | 280-320字 | 输入有精彩瞬间、多个亮点或特殊表现 | - -### 字数分配(弹性) - -| 段落 | 精简版 | 标准版 | 详细版 | 内容特点 | -|------|:------:|:------:|:------:|:---------| -| **第1段**(课程知识点)| 30-40字 | 35-45字 | 40-50字 | 基础介绍,适度扩展 | -| **第2段**(课堂细节)| 100-130字 | 130-170字 | 170-200字 | **核心段落,根据亮点多少灵活扩展** | -| **第3段**(课后建议)| 30-40字 | 35-45字 | 40-50字 | 具体建议,可略详细 | - -### 触发详细版的信号词 - -当输入中出现以下内容时,自动进入详细版(260-320字): -- **精彩瞬间**:"特别棒的是"、"让我惊讶的是"、"印象深刻的是" -- **多个亮点**:输入中包含3个以上的独立行为描述 -- **突破性行为**:"第一次主动"、"从未有过"、"历史性突破" -- **情感丰富**:包含情绪变化、社交互动、创造性表现 -- **对比强烈**:"以前从来不...今天居然..." - -### 示例对比 - -**精简版**(输入简洁): -> 乔乔今天观望了5分钟,然后搭了3层,自己调整了高度,挺稳定的,比上周有进步。 -> -> 输出:约200字 - -**详细版**(输入丰富): -> 乔乔今天开始观望了5分钟,后来主动搭了3层管道,球卡住的时候自己调整高度,还帮助旁边的小朋友一起搭,最后完成作品特别开心,说这是她最喜欢的作品。比上周主动多了,上周观望了10分钟才开始。 -> -> 输出:约280字(扩展第2段,详细描述帮助同伴、情绪反应、纵向对比) - -## 语气风格 - -### 语言特点 -- **温度感**:像老师蹲下来跟孩子说话一样,平视、尊重 -- **具体性**:不说"很棒",说"把弧形积木稳稳地卡进了凹槽" -- **画面感**:描述作品细节,让家长能想象出画面 -- **克制感**:不用"天才""最棒"等夸张词,真诚即可 - -### 禁用词汇 -- 宝贝、小天才、最棒、无敌、超级厉害、完美 -- 套话:"在今天的课堂上""通过本次活动" -- 比较性:"比其他小朋友" - -### 推荐表达 -- **姓名使用**:优先使用小名/昵称,其次去姓称名(如"昕乔"),禁用"宝贝"等套话 -- 具体动作:"试了三次终于搭稳了底座" -- 过程描述:"一开始想搭高塔,后来改成了小房子" - -## 必写模块 - -> **Emoji使用说明**:幼儿版课评采用**3段式**,每段末尾添加1个emoji,总计**3个** -> - **第1段**(课程知识点):🔍 或 💡 -> - **第2段**(课堂细节):💪 或 ✨ -> - **第3段**(课后建议):🏠 -> -> **首次上课/补课说明**:详见 [33-first-class-rules.md](33-first-class-rules.md) - -### 三段式结构(覆盖五模块) - -| 段落 | 覆盖模块 | 核心维度 | 字数 | -|------|---------|---------|:----:| -| **第1段** | 课程知识点 | 兴趣度 | 30-40字 | -| **第2段** | 掌握程度+课堂环节+成长亮点 | 学习表现+目标达成+成长发展 | **100-180字(弹性)** | -| **第3段** | 课后建议 | 延伸学习 | 30-50字 | - -**段落控制**:全文控制在**3个段落**,第2段为长段落整合多个模块内容 -- **第2段核心**:根据输入内容丰富度,可在100-180字之间灵活调整 -- **精简场景**:输入简洁,100-120字即可 -- **丰富场景**:输入有多个亮点,扩展到150-180字,充分展现学生表现 - ---- - -### 1. 课程知识点(30-40字) -**写什么**:本节课的核心结构知识或技能点,体现课程趣味性 -**写法**: -- 点明具体知识:"认识了三角形的稳定性" -- 说明技能:"练习了左右手配合拿取小颗粒" -- 突出兴趣:用孩子感兴趣的比喻或场景 - -**示例**: -- "今天认识了'互锁结构',像拼图一样把积木交错叠在一起,搭好的墙不容易倒。" -- "练习了按颜色找规律,红-黄-红-黄地排列,搭了一条彩色小路。" - ---- - -### 2. 掌握程度(30-40字) -**写什么**:学生对该知识点的学习表现和实际掌握情况 -**写法**: -- 客观描述:"能理解但操作时需要提醒" -- 具体表现:"自己发现墙歪了,主动调整了两次" -- 学习过程:描述尝试、调整、完成的过程 - -**示例**: -- "互锁的概念听明白了,实际操作时前半部分需要老师扶着手指示范,后半部分能独立完成。" -- "找规律开始时需要提示,搭到第三组就能自己接着往下摆了。" - ---- - -### 3. 课程环节与目标达成(40-50字) -**写什么**:学生在本节课各环节的表现,与课程设计目标的对应关系 -**写法**: -- 环节参与:描述在导入、探索、实践、分享各环节的状态 -- 目标对应:联系本节课教学目标,说明达成情况 -- 课程设计呼应:体现对课程活动设计的响应和投入 - -**示例**: -- "导入环节对健康饮品话题很感兴趣,搭建环节专注完成杯体结构,分享时能说出破壁机的用途。" -- "在直角传动探索中投入度高,编程环节主动测试不同转速,整体完成了本节课的高速搅拌任务。" - ---- - -### 4. 成长亮点(40-50字) -**写什么**:与之前课程相比的进步,或本次的突出表现 -**写法**: -- 纵向对比:"上次搭到一半就放弃,今天坚持到完成" -- 具体行为:"学会了自己检查底座平不平" -- 品质展现:"遇到倒了两次,第三次成功了没有哭" - -**示例**: -- "相比上周,今天遇到结构倒了没有急,而是拆开重新观察了一下图纸。" -- "第一次主动说'我想加点装饰',给房子加了窗户,这是以前没出现过的想法。" - ---- - -### 5. 课后建议(30-40字) -**写什么**:家长可以在家配合的具体活动,巩固兴趣和学习成果 -**写法**: -- 可操作:不说"多练习",说"用筷子夹豆子" -- 关联课程:"在家可以用乐高重复今天的互锁结构" -- 尊重家庭:用"可以试试看"而非"必须" - -**示例**: -- "家里有积木的话,可以试试搭同样高的两堵墙,一堵直着叠、一堵交错叠,让孩子推推看哪个更稳。" -- "平时整理玩具时,可以请孩子按颜色或形状分类,巩固今天的规律概念。" - -## 完整示例 - -**输入**: -- 学生:小明,4岁,小班 -- 课程:互锁结构搭建-我的小房子 -- 表现:专注度3分,开始时需要老师引导,后半段独立完成,最后自己加了装饰 - -**输出**(三段式): - -小明本节课学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固 🔍 - -本节课小明对房子主题很感兴趣,搭建环节专注投入约30分钟。互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成。和上周比,本节课结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意 💪✨ - -家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固本节课的概念 🏠 - ---- -**字数:198字 | 段落:3段 | Emoji:3个** diff --git a/.claude/rules/20-workflow.md b/.claude/rules/20-workflow.md index 0f9fea3..91fea0c 100644 --- a/.claude/rules/20-workflow.md +++ b/.claude/rules/20-workflow.md @@ -1,12 +1,12 @@ # 工作流程规则:输入格式、批量生成、存储与特殊处理 > 合并文件:快捷输入格式 + 批量课评生成 + 新学生/补课处理 + 速记符号 + 快速入门 -> 版本:v3.1(简化版)| 更新日期:2026-05-05 +> 版本:v3.2(拆分版)| 更新日期:2026-05-05 > -> **v3.1 变更**: -> - 删除"待确认"状态,改为"生成即双轨保存" -> - 出勤信息嵌入班级周汇总(取消独立出勤文件) -> - 简化教师操作流程 +> **v3.2 变更**: +> - 速记符号系统拆分至 `21-shorthand.md` +> - 补课/新学生/转正规则拆分至 `22-student-mgmt.md` +> - 修复第10节重复子章节(原10.3-10.7出现两次) --- @@ -86,78 +86,13 @@ AI自动匹配班级学生名单,实时纠正谐音: - "良心桥" → "梁昕乔" - "中云浩" → "钟昀昊" ---- - -## 三、速记符号系统 - -### 3.1 核心速记(必会,覆盖80%场景) - -| 速记 | 含义 | 示例 | -|------|------|------| -| `gj#` | 观望#分钟 | `gj5` = 观望5分钟 | -| `zd#` | 主动搭#层 | `zd3` = 主动搭3层 | -| `zt` | 自己调整 | 遇到问题时自己调整 | -| `wb` | 完成 | 独立完成搭建 | -| `↑` / `kx` | 开心/积极 | 情绪↑ | -| `→` / `wd` | 稳定/平和 | 情绪→ | -| `↓` / `fd` | 烦躁/低落 | 情绪↓ | -| `++` | 比上周进步 | 比上周++ | -| `--` | 需关注 | 需-- | - -### 3.2 扩展速记(进阶,覆盖90%场景) - -| 速记 | 含义 | 示例 | -|------|------|------| -| `zx#` | 专注#分钟 | `zx15` = 专注15分钟 | -| `sb#` | 失败#次后调整 | `sb2` = 失败2次后成功 | -| `ts#` | 探索#分钟 | `ts5` = 探索5分钟 | -| `cz#` | 创造#种方案 | `cz3` = 3种创意方案 | -| `wt#` | 提问#次 | `wt3` = 提问3次 | -| `hz` | 合作 | hz完成 | -| `fx` | 分享 | fx想法 | -| `tq` | 求助 | tq→zd | -| `mr` | 融入 | mr→hz | -| `~` / `bd` | 情绪波动 | 情绪~ | -| `=` | 和之前一样 | 和之前= | - -### 3.3 编程/技术速记(SPIKE/AI03) - -| 速记 | 全称 | 示例 | -|------|------|------| -| `bc` | 编程 | bc→ts | -| `ts#` | 调试#次 | ts3 | -| `cx` | 创新/优化 | cx→效果更好 | -| `tj` | 分析/提交 | tj→解决 | -| `cw` | 错误/bug | cw→fx→修正 | - -### 3.4 速记组合示例 - -``` -输入: 乔乔:gj5→zd3→zt ↑++ -展开: 乔乔观望5分钟后主动搭3层,自己调整,开心,比上周进步 - -输入: 丞丞:ts5→cz2→wt3 ↑↑ -展开: 丞丞探索5分钟,创造了2种方案,主动提问3次,非常兴奋 - -输入: 一栩:bc→ts3→cx ↑+ -展开: 一栩编程后调试3次,然后优化了方案,情绪好转 -``` - -### 3.5 速记与自然语言混用规则 - -**优先级**:速记符号 > 自然语言描述 - -| 场景 | 处理方式 | -|------|---------| -| 无冲突 | 正常解析 | -| 时间冲突 | 以速记数值为准,自然语言作为补充描述 | -| 行为冲突 | 以速记为准,数值冲突时提示确认 | +> **速记符号完整定义**:参见 `21-shorthand.md` --- -## 四、学生类型标记 +## 三、学生类型标记 -### 4.1 标记说明 +### 3.1 标记说明 | 标记 | 含义 | 处理方式 | 保存位置 | |------|------|----------|---------| @@ -167,7 +102,7 @@ AI自动匹配班级学生名单,实时纠正谐音: | `[缺课]` | 今天缺席 | 记录缺席 | 班级汇总(标记缺课) | | `[new]` | 新学生首次 | 创建档案 | 班级汇总+个人档案 | -### 4.2 标记使用示例 +### 3.2 标记使用示例 ``` 批量输入示例: @@ -185,109 +120,24 @@ AI自动匹配班级学生名单,实时纠正谐音: - 张小明[体验]:仅保存到班级汇总,不询问 - 李小红[补课]:检查档案 → 当前班级存在 → 双轨保存;其他班级存在 → **自动跨班级双轨保存** ---- - -## 五、补课学生处理 - -### 5.1 核心规则 - -**绝对禁止**:课评正文中绝对不能提及学生来补课相关内容。 - -- ❌ 禁止出现"补课"、"补课上"、"来补课"、"本次补课" -- ❌ 禁止暗示学生非正常上课("今天特别来参加"、"临时加入"、"从其他班级过来") -- ✅ 课评正文完全按正常学生撰写 -- ✅ `[补课]`标记仅用于后台档案管理 - -**示例**: - -``` -教师输入:李小红[补课]:搭了3层,专注完成 - -课评输出(正确): -小红本节课学习了"旋转飞机",认识了游乐园旋转设施的中心轴结构... -(正常撰写,完全不提"补课") - -课评输出(错误): -小红本节课作为补课学生,学习了"旋转飞机"... ❌ -小红今天来补课,学习了"旋转飞机"... ❌ -``` - -### 5.2 补课学生分类处理 - -**情况A:自己班级的学生补课** -- **判断**:学生在 `memory/student/{当前班级}/` 目录中存在 -- **处理**:正常双轨保存(班级汇总 + 个人档案) - -**情况B:跨班级补课(档案在其他班级)** -- **判断**:学生在 `memory/student/{其他班级}/` 目录中存在 -- **处理**:自动双轨保存(跨班级模式) - - ✅ 保存到补课班级周汇总 - - ✅ 追加到原班级个人历史课评记录.md(标注补课班级信息) - - **无需询问,自动完成** - -**情况C:其他老师班级补课学生** -- **判断**:任何班级都不存在该学生档案 -- **处理**:询问后决定 - - [1] 仅保存到班级汇总 - - [2] 创建新档案(双轨保存) - -### 5.3 跨班级补课示例 - -``` -教师输入:班级:发现世界-周六09点,林瀚丞[补课]:积极分析课程任务,专注完成了绿色身体、黑色头部的蜥蜴设计 - -AI检测: -- 未找到「林瀚丞」在「发现世界-周六09点」的个人档案 -- ✅ 找到「林瀚丞」在「发现世界-周四19点」的个人档案 - -判断:跨班级补课学生(原班级周四19点,补课班级周六09点) - -自动处理: -→ 课评保存到「第8周/发现世界-周六09点.md」(补课班级周汇总) -→ 课评追加到「student/发现世界-周四19点/林瀚丞/历史课评记录.md」(原班级个人档案) - 标注:【跨班级补课】本节课程在周六09点班完成 -``` +> **补课/新学生/转正详细规则**:参见 `22-student-mgmt.md` --- -## 六、新学生处理 +## 四、批量生成流程 -### 6.1 首次上课(新学生) - -**课评提及条件**: -- **仅在教师输入中明确写明"第一次上课"、"新学生"等关键词时,才能在课评中提及** -- 如果教师未明确说明,课评中**不自动添加**"这是孩子第一次上课"等表述 - -**正确示例**: -``` -教师输入:小明(第一次上课):开始不敢碰,后来搭了3层 -课评输出:这节课是小明第一次上课,开始有点害羞... -``` - -**错误示例**: -``` -教师输入:小明:开始不敢碰,后来搭了3层 -课评输出:这节课是小明第一次上课... ❌(教师未说明) -``` - -### 6.2 禁止自动推断 - -- ❌ **禁止AI自动推断学生是补课还是第一次上课** -- ❌ 禁止根据表现猜测(如"表现生疏"→"可能是第一次") -- ✅ 完全依赖教师输入中的明确标记 - ---- - -## 七、批量生成流程 - -### 7.1 标准流程 +### 4.1 标准流程 ``` -教师极简输入 → AI并行解析每个学生 → 预加载课程/档案 → +教师极简输入 → AI并行解析每个学生 → 预加载课程/档案 → 并行生成个性化课评 → 质量检查 → 【自动双轨保存】→ 完成 ``` -### 7.2 批量输出界面 +**预加载说明**: +- **课程预加载**:系统根据日期自动计算学期周数,匹配课程主题和知识点(详见 [`15-semester-weeks.md`](15-semester-weeks.md)) +- **档案预加载**:调取学生画像(性格气质、学习特点、历史表现)实现千人千面生成(详见 [`30-student.md`](30-student.md)) + +### 4.2 批量输出界面 ``` ━━━━━━━━━━━━━━━━━━━━━━━ @@ -305,14 +155,14 @@ AI检测: ━━━━━━━━━━━━━━━━━━━━━━━ ``` -### 7.3 自动通过条件(同时满足) +### 4.3 自动通过条件(同时满足) - ✅ 学生有完整档案 - ✅ 字数在弹性范围内(180-350字) - ✅ 无敏感词/异常表述 - ✅ 情绪描述合理 -### 7.4 需教师关注条件(任一满足) +### 4.4 需教师关注条件(任一满足) - ⚠️ 体验/补课学生(无档案) - ⚠️ 字数偏差>20字 @@ -322,26 +172,26 @@ AI检测: --- -## 八、存储规则 +## 五、存储规则 -### 8.1 双轨保存机制 +### 5.1 双轨保存机制 | 存储位置 | 文件路径 | 用途 | 时机 | |---------|---------|------|------| | **班级周汇总** | `memory/class-evaluation-summary/第X周/{班级}.md` | 每周全班课评汇总(含出勤) | 生成后自动保存 | | **个人档案** | `memory/student/{班级}/{学生名}/历史课评记录.md` | 个人完整轨迹 | 生成后自动保存 | -### 8.2 存储优先级 +### 5.2 存储优先级 1. **第一优先级**:班级周汇总(必须成功) 2. **第二优先级**:个人档案(允许失败,下次补存) -### 8.3 失败处理 +### 5.3 失败处理 - 班级汇总保存成功,个人档案保存失败 → 记录到待补存队列,下次生成前自动补存 - 教师可输入`补存`或`同步`手动触发 -### 8.4 学生类型保存对照 +### 5.4 学生类型保存对照 | 类型 | 标记 | 保存位置 | |------|------|---------| @@ -351,7 +201,7 @@ AI检测: | 体验学生 | `[体验]` | 仅班级汇总 | | 缺课学生 | `[缺课]` | 仅班级汇总(记录缺席)| -### 8.5 班级周汇总文件格式 +### 5.5 班级周汇总文件格式 班级周汇总文件包含以下部分: @@ -418,9 +268,9 @@ AI检测: --- -## 九、推荐工作流程 +## 六、推荐工作流程 -### 9.1 课后5分钟快速流程 +### 6.1 课后5分钟快速流程 ``` Step 1(1分钟): 指定班级 @@ -438,7 +288,7 @@ AI生成 → 查看质量报告 → 完成(已自动双轨保存) 完成!课评已自动双轨保存,无需确认。 ``` -### 9.2 不同场景推荐 +### 6.2 不同场景推荐 | 场景 | 推荐方式 | 预计时间 | |------|---------|----------| @@ -449,13 +299,11 @@ AI生成 → 查看质量报告 → 完成(已自动双轨保存) --- -## 十、自动双轨保存机制(核心功能) +## 七、自动双轨保存机制(核心功能) > 课评生成后立即自动保存到班级汇总和个人档案,无需教师确认 -> -> **变更说明**:v3.1 简化流程,删除"待确认"状态,改为"生成即双轨保存" -### 10.1 机制概述 +### 7.1 机制概述 ``` 生成阶段 保存阶段 完成阶段 @@ -471,7 +319,7 @@ AI生成课评 → 【自动双轨保存】 → 教师可随 - ✅ **全程可修改**:生成后教师可随时修改,修改后自动同步到两个位置 - ✅ **出勤自动记录**:有课评即视为出勤,状态直接体现在班级汇总中 -### 10.2 保存流程 +### 7.2 保存流程 #### 标准流程 @@ -503,7 +351,6 @@ def on_evaluation_generated(student, evaluation): save_to_personal_archive(student, evaluation) log_success(f"{student} 课评已保存到个人档案") except SaveError as e: - # 加入待补存队列 add_to_compensation_queue(student, evaluation, error=e) log_warning(f"{student} 个人档案保存失败,已加入补存队列") @@ -511,7 +358,7 @@ def on_evaluation_generated(student, evaluation): return show_to_teacher(student, evaluation, status="已保存") ``` -### 10.3 学生类型处理 +### 7.3 学生类型处理 | 类型 | 档案状态 | 保存位置 | |:-----|:---------|:---------| @@ -522,16 +369,59 @@ def on_evaluation_generated(student, evaluation): | **体验/临时学生** | 无档案 | ✅ 班级汇总(仅) | | **缺课学生** | 有档案 | ❌ 不生成课评 | -### 10.4 修改机制 +### 7.4 自动触发条件 + +| 场景 | 触发动作 | 自动保存 | +|:-----|:---------|:--------:| +| 单学生课评生成完成 | 立即触发 | 班级汇总 + 个人档案(双轨)| +| 批量课评全部生成完成 | 全部生成后批量触发 | 班级汇总 + 个人档案(双轨,批量)| +| 课评修改完成 | 立即触发 | 班级汇总 + 个人档案(双轨,更新)| + +**自动保存优先级**: +``` +优先级1(必须成功):班级周汇总文件写入 + ↓ 成功 +优先级2(允许失败):个人档案写入 + ↓ 失败 +加入待补存队列,下次触发时重试 +``` + +### 7.5 教师交互指令 + +#### 查看类指令 + +| 指令 | 功能 | 返回内容 | +|:-----|:-----|:---------| +| `查看{学生}` | 查看指定学生课评详情 | 完整课评内容 + 状态 + 操作按钮 | +| `查看全部` | 查看所有已生成课评 | 列表视图,含快速操作 | +| `查看本周` | 查看本周班级汇总 | 打开本周班级汇总文件 | + +#### 修改类指令 + +| 指令 | 功能 | 触发动作 | +|:-----|:-----|:---------| +| `修改{学生}:{内容}` | 修改指定学生课评 | 直接编辑,更新班级汇总和个人档案 | +| `重生成{学生}` | 完全重新生成 | 删除原课评,重新生成,自动双轨保存 | +| `删除{学生}` | 删除该学生课评 | 从班级汇总和个人档案中删除(保留记录)| + +### 7.6 修改规则 #### 支持修改的范围 -| 修改类型 | 示例 | 处理方式 | 同步规则 | -|:---------|:-----|:---------|:---------| -| 词语替换 | "搭建"→"拼搭" | 直接替换 | 同步更新两个位置 | -| 称呼修改 | "乔乔"→"昕乔" | 全文替换 | 同步更新两个位置 | -| 内容补充 | 添加"还帮助了同伴" | 插入文本 | 单条≤50字,同步更新 | -| 内容删除 | 删除某句话 | 删除文本 | 单条≤50字,同步更新 | +| 修改类型 | 示例 | 处理方式 | 字数限制 | +|:---------|:-----|:---------|:--------:| +| 词语替换 | "搭建"→"拼搭" | 直接替换 | 不影响 | +| 称呼修改 | "乔乔"→"昕乔" | 全文替换 | 不影响 | +| 内容补充 | 在"完成了"后添加"还帮助了同伴" | 插入文本 | 单条≤50字 | +| 内容删除 | 删除"这个调整值得注意" | 删除文本 | 单条≤50字 | +| 情绪调整 | "开心"→"兴奋" | 替换关键词 | 不影响 | + +#### 不支持修改的场景(需重生成) + +- 改变课评结构(如从3段改为4段) +- 改变评价基调(从负面改为正面) +- 补充大量内容(>100字) +- 改变课程主题理解 #### 修改流程 @@ -544,22 +434,12 @@ AI定位班级汇总中乔乔的课评 ↓ 更新班级汇总文件 ↓ -如有个人档案,同步更新个人档案 +同步更新个人档案(如有) ↓ 提示修改完成 ``` -#### 修改指令 - -| 指令 | 功能 | -|:-----|:-----| -| `修改{学生}:把"{旧词}"改为"{新词}"` | 替换词语 | -| `修改{学生}:称呼改为"{新称呼}"` | 修改称呼 | -| `修改{学生}:添加"{内容}"` | 补充内容 | -| `修改{学生}:删除"{内容}"` | 删除内容 | -| `重生成{学生}` | 完全重新生成 | - -### 10.5 个人档案存储格式规范 +### 7.7 个人档案存储格式规范 #### 文件结构 @@ -655,105 +535,51 @@ def append_evaluation_to_archive(student, new_evaluation): log_success(f"{student} 新课评已保存到个人档案顶部") ``` -### 10.6 失败处理机制 +#### 现有档案顺序修复 + +对于已存在顺序混乱的档案,提供修复指令: + +``` +教师输入:修复{学生}档案顺序 +或 +教师输入:整理{学生}历史课评 + +AI处理: +1. 读取该学生所有历史课评 +2. 按日期降序排序(最新的在前) +3. 重写个人档案文件 +4. 报告修复结果 +``` + +### 7.8 失败处理机制 | 失败类型 | 处理方式 | 教师感知 | 补偿机制 | |:---------|:---------|:---------|:---------| -| 班级汇总写入失败 | 立即重试3次 | 显示错误提示 | 手动重试 | -| 个人档案写入失败 | 标记加入待补存队列 | 静默,下次提示 | 自动补存 | +| 班级汇总写入失败 | 立即重试3次,仍失败则报错 | 显示错误提示 | 手动重试按钮 | +| 个人档案写入失败 | 标记FAILED,加入待补存队列 | 静默处理,下次提示 | 自动补存 | +| 并发冲突(班级) | 自动合并(追加模式) | 无感知 | 自动解决 | +| 并发冲突(个人) | 队列化处理,串行重试 | 延迟1-2秒 | 自动重试 | +| 磁盘满/权限不足 | 加入待补存队列,提醒教师 | 显示警告 | 手动触发补存 | -### 10.7 快捷指令速查 - -| 场景 | 指令 | 效果 | -|:-----|:-----|:-----| -| 查看课评 | `查看{学生}` | 查看指定学生课评 | -| 修改词语 | `修改{学生}:把"A"改为"B"` | 替换指定词语,同步更新两个位置 | -| 修改称呼 | `修改{学生}:称呼改为"XX"` | 修改全文称呼 | -| 重生成 | `重生成{学生}` | 完全重新生成并保存 | -| 手动补存 | `补存` / `同步` | 手动触发待补存队列处理 | - ---- - -## 十一、出勤统计(嵌入班级汇总) - -> 出勤信息直接记录在班级周汇总文件中,无需独立的出勤统计文件 - -### 11.1 出勤判定规则 - -| 状态 | 图标 | 判定方式 | -|:-----|:----:|:---------| -| **出勤** | ✅ | 有档案 + 已生成课评 | -| **补课** | 🔄 | 档案在其他班级 + 来本班上课(课评状态表标注) | -| **体验/临时** | 📝 | 无档案 + 已生成课评(课评状态表标注) | -| **缺课** | ❌ | 有档案 + 未生成课评(头部人数自动体现) | - -### 11.2 出勤信息位置 - -出勤数据直接体现在班级周汇总文件中: - -**头部信息**(一行搞定): -```markdown -> 班级人数:{N}人(出勤{M}人,缺勤{K}人) -``` - -**课评状态表**(已有,兼做出勤记录): -```markdown -| 学生 | 状态 | 类型 | 操作 | -|:-----|:----:|:----:|:----:| -| 乔乔 | ✅ 已保存 | 常规 | [查看] | -| 小红 | ✅ 已保存 | 补课 | [查看] | -| 小明 | ✅ 已保存 | 体验 | [查看] | -``` - -### 11.3 查看出勤 - -| 指令 | 功能 | 返回内容 | -|:-----|:-----|:---------| -| `查看出勤` | 查看本周各班级出勤 | 读取各班级汇总头部信息汇总 | -| `查看{班级}出勤` | 查看指定班级 | 返回该班级汇总的头部+状态表 | -| `标记缺课 {学生}` | 手动标记缺课 | 在班级汇总中添加缺课记录 | - ---- - -### 10.3 自动触发条件 - -#### 触发时机 - -| 场景 | 触发动作 | 自动保存 | -|:-----|:---------|:--------:| -| 单学生课评生成完成 | 立即触发 | 班级汇总 + 个人档案(双轨)| -| 批量课评全部生成完成 | 全部生成后批量触发 | 班级汇总 + 个人档案(双轨,批量)| -| 课评修改完成 | 立即触发 | 班级汇总 + 个人档案(双轨,更新)| - -#### 自动保存优先级 +#### 待补存队列处理 ``` -优先级1(必须成功):班级周汇总文件写入 - ↓ 成功 -优先级2(允许失败):个人档案写入 - ↓ 失败 -加入待补存队列,下次触发时重试 +检测到待补存课评(2条): + +1. 乔乔 - 第7周发现世界 + 状态:班级汇总已保存,个人档案保存失败 + 原因:磁盘临时满 + [立即补存] [忽略] + +2. 昊昊 - 第7周发现世界 + 状态:班级汇总已保存,个人档案保存失败 + 原因:权限被拒绝 + [立即补存] [忽略] + +[全部补存] ``` -### 10.4 教师交互指令 - -#### 查看类指令 - -| 指令 | 功能 | 返回内容 | -|:-----|:-----|:---------| -| `查看{学生}` | 查看指定学生课评详情 | 完整课评内容 + 状态 + 操作按钮 | -| `查看全部` | 查看所有已生成课评 | 列表视图,含快速操作 | -| `查看本周` | 查看本周班级汇总 | 打开本周班级汇总文件 | - -#### 修改类指令 - -| 指令 | 功能 | 触发动作 | -|:-----|:-----|:---------| -| `修改{学生}:{内容}` | 修改指定学生课评 | 直接编辑,更新班级汇总和个人档案 | -| `重生成{学生}` | 完全重新生成 | 删除原课评,重新生成,自动双轨保存 | -| `删除{学生}` | 删除该学生课评 | 从班级汇总和个人档案中删除(保留记录)| - -### 10.5 批量生成界面 +### 7.9 批量生成界面 #### 生成完成展示 @@ -795,223 +621,7 @@ def append_evaluation_to_archive(student, new_evaluation): ━━━━━━━━━━━━━━━━━━━━━━━ ``` -### 10.6 失败处理机制 - -#### 自动保存失败场景 - -| 失败类型 | 处理方式 | 教师感知 | 补偿机制 | -|:---------|:---------|:---------|:---------| -| 班级汇总写入失败 | 立即重试3次,仍失败则报错 | 显示错误提示 | 手动重试按钮 | -| 个人档案写入失败 | 标记FAILED,加入待补存队列 | 静默处理,下次提示 | 自动补存 | -| 并发冲突(班级) | 自动合并(追加模式) | 无感知 | 自动解决 | -| 并发冲突(个人) | 队列化处理,串行重试 | 延迟1-2秒 | 自动重试 | -| 磁盘满/权限不足 | 加入待补存队列,提醒教师 | 显示警告 | 手动触发补存 | - -#### 待补存队列处理 - -``` -检测到待补存课评(2条): - -1. 乔乔 - 第7周发现世界 - 状态:班级汇总已保存,个人档案保存失败 - 原因:磁盘临时满 - [立即补存] [忽略] - -2. 昊昊 - 第7周发现世界 - 状态:班级汇总已保存,个人档案保存失败 - 原因:权限被拒绝 - [立即补存] [忽略] - -[全部补存] -``` - -### 10.7 修改规则 - -#### 支持修改的范围 - -| 修改类型 | 示例 | 处理方式 | 字数限制 | -|:---------|:-----|:---------|:--------:| -| 词语替换 | "搭建"→"拼搭" | 直接替换 | 不影响 | -| 称呼修改 | "乔乔"→"昕乔" | 全文替换 | 不影响 | -| 内容补充 | 在"完成了"后添加"还帮助了同伴" | 插入文本 | 单条≤50字 | -| 内容删除 | 删除"这个调整值得注意" | 删除文本 | 单条≤50字 | -| 情绪调整 | "开心"→"兴奋" | 替换关键词 | 不影响 | - -#### 不支持修改的场景(需重生成) - -- 改变课评结构(如从3段改为4段) -- 改变评价基调(从负面改为正面) -- 补充大量内容(>100字) -- 改变课程主题理解 - -#### 修改流程 - -``` -教师:修改乔乔:把"搭建"改为"拼搭" - ↓ -AI定位班级汇总中乔乔的课评 - ↓ -执行替换 → 字数检查 → 质量检查 - ↓ -更新班级汇总文件 - ↓ -保存成功 - ↓ -同步更新个人档案(如有) -``` - -### 10.8 个人档案存储格式规范 - -#### 文件结构 - -个人档案`memory/student/{班级}/{学生名}/历史课评记录.md`必须遵循以下结构: - -```markdown -# 历史课评记录 - -> 按时间倒序记录所有课后评价(最新课评始终在最上方) - -## 学生信息 -- **姓名**:{学生姓名} -- **班级**:{班级名称} -- **建档日期**:{YYYY-MM-DD} - -## 课评记录列表 - -### 最新记录 - -### {日期} | {课程代码} | {课程主题} -**核心表现**:{关键词} - -**课评内容**: -{三段式课评内容} - -**能力评估**(当时): -- 专注度:/5 -- 精细动作:/5 -- 工具使用:/5 -- 问题解决:/5 -- 社交合作:/5 - -**教师备注**: -- 亮点: -- 需关注: -- 保存时间:{日期时间} -- 代课老师:{如有} - ---- - -### {更早日期} | {课程代码} | {课程主题} -... - ---- - -## 学期汇总 -... -``` - -#### 存储顺序规则(重要) - -**必须遵循:时间倒序排列,最新课评在最上方** - -``` -文件结构示意: - -# 历史课评记录 - -### 最新记录 ← 这是占位符,指向最新的课评 - -### 2026-05-01 | DISC-009 ← 最新课评(第1条) -... ---- - -### 2026-04-23 | DISC-008 ← 次新课评(第2条) -... ---- - -### 2026-04-17 | DISC-007 ← 更早前课评(第3条) -... ---- -``` - -#### 追加新课的算法 - -当保存新课评到个人档案时,必须: - -```python -def append_evaluation_to_archive(student, new_evaluation): - """ - 将新课评追加到个人档案 - 规则:插入到文件顶部(最新记录位置) - """ - - # 1. 读取现有档案 - archive = read_personal_archive(student) - - # 2. 定位插入点("### 最新记录"标记之后) - insert_position = find_marker(archive, "### 最新记录") - - # 3. 构建新课评条目(包含日期、课程代码、内容等) - new_entry = format_evaluation_entry(new_evaluation) - - # 4. 插入到顶部(确保最新在最上面) - archive.insert_after(insert_position, new_entry) - - # 5. 保存文件 - write_personal_archive(student, archive) - - log_success(f"{student} 新课评已保存到个人档案顶部") -``` - -#### 现有档案顺序修复 - -对于已存在顺序混乱的档案,提供修复指令: - -``` -教师输入:修复{学生}档案顺序 -或 -教师输入:整理{学生}历史课评 - -AI处理: -1. 读取该学生所有历史课评 -2. 按日期降序排序(最新的在前) -3. 重写个人档案文件 -4. 报告修复结果 -``` - -### 10.9 自动双轨保存伪代码 - -```python -def on_evaluation_generated(student, evaluation): - """课评生成后自动触发""" - - # 1. 质量检查 - if not quality_check(evaluation): - return regenerate(student) - - # 2. 自动保存到班级汇总 - try: - save_to_class_summary(student, evaluation) - log_success(f"{student} 课评已保存到班级汇总") - except SaveError as e: - log_error(f"班级汇总保存失败:{e}") - return retry_or_alert() - - # 3. 自动保存到个人档案(如有档案) - if has_archive(student): - try: - save_to_personal_archive(student, evaluation) - log_success(f"{student} 课评已保存到个人档案") - except SaveError as e: - # 加入待补存队列 - add_to_compensation_queue(student, evaluation, error=e) - log_warning(f"{student} 个人档案保存失败,已加入补存队列") - - # 4. 展示给教师(已保存状态) - return show_to_teacher(student, evaluation, status="已保存") -``` - -### 10.10 状态管理面板 +### 7.10 状态管理面板 在班级汇总文件顶部自动维护状态面板: @@ -1049,7 +659,7 @@ students: | 小强 | ⚠️ 保存失败 | [重试] [查看] | ``` -### 10.11 快捷指令速查 +### 7.11 快捷指令速查 | 场景 | 指令 | 效果 | |:-----|:-----|:-----| @@ -1061,9 +671,48 @@ students: --- -## 十二、其他功能 +## 八、出勤统计(嵌入班级汇总) -### 12.1 快速编辑功能 +> 出勤信息直接记录在班级周汇总文件中,无需独立的出勤统计文件 + +### 8.1 出勤判定规则 + +| 状态 | 图标 | 判定方式 | +|:-----|:----:|:---------| +| **出勤** | ✅ | 有档案 + 已生成课评 | +| **补课** | 🔄 | 档案在其他班级 + 来本班上课(课评状态表标注) | +| **体验/临时** | 📝 | 无档案 + 已生成课评(课评状态表标注) | +| **缺课** | ❌ | 有档案 + 未生成课评(头部人数自动体现) | + +### 8.2 出勤信息位置 + +出勤数据直接体现在班级周汇总文件中: + +**头部信息**(一行搞定): +```markdown +> 班级人数:{N}人(出勤{M}人,缺勤{K}人) +``` + +**课评状态表**(已有,兼做出勤记录): +```markdown +| 学生 | 状态 | 类型 | 操作 | +|:-----|:----:|:----:|:----:| +| 乔乔 | ✅ 已保存 | 常规 | [查看] | +| 小红 | ✅ 已保存 | 补课 | [查看] | +| 小明 | ✅ 已保存 | 体验 | [查看] | +``` + +### 8.3 查看出勤 + +| 指令 | 功能 | 返回内容 | +|:-----|:-----|:---------| +| `查看出勤` | 查看本周各班级出勤 | 读取各班级汇总头部信息汇总 | +| `查看{班级}出勤` | 查看指定班级 | 返回该班级汇总的头部+状态表 | +| `标记缺课 {学生}` | 手动标记缺课 | 在班级汇总中添加缺课记录 | + +--- + +## 九、快速编辑功能 支持小修改直接编辑,无需重新生成: @@ -1074,18 +723,3 @@ students: ``` **限制**:单次修改不超过50字,单篇累计不超过100字。超出限制建议重新生成。 - -### 12.2 体验学生转正 - -当体验学生连续上课达到3次时,AI主动提示转正建议: - -``` -💡 转正建议 - -张小明已连续上3节课(第5周、第6周、第7周) -建议为其创建正式档案,便于追踪完整成长轨迹。 - -[创建正式档案] [继续体验] [下周再提醒] -``` - -**快捷指令**:`小明转正` 或 `小明[正式]` diff --git a/.claude/rules/21-shorthand.md b/.claude/rules/21-shorthand.md new file mode 100644 index 0000000..6c8045d --- /dev/null +++ b/.claude/rules/21-shorthand.md @@ -0,0 +1,89 @@ +# 速记符号系统 + +> 从 20-workflow.md 拆分,专注速记符号定义与使用规则 +> 版本:v3.1 | 更新日期:2026-05-05 + +--- + +## 一、核心速记(必会,覆盖80%场景) + +| 速记 | 含义 | 示例 | +|------|------|------| +| `gj#` | 观望#分钟 | `gj5` = 观望5分钟 | +| `zd#` | 主动搭#层 | `zd3` = 主动搭3层 | +| `zt` | 自己调整 | 遇到问题时自己调整 | +| `wb` | 完成 | 独立完成搭建 | +| `↑` / `kx` | 开心/积极 | 情绪↑ | +| `→` / `wd` | 稳定/平和 | 情绪→ | +| `↓` / `fd` | 烦躁/低落 | 情绪↓ | +| `++` | 比上周进步 | 比上周++ | +| `--` | 需关注 | 需-- | + +--- + +## 二、扩展速记(进阶,覆盖90%场景) + +| 速记 | 含义 | 示例 | +|------|------|------| +| `zx#` | 专注#分钟 | `zx15` = 专注15分钟 | +| `sb#` | 失败#次后调整 | `sb2` = 失败2次后成功 | +| `ts#` | 探索#分钟 | `ts5` = 探索5分钟 | +| `cz#` | 创造#种方案 | `cz3` = 3种创意方案 | +| `wt#` | 提问#次 | `wt3` = 提问3次 | +| `hz` | 合作 | hz完成 | +| `fx` | 分享 | fx想法 | +| `tq` | 求助 | tq→zd | +| `mr` | 融入 | mr→hz | +| `ms` | 模仿 | ms→zt | +| `jy` | 建议给同伴 | jy→接受 | +| `bd` | 被带动 | bd→参与 | +| `zl` | 孤立/独自 | zl→专注 | +| `cq` | 冲突/争执 | cq→解决 | +| `~` / `bd` | 情绪波动 | 情绪~ | +| `=` | 和之前一样 | 和之前= | +| `↑↑` / `kc` | 非常开心/兴奋 | 发现新玩法时↑↑ | +| `→→` / `wa` | 非常稳定/沉浸 | 全程→→ | +| `gd` | 孤独/独自玩 | 偏好gd | +| `jl` | 焦虑/紧张 | 新主题时jl | +| `↑+` | 情绪好转 | 从↓到→到↑+ | +| `↓-` | 状态下滑 | 本周↓- | +| `new` | 新学生/首次 | 标记首次上课 | + +--- + +## 三、编程/技术速记(SPIKE/AI03) + +| 速记 | 全称 | 示例 | +|------|------|------| +| `bc` | 编程 | bc→ts | +| `ts#` | 调试#次 | ts3 | +| `cx` | 创新/优化 | cx→效果更好 | +| `tj` | 分析/提交 | tj→解决 | +| `cw` | 错误/bug | cw→fx→修正 | + +--- + +## 四、速记组合示例 + +``` +输入: 乔乔:gj5→zd3→zt ↑++ +展开: 乔乔观望5分钟后主动搭3层,自己调整,开心,比上周进步 + +输入: 丞丞:ts5→cz2→wt3 ↑↑ +展开: 丞丞探索5分钟,创造了2种方案,主动提问3次,非常兴奋 + +输入: 一栩:bc→ts3→cx ↑+ +展开: 一栩编程后调试3次,然后优化了方案,情绪好转 +``` + +--- + +## 五、速记与自然语言混用规则 + +**优先级**:速记符号 > 自然语言描述 + +| 场景 | 处理方式 | +|------|---------| +| 无冲突 | 正常解析 | +| 时间冲突 | 以速记数值为准,自然语言作为补充描述 | +| 行为冲突 | 以速记为准,数值冲突时提示确认 | diff --git a/.claude/rules/21-style-coding.md b/.claude/rules/21-style-coding.md deleted file mode 100644 index 774050e..0000000 --- a/.claude/rules/21-style-coding.md +++ /dev/null @@ -1,155 +0,0 @@ -# 风格规则:少儿编程入门编程课 - -## 基础设定 - -| 项目 | 设定 | -|------|------| -| 适用年龄 | 6-10岁(小学一至四年级) | -| 课程类型 | COURSE_KITTEN(图形编程) | -| 输出字数 | **弹性范围:190-320字**(根据输入内容丰富度自动调整) | -| 段落数 | **3段**(第1段:课程知识35-50字;第2段:课堂细节长段落100-200字;第3段:课后建议35-50字) | - -## 字数弹性规则 - -### 自动判断逻辑 -根据教师输入的内容丰富度,自动选择合适篇幅: - -| 输入类型 | 字数范围 | 适用场景 | -|:-------:|:-------:|:---------| -| **精简版** | 190-230字 | 输入简洁,无特别亮点 | -| **标准版** | 230-280字 | 输入有具体细节或成长亮点 | -| **详细版** | 280-350字 | 输入有精彩瞬间、多个亮点或特殊表现 | - -### 字数分配(弹性) - -| 段落 | 精简版 | 标准版 | 详细版 | 内容特点 | -|------|:------:|:------:|:------:|:---------| -| **第1段**(课程知识点)| 35-45字 | 40-50字 | 45-55字 | 准确术语,适度扩展 | -| **第2段**(课堂细节)| 100-130字 | 140-170字 | 170-220字 | **核心段落,根据亮点多少灵活扩展** | -| **第3段**(课后建议)| 35-45字 | 40-50字 | 45-55字 | 具体任务,可略详细 | - -### 触发详细版的信号词 - -当输入中出现以下内容时,自动进入详细版(280-350字): -- **精彩瞬间**:"特别棒的是"、"让我惊讶的是"、"印象深刻的是" -- **多个亮点**:输入中包含3个以上的独立行为描述 -- **突破性行为**:"第一次主动"、"从未有过"、"历史性突破" -- **技术细节**:输入中有具体的编程逻辑、调试过程、错误排查 -- **情感丰富**:包含情绪变化、社交互动、创造性表现 - -### 示例对比 - -**精简版**(输入简洁): -> 李想今天学习了循环,理解了重复执行,自己调试了三次,最后成功了,挺开心的。 -> -> 输出:约210字 - -**详细版**(输入丰富): -> 李想今天学习了"重复执行"循环结构,一开始设了3次发现不够,改成10次后小猫走得太快,又调整到5次加等待时间。调试过程中主动说"让我再试一次",最后成功的时候自己鼓掌。还主动帮同桌找bug,说是"你少了结束括号"。这个分享行为是第一次出现。 -> -> 输出:约310字(充分展现调试过程、坚持精神、帮助他人的亮点) - -## 语气风格 - -### 语言特点 -- **专业度**:准确使用编程术语(循环、条件、事件),但不堆砌 -- **平等感**:像对待小学习者一样尊重,不居高临下 -- **启发性**:指出问题同时给方向,"这里如果换个顺序..." -- **实在感**:不夸大"编程改变命运",而是聊"今天解决了什么问题" - -### 禁用词汇 -- 小天才、未来的程序员、最聪明、秒杀同龄人 -- 套话:"在人工智能时代""培养计算思维" -- 夸大:"掌握了编程的核心奥秘" - -### 推荐表达 -- **姓名使用**:优先使用小名/昵称,其次去姓称名(如"昕乔"),平等称呼学生 -- 技术描述:"用'如果碰到边缘就反弹'解决了角色飞出屏幕的问题" -- 过程记录:"先试了三次循环,发现次数不够,改成了重复10次" - -## 必写模块 - -> **Emoji使用说明**:小学版课评采用**3段式**,每段末尾添加1个简洁emoji,总计**3个**,保持专业感与趣味性平衡 -> - **第1段**(课程知识点):💡 或 📚 -> - **第2段**(课堂细节+成长亮点):📈 或 💪 -> - **第3段**(课后建议):🏠 或 🔧 -> -> **首次上课/补课说明**:详见 [33-first-class-rules.md](33-first-class-rules.md) - -### 1. 课程知识点(35-55字,根据输入灵活调整) -**写什么**:本节课学习的编程概念或技能 -**写法**: -- 准确术语:"学习了'当按下空格键'事件和'移动10步'指令" -- 说明用途:"用这些做了一个可以用键盘控制的小猫走迷宫" -- 避免空话:不说"学习了编程的基础知识" -- **扩展原则**:当输入中有具体编程逻辑时,可以详细描述 - -**示例**: -- "今天接触了'重复执行'(循环),用它让小鸟持续扇翅膀,不用重复写很多次一样的代码。" -- "学习了'如果...那么'判断语句,让小猫碰到红色区域时说出'你输了'。" - -### 2. 掌握程度(35-70字,根据输入灵活调整) -**写什么**:对知识点的理解和应用情况 -**写法**: -- 具体表现:"能独立搭建循环结构,但循环次数需要试几次才确定" -- 错误分析:"条件判断的方向写反了,改成'碰到红色'后运行正常" -- 避免笼统:不说"掌握得不错" -- **扩展原则**:当输入中有具体的调试过程、错误排查时,充分展开描述 - -**示例**: -- **简洁版**:"理解了循环能省事的道理,但第一次设成重复3次,发现翅膀扇得太快,调整后改成重复5次、每次等待0.2秒。" -- **详细版**:"循环的概念理解得很清楚,第一次设成重复3次,发现小猫走得不够远;改成10次后速度又太快了;最后调整到5次加0.2秒等待时间,终于达到理想效果。整个调试过程很耐心,尝试了3次才找到最佳参数。" - -### 3. 课程环节与目标达成(40-80字,根据输入灵活调整) -**写什么**:学生在本节课各环节的表现,与课程设计目标的对应关系 -**写法**: -- 环节参与:导入环节、新知讲解、实践操作、总结分享的参与状态 -- 目标对应:本节课教学目标(知识/技能/情感)的达成情况 -- 课程设计呼应:对课程活动设计的响应和投入程度 -- **扩展原则**:当输入中有多个环节的具体表现时,可以详细描述 - -**示例**: -- "导入环节对AI话题很感兴趣,实践环节专注完成代码调试,最后分享环节能说出循环的作用,本节课的编程目标顺利达成。" -- "在Trae Builder模式探索中投入度高,Markdown练习环节主动尝试不同排版,最后能独立完成故事设定文档。" - -### 4. 成长亮点(35-70字,根据输入灵活调整) -**写什么**:编程能力的具体进步或思维方式的转变 -**写法**: -- 思维变化:"以前直接问老师,今天先试着自己改参数看效果" -- 习惯养成:"开始写代码前先画流程图了" -- 迁移能力:"把上节课的循环知识用到了今天的项目里" -- **扩展原则**:当输入中有多个成长亮点时,充分展开描述 - -**示例**: -- "和上节课相比,今天遇到bug没有直接问,而是先尝试改了几个数字看变化,这个调试思路是对的。" -- "主动用了上节课学的注释功能,给重要的代码块加了说明,方便自己回头看。" - -### 5. 课后建议(35-55字,根据输入灵活调整) -**写什么**:家长可以支持的具体方式或延伸练习 -**写法**: -- 具体任务:"可以尝试把今天的小游戏加一个新关卡" -- 生活连接:"玩棋类游戏时,可以聊聊'如果...就...'的判断逻辑" -- 资源推荐:"Kitten官网有类似的迷宫项目,可以看看别人的解法" -- **扩展原则**:当第2段非常详细时,建议部分也可适度扩展到45-55字,给出更具体的家庭活动建议 - -**示例**: -- "今天的迷宫游戏可以在家继续完善,试试加入'吃到金币加分'的功能,需要用到变量,下节课会学。" -- "平时玩桌游时,可以和孩子聊聊规则里的'如果...就...',这也是编程里的条件判断。" - -## 完整示例 - -**输入**: -- 学生:李想,8岁,小学二年级 -- 课程:Kitten入门-小猫走迷宫 -- 表现:学习了循环和条件判断,程序调试了三次才成功,最后自己加了一个开始按钮 - -**输出**: - -李想本节课学习了"重复执行"(循环)和"如果碰到颜色就..."(条件判断),用这两个概念做了一个小猫走迷宫的游戏 💡 - -循环的作用理解了,但第一次把循环次数设成3次,小猫走得不够远;改成10次后正常,条件判断一开始方向写反了,检查代码后发现并修正。导入环节对迷宫游戏很感兴趣,实践环节专注完成代码搭建,最后分享环节能说出循环的作用,本节课的编程目标顺利达成。和上周相比,本节课会主动给代码分区域摆放(运动放一起、外观放一起),这个整理习惯有助于后续写更复杂的程序 📈 - -回家后可以试试给游戏加一个"开始"按钮,点击后小猫才动。需要用到"当角色被点击"事件,可以预习一下。下周我们继续 🏠 - ---- -**字数:218字 | 段落:3段 | Emoji:3个** diff --git a/.claude/rules/22-student-mgmt.md b/.claude/rules/22-student-mgmt.md new file mode 100644 index 0000000..462fd8a --- /dev/null +++ b/.claude/rules/22-student-mgmt.md @@ -0,0 +1,112 @@ +# 学生特殊处理:补课、新学生、转正 + +> 从 20-workflow.md 拆分,专注补课/体验/新学生/转正规则 +> 版本:v3.1 | 更新日期:2026-05-05 + +--- + +## 一、补课学生处理 + +### 1.1 核心规则 + +**绝对禁止**:课评正文中绝对不能提及学生来补课相关内容。 + +- ❌ 禁止出现"补课"、"补课上"、"来补课"、"本次补课" +- ❌ 禁止暗示学生非正常上课("今天特别来参加"、"临时加入"、"从其他班级过来") +- ✅ 课评正文完全按正常学生撰写 +- ✅ `[补课]`标记仅用于后台档案管理 + +**示例**: + +``` +教师输入:李小红[补课]:搭了3层,专注完成 + +课评输出(正确): +小红本节课学习了"旋转飞机",认识了游乐园旋转设施的中心轴结构... +(正常撰写,完全不提"补课") + +课评输出(错误): +小红本节课作为补课学生,学习了"旋转飞机"... ❌ +小红今天来补课,学习了"旋转飞机"... ❌ +``` + +### 1.2 补课学生分类处理 + +**情况A:自己班级的学生补课** +- **判断**:学生在 `memory/student/{当前班级}/` 目录中存在 +- **处理**:正常双轨保存(班级汇总 + 个人档案) + +**情况B:跨班级补课(档案在其他班级)** +- **判断**:学生在 `memory/student/{其他班级}/` 目录中存在 +- **处理**:自动双轨保存(跨班级模式) + - ✅ 保存到补课班级周汇总 + - ✅ 追加到原班级个人历史课评记录.md(标注补课班级信息) + - **无需询问,自动完成** + +**情况C:其他老师班级补课学生** +- **判断**:任何班级都不存在该学生档案 +- **处理**:询问后决定 + - [1] 仅保存到班级汇总 + - [2] 创建新档案(双轨保存) + +### 1.3 跨班级补课示例 + +``` +教师输入:班级:发现世界-周六09点,林瀚丞[补课]:积极分析课程任务,专注完成了绿色身体、黑色头部的蜥蜴设计 + +AI检测: +- 未找到「林瀚丞」在「发现世界-周六09点」的个人档案 +- ✅ 找到「林瀚丞」在「发现世界-周四19点」的个人档案 + +判断:跨班级补课学生(原班级周四19点,补课班级周六09点) + +自动处理: +→ 课评保存到「第8周/发现世界-周六09点.md」(补课班级周汇总) +→ 课评追加到「student/发现世界-周四19点/林瀚丞/历史课评记录.md」(原班级个人档案) + 标注:【跨班级补课】本节课程在周六09点班完成 +``` + +--- + +## 二、新学生处理 + +### 2.1 首次上课(新学生) + +**课评提及条件**: +- **仅在教师输入中明确写明"第一次上课"、"新学生"等关键词时,才能在课评中提及** +- 如果教师未明确说明,课评中**不自动添加**"这是孩子第一次上课"等表述 + +**正确示例**: +``` +教师输入:小明(第一次上课):开始不敢碰,后来搭了3层 +课评输出:这节课是小明第一次上课,开始有点害羞... +``` + +**错误示例**: +``` +教师输入:小明:开始不敢碰,后来搭了3层 +课评输出:这节课是小明第一次上课... ❌(教师未说明) +``` + +### 2.2 禁止自动推断 + +- ❌ **禁止AI自动推断学生是补课还是第一次上课** +- ❌ 禁止根据表现猜测(如"表现生疏"→"可能是第一次") +- ✅ 完全依赖教师输入中的明确标记 + +--- + +## 三、体验学生转正 + +当体验学生连续上课达到3次时,AI主动提示转正建议: + +``` +💡 转正建议 + +张小明已连续上3节课(第5周、第6周、第7周) +建议为其创建正式档案,便于追踪完整成长轨迹。 + +[创建正式档案] [继续体验] [下周再提醒] +``` + +**快捷指令**:`小明转正` 或 `小明[正式]` diff --git a/.claude/rules/22-style-robotics.md b/.claude/rules/22-style-robotics.md deleted file mode 100644 index 2e7cafa..0000000 --- a/.claude/rules/22-style-robotics.md +++ /dev/null @@ -1,111 +0,0 @@ -# 风格规则:机器人竞赛进阶课 - -## 基础设定 - -| 项目 | 设定 | -|------|------| -| 适用年龄 | 8-10岁(小学三至四年级) | -| 课程类型 | COURSE_ROBOT(机器人竞技) | -| 输出字数 | **弹性范围:200-350字**(根据输入内容丰富度自动调整) | -| 段落数 | **3段**(第1段:课程知识;第2段:课堂细节长段落;第3段:课后建议) | - -## 语气风格 - -### 语言特点 -- **竞技感**:承认比赛的残酷和精彩,不说"输赢不重要" -- **专业性**:准确描述技术细节(传感器校准、PID调速、机械臂力矩) -- **成长视角**:把失败当作数据收集,把胜利当作阶段成果 -- **团队意识**:强调分工配合,不只突出个人 - -### 禁用词汇 -- 天才、大神、无敌、秒杀、碾压 -- 套话:"友谊第一比赛第二"(不说教)"胜不骄败不馁" -- 空洞:"展现了良好的精神风貌" - -### 推荐表达 -- **姓名使用**:优先使用小名/昵称,其次去姓称名(如"昕乔"),体现竞技平等 -- 技术描述:"超声波传感器检测距离30cm时启动机械臂" -- 战术分析:"选择了先拿近处资源块的策略,放弃了远处的" -- 复盘语言:"翻车的原因是重心偏高,下次可以..." - -## 必写模块 - -> **Emoji使用说明**:机器人竞赛版课评采用**3段式**,每段末尾添加1个专业emoji,总计**3个**,体现竞技感与技术感 -> - **第1段**(课程知识点):⚙️ 或 🤖 -> - **第2段**(课堂细节):📈 或 🚀 -> - **第3段**(课后建议):🏠 或 🔧 -> -> **首次上课/补课说明**:详见 [33-first-class-rules.md](33-first-class-rules.md) - -### 1. 课程知识点(40-50字) -**写什么**:本节课训练的竞技技术或战术策略 -**写法**: -- 技术细节:"练习了电机PID调速,让机器人直线行走不跑偏" -- 战术说明:"尝试了'快速取分'和'稳定求全'两种策略的对比" -- 避免笼统:不说"学习了机器人知识" - -**示例**: -- "今天训练了颜色传感器的巡线校准,包括白值/黑值重新标定和阈值调整,解决之前误判黑线的问题。" -- "尝试了新的任务策略:前30秒专注拿取近处资源块,后90秒处理远处的高分任务。" - -### 2. 掌握程度(40-50字) -**写什么**:技术要点的实际掌握情况和应用效果 -**写法**: -- 数据说话:"校准后巡线成功率从60%提升到85%" -- 问题分析:"PID参数调得有点激进,直线快但转弯时超调" -- 避免评价:不说"掌握得很好" - -**示例**: -- "传感器校准流程已经熟练,能独立完成。但PID的D参数调得偏大,机器人有点抖动,需要再微调。" -- "新策略理解了,但执行时时间分配还是不够果断,前30秒用了45秒,压缩了后面的操作时间。" - -### 3. 课程环节与目标达成(45-55字) -**写什么**:学生在本节课各环节的表现,与课程设计目标的对应关系 -**写法**: -- 环节参与:导入环节、技术讲解、实操训练、复盘总结的参与状态 -- 目标对应:本节课训练目标(技术/战术/协作)的达成情况 -- 课程设计呼应:对训练活动设计的响应和投入程度 - -**示例**: -- "导入环节对竞技策略话题很感兴趣,实操训练专注完成巡线调试,复盘环节能分析出问题原因,本节课的训练目标顺利达成。" -- "在传感器校准环节投入度高,对抗练习积极参与,最后总结时能说出改进方向,整体完成了本节课的技术目标。" - -### 4. 成长亮点(40-50字) -**写什么**:相比之前的明显进步,无论是技术还是心态 -**写法**: -- 技术进步:"从手动输入参数改成用变量,方便快速调试" -- 思维成熟:"开始考虑'如果对手抢了这个资源块,我该怎么办'" -- 习惯养成:"每次试车前都检查螺丝松紧,之前经常忘" - -**示例**: -- "和两周前相比,今天遇到翻车没有直接重试,而是先分析可能原因(重心/速度/地面),有针对性调整。" -- "开始记录训练日志了,把每次的参数和结果写下来,这是从经验型向数据型转变的标志。" - -### 5. 课后建议(35-45字) -**写什么**:可以在家准备的事项或需要加强的环节 -**写法**: -- 具体任务:"把今天的巡线程序保存三个版本(保守/激进/平衡),下周对比测试" -- 资源分析:"建议看看去年省赛的视频,注意前30秒的任务选择逻辑" -- 物理准备:"机械臂的齿轮有点松,建议周末检查一下螺丝" - -**示例**: -- "周末可以在家用模拟器跑一下今天的新策略,测试不同时间分配的效果,下周带数据来讨论。" -- "建议看看这周的比赛视频,重点观察对方机器人的结构特点,思考我们的对抗策略。" - -## 完整示例 - -**输入**: -- 学生:王浩,10岁,小学四年级 -- 课程:机器人竞赛训练-自动赛策略优化 -- 表现:尝试了新的任务顺序策略,巡线校准有进步,对抗练习输了但会复盘 - -**输出**: - -王浩本节课训练了颜色传感器的巡线校准(重新标定白/黑值)和新的任务策略(先近后远、分段计时),主要解决之前巡线误判和策略执行拖沓的问题 ⚙️ - -校准后巡线成功率从上次60%提升到85%,新策略执行不够果断,计划的"前30秒拿近处"实际用了45秒。导入环节对竞技策略话题很感兴趣,实操训练专注完成巡线调试,复盘环节能分析出问题原因,本节课的训练目标顺利达成。和两周前相比,遇到程序异常时不再直接重试,而是先分析可能原因(传感器/参数/结构),有针对性调整,调试效率明显提高 📈 - -周末可以用模拟器测试几种不同的时间分配方案(20+100、30+90、40+80),记录哪种得分更高,下周带数据来讨论策略优化 🏠 - ---- -**字数:226字 | 段落:3段 | Emoji:3个** diff --git a/.claude/rules/25-template-preschool-detailed.md b/.claude/rules/25-template-preschool-detailed.md deleted file mode 100644 index 55a1c62..0000000 --- a/.claude/rules/25-template-preschool-detailed.md +++ /dev/null @@ -1,213 +0,0 @@ -# 学龄前课评模板 - 教师手动撰写版(详细流程版) - -> **适用场景**:教师需要**手动撰写**详细课评时参考使用 -> -> **与AI自动生成模板的区别**: -> | 维度 | AI自动生成(20-style-building.md) | 本手动撰写模板 | -> |------|-----------------------------------|---------------| -> | **使用方式** | AI自动生成 | 教师手动填写 | -> | **字数** | 180-220字(简洁) | 300-400字(详细) | -> | **结构** | 3段式结构 | 按课堂流程分段 | -> | **使用时机** | 常规课后快速生成 | 特殊情况详细记录 | -> -> **建议使用场景**: -> - ✅ 学生有特殊表现需要详细记录 -> - ✅ 家长要求更详细的课堂反馈 -> - ✅ 学期关键节点(期中/期末)总结 -> - ✅ 学生情绪/行为需要特别关注时 -> -> **不适用于**:常规批量课评生成(请使用20-style-building.md) - ---- - -## 模板正文(覆盖:课堂状态、学习表现、兴趣度) - -``` -家长好,本节课程主题是《____🎯》 - -🌟**课程目标:** -1. ____(知识认知) -2. ____(技能操作) -3. ____(情感拓展,激发兴趣) - -🌟**课堂状态与学习表现:** - -本节课程从____(导入方式)开启,____(孩子姓名)____(进入状态描述),学习兴趣特别浓厚🌟 - -____(孩子姓名)在动手探索过程中,____(具体亮点),展现出很好的____能力💪 虽然____(可提升点),但____(积极表现),配合度和执行力都特别棒🤓 - -😊**兴趣度与情绪状态:** - -这节课【孩子】整体【情绪状态】,【具体表现】🌟 -和小伙伴一起【互动情况】,【社交表现】✨ - -🌱**成长亮点:** - -和【对比时间】相比,【孩子】【进步表现】!特别值得表扬的是【具体亮点】💪 - -🏠**课后建议:** - -家长在家可以陪____(孩子姓名)____(延伸活动),既能巩固本节课的____内容,也能延续学习兴趣哦~ -``` - ---- - -## 精简版(对应AI自动生成5模块) - -| 手动模板模块 | 对应AI模块 | 核心覆盖 | -|-------------|-----------|---------| -| 课程目标 | 课程知识点 | 兴趣度 | -| 课堂状态与学习表现 | 课堂表现+掌握程度 | 课堂状态+学习表现 | -| 兴趣度与情绪状态 | 课堂表现补充 | 课堂状态+兴趣度 | -| 成长亮点 | 成长亮点 | 成长发展 | -| 课后建议 | 课后建议 | 延伸学习+兴趣维持 | - ---- - -## 使用示例1:《桥梁》 - -``` -家长好,本节课程主题是《桥梁🌉》 - -🌟**课程目标:** -1. 认识桥梁的基本结构(桥墩、桥面、护栏),了解桥梁的承重原理 -2. 学习运用互锁结构搭建稳固的桥墩,发展空间建构能力 -3. 感受工程建筑的魅力,培养耐心与专注力 - -🌟**宝贝表现:** - -本节课程从"过河遇到困难"的故事情境开启,复习环节中果果积极回忆上节课的跷跷板结构,能快速说出"中间要有支点",对知识的延续性掌握得很好👍 进入新主题时,果果跟着老师一起认真观察不同类型的桥梁图片,还好奇地问"为什么有的桥是弯弯的",学习兴趣特别浓厚🌟 - -果果在对比桥梁结构的过程中,认真发现"桥墩要粗一点才稳",和小伙伴积极交流要把桥面搭平的想法,展现出很好的观察思考能力💪 虽然在搭建桥墩互锁时偶尔需要提醒专注,但果果老师引导后能立刻调整,始终保持着耐心一层一层往上搭,配合度和执行力都特别棒🤓 - -展示环节中,果果自信地介绍自己的桥梁可以让小车顺利通过,还主动测试了桥能放几块积木✨ 家长在家可以陪果果观察生活中的各种桥梁(立交桥、吊桥、石拱桥),一起找找它们都有什么不一样,既能巩固本节课的桥梁结构认知,也能为下次课的探索积累更多经验哦~ -``` - ---- - -## 使用示例2:《望远镜》 - -``` -家长好,本节课程主题是《望远镜🔭》 - -🌟**课程目标:** -1. 认识望远镜的基本结构(镜筒、目镜、物镜),了解其望远功能 -2. 学习管道连接与固定方法,锻炼手部精细动作 -3. 激发对天文观察的好奇心,培养探索未知的兴趣 - -🌟**宝贝表现:** - -本节课程从"看远处的风景"的生活情境开启,复习环节中阳阳准确回答老师提问,说出上节课相机是用来"拍照记录"的,对知识的延续性掌握得很好👍 进入新主题时,阳阳迫不及待地想要尝试把管道连接起来,眼睛亮亮地观察老师的示范步骤,学习兴趣特别浓厚🌟 - -阳阳在动手探索过程中,独立尝试多种管道连接方法,发现"要对准了才能插进去",展现出很好的动手操作能力💪 虽然遇到复杂步骤固定支架时会放慢节奏,但阳阳愿意反复尝试直到成功,始终保持着热情,配合度和执行力都特别棒🤓 - -展示环节中,阳阳开心地演示用望远镜"看到了月亮",还认真地欣赏同伴们不同颜色的望远镜✨ 家长在家可以陪阳阳在晴朗的夜晚观察月亮和星星,一起说说看到了什么,既能巩固本节课的观察探索兴趣,也能为下次课的探索积累更多经验哦~ -``` - ---- - -## 各环节常用描述词库 - -### 导入环节 -- 趣味故事、生活情境、问题启发、游戏互动、谜语引入、实物观察 - -### 复习环节表现 -- 积极回忆上节课内容 -- 准确回答老师提问 -- 主动分享自己的作品 -- 能快速进入学习状态 -- 对新知识充满期待 - -### 探索/搭建表现亮点 -- 认真对比模型细节 -- 和小伙伴积极交流想法 -- 独立尝试多种搭建方法 -- 主动思考结构原理 -- 遇到困难不退缩 -- 有自己的创意想法 - -### 能力关键词 -- 观察思考能力、动手操作能力、空间建构能力、创意想象力、合作沟通能力、问题解决能力、专注坚持能力 - -### 可提升点(委婉表述) -- 偶尔需要提醒专注 -- 遇到复杂步骤时会放慢节奏 -- 对某部分结构需要辅助理解 -- 搭建时会和旁边小朋友聊天 -- 遇到挫折容易放弃(后转为愿意再尝试) -- 手部精细动作还需加强 - -### 积极转折 -- 老师引导后能立刻调整 -- 愿意反复尝试直到成功 -- 始终保持着耐心和热情 -- 提醒后能马上专注完成自己的作品 -- 遇到困难会主动寻求帮助 -- 完成后特别有成就感 - -### 展示环节表现 -- 自信地介绍作品 -- 开心地演示功能 -- 认真地欣赏同伴的作品 -- 能说出自己作品的亮点 -- 愿意分享搭建过程 -- 对同伴的作品给予鼓励 - -### 延伸建议活动 -- 阅读相关绘本 -- 观察生活中的对应事物 -- 玩主题小游戏 -- 看看相关的科普视频 -- 动手做简单实验 -- 亲子讨论交流 - ---- - -## 与AI自动生成规则的对应关系 - -### 课程目标 = 课程知识点(20-style-building 模块1) -- AI模板:简洁描述(30-40字) -- 手动模板:详细分解为知识/技能/情感三维目标 - -### 导入+复习+新主题 = 课堂表现(20-style-building 模块3) -- AI模板:简洁记录(40-50字) -- 手动模板:详细按环节描述 - -### 探索过程+亮点+可提升点 = 掌握程度(20-style-building 模块2) -- AI模板:客观描述掌握情况 -- 手动模板:详细记录亮点和可提升点 - -### 展示环节 = 成长亮点(20-style-building 模块4) -- AI模板:与之前对比 -- 手动模板:展示表现描述 - -### 延伸建议 = 课后建议(20-style-building 模块5) -- AI模板:简洁可操作(30-40字) -- 手动模板:详细活动建议 - ---- - -## 💡 使用建议 - -### 何时使用手动模板 -1. **特殊关注学生**:需要详细记录行为表现 -2. **关键课程节点**:如第一节课、阶段性总结 -3. **家长特殊要求**:希望收到详细反馈 -4. **学生情绪问题**:需要详细记录情绪变化过程 - -### 何时使用AI自动生成 -1. **常规课后反馈**:快速生成,节省时间 -2. **批量处理**:多学生同时生成 -3. **标准化评价**:保持评价一致性 - -### 转换方法 -手动撰写的详细内容可以通过以下方式精简为AI格式: -- 提取关键词(行为+情绪+对比) -- 按5模块重新组织 -- 控制字数在180-220字 - ---- - -*版本:v1.0* -*创建日期:2026-03-27* -*与20-style-building.md配合使用* diff --git a/.claude/rules/30-input-format.md b/.claude/rules/30-input-format.md deleted file mode 100644 index 085f3b3..0000000 --- a/.claude/rules/30-input-format.md +++ /dev/null @@ -1,316 +0,0 @@ -# 快捷输入格式规则 v4.0(优化版) - -> 核心理念:**说人话就行**,AI自动理解语境、补充细节、规整格式 -> -> 本次优化:新增速记符号系统、标记驱动处理、会话上下文记忆 - ---- - -## 🎯 黄金法则 - -1. **有姓名** → AI知道是谁 -2. **有行为** → AI知道做了什么 -3. **其他随意** → AI自动补充 - -**支持**:口语化、碎片化、无序化、语音转文字 - ---- - -## ⚡ 速记符号系统(新增) - -### 行为速记 - -| 速记 | 全称 | 使用场景 | -|------|------|----------| -| `gj` | 观望 | `gj5` = 观望5分钟 | -| `zd` | 主动 | `zd3` = 主动搭3层 | -| `zt` | 自己调整 | 球卡住时自己调整 | -| `wb` | 完成 | 独立完成搭建 | -| `mr` | 融入 | 融入小组活动 | -| `zx` | 专注 | 专注完成任务 | -| `sb` | 失败→调整 | 失败后调整再尝试 | - -### 情绪速记 - -| 速记 | 含义 | 示例 | -|------|------|------| -| `↑` / `kx` | 开心/积极 | 情绪↑ 或 kx | -| `→` / `wd` | 稳定/平和 | 情绪→ 或 wd | -| `↓` / `fd` | 烦躁/低落 | 情绪↓ 或 fd | -| `~` / `bd` | 波动 | 情绪~ 或 bd | - -### 对比速记 - -| 速记 | 含义 | 示例 | -|------|------|------| -| `++` / `!` | 比上周进步 | 比上周++ | -| `=` / `0` | 和之前一样 | 和之前= | -| `--` / `?` | 需关注 | 需-- | -| `new` | 新学生/首次 | 标记首次上课 | - -### 速记组合示例 - -``` -输入: 乔乔:gj5→zd3→zt ↑++ -展开: 乔乔观望5分钟后主动搭3层,自己调整,开心,比上周进步 - -输入: 昊昊:慢热→zd3→反复调 → -展开: 昊昊慢热,主动搭3层,反复调整,情绪稳定 - -输入: 小强:频换玩法 wb↓-- -展开: 小强频繁换玩法,未完成,情绪烦躁,需关注 -``` - ---- - -## 🏷️ 标记驱动处理(新增) - -**使用标记快速指定学生类型,无需中断流程** - -| 标记 | 含义 | 处理方式 | 保存位置 | -|------|------|----------|----------| -| 无标记 | 正式学生 | 双轨保存 | 班级汇总+个人档案 | -| `[补课]` | 补课学生 | 询问是否建档 | 先班级汇总 | -| `[体验]` | 体验课学生 | 仅班级汇总 | 班级汇总(标记体验) | -| `[缺课]` | 今天缺席 | 记录缺席 | 班级汇总(标记缺课) | -| `[new]` | 新学生首次 | 创建档案 | 双轨保存 | - -### 标记使用示例 - -``` -批量输入示例: - -周四19点 DISC-007 - -乔乔:gj5→zd3→zt ↑++ -昊昊:慢热→zd3→反复调 → -张小明[体验]:搭了3层,开心 -李小红[补课]:专注完成,稳定 -``` - -**AI自动处理**: -- 乔乔、昊昊:双轨保存 -- 张小明[体验]:仅保存到班级汇总,不询问 -- 李小红[补课]:生成后询问是否建档 - ---- - -## ✨ 自然语言输入(推荐) - -### 方式1:极简一句话 - -``` -乔乔今天开始不敢碰,后来主动搭了三层,球卡住自己调高度,挺稳定的,比上周主动多了 - -昊昊还是老样子,慢热型,观察了5分钟才开始,不过后来搭得挺稳的,反复调整了几遍 -``` - -### 方式2:关键词速记 - -``` -乔乔:gj5→zd3→zt ↑++ -昊昊:慢热→zd3→反复调 → -小强:频换玩法 wb↓-- -``` - -### 方式3:会话上下文(新增) - -**首次指定班级后,后续无需重复** - -``` -/课评 班级:发现世界-周四19点 # 只需一次 - -# 后续直接输入学生表现 -乔乔:搭3层,开心 -昊昊:慢热,稳定 -``` - ---- - -## 🔊 语音输入优化 - -### 谐音自动纠正 - -AI自动匹配班级学生名单,实时纠正: -- "良心桥" → "梁昕乔" -- "中云浩" → "钟昀昊" -- "李一同" → "李怡瞳" - -### 语音速记混合 - -``` -语音输入:"呃...乔乔啊...观望了5分钟...主动搭3层...自己调整...开心" - -AI解析: - 学生:乔乔(匹配小名) - 行为:gj5→zd3→zt - 情绪:↑ -``` - ---- - -## 📊 批量输入格式 - -### 列表式(推荐) - -``` -课程:DISC-007 -班级:发现世界-周四19点 - -1. 乔乔:gj5→zd3→zt ↑++ -2. 昊昊:慢热→zd3→反复调 → -3. 张小明[体验]:搭3层,开心 -4. 李小红[补课]:专注完成,稳定 -``` - -### 简化表格式 - -``` -乔乔 gj5→zd3→zt ↑ ++ -昊昊 慢热→zd3→反复调 → 渐入佳境 -小明[体验] 搭3层 ↑ 积极参与 -``` - ---- - -## 🔄 输入示例大全 - -### 示例1:极简速记 - -``` -输入:乔乔:gj5→zd3→zt ↑++ - -AI解析: - 学生:乔乔(小名) - 行为:观望5分钟→主动搭3层→自己调整 - 情绪:开心 - 对比:比上周进步 -``` - -### 示例2:语音风格 - -``` -输入:呃,昊昊啊,今天上课啊,就是慢热,观察了一会儿才开始,然后搭了三层,反复调整,情绪挺稳定的 - -AI解析: - 学生:昊昊 - 行为:观望→搭3层→反复调整 - 情绪:稳定 - -输出字数:约200字(精简版) -``` - -### 示例3:详细输入 → 详细输出 - -``` -输入:乔乔今天开始观望了5分钟,后来主动搭了3层管道,球卡住的时候自己调整高度,还帮助旁边的小朋友一起搭,最后完成作品特别开心,说这是她最喜欢的作品。比上周主动多了,上周观望了10分钟才开始。 - -AI解析: - 学生:乔乔 - 行为:观望5分钟→主动搭3层→自己调整→帮助同伴 - 情绪:开心(特别开心) - 对比:比上周进步(上周观望10分钟) - 亮点:主动帮助同伴、表达情感、纵向对比明显 - -输出字数:约280字(详细版) -``` - ---- - -## 📏 课评字数弹性规则 - -### 核心理念 -**输入越丰富 → 课评越详细** - -课评字数不再固定为200字,而是根据你输入的内容丰富度自动调整: - -| 输入类型 | 示例 | 输出字数 | 说明 | -|---------|------|---------|------| -| **精简输入** | "搭了3层,开心" | 180-220字 | 基础描述,简洁明了 | -| **标准输入** | "观望5分钟后主动搭3层,自己调整,还帮助同伴" | 220-280字 | 有具体细节或亮点,充分展现 | -| **详细输入** | "观望5分钟→主动搭3层→自己调整→帮助同伴→说这是最喜欢的作品→比上周主动多了" | 280-350字 | 精彩瞬间多,全面记录 | - -### 给教师的建议 - -1. **简单记录 → 简洁课评** - - 适合:常规课堂、表现平稳 - - 输入:简要描述行为即可 - -2. **详细描述 → 丰富课评** - - 适合:有亮点、有突破、有情感瞬间 - - 输入:尽可能多描述细节,AI会充分展开 - -3. **不用担心字数** - - 描述得多 ≠ 啰嗦 - - AI会智能整合,保持可读性 - - 家长更喜欢看到孩子具体的成长瞬间 - ---- - -### 示例4:批量混合标记 - -``` -输入: -周四19点 DISC-007 - -乔乔:gj5→zd3→zt ↑++ -昊昊:慢热→zd3→反复调 → -张小明[体验]:搭了3层,开心 -``` - ---- - -## 📦 存储规则 - -存储流程和学生类型处理规则详见 [CLAUDE.md 存储双轨制](../../CLAUDE.md) 和 [33-first-class-rules.md](33-first-class-rules.md)。 - -**简要说明**: -- 正式学生:双轨保存(班级汇总 + 个人档案) -- `[补课]`学生:检查档案 → 存在则双轨,不存在则询问 -- `[体验]`学生:仅班级汇总 -- `[缺课]`学生:仅记录缺席 - -### ⚠️ 重要:课评正文禁止提及补课 - -**无论学生是否标记为`[补课]`,课评正文中绝对不能提及补课相关内容**: - -- ❌ 禁止出现"补课"、"补课上"、"来补课"、"本次补课"等词汇 -- ❌ 禁止暗示学生非正常上课(如"今天特别来参加"、"临时加入"、"从其他班级过来"等) -- ❌ 禁止在课评正文中区分"本班学生"和"补课学生" - -**正确处理**: -- ✅ `[补课]`标记**仅用于后台档案管理**,课评正文**完全按正常学生**撰写 -- ✅ 课评开头直接写"XX本节课学习了...",**不加任何特殊说明** -- ✅ 补课信息仅保存在班级汇总元数据中,不进入课评正文 - -**示例**: -``` -教师输入:李小红[补课]:搭了3层,专注完成 - -课评输出(正确): -小红本节课学习了"旋转飞机",认识了游乐园旋转设施的中心轴结构... - -课评输出(错误): -小红本节课作为补课学生,学习了"旋转飞机"... ❌(禁止提及补课) -小红今天来补课,学习了"旋转飞机"... ❌(禁止提及补课) -``` - ---- - -## 📞 常见问题 - -**Q:速记符号记不住怎么办?** -A:不用记!直接用自然语言描述,AI一样能理解。速记是给熟练用户的可选提速方式。 - -**Q:忘记打标记怎么办?** -A:AI会检测档案自动判断。有档案=正式学生,无档案=提示选择[补课]/[体验]。 - -**Q:标记可以组合吗?** -A:可以!`张小明[体验][new]`表示体验课新学生。 - -**Q:上下文记忆持续多久?** -A:一次会话内有效。换班级时重新指定即可。 - ---- - -*核心理念:用最自然的方式记录,让AI处理格式* diff --git a/.claude/rules/30-student.md b/.claude/rules/30-student.md index 74a07c4..9a4a95f 100644 --- a/.claude/rules/30-student.md +++ b/.claude/rules/30-student.md @@ -90,6 +90,63 @@ memory/student/{班级}/{学生名}/ - **禁用**:"宝贝"、"小朋友"等套话称呼 - **禁用全名**(除非学生要求或单字名叠字后仍不清晰) +### 2.3 语音输入谐音纠正 + +语音输入时,学生姓名可能被识别为谐音词。系统自动按以下机制纠正: + +**纠正优先级**: +1. 优先匹配班级现有学生名单(完整匹配) +2. 其次匹配去除姓氏后的名字部分 +3. 最后进行谐音/模糊音匹配 + +**置信度处理**: +- **>90%**:自动纠正,不提示 +- **70-90%**:生成时提示教师确认 +- **<70%**:要求教师重新输入 + +**常见谐音对照表**: + +| 正确姓名 | 常见谐音错误 | 拼音 | +|---------|-------------|---------| +| 梁昕乔 | 良心桥、亮新巧 | liang xin qiao | +| 钟昀昊 | 中云浩、钟运好 | zhong yun hao | +| 李怡瞳 | 李一同、黎怡彤 | li yi tong | +| 黄晓瑜 | 小鱼 | xiao yu | +| 罗钧龄 | 君玲 | jun ling | +| 简思霖 | 思林 | si lin | + +**常见误识别模式**: +- **同音字替换**:"晓瑜"→"小鱼","钧龄"→"君玲" +- **省略姓氏**:"黄晓瑜"→"晓瑜","梁家铭"→"家铭" +- **连读变音**:"馨宸"→"新城","瀚丞"→"韩晨" + +### 2.4 特殊姓名处理 + +**复姓处理**: + +| 复姓 | 全名 | 建议称呼 | +|------|------|---------| +| 欧阳 | 欧阳明 | 阳明/明明 | +| 司马 | 司马昊 | 马昊/昊昊 | +| 上官 | 上官婷 | 官婷/婷婷 | +| 诸葛 | 诸葛亮 | 葛亮/亮亮 | + +**生僻字处理**: +- 名字中有生僻字时,优先使用小名 +- 无小名时,可使用"去姓称名"中易读的字 +- 或询问家长希望如何称呼 + +**外籍/少数民族姓名**: +- 优先使用家长指定的小名/英文名 +- 或使用名字的后半部分(如:David → David或大卫) +- 尊重家庭习惯 + +### 2.5 双胞胎处理 + +- 必须分别建立档案 +- 小名要区分(如:大宝/小宝,哥哥/弟弟) +- 避免在课评中直接对比 + --- ## 三、千人千面实现方式 diff --git a/.claude/rules/31-class-differentiation.md b/.claude/rules/31-class-differentiation.md deleted file mode 100644 index 0f773c3..0000000 --- a/.claude/rules/31-class-differentiation.md +++ /dev/null @@ -1,172 +0,0 @@ -# 班级差异与千人千面规则 - -> 记录同一课程在不同班级的差异化表现,实现千人千面课评 - -## 班级档案体系 - -每个班级建立独立档案,记录以下信息: - -``` -memory/student/class-profile/ -├── 小小班A班.md # 托班班级档案 -├── 小班B班.md # 小班班级档案 -├── ... -``` - -## 班级档案模板 - -```markdown -# 班级档案:小小班A班 - -## 基本信息 -- 班级代码:TUBE-A -- 年龄段:2.5-3.5岁(年龄偏小) -- 人数:8人 -- 上课时间:周三上午10:00 -- 班主任:[教师名] - -## 班级整体特点 -- 整体状态:年龄偏小,需要更多引导时间 -- 专注力:平均10-15分钟 -- 社交水平:平行游戏为主,偶有互动 -- 情绪特点:容易受他人影响,1人哭可能带动2-3人 - -## 个体差异速查 -| 学生 | 特点 | 关注要点 | -|-----|------|---------| -| 小明 | 谨慎型,观察后行动 | 多鼓励,不催促 | -| 小红 | 活跃,容易分心 | 多提醒回到任务 | -| 小强 | 情绪化,容易放弃 | 降低难度,及时肯定 | - -## 课程调整记录 -| 课程 | 标准时长 | 实际调整 | 效果 | -|-----|---------|---------|------| -| TUBE-001 | 45分钟 | 导入延长5分钟 | 好,都进入了状态 | -| TUBE-002 | 45分钟 | 减少弯管环节 | 一般,有人觉得简单 | - -## 共性课评话术 -- 适合本班的鼓励语:"真棒,小手真灵活" -- 避免的话术:"看看别人怎么做的"(容易引起焦虑) -- 家长沟通特点:家长普遍担心孩子太小,需要强调适龄性 -``` - -## 千人千面实现方式 - -### 1. 班级维度差异 - -**同课程不同班级,课评侧重点不同**: - -| 班级类型 | 课评侧重 | 示例 | -|---------|---------|------| -| 年龄偏小班 | 参与度、情绪适应 | "今天能主动拿起管道尝试,这个开始很重要" | -| 能力较强班 | 创意、挑战度 | "不仅完成基础搭建,还自己加了弯管设计" | -| 活跃好动班 | 专注力、规则意识 | "今天专注了15分钟,中途没有离开座位" | -| 内向安静班 | 社交互动、表达 | "主动邀请旁边的小朋友一起看球滚落" | - -### 2. 学生维度差异 - -**同一班级不同学生,评价角度不同**: - -``` -课程:TUBE-001 管道滚球 - -小明(谨慎型): -→ 课评侧重:主动尝试的勇气 -"小明今天观察了5分钟后主动拿起管道,这个开始的勇气比作品本身更值得关注" - -小红(活跃型): -→ 课评侧重:专注和坚持 -"小红今天专注搭建15分钟,没有频繁换玩法,这个坚持很难得" - -小强(敏感型): -→ 课评侧重:抗挫和情绪管理 -"今天球卡住了小强没有急,而是调整了入口高度,这个调整值得肯定" -``` - -### 3. 历史对比差异 - -**同一学生纵向对比**: - -``` -小明 第1节课:完全不敢碰,坐看 -小明 第3节课:主动搭了2层 -小明 第5节课:自己加弯管设计 - -→ 第5节课评重点: -"和第一节课相比,小明从观望到主动设计,进步非常明显" -``` - -## 输入时标记班级差异 - -### 快速标记法 - -``` -TUBE-001 A班 → 自动调取A班特点 -TUBE-001 B班 → 自动调取B班特点 -``` - -### 输入时备注 - -```yaml -学生:小明 -班级:小小班A班(年龄偏小) -表现:... -调整:导入延长5分钟 -``` - -## AI自动差异化处理 - -### 自动判断维度 - -AI根据以下信息自动调整输出: - -1. **班级档案** → 调取班级整体特点 -2. **学生历史** → 对比上节课表现 -3. **课程阶段** → 学期初/中/末的不同侧重 -4. **观察关键词** → "终于"/"比上次"等词触发对比评价 -5. **首次上课/补课关键词** → **仅在教师输入中明确写明**"第一次"/"新学生"时才在课评中提及;**补课学生不要写"第一次上课"相关表述** - -### 差异化输出示例 - -**输入**: -``` -小明:搭了3层管道,球卡住自己调整 -班级:小小班A班(整体谨慎) -``` - -**A班输出**(谨慎班,鼓励尝试): -> 小明今天主动搭了3层管道,遇到球卡住时能自己调整高度。对于咱们班这个年龄段的孩子,能独立解决问题是很难得的表现。 - -**B班输出**(活跃班,鼓励专注): -> 小明今天专注完成了3层管道搭建,遇到问题时能沉下心调整。在咱们班这个活跃的氛围里,保持专注完成任务是很好的品质。 - -## 课程难度微调 - -### 根据班级调整内容 - -| 班级状态 | 调整策略 | 课评体现 | -|---------|---------|---------| -| 整体掌握快 | 增加挑战环节 | "完成了基础任务后,还尝试了XX进阶玩法" | -| 整体掌握慢 | 减少环节 | "这节课专注完成了核心任务XX" | -| 情绪不高 | 增加游戏性 | "在游戏中自然学会了XX概念" | -| 过于兴奋 | 强调规则 | "在热闹的氛围里记住了XX规则" | - -## 批量生成时的千人千面 - -**输入**(8个学生同节课): -``` -TUBE-001 小小班A班 -小明:观望5分钟→主动搭3层→自己调高度 -小红:全程专注→搭5层→加弯管 -小强:频繁换玩法→未完整搭建→兴奋→烦躁 -... -``` - -**AI处理**: -1. 识别每个学生特点(谨慎型/专注型/活跃型等) -2. 调用班级整体特点(A班偏谨慎) -3. 为每个学生生成不同侧重点的课评 -4. 避免8个课评雷同 - -## 版本 -- v1.0 | 2026-03-25 | 初始版本 diff --git a/.claude/rules/32-batch-generation.md b/.claude/rules/32-batch-generation.md deleted file mode 100644 index 30a0011..0000000 --- a/.claude/rules/32-batch-generation.md +++ /dev/null @@ -1,258 +0,0 @@ -# 批量课评生成规则 v2.0(优化版) - -> 支持一节课给多个学生同时生成课评,保持千人千面 -> -> **优化内容**:批量并行生成、智能分级确认、自动质量检查 - ---- - -## 🚀 批量生成流程 - -``` -输入表格 → AI并行解析每个学生 → 预加载课程/档案 → -并行生成多份课评 → 自动保存班级周汇总 → 质量检查 → -批量展示 → 教师一键确认 → 自动双轨保存 -``` - -> **核心优势**:8人课评从15-20分钟缩短至**3-5分钟**(效率提升75%) - ---- - -## 📝 批量输入格式 - -### 标准列表式(推荐) - -``` -课程:DISC-007 -班级:发现世界-周四19点 -日期:4月16日 - -1. 乔乔:gj5→zd3→zt ↑++ -2. 昊昊:慢热→zd3→反复调 → -3. 张小明[体验]:搭了3层,开心 -4. 李小红[补课]:专注完成,稳定 -5. 小强:频换玩法 wb↓-- -``` - -### 简化表格式 - -``` -课程:DISC-007 班级:发现世界-周四19点 - -学生 核心表现 情绪 对比 -───────────────────────────────────────── -乔乔 gj5→zd3→zt ↑ ++ -昊昊 慢热→zd3→反复调 → 渐入佳境 -小明[体验] 搭3层参与 ↑ 积极 -小红[补课] 专注完成 → 稳定 -``` - -### 纯速记式(高效用户) - -``` -DISC-007 发现世界-周四19点 - -乔乔 gj5→zd3→zt ↑++ -昊昊 慢热→zd3→反复调 → -小明[体验] zd3 ↑ -``` - ---- - -## ⚡ 批量输出格式(优化) - -### 统一展示界面 - -``` -━━━━━━━━━━━━━━━━━━━━━━━ -📊 批量生成完成(5份)|发现世界-周四19点|DISC-007 -━━━━━━━━━━━━━━━━━━━━━━━ - -✅ 乔乔 198字 正常 -✅ 昊昊 205字 正常 -⚠️ 小强 165字 偏短 -✅ 张小明[体验] 192字 体验学生 -✅ 李小红[补课] 201字 补课学生 - -【批量操作】 -[全部发送] [逐个查看] [标记修改] [取消] -━━━━━━━━━━━━━━━━━━━━━━━ -``` - -**自动通过条件**(同时满足): -- ✅ 学生有完整档案 -- ✅ 字数在弹性范围内 -- ✅ 无敏感词/异常表述 -- ✅ 情绪描述合理 - -**需人工确认条件**(任一满足): -- ⚠️ 体验/补课学生(无档案) -- ⚠️ 字数偏差>20字 -- ⚠️ 检测到负面情绪词 -- ⚠️ 与上周表现差异过大 -- ⚠️ 内容重复度高 - ---- - -## 🔍 自动质量检查 - -### 检查维度 - -| 检查项 | 描述 | -|--------|------| -| 字数检查 | 是否符合弹性范围(180-350字) | -| 重复检查 | 开头句式是否差异化 | -| 差异化检查 | 各课评侧重点是否不同 | -| 待关注项 | 特殊情绪/行为标记 | - -### 差异化策略 - -**1. 开头差异化** - -| 学生类型 | 开头句式示例 | -|----------|-------------| -| 谨慎型 | "今天[学生]终于主动尝试了..." | -| 活跃型 | "[学生]今天一如既往充满活力..." | -| 进步型 | "和上周相比,[学生]有了明显进步..." | -| 补课型 | "这节课[学生]融入得很好..." | -| 体验型 | "欢迎[学生]第一次来到..." | - -**2. 侧重点差异化** - -同一节课,不同学生类型侧重不同: -- **谨慎型** → 参与度和勇气 -- **熟练型** → 创意和拓展 -- **困难型** → 过程价值 - -**3. 建议差异化** - -根据学生能力推荐不同课后活动: -- **参与少**:在家可以用纸筒做简单旋转玩具 -- **能力强**:可以尝试用不同材料做对比实验 -- **坚持短**:可以从5分钟小目标开始练习专注 - ---- - -## 📦 存储流程(优化后) - -### 存储路径 - -| 位置 | 路径 | 说明 | -|------|------|------| -| 班级周汇总 | `memory/class-evaluation-summary/第X周/{班级}.md` | 全班汇总,含确认状态 | -| 个人档案 | `memory/student/{班级}/{学生}/历史课评记录.md` | 个人完整轨迹 | - -> 完整存储规则和学生类型处理详见 [CLAUDE.md](../../CLAUDE.md) 和 [33-first-class-rules.md](33-first-class-rules.md) - ---- - -## 🏷️ 特殊情况批量处理 - -### 标记速查 - -| 标记 | 处理逻辑 | 保存位置 | -|------|---------|---------| -| `[补课]` | **检查当前班级档案** → 存在则双轨,不存在则询问 | 班级汇总+(可选)个人档案 | -| `[体验]` | 仅班级汇总,不询问 | 仅班级汇总(标记体验) | -| `[缺课]` | 记录缺席,不生成课评 | 班级汇总(标记缺课) | -| `[new]` | 创建新档案,双轨保存 | 班级汇总+个人档案 | - -**[补课]处理详细逻辑**: -1. 检查 `memory/student/{当前班级}/{学生名}/` -2. 如存在 → 该学生为本班补课 → 双轨保存 -3. 如不存在 → 可能为其他班级补课 → 询问处理方式 - - [1] 其他老师班级学生 → 仅班级汇总 - - [2] 新转班学生 → 创建档案 - -### 批量处理示例 - -``` -输入: -DISC-007 发现世界-周四19点 - -1. 乔乔:gj5→zd3→zt ↑++ -2. 昊昊:慢热→zd3→反复调 → -3. 张小明[体验]:搭了3层,开心 -4. 李小红[补课]:专注完成,稳定 -5. 王大力[缺课] - -AI处理: -✓ 乔乔、昊昊:正常生成,双轨保存(正式学生) -⚠ 张小明[体验]:生成标记为"体验学生",仅班级汇总 -⚠ 李小红[补课]:检查档案 → 存在则双轨,不存在则询问 -✓ 王大力[缺课]:记录"王大力:缺课",不生成课评 -``` - ---- - -## 💡 效率优化技巧 - -### 1. 上下文复用 - -``` -/课评 班级:发现世界-周四19点 # 首次指定 - -# 后续直接输入学生,无需重复班级 -乔乔:搭3层 -昊昊:慢热 -``` - -### 2. 语音批量录入 - -语音输入多学生表现,AI自动分段生成课评。 - ---- - -## 📊 批量生成检查清单 - -### 生成前检查 -- [ ] 班级信息正确(或已在上下文中) -- [ ] 学生姓名无遗漏 -- [ ] 标记使用正确([补课]/[体验]/[缺课]) - -### 生成后检查 -- [ ] 全部学生课评已生成 -- [ ] 字数符合弹性范围 -- [ ] 开头句式差异化 -- [ ] 建议内容个性化 -- [ ] 特殊学生已标记 - -### 发送前检查 -- [ ] 内容准确无误 -- [ ] 称呼正确(小名/去姓) -- [ ] 补课/体验学生处理完毕 - ---- - -## 🎯 使用建议 - -### 推荐工作流程 - -``` -Step 1: 指定班级(一次) - /课评 班级:发现世界-周四19点 - -Step 2: 批量输入(使用速记) - 乔乔:gj5→zd3→zt ↑++ - 昊昊:慢热→zd3→反复调 → - 小明[体验]:zd3 ↑ - -Step 3: AI批量生成(自动质量检查) - -Step 4: 查看质量报告,一键确认 - -Step 5: 自动保存并发送 -``` - -### 不同场景推荐 - -| 场景 | 推荐方式 | 预计时间 | -|------|---------|----------| -| 常规课后(8人) | 速记批量输入 | 3-5分钟 | -| 重点关注学生 | 自然语言详细描述 | 2-3分钟/人 | -| 边走边记 | 语音转文字 | 实时 | -| 周汇总整理 | 查看班级周汇总文件 | 1分钟 | - ---- - -*核心理念:批量不批量,千人千面不打折* diff --git a/.claude/rules/33-first-class-rules.md b/.claude/rules/33-first-class-rules.md deleted file mode 100644 index 36bc219..0000000 --- a/.claude/rules/33-first-class-rules.md +++ /dev/null @@ -1,346 +0,0 @@ -# 新学生与补课学生处理规则 - -> 统一规范首次上课新学生与补课学生的课评处理 - ---- - -## 核心规则 - -### 规则1:首次上课(新学生) - -**定义**: -- 从未在本机构上过任何课程的学生 -- 刚报名入学的学生 - -**课评提及条件**: -- **仅在教师输入中明确写明"第一次上课"、"新学生"等关键词时,才能在课评中提及** -- 如果教师未明确说明,课评中**不自动添加**"这是孩子第一次上课"等表述 - -**正确示例**: -``` -教师输入:小明(第一次上课):开始不敢碰,后来搭了3层 -课评输出:这节课是小明第一次上课,开始有点害羞... -``` - -**错误示例**: -``` -教师输入:小明:开始不敢碰,后来搭了3层 -课评输出:这节课是小明第一次上课... ❌(教师未说明) -``` - ---- - -### 规则2:补课学生(分两种情况处理) - -**补课学生定义**: -因各种原因(请假、调课等)需要在非原班级时间补课的学生。 - -**⚠️ 重要:补课学生分两类,处理方式不同** - -#### 情况A:自己班级的学生补课 -- **判断标准**:学生在 `memory/student/{当前班级}/` 目录中存在 -- **处理方式**:**正常双轨保存**(班级汇总 + 个人档案) -- **说明**:这是你自己的学生,只是补课,无需额外确认 - -**示例**: -``` -教师输入:乔乔[补课]:搭了3层,开心 -AI检测:乔乔在本班级档案中存在 → 按正式学生处理 -处理结果:双轨保存 -``` - -#### 情况B:其他老师的学生来补课 -- **判断标准**:学生在 `memory/student/{当前班级}/` 目录中**不存在** -- **处理方式**:**先询问再决定** -- **询问内容**:确认是否需要为该学生建档,或仅记录到班级汇总 - -**询问示例**: -``` -⚠️ 未找到「张小明」在本班级的个人档案 - -该学生标记为[补课],但不在本班级学生名单中。 - -可能情况: -[1] 其他老师的学生来补课 → 仅保存到班级汇总 -[2] 新转班学生 → 创建个人档案 -[3] 档案路径有误 → 手动指定班级 - -请选择处理方式: -``` - -#### 统一规则 -- **不要写"第一次上课"相关表述**,即使这是该学生第一次上这节课 -- 补课学生**不是新学生**,只是课程调整 -- 正常生成课评,按已有档案处理(或询问后的选择处理) - -#### ⚠️ 重要规则:课评正文禁止提及补课 - -**绝对禁止**: -- ❌ **课评正文中绝对不能提及学生来补课相关内容** -- ❌ 禁止出现"补课"、"补课上"、"来补课"、"本次补课"等词汇 -- ❌ 禁止暗示学生非正常上课(如"今天特别来参加"、"临时加入"等) - -**正确处理**: -- ✅ 课评正文**完全按正常学生**撰写,仿佛学生就是本班正常上课的学生 -- ✅ `[补课]`标记**仅作为后台参考**,用于档案存储路径判断 -- ✅ 补课信息仅保存在班级汇总的元数据中,不进入课评正文 - -**正确示例**: -``` -教师输入:林瀚丞[补课]:积极分析课程任务,专注完成了绿色身体、黑色头部的蜥蜴设计 - -课评输出(正确): -瀚丞本节课学习了"蜥蜴"的仿生搭建...(正常撰写,完全不提补课) - -课评输出(错误): -瀚丞本节课作为补课学生,学习了"蜥蜴"... ❌(禁止提及补课) -瀚丞今天来补课,学习了"蜥蜴"... ❌(禁止提及补课) -``` - -**说明**: -- 家长看到课评时不应知道孩子是补课还是正常上课 -- 补课标记仅用于教师内部管理和档案存储 -- 保持课评的一致性和专业性 - ---- - -### 规则3:禁止自动推断 - -**严格禁止**: -- ❌ **禁止AI自动推断学生是补课还是第一次上课** -- ❌ 禁止根据表现猜测(如"表现生疏"→"可能是第一次") -- ❌ 禁止根据历史记录自动判断 - -**必须**: -- ✅ 完全依赖教师输入中的明确标记 -- ✅ 无标记时按常规学生处理 - ---- - -## 教师输入标记方式 - -### 单个学生输入 -``` -小明[第一次上课]:开始不敢碰,后来主动搭3层 -小红[补课]:搭了3层,开心 -``` - -### 批量输入 -``` -课程:DISC-003 -班级:发现世界-周四19点 - -梁昕乔:快速启动,开心 -钟昀昊:慢热,稳定 -张小明[第一次上课]:开始不敢碰,后来主动 -李小红[补课]:搭了3层,认真 -``` - ---- - -## 无档案学生处理(补课/体验) - -当检测到学生无个人档案时: - -### 检测流程 -1. AI自动检测 `memory/student/{当前班级}/{学生名}/` 是否存在 -2. **如存在**:该学生为本班级补课学生 → **正常双轨保存** -3. **如不存在**:可能是其他老师班级学生 → **询问教师处理方式** - -### 处理方式 - -| 场景 | 判断条件 | 处理方式 | 存储位置 | -|------|---------|---------|---------| -| **自己班级补课学生** | 档案在当前班级目录存在 | 双轨保存 | 班级汇总 + 个人档案 | -| **其他老师班级补课学生** | 档案不在当前班级目录 | 询问后决定 | 班级汇总(可选个人档案)| -| **体验课学生** | 无标记或标记[体验] | 仅班级汇总 | 班级汇总(标记体验)| - -### 询问流程(其他老师班级补课学生) - -``` -⚠️ 未找到「张小明」在「发现世界-周四19点」班级的个人档案 - -该学生标记为[补课],但不在本班级学生名单中。 - -可能情况: -[1] 其他老师的学生来补课 → 仅保存到班级汇总 -[2] 新转班学生 → 创建个人档案(双轨保存) -[3] 档案在其他班级目录 → 询问是否迁移或仅班级汇总 - -请选择处理方式: -``` - ---- - -## 🔄 简化转正流程(新增 v1.1) - -### 原流程问题 -- 体验学生转正需要回复"转为正式" -- 历史课评需要从班级汇总迁移到个人档案 -- 操作步骤多,容易遗忘 - -### 优化后流程 - -#### 方案1:智能检测转正(推荐) - -当体验/补课学生连续上课达到**3次**时,AI主动提示: - -``` -━━━━━━━━━━━━━━━━━━━━━━━━━ -💡 转正建议 - -张小明已连续上3节课(第5周、第6周、第7周): -- 第5周:体验课,积极参与 -- 第6周:体验课,专注完成 -- 第7周:体验课,表现稳定 - -建议为其创建正式档案,便于: -✓ 追踪完整成长轨迹 -✓ 生成学期总结报告 -✓ 家长沟通更有依据 - -[创建正式档案] [继续体验] [下周再提醒] -━━━━━━━━━━━━━━━━━━━━━━━━━ -``` - -#### 方案2:一键转正(快捷) - -输入简化指令: - -``` -教师:小明转正 -或 -教师:小明[正式] - -AI处理: -1. 创建个人档案:memory/student/{班级}/小明/ -2. 自动迁移历史课评(从班级汇总提取) -3. 标记后续课评为"正式学生" -4. 双轨保存生效 - -━━━━━━━━━━━━━━━━━━━━━━━━━ -✅ 转正完成:张小明 - -已创建: -- 用户画像.md(模板,待完善) -- 历史课评记录.md(已迁移3次课评) -- 成长素材.md(空,待补充) - -历史课评已迁移: -- 第5周 DISC-005 天平秤 -- 第6周 DISC-006 长颈鹿 -- 第7周 DISC-007 旋转飞机 - -下次输入"小明"将按正式学生处理 -━━━━━━━━━━━━━━━━━━━━━━━━━ -``` - -#### 方案3:输入时标记升级(灵活) - -支持在输入时直接标记状态变化: - -``` -输入:小明[体验→正式]:今天表现很好 - -AI处理: -1. 自动创建档案 -2. 迁移历史课评 -3. 生成本次课评 -4. 双轨保存 - -━━━━━━━━━━━━━━━━━━━━━━━━━ -✅ 转正并生成课评:张小明 - -状态变化:体验 → 正式 -已创建个人档案并迁移历史记录 -本次课评已双轨保存 -━━━━━━━━━━━━━━━━━━━━━━━━━ -``` - -### 转正数据迁移 - -#### 自动迁移内容 - -| 内容 | 来源 | 目标 | 操作 | -|------|------|------|------| -| 历史课评 | 班级周汇总 | 个人历史课评.md | 自动提取并追加 | -| 用户画像 | 无 | 新建用户画像.md | 创建模板 | -| 成长素材 | 无 | 新建成长素材.md | 创建空文件 | - -#### 迁移示例 - -```markdown -# 迁移前(班级汇总) - -### 张小明(体验学生)⚠️ -【第5周课评内容】 -【第6周课评内容】 -【第7周课评内容】 - ---- - -# 迁移后(个人档案) - -## 历史课评记录.md - -### 2026-04-04 | 课程代码:DISC-005 -**课评内容**:【第5周内容】 -**备注**:体验期间,原记录在班级汇总 - -### 2026-04-11 | 课程代码:DISC-006 -**课评内容**:【第6周内容】 -**备注**:体验期间,原记录在班级汇总 - -### 2026-04-17 | 课程代码:DISC-007 -**课评内容**:【第7周内容】 -**备注**:体验期间,原记录在班级汇总 - -### 转正记录 -- 转正日期:2026-04-17 -- 转正周数:第7周 -- 已上课时:3节 -- 来源:体验课转正 -``` - -### 转正后班级汇总更新 - -```markdown -# 原标记(体验期间) -### 张小明(体验学生)⚠️ - -# 更新后(转正后) -### 张小明(已转正 ✅) -- 转正日期:2026-04-17 -- 个人档案:已创建 -- 历史课评:已迁移至个人档案 -``` - -### 转正统计 - -在班级学期总览中添加转正统计: - -``` -## 学生流动情况 - -| 类型 | 人数 | 说明 | -|------|:----:|:-----| -| 正式学生 | 30人 | 学期初已建档 | -| 体验转正 | 3人 | 本学期从体验转正式 | -| 补课转入 | 2人 | 从其他班级转入 | -| 当前体验 | 2人 | 正在体验中 | - -### 本学期转正记录 - -| 学生 | 原状态 | 转正周 | 已上课时 | 转正原因 | -|------|:------:|:------:|:--------:|:---------| -| 张小明 | 体验 | 第7周 | 3节 | 连续参与,表现稳定 | -| 李小红 | 补课 | 第5周 | 2节 | 转入正式班级 | -``` - ---- - -## 相关文件 - -- 输入格式规则:[30-input-format.md](30-input-format.md) -- 批量生成规则:[32-batch-generation.md](32-batch-generation.md) -- 快速入门:[40-keping-快速入门.md](40-keping-快速入门.md) diff --git a/.claude/rules/35-画像建立指南.md b/.claude/rules/35-画像建立指南.md deleted file mode 100644 index b820926..0000000 --- a/.claude/rules/35-画像建立指南.md +++ /dev/null @@ -1,166 +0,0 @@ -# 学生画像建立指南 - -> 用于指导教师建立完整的学生画像档案 -> -> **配套文件**:`memory/student/用户画像模板.md` - ---- - -## 📋 画像建立流程 - -``` -Step 1: 收集基础信息(姓名、年龄、班级) -Step 2: 观察性格气质(3节课以上) -Step 3: 评估学习特点(优势+待发展) -Step 4: 记录家长沟通偏好 -Step 5: 填写用户画像模板 -Step 6: 持续更新成长轨迹 -``` - ---- - -## 📝 信息采集问卷(10题版) - -### 基础信息(2题) - -**问题 1** -> **学生姓名(全名)是什么?** -> 用于档案管理,如:梁昕乔、钟昀昊 - -**问题 2** -> **孩子的小名或昵称是什么?** -> 如:乔乔、昊昊、瞳瞳、小雨等 -> 如果没有,回复"无",我们将用"昕乔"、"昀昊"等方式称呼 - ---- - -### 性格气质(3题) - -**问题 3** -> **整体气质类型?** -> 1. 活泼型(外向、精力充沛) -> 2. 谨慎型(内向、观察后行动) -> 3. 平和型(情绪稳定) -> 4. 敏感型(细腻、情绪反应强) - -**问题 4** -> **与同伴互动模式?** -> 1. 主动交友 -> 2. 被动跟随 -> 3. 平行玩耍 -> 4. 独自游戏 - -**问题 5** -> **遇到困难时的反应?** -> 1. 自己尝试解决 -> 2. 立即求助 -> 3. 容易放弃 -> 4. 有情绪反应 - ---- - -### 学习特点(3题) - -**问题 6** -> **学习方式偏好?** -> 1. 视觉型(爱看示范) -> 2. 听觉型(爱听讲解) -> 3. 动觉型(爱动手试) -> 4. 混合型 - -**问题 7** -> **平均专注时长?** -> 1. 10分钟以内 -> 2. 10-20分钟 -> 3. 20-30分钟 -> 4. 30分钟以上 - -**问题 8** -> **核心优势能力(可多选)?** -> 1. 空间想象 -> 2. 逻辑思维 -> 3. 创造力 -> 4. 精细动作 -> 5. 语言表达 - ---- - -### 家长沟通(2题) - -**问题 9** -> **主要接送人?** -> 1. 爸爸 -> 2. 妈妈 -> 3. 父母共同 -> 4. 祖辈 - -**问题 10** -> **家长期望沟通频率?** -> 1. 每课后 -> 2. 每周 -> 3. 有问题时 -> 4. 每月总结 - ---- - -## 📊 画像建档标准 - -### 建档时机 -- ✅ 新学生入学第1节课后 -- ✅ 补课学生第2节课后 -- ✅ 每学期初统一核查更新 - -### 档案完整性检查 -- [ ] 基础信息完整(姓名、年龄、班级) -- [ ] 性格气质已评估 -- [ ] 学习特点已记录 -- [ ] 家长沟通偏好已确认 -- [ ] 至少3次课的成长轨迹 - -### 更新频率 -| 信息类型 | 更新时机 | -|---------|---------| -| 基础信息 | 入学时/变动时 | -| 性格气质 | 每学期初 | -| 学习特点 | 每月评估 | -| 成长轨迹 | 每次课后 | -| 家长沟通 | 需要时 | - ---- - -## 🎯 课评称呼确定 - -收集完成后,根据以下规则确定课评称呼: - -| 优先级 | 条件 | 称呼方式 | 示例 | -|:------:|------|---------|------| -| 1 | 有小名/昵称 | 使用小名 | 乔乔、昊昊 | -| 2 | 双字名,无小名 | 去姓称名 | 昕乔、昀昊 | -| 3 | 单字名 | 叠字称呼 | 昊昊、婷婷 | -| 4 | 特殊要求 | 使用全名 | 梁昕乔 | - ---- - -## 📁 档案存储位置 - -``` -memory/student/{班级}/{学生名}/ -├── 用户画像.md # 核心档案 -├── 历史课评记录.md # 课评记录 -└── 成长素材.md # 照片/作品记录 -``` - ---- - -## 🔗 相关文件 - -- **用户画像模板**:`memory/student/用户画像模板.md` -- **历史课评模板**:`memory/student/历史课评记录模板.md` -- **姓名处理规则**:`.claude/rules/60-name-processing.md` -- **年龄段规则**:`.claude/rules/01-student-ages.md` - ---- - -*版本:v1.0* -*更新日期:2026-04-06* -*说明:本文件为画像建立指南,配套问卷模板参见 `memory/student/用户画像模板.md`* \ No newline at end of file diff --git a/.claude/rules/36-shorthand-learning.md b/.claude/rules/36-shorthand-learning.md deleted file mode 100644 index 36301d6..0000000 --- a/.claude/rules/36-shorthand-learning.md +++ /dev/null @@ -1,158 +0,0 @@ -# 速记符号阶梯学习指南 - -> 降低学习成本,从"记住所有"到"先用起来" - ---- - -## 🎯 学习理念 - -不需要一次性记住所有速记符号。**用4个核心符号先上手,再逐步扩展。** - ---- - -## 📚 第1级:核心速记(必学,5分钟上手) - -这4个符号覆盖80%的日常场景,**优先掌握**。 - -| 速记 | 含义 | 示例 | 使用频率 | -|------|------|------|:--------:| -| `gj#` | 观望#分钟 | `gj5` = 观望5分钟 | ⭐⭐⭐⭐⭐ | -| `zd#` | 主动搭#层 | `zd3` = 主动搭3层 | ⭐⭐⭐⭐⭐ | -| `↑` | 开心/积极 | 情绪↑ | ⭐⭐⭐⭐⭐ | -| `++` | 比上周进步 | 比上周++ | ⭐⭐⭐⭐⭐ | - -### 第1级实战示例 - -``` -输入前(自然语言): -乔乔观望了5分钟后主动搭了3层,挺开心的,比上周有进步 - -输入后(速记): -乔乔:gj5→zd3 ↑++ - -节省:从24字到13字,节省46%输入时间 -``` - ---- - -## 📚 第2级:常用速记(进阶,1天后学习) - -掌握第1级后,学习这4个扩展符号,覆盖90%场景。 - -| 速记 | 含义 | 示例 | 使用频率 | -|------|------|------|:--------:| -| `zt` | 自己调整 | 球卡住时zt | ⭐⭐⭐⭐ | -| `→` | 情绪稳定 | 情绪→ | ⭐⭐⭐⭐ | -| `wb` | 未完成 | 任务wb | ⭐⭐⭐⭐ | -| `--` | 需关注 | 需-- | ⭐⭐⭐ | - -### 第2级实战示例 - -``` -完整速记: -乔乔:gj5→zd3→zt ↑++ -昊昊:慢热→zd3→反复调 → -小强:频换玩法 wb↓-- -``` - ---- - -## 📚 第3级:辅助速记(高级,按需学习) - -特殊场景使用,了解即可。 - -| 速记 | 含义 | 使用场景 | -|------|------|----------| -| `mr` | 融入 | 融入小组活动 | -| `zx` | 专注 | 专注完成任务 | -| `sb` | 失败→调整 | 失败后调整再尝试 | -| `~` | 情绪波动 | 情绪有起伏 | -| `=` | 和之前一样 | 表现持平 | - ---- - -## 💡 智能推荐机制(AI辅助学习) - -### 场景1:首次使用速记 - -当教师使用自然语言输入3次后,AI主动提示: - -``` -━━━━━━━━━━━━━━━━━━━━━━━━━ -💡 速记小贴士 - -您刚才的输入可以用速记更快完成: - -您的输入: -"乔乔观望了5分钟后主动搭了3层,挺开心的" - -速记写法: -"乔乔:gj5→zd3 ↑" - -节省50%时间!试试看在下次输入中使用。 -━━━━━━━━━━━━━━━━━━━━━━━━━ -``` - -### 场景2:速记使用统计 - -每周生成个人速记使用报告: - -``` -━━━━━━━━━━━━━━━━━━━━━━━━━ -📊 您的速记使用周报 - -本周输入课评:24份 -使用速记:18份(75%) -节省时间:约8分钟 - -常用速记TOP3: -1. gj#(观望)- 使用15次 -2. zd#(主动)- 使用12次 -3. ↑(开心)- 使用10次 - -💡 建议学习:zt(自己调整) - 本周有6次可以用到,但您使用了自然语言 -━━━━━━━━━━━━━━━━━━━━━━━━━ -``` - -### 场景3:快捷提示面板 - -输入`/?`或`帮助`时显示速记速查: - -``` -━━━━━━━━━━━━━━━━━━━━━━━━━ -⚡ 速记速查面板 - -【第1级-必会】 -gj# 观望#分钟 zd# 主动搭#层 -↑ 开心/积极 ++ 比上周进步 - -【第2级-常用】 -zt 自己调整 → 情绪稳定 -wb 未完成 -- 需关注 - -输入"速记2"查看第2级,"速记3"查看第3级 -━━━━━━━━━━━━━━━━━━━━━━━━━ -``` - ---- - -## 🎓 学习路径建议 - -| 阶段 | 时间 | 目标 | 验收标准 | -|------|------|------|---------| -| 入门 | 第1天 | 掌握第1级4个符号 | 能用速记输入简单课评 | -| 熟练 | 第1周 | 掌握第2级8个符号 | 80%输入使用速记 | -| 精通 | 第2周 | 了解第3级符号 | 根据场景灵活使用 | - ---- - -## 🔄 速记与自然语言对比 - -| 场景 | 自然语言 | 速记 | 节省 | -|------|---------|------|------| -| 简单描述 | 乔乔观望5分钟主动搭3层很开心 | 乔乔:gj5→zd3 ↑ | 60% | -| 完整描述 | 乔乔观望5分钟主动搭3层自己调整很开心比上周进步 | 乔乔:gj5→zd3→zt ↑++ | 58% | -| 复杂情况 | 小强频繁换玩法未完成情绪烦躁需关注 | 小强:频换玩法 wb↓-- | 50% | - ---- diff --git a/.claude/rules/37-status-panel.md b/.claude/rules/37-status-panel.md deleted file mode 100644 index 14087bb..0000000 --- a/.claude/rules/37-status-panel.md +++ /dev/null @@ -1,76 +0,0 @@ -# 课评状态管理面板 - -> 解决"待确认"状态不直观问题,提升流程闭环率 - ---- - -## 📊 状态类型 - -| 状态 | 图标 | 说明 | -|:----:|:----:|:-----| -| 已确认 | ☑️ | 已审核通过,已双轨保存 | -| 待确认 | ⏳ | 已生成,等待教师确认 | -| 待生成 | ⏸️ | 教师未输入表现 | -| 缺勤 | 🚫 | 学生未到校 | - ---- - -## 🔄 状态流转规则 - -``` -教师输入表现 → 待确认 → 教师确认 → 已确认 → 自动双轨保存 - ↓ ↑ - 标记缺勤 修改后重新生成 -``` - ---- - -## 📋 班级汇总文件格式 - -在`memory/class-evaluation-summary/第X周/{班级}.md`文件顶部添加状态面板: - -```markdown ---- -class: 发现世界-周四19点 -week: 7 -course: DISC-007 -generated_at: 2026-04-17T16:00:00 -status: - total: 2 - confirmed: 1 - pending: 1 - missing: 0 -students: - - name: 乔乔 - status: confirmed - - name: 昊昊 - status: pending ---- - -## 本周课评状态 - -| 学生 | 状态 | 操作 | -|:-----|:----:|:----:| -| 乔乔 | ☑️ 已确认 | [查看] [修改] | -| 昊昊 | ⏳ 待确认 | [确认] [修改] | -``` - ---- - -## 🔔 操作指令 - -| 教师输入 | 功能 | -|:---------|:-----| -| `确认全部` | 一键确认所有待确认课评 | -| `查看待确认` | 只显示待确认学生 | -| `确认{学生}` | 确认单个学生课评 | -| `修改{学生}:XXX` | 修改指定学生课评内容 | - ---- - -## 📊 数据持久化 - -状态信息保存在班级汇总文件的YAML Frontmatter中,便于: -- 快速统计课评完成情况 -- 追踪学生课评状态变化 -- 支持批量操作 diff --git a/.claude/rules/38-quick-edit.md b/.claude/rules/38-quick-edit.md deleted file mode 100644 index d8bb8aa..0000000 --- a/.claude/rules/38-quick-edit.md +++ /dev/null @@ -1,123 +0,0 @@ -# 快速编辑功能规则 - -> 解决小错误修改需重新生成的问题,提升修改效率70% - ---- - -## 📝 快速编辑指令 - -### 指令格式 - -``` -修改{学生}:{修改内容} -``` - -### 支持的修改类型 - -| 类型 | 指令示例 | 说明 | -|------|---------|------| -| 替换词语 | `修改乔乔:把"搭建"改为"拼搭"` | 替换指定词语 | -| 修改称呼 | `修改乔乔:称呼改为"乔乔宝贝"` | 替换所有称呼 | -| 补充内容 | `修改乔乔:在"完成了"后添加"还帮助了同伴"` | 在指定位置插入 | -| 删除内容 | `修改乔乔:删除"这个调整值得注意"` | 删除指定句子 | -| 批量替换 | `修改乔乔:把所有"开心"改为"兴奋"` | 全文替换 | - ---- - -## 🎯 批量修改 - -可同时修改多个学生: - -``` -修改乔乔:把"搭建"改为"拼搭" -修改昊昊:称呼改为"昊昊小朋友" -修改小明:补充"还主动分享了作品" -``` - ---- - -## 🔍 智能定位 - -### 当前周数(默认) -- 未指定周数时,自动修改**本周**课评 -- 示例:`修改乔乔:把"开心"改为"兴奋"` - -### 历史课评修改 -- 需明确指定周数 -- 示例:`修改乔乔第5周:把"搭建"改为"拼搭"` -- ⚠️ 注意:历史课评已发送给家长,修改需谨慎 - ---- - -## ⚠️ 修改限制 - -### 不可快速编辑的场景 - -以下情况**必须重新生成**: - -| 场景 | 原因 | -|------|------| -| 改变课评结构 | 涉及多段落调整 | -| 改变评价基调 | 从负面改为正面 | -| 补充大量内容 | 超过50字 | -| 改变主题理解 | 知识点错误 | - -### 修改字数限制 - -- **单次修改**:不超过50字 -- **单篇累计**:不超过100字 -- **超出限制**:提示"建议重新生成" - ---- - -## 🔄 决策流程 - -``` -教师要求修改 - ↓ -判断修改类型 - ↓ -┌─────────────┴─────────────┐ -↓ ↓ -小修改(<50字) 大修改(>50字) -或简单替换 或结构调整 -↓ ↓ -快速编辑 重新生成 -(秒级响应) (需等待生成) -``` - ---- - -## ✅ 实施检查清单 - -- [ ] 支持基本替换指令(修改{学生}:把"A"改为"B") -- [ ] 支持称呼修改指令 -- [ ] 支持内容补充/删除指令 -- [ ] 支持批量修改多个学生 -- [ ] 自动定位当前周数 -- [ ] 支持历史课评修改(需指定周数) -- [ ] 修改字数限制(单次<50字) -- [ ] 修改后同步到双轨存储 - ---- - -## 📝 快速参考卡 - -``` -⚡ 快速编辑指令速查 - -修改称呼: - 修改{学生}:称呼改为"{新称呼}" - -替换词语: - 修改{学生}:把"{旧词}"改为"{新词}" - -补充内容: - 修改{学生}:在"{位置}"后添加"{内容}" - -删除内容: - 修改{学生}:删除"{内容}" - -修改历史: - 修改{学生}第{X}周:{修改内容} -``` diff --git a/.claude/rules/40-keping-快速入门.md b/.claude/rules/40-keping-快速入门.md deleted file mode 100644 index 7c30341..0000000 --- a/.claude/rules/40-keping-快速入门.md +++ /dev/null @@ -1,295 +0,0 @@ -# 课评生成快速入门指南 v3.0(优化版) - -> 穹狼乐高编程AI课评系统 - **3分钟上手版** -> -> **本次优化**:新增速记符号、会话上下文、批量一键确认 - ---- - -## 🚀 30秒极速上手 - -### 第1步:指定班级(一次即可) -``` -/课评 班级:发现世界-周四19点 -``` - -### 第2步:输入学生表现 -``` -乔乔:观望5分钟→主动搭3层→自己调整,开心,比上周进步 -昊昊:慢热,搭3层,反复调整,稳定 -``` - -### 第3步:一键确认发送 -``` -AI生成 → 查看 → [全部发送] -``` - -**完成!3份课评已自动保存到班级汇总和个人档案。** - ---- - -## ⚡ 速记符号速查 - -### 核心速记(必会) - -| 速记 | 含义 | 示例 | -|------|------|------| -| `gj#` | 观望#分钟 | `gj5` = 观望5分钟 | -| `zd#` | 主动搭#层 | `zd3` = 主动搭3层 | -| `zt` | 自己调整 | 遇到问题时自己调整 | -| `↑` | 开心 | `↑++` = 开心,比上周进步 | -| `→` | 稳定 | `→` = 情绪稳定 | - -> 完整速记符号表参见 [36-shorthand-learning.md](36-shorthand-learning.md) - -### 速记组合示例 - -``` -乔乔:gj5→zd3→zt ↑++ -``` -展开:乔乔观望5分钟后主动搭3层,自己调整,开心,比上周进步 - ---- - -## 🏷️ 学生类型标记 - -**输入时添加标记,AI自动处理** - -| 标记 | 含义 | 处理方式 | -|------|------|----------| -| `[体验]` | 体验课学生 | 仅保存到班级汇总 | -| `[补课]` | 补课学生 | 询问是否建档 | -| `[缺课]` | 今天缺席 | 记录缺席,不生成课评 | -| `[new]` | 新学生首次 | 创建档案,双轨保存 | - -**示例**: -``` -乔乔:gj5→zd3→zt ↑++ -张小明[体验]:搭了3层,开心 -李小红[补课]:专注完成,稳定 -``` - -### ⚠️ 重要:课评正文不显示标记 - -**无论输入时是否添加`[补课]`或`[体验]`标记,生成的课评正文中都不会提及这些信息**。 - -- `[补课]`、`[体验]`等标记**仅用于后台档案管理** -- 课评正文统一按正常学生撰写,不区分学生类型 -- 家长看到的课评中不会出现"补课"、"体验"等字样 - -**示例**: -``` -教师输入:李小红[补课]:搭了3层,专注完成 - -课评输出: -小红本节课学习了"旋转飞机",认识了游乐园旋转设施的中心轴结构... -(正常撰写,完全不提"补课"相关信息) -``` - ---- - -## 📝 三种常用方式 - -### 方式1:极简一句话(最自由) - -``` -乔乔今天开始不敢碰,后来主动搭了三层,球卡住自己调高度,挺稳定的,比上周主动多了 -``` - -**特点**: -- 任意格式,AI自动解析 -- 支持口语化、语音转文字 -- 适合边走边记 -- **字数**:输入简洁 → 输出约200字 - -### 方式2:详细描述(最丰富) - -``` -乔乔今天开始观望了5分钟,后来主动搭了3层管道,球卡住的时候自己调整高度,还主动帮助旁边的小朋友一起搭,最后完成作品特别开心,说这是她最喜欢的作品。比上周主动多了,上周观望了10分钟才开始。 -``` - -**特点**: -- 描述越详细,课评越丰富 -- AI会提取所有精彩瞬间 -- 家长能看到更多孩子成长细节 -- **字数**:输入丰富 → 输出约280字 - -### 方式3:速记符号(最高效) - -``` -乔乔:gj5→zd3→zt ↑++ -昊昊:慢热→zd3→反复调 → -小强:频换玩法 wb↓-- -``` - -**特点**: -- 输入速度最快 -- 适合熟练用户 -- 批量处理首选 -- **字数**:根据输入内容自动调整 - -### 方式4:批量表格(最清晰) - -``` -课程:DISC-007 -班级:发现世界-周四19点 - -1. 乔乔:gj5→zd3→zt ↑++ -2. 昊昊:慢热→zd3→反复调 → -3. 张小明[体验]:搭了3层,开心 -4. 李小红[补课]:专注完成,稳定 -``` - -**特点**: -- 全班一览清晰 -- 支持标记分类 -- 适合课后整理 -- **字数**:根据每位学生输入内容自动调整 - ---- - -## 💡 字数弹性说明(新增) - -**核心理念:输入越丰富,课评越详细** - -| 输入类型 | 示例 | 输出字数 | -|---------|------|---------| -| **精简输入** | "搭了3层,开心" | 180-220字 | -| **标准输入** | "观望5分钟→主动搭3层→自己调整→还帮助同伴" | 220-280字 | -| **详细输入** | 包含多个亮点、精彩瞬间、纵向对比 | 280-350字 | - -**建议**: -- 常规课堂 → 简洁记录即可 -- 有亮点/突破/精彩瞬间 → 详细描述,AI会充分展开 -- 不用担心字数多 → 家长更喜欢看到孩子的具体成长 - ---- - -## 🔄 优化后流程:生成 → 确认 → 保存 - -``` -教师输入 → AI自动生成 → 【自动保存班级汇总】 → 展示给教师 - ↓ -教师查看 → [一键发送] → 【自动保存个人档案】 → 完成 -``` - -> 效率提升:8人课评从15-20分钟缩短至**3-5分钟** - ---- - -## 📊 批量生成界面预览 - -``` -━━━━━━━━━━━━━━━━━━━━━━━ -📊 批量生成完成(4份)|发现世界-周四19点|DISC-007 -━━━━━━━━━━━━━━━━━━━━━━━ - -✅ 乔乔 198字 正常 -✅ 昊昊 205字 正常 -✅ 张小明[体验] 192字 体验学生 -✅ 李小红[补课] 201字 补课学生 - -【批量操作】 -[全部发送] [逐个查看] [标记修改] [取消] -━━━━━━━━━━━━━━━━━━━━━━━ -``` - ---- - -## 📁 文件存储位置 - -### 双轨自动保存 - -| 存储位置 | 文件路径 | 用途 | -|---------|---------|------| -| **班级周汇总** | `memory/class-evaluation-summary/第X周/{班级}.md` | 集中查看当周全班表现 | -| **个人历史课评** | `memory/student/{班级}/{学生名}/历史课评记录.md` | 追踪个人完整成长轨迹 | - -> 学生类型处理规则详见 [33-first-class-rules.md](33-first-class-rules.md) - ---- - -## 💡 进阶技巧 - -### 技巧1:会话上下文 - -**首次指定班级后,后续无需重复** - -``` -/课评 班级:发现世界-周四19点 # 只需一次 - -# 后续直接输入 -乔乔:搭3层,开心 -昊昊:慢热,稳定 -``` - -### 技巧2:语音快速录入 - -``` -语音:"呃...乔乔啊...观望了5分钟...主动搭3层..." - -AI自动解析为:乔乔:gj5→zd3→zt -``` - -### 技巧3:混合输入 - -``` -# 同一批输入中混合使用自然语言和速记 - -乔乔今天表现很好,搭了3层还自己调整,开心 -昊昊:慢热→zd3→反复调 → -张小明[体验]:积极参与 -``` - ---- - -## ❓ 常见问题速答 - -**Q:速记符号记不住怎么办?** -A:不用记!直接用自然语言描述,AI一样能理解。 - -**Q:忘记打标记会怎样?** -A:AI会自动检测档案。有档案=正式学生,无档案=提示选择[补课]/[体验]。 - -**Q:批量生成后发现有错误怎么办?** -A:点击[标记修改],指出修改意见,AI会重新生成该学生课评。 - -**Q:课评生成后可以修改吗?** -A:可以!发送前都可以修改。发送后如需修改,可手动编辑文件。 - -**Q:体验课学生后续转正式了怎么办?** -A:输入`转为正式`,AI会为该学生建立档案,后续课评正常双轨保存。 - ---- - -## 🎯 推荐工作流程 - -### 课后5分钟快速流程 - -``` -Step 1(1分钟): 指定班级 -/课评 班级:发现世界-周四19点 - -Step 2(2分钟): 速记输入 -乔乔:gj5→zd3→zt ↑++ -昊昊:慢热→zd3→反复调 → -小明[体验]:zd3 ↑ -小红[补课]:专注完成 → - -Step 3(2分钟): 查看并一键发送 -AI生成 → 查看质量报告 → [全部发送] - -完成!8份课评已自动保存。 -``` - ---- - -## 📞 支持 - -- **完整规则**:参见 `.claude/rules/` 目录 -- **速记符号表**:参见 `30-input-format.md` -- **批量生成规则**:参见 `32-batch-generation.md` - ---- - -*记住:说人话就行,AI帮你处理格式!* diff --git a/.claude/rules/50-output-format-preschool.md b/.claude/rules/50-output-format-preschool.md index 3ce26d1..a3f66fb 100644 --- a/.claude/rules/50-output-format-preschool.md +++ b/.claude/rules/50-output-format-preschool.md @@ -4,7 +4,7 @@ > 特点:微信表情增强互动性,温暖亲切,画面感强 > **重要**:学期周数仅用于后端匹配课程主题,**课评正文不提及"第几周"** > -> **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)(第5-6节) +> **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)(第3节、第7节) > > **存储位置**(生成后自动双轨保存): > - 班级周汇总:`memory/class-evaluation-summary/第X周/{班级}.md` @@ -15,7 +15,7 @@ ## 📱 整体风格定位 ### 核心特点 -- **表情丰富**:每段末尾添加1-2个表情符号,总计**3个** +- **表情丰富**:每段末尾添加1-2个表情符号,总计**3-5个** - **段落简短**:每段1-2句话,易于阅读 - **画面感强**:描述作品细节,让家长能想象出画面 - **三维度覆盖**:课程设计、学习表现、兴趣度 @@ -42,9 +42,9 @@ | 段落 | 内容 | 字数范围 | Emoji数量 | 推荐表情 | |------|------|:--------:|:---------:|:-------:| -| **第1段** | 课程知识点 | 30-50字 | 1个 | 🔍/💡自动适配 | +| **第1段** | 课程知识点 | 30-55字 | 1个 | 🔍/💡自动适配 | | **第2段** | 课堂细节(掌握+环节+亮点)| **100-220字(弹性)** | 1-3个 | 根据情节自动适配 | -| **第3段** | 课后建议 | 30-50字 | 1个 | 🏠自动适配 | +| **第3段** | 课后建议 | 30-55字 | 1个 | 🏠自动适配 | **段落控制**:全文控制在**3个段落**,第2段为长段落整合多个模块内容 @@ -125,15 +125,15 @@ ### 示例1:小班-发现世界(三段式) ``` -小明今天学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固 🔍 +小明今天学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固🔍 -这节课小明对房子主题很感兴趣,搭建环节专注投入约30分钟。互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成。导入环节参与积极,分享时能说出互锁的作用,本节课的结构搭建目标顺利达成。和上周比,今天结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意 💪✨ +这节课小明对房子主题很感兴趣,搭建环节专注投入约30分钟💪。互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成✨。导入环节参与积极,分享时能说出互锁的作用,本节课的结构搭建目标顺利达成🌟。和上周比,今天结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意📈 -家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固今天的互锁概念 🏠 +家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固今天的互锁概念🏠 ``` **字数**:198字(符合180-220) -**表情数**:4个(第1段1个/第2段2个/第3段1个) +**表情数**:5个(第1段1个/第2段3个/第3段1个),第2段表情分散在段内 **段落数**:3段(符合要求) --- @@ -141,15 +141,15 @@ ### 示例2:托班-意识世界(三段式) ``` -昀昊本节课玩了"管道滚球",让小球在管道里旅行,感受了球滚动的乐趣 🔍 +昀昊本节课玩了"管道滚球",让小球在管道里旅行,感受了球滚动的乐趣🔍 -本节课昀昊开始有点害羞,看了2分钟才开始尝试,后来在老师鼓励下搭了2层管道让小球滚下来。导入环节对滚球游戏很感兴趣,探索环节专注尝试管道连接,最后能独立完成2层搭建,本节课的管道连接目标顺利达成。和上周相比,本节课敢自己拿管道尝试了,不再只是看着,能安静专注地玩10分钟,这个专注力对托班宝宝来说很棒了 💪✨ +本节课昀昊开始有点害羞,看了2分钟才开始尝试,后来在老师鼓励下搭了2层管道让小球滚下来💪。导入环节对滚球游戏很感兴趣,探索环节专注尝试管道连接,最后能独立完成2层搭建,本节课的管道连接目标顺利达成🌟。和上周相比,本节课敢自己拿管道尝试了,不再只是看着,能安静专注地玩10分钟,这个专注力对托班宝宝来说很棒了✨ -爸爸妈妈可以用保鲜膜筒芯或报纸卷成管道,和小球一起玩,让球从高的地方滚下来,感受运动的快乐 🏠 +爸爸妈妈可以用保鲜膜筒芯或报纸卷成管道,和小球一起玩,让球从高的地方滚下来,感受运动的快乐🏠 ``` **字数**:195字(符合180-220) -**表情数**:4个(第1段1个/第2段2个/第3段1个) +**表情数**:5个(第1段1个/第2段3个/第3段1个),第2段表情分散在段内 **段落数**:3段(符合要求) **语气**:更温和,适合托班 @@ -182,7 +182,15 @@ - **第3段**:1个(🏠/👨‍👩‍👧根据建议内容适配) - **总计**:3-5个,灵活不固定 -**位置**:每段末尾,第2段可根据亮点数量使用2-3个表情自然分隔 +**位置**: +- **第1段**:段末,紧跟最后一个句号 +- **第2段**:段内分散插入,每个表情紧跟在对应亮点的句号之后(如"...完成💪。") +- **第3段**:段末,紧跟最后一个句号 + +**第2段分散示例**: +``` +这节课小明对房子主题很感兴趣,搭建环节专注投入约30分钟💪。互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成✨。和上周比,今天结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意🌟。 +``` ### Emoji适配指南 @@ -215,7 +223,7 @@ ### 学龄前版专项检查 - [ ] 字数符合弹性范围(精简版180-220字/标准版220-280字/详细版280-350字,根据输入内容丰富度) - [ ] **3段式结构**(第1段知识点、第2段课堂细节、第3段课后建议) -- [ ] 每段末尾有emoji(第1段1个/第2段1-3个/第3段1个,总计3-5个) +- [ ] 第1段和第3段末尾各有1个emoji;第2段emoji分散在段内,紧跟对应亮点的句号之后(总计3-5个) - [ ] 表情根据情节自动适配,不机械固定 - [ ] 称呼正确(小名>去姓>叠字>全名) - [ ] 无"第几周"字样 @@ -229,9 +237,9 @@ | 维度 | 学龄前版(本文件)| 小学版 | |------|------------------|--------| -| **表情** | 3个(每段1个,第2段可选2个),温暖活泼 | 3个(每段1个),简洁专业 | +| **表情** | 3-5个(第1段1个/第2段1-3个/第3段1个),温暖活泼 | 3-5个(第1段1个/第2段1-3个/第3段1个),简洁专业 | | **段落** | **3段**(第1段知识点、第2段课堂细节、第3段课后建议)| 3段,结构化 | | **语气** | 亲切温暖,画面感 | 尊重平等,专业 | | **字数** | 弹性范围180-350字 | 弹性范围190-350字 | | **信息密度** | 第2段为长段落,根据输入丰富度灵活扩展 | 结构化呈现,根据输入灵活扩展 | -| **emoji位置** | 每段末尾 | 每段末尾 | +| **emoji位置** | 第1段末尾、第2段分散在段内、第3段末尾 | 第1段末尾、第2段分散在段内、第3段末尾 | diff --git a/.claude/rules/51-output-format-elementary.md b/.claude/rules/51-output-format-elementary.md index d289325..b91a123 100644 --- a/.claude/rules/51-output-format-elementary.md +++ b/.claude/rules/51-output-format-elementary.md @@ -3,7 +3,7 @@ > 适用课程:SPIKE(一年级)、AI03-AICODE(四年级) > 特点:结构化呈现,视觉化分隔,降低阅读负担,专业清晰 > -> **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)(第5-6节) +> **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)(第3节、第7节) > > **存储位置**(生成后自动双轨保存): > - 班级周汇总:`memory/class-evaluation-summary/第X周/{班级}.md` @@ -18,7 +18,7 @@ - **视觉分隔**:用图标、符号、线条区分内容 - **数据支撑**:适当用量表、进度条展示能力 - **专业简洁**:避免纯文本堆叠,用列表和表格 -- **适度Emoji**:每段末尾添加emoji,第2段可根据情节2-3个,总计3-5个 +- **适度Emoji**:第1段和第3段各1个emoji放在段末;第2段1-3个emoji分散插入在段落中间的句号之后,每个表情对应一个亮点 - **表情适配**:根据课堂情节自动选择专业表情,不固定 - **称呼规范**:优先使用小名/昵称,其次去姓称名(如"昕乔"),平等尊重学生 @@ -162,9 +162,14 @@ | 段落 | 内容 | 字数范围 | Emoji数量 | 推荐表情 | |------|------|:--------:|:---------:|:-------:| -| **第1段** | 课程知识点 | 35-55字 | 1个 | 💡/⚙️/🤖自动适配 | +| **第1段** | 课程知识点 | 30-55字 | 1个 | 💡/⚙️/🤖自动适配 | | **第2段** | 课堂细节(掌握+环节+亮点)| **100-220字(弹性)** | 1-3个 | 根据情节自动适配 | -| **第3段** | 课后建议 | 35-55字 | 1个 | 🏠/🔧自动适配 | +| **第3段** | 课后建议 | 30-55字 | 1个 | 🏠/🔧自动适配 | + +**Emoji位置**: +- **第1段**:段末,紧跟最后一个句号 +- **第2段**:段内分散插入,每个表情紧跟在对应亮点的句号之后(如"...完成💪。") +- **第3段**:段末,紧跟最后一个句号 **小学版特点**: - 结构化呈现,视觉化分隔 @@ -376,15 +381,15 @@ Prompt编写的基本概念理解了,能写出简单的指令让AI执行。但 📝 知识掌握 ─────────────────────── -颜色传感器的校准原理理解得很清楚,能独立完成白值和黑值的标定。巡线程序的逻辑也听懂了,知道为什么机器人会跟着黑线走。 +颜色传感器的校准原理理解得很清楚,能独立完成白值和黑值的标定。巡线程序的逻辑也听懂了,知道为什么机器人会跟着黑线走💡 📝 实践表现 ─────────────────────── -这节课专注度很好,校准过程很细致,反复测试了3次确保数据准确。巡线程序编写时能独立完成大部分,转弯参数调整需要提醒。 +这节课专注度很好,校准过程很细致,反复测试了3次确保数据准确。巡线程序编写时能独立完成大部分,转弯参数调整需要提醒💪 📝 成长亮点 ─────────────────────── -与两周前相比,调试能力进步明显。之前程序出问题是直接求助,今天会先检查传感器数据、再看程序逻辑,有排查思路了。 +与两周前相比,调试能力进步明显。之前程序出问题是直接求助,今天会先检查传感器数据、再看程序逻辑,有排查思路了📈 ─────────────────────── @@ -456,15 +461,15 @@ Prompt编写的基本概念理解了,能写出简单的指令让AI执行。但 📝 知识掌握 ─────────────────────── -Prompt编写的基本概念理解了,能写出简单指令让AI执行。复杂指令还需多练习,目前以模仿范例为主。 +Prompt编写的基本概念理解了,能写出简单指令让AI执行。复杂指令还需多练习,目前以模仿范例为主💡 📝 实践表现 ─────────────────────── -启动阶段用了较长时间观察其他同学。实际操作能完成基础任务,遇到问题主动求助,调试需逐步引导。 +启动阶段用了较长时间观察其他同学。实际操作能完成基础任务,遇到问题主动求助,调试需逐步引导💪 📝 成长亮点 ─────────────────────── -与第1节课相比,对AI工具熟悉很多。遇到困难时的求助方式更清晰,能描述具体问题而不是只说"不会"。 +与第1节课相比,对AI工具熟悉很多。遇到困难时的求助方式更清晰,能描述具体问题而不是只说"不会"📈 ─────────────────────── @@ -549,9 +554,6 @@ Prompt编写的基本概念理解了,能写出简单指令让AI执行。复杂 - [ ] 无大段纯文字堆砌 - [ ] 语气专业且易懂 - [ ] Emoji使用合理(第1段1个/第2段1-3个/第3段1个,总计3-5个) +- [ ] 表情位置正确:第1段和第3段在末尾,第2段分散在段内紧跟句号 - [ ] 表情根据情节自动适配,不机械固定 - [ ] **第2段充分展现输入中的精彩瞬间**(不压缩丰富内容) - ---- - -## ✅ 质量检查清单 diff --git a/.claude/rules/60-name-processing.md b/.claude/rules/60-name-processing.md deleted file mode 100644 index f40c31a..0000000 --- a/.claude/rules/60-name-processing.md +++ /dev/null @@ -1,373 +0,0 @@ -# 课评姓名处理规则 - -> 处理语音输入谐音、课评称呼方式、姓名规范化 - ---- - -## 一、语音输入谐音纠正 - -### 1.1 问题场景 -语音输入时,学生姓名可能被识别为谐音词: -- "梁昕乔" → "良心桥"、"亮新巧" -- "钟昀昊" → "中云浩"、"钟运好" -- "李怡瞳" → "李一同"、"黎怡彤" - -### 1.2 纠正机制 - -**Step 1: 建立班级学生名单库** -``` -发现世界-周四19点班学生名单: -- 梁昕乔(liang xin qiao) -- 钟昀昊(zhong yun hao) -``` - -**Step 2: 谐音匹配算法** -当输入姓名无法精确匹配时,使用拼音相似度匹配: -- 提取输入文本的拼音 -- 与班级名单进行相似度对比 -- 选择相似度>80%的姓名作为纠正目标 - -**Step 3: 常见谐音对照表** - -| 正确姓名 | 常见谐音错误 | 拼音相似 | -|---------|-------------|---------| -| 梁昕乔 | 良心桥、亮新巧、梁新桥 | liang xin qiao | -| 钟昀昊 | 中云浩、钟运好、周云昊 | zhong yun hao | -| 李怡瞳 | 李一同、黎怡彤、李怡桐 | li yi tong | -| 张宇 | 章鱼、张瑜、章雨 | zhang yu | -| 王思琪 | 王思齐、王斯琦、汪思琪 | wang si qi | - -### 1.3 纠正确认 - -**高置信度(>90%)**:自动纠正,不提示 -**中置信度(70-90%)**:生成时提示教师确认 -``` -⚠️ 检测到可能的谐音输入: -输入:"良心桥" -纠正为:"梁昕乔"? -[是] [否,保持原样] [手动输入] -``` -**低置信度(<70%)**:要求教师重新输入 - ---- - -## 二、课评称呼方式 - -### 2.1 称呼优先级 - -课评中使用的称呼按以下优先级选择: - -| 优先级 | 称呼方式 | 适用场景 | 示例 | -|:------:|---------|---------|------| -| 1 | **小名/昵称** | 画像中有填写 | 乔乔、昊昊、瞳瞳 | -| 2 | **去姓称名** | 双字名,无小名 | 昕乔、昀昊、怡瞳 | -| 3 | **叠字称呼** | 单字名 | 婷婷、浩浩、明明 | -| 4 | **全名** | 特殊场合 | 梁昕乔、钟昀昊 | - -### 2.2 处理方式 - -#### 方式1:小名/昵称(优先) -**条件**:用户画像中"小名/昵称"字段有填写 - -**示例**: -- 全名:梁昕乔 -- 小名:乔乔 -- 课评显示:"乔乔本节课学习了..." - -#### 方式2:去姓称名(双字名) -**条件**: -- 无小名 -- 名字为双字(不含复姓) - -**规则**: -- 单姓+双字名:去掉姓氏 - - 梁昕乔 → 昕乔 - - 钟昀昊 → 昀昊 - - 李怡瞳 → 怡瞳 -- 复姓+双字名:保留复姓或去姓 - - 欧阳明 → 阳明 或 明明 - - 司马昊 → 马昊 或 昊昊 - -#### 方式3:叠字称呼(单字名) -**条件**: -- 无小名 -- 名字为单字 - -**规则**: -- 单字名叠字化 - - 张昊 → 昊昊 - - 李婷 → 婷婷 - - 王明 → 明明 -- 避免尴尬叠字 - - 张丹 → 丹丹(正常) - - 王鹏 → 鹏鹏(正常) - - 避免:史真 → 真真(可以) - -#### 方式4:全名(特殊) -**使用场景**: -- 家长明确要求使用全名 -- 正式报告/证书 -- 学生本人喜欢被叫全名 - -### 2.3 称呼示例表 - -| 全名 | 小名 | 课评称呼 | 说明 | -|------|------|---------|------| -| 梁昕乔 | 乔乔 | 乔乔 | 优先使用小名 | -| 梁昕乔 | 无 | 昕乔 | 去姓称名 | -| 钟昀昊 | 昊昊 | 昊昊 | 小名就是叠字 | -| 钟昀昊 | 无 | 昀昊 | 去姓称名 | -| 李怡瞳 | 瞳瞳 | 瞳瞳 | 小名叠字 | -| 李怡瞳 | 无 | 怡瞳 | 去姓称名 | -| 张昊 | 无 | 昊昊 | 单字名叠字 | -| 王婷 | 婷婷 | 婷婷 | 小名叠字 | -| 刘明 | 明明 | 明明 | 小名叠字 | -| 陈小雨 | 小雨 | 小雨 | 小名(非叠字)| -| 陈小雨 | 无 | 小雨 | 去姓称名 | - ---- - -## 三、姓名处理流程 - -``` -输入处理流程: - -1. 接收教师输入 - ↓ -2. 提取疑似姓名词汇 - ↓ -3. 谐音纠正(匹配班级名单) - ├─ 高置信度 → 自动纠正 - ├─ 中置信度 → 提示确认 - └─ 低置信度 → 要求重输 - ↓ -4. 查询用户画像 - ├─ 有小名?→ 使用小名 - ├─ 双字名?→ 去姓称名 - └─ 单字名?→ 叠字称呼 - ↓ -5. 生成课评(使用处理后的称呼) -``` - ---- - -## 四、特殊处理规则 - -### 4.1 复姓处理 - -| 复姓 | 全名 | 建议称呼 | 说明 | -|------|------|---------|------| -| 欧阳 | 欧阳明 | 阳明/明明 | 避免"欧欧" | -| 司马 | 司马昊 | 马昊/昊昊 | | -| 上官 | 上官婷 | 官婷/婷婷 | | -| 诸葛 | 诸葛亮 | 葛亮/亮亮 | | -| 东方 | 东方明 | 方明/明明 | | - -### 4.2 生僻字处理 - -- 如果名字中有生僻字,优先使用小名 -- 无小名时,可使用"去姓称名"中易读的字 -- 或询问家长希望如何称呼 - -### 4.3 外籍/少数民族姓名 - -- 优先使用家长指定的小名/英文名 -- 或使用名字的后半部分(如:David → David或大卫) -- 尊重家庭习惯 - -### 4.4 双胞胎处理 - -- 必须分别建立档案 -- 小名要区分(如:大宝/小宝,哥哥/弟弟) -- 避免在课评中直接对比 - ---- - -## 五、用户画像更新(新增字段) - -### 5.1 新增字段 - -```markdown -## 一、基础信息 - -| 项目 | 内容 | -|------|------| -| **姓名(全名)** | (用于档案管理)| -| **小名/昵称** | (课评中优先使用)| -| **称呼方式** | □ 小名 □ 去姓称名 □ 叠字 □ 全名 | -``` - -### 5.2 建档时询问 - -**问题11(新增)**: -> 孩子平时在家怎么称呼?(小名/昵称) -> - 如:乔乔、昊昊、瞳瞳、小雨等 -> - 如果没有特别的小名,我们就用"昕乔""昀昊"这样的方式称呼 - -**问题12(新增)**: -> 希望课评中怎么称呼孩子? -> 1. 使用小名/昵称(最亲切) -> 2. 去姓称名(如:昕乔、昀昊) -> 3. 叠字称呼(如:昊昊、婷婷) -> 4. 使用全名(正式) - ---- - -## 六、课评生成时的姓名处理 - -### 6.1 处理逻辑代码示例 - -```python -def get_display_name(student_profile, full_name): - """ - 根据用户画像确定课评中使用的称呼 - """ - # 优先级1:小名/昵称 - nickname = student_profile.get('nickname') - if nickname: - return nickname - - # 解析姓名 - surname, given_name = parse_name(full_name) - - # 优先级2:根据名字长度处理 - if len(given_name) == 1: - # 单字名 → 叠字 - return given_name * 2 # 如:昊 → 昊昊 - else: - # 双字名 → 去姓称名 - return given_name # 如:昕乔 - -def correct_homophone(input_text, class_roster): - """ - 纠正语音输入的谐音错误 - """ - # 提取可能的姓名词汇 - candidates = extract_name_candidates(input_text) - - for candidate in candidates: - # 拼音相似度匹配 - best_match = find_best_pinyin_match(candidate, class_roster) - if best_match['confidence'] > 0.8: - return best_match['name'] - - return input_text -``` - -### 6.2 实际应用示例 - -**输入**:`良心桥今天搭了三层` - -**处理过程**: -1. 提取疑似姓名:"良心桥" -2. 拼音:liang xin qiao -3. 匹配班级名单: - - 梁昕乔(liang xin qiao)→ 相似度100% -4. 纠正为:"梁昕乔" -5. 查询画像: - - 小名:乔乔 -6. 课评显示:"乔乔今天搭了三层..." - ---- - -## 七、质量检查 - -### 7.1 姓名相关检查项 - -- [ ] 课评中使用的称呼正确(小名/去姓/叠字) -- [ ] 没有使用全名(除非家长要求) -- [ ] 谐音姓名已纠正 -- [ ] 复姓处理恰当 -- [ ] 单字名已叠字化 - -### 7.2 常见错误 - -| 错误 | 正确 | 说明 | -|------|------|------| -| 梁昕乔今天... | 乔乔今天... | 应使用小名 | -| 钟昀昊今天... | 昊昊今天... | 应使用小名 | -| 张昊今天... | 昊昊今天... | 单字名应叠字 | -| 良心桥今天... | 乔乔今天... | 谐音未纠正 | - ---- - -## 八、家长沟通 - -### 8.1 首次建档时说明 - -> "家长您好,请问孩子平时在家怎么称呼呢?我们课评中希望用孩子最熟悉的称呼,这样更亲切。比如'乔乔'、'昊昊'这样的小名,或者'昕乔'、'昀昊'这样去姓的叫法都可以。" - -### 8.2 修改称呼方式 - -如果家长希望更改课评中的称呼: -1. 更新用户画像中的"小名/昵称"字段 -2. 或调整"称呼方式"选项 -3. 下次课评自动生效 - -## 九、姓名处理示例 - -### 7.1 语音输入 + 谐音纠正 + 小名使用 - -**场景**:班级:发现世界-周四19点,学生:梁昕乔(画像中小名:乔乔) - -**教师输入(语音转文字)**: -``` -呃...那个...良心桥啊,今天上课一开始不敢碰,就坐着看... -``` - -**AI处理**: -1. 谐音纠正:"良心桥" → "梁昕乔" -2. 查询画像:小名"乔乔" -3. 课评称呼:全程使用"乔乔" - -**效果**:课评中6处提到学生,全部使用"乔乔" - ---- - -### 7.2 双字名 + 去姓称呼 - -**场景**:学生:钟昀昊(画像中无小名) - -**AI处理**: -- 名字结构:双字名(昀昊) -- 处理规则:去姓称名 -- 课评显示:"昀昊" - ---- - -### 7.3 单字名 + 叠字称呼 - -**场景**:学生:张昊(画像中无小名) - -**AI处理**: -- 名字结构:单字名(昊) -- 处理规则:叠字称呼 -- 课评显示:"昊昊" - ---- - -### 7.4 批量生成 + 不同称呼方式 - -| 全名 | 小名 | 处理方式 | 课评显示 | -|------|------|---------|---------| -| 梁昕乔 | 乔乔 | 使用小名 | 乔乔 | -| 钟昀昊 | 无 | 去姓称名 | 昀昊 | -| 张昊 | 无 | 叠字称呼 | 昊昊 | - ---- - -## 十、功能总结 - -| 功能 | 说明 | 效果 | -|------|------|------| -| **谐音纠正** | "良心桥"→"梁昕乔" | 自动识别正确姓名 | -| **小名优先** | 有填写则使用 | "乔乔"而非"梁昕乔" | -| **去姓称名** | 双字名去姓 | "昀昊"而非"钟昀昊" | -| **叠字称呼** | 单字名叠字 | "昊昊"而非"张昊" | -| **全文一致** | 所有提及处统一 | 提升亲切感 | - ---- - -*版本:v1.1* -*更新日期:2026-04-06* -*(已整合原41-name-examples.md内容)* diff --git a/.claude/rules/90-archive/00-system.md b/.claude/rules/90-archive/00-system.md index 71b65fd..63b7e71 100644 --- a/.claude/rules/90-archive/00-system.md +++ b/.claude/rules/90-archive/00-system.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 系统基础规则 ## 系统角色定义 diff --git a/.claude/rules/90-archive/01-student-ages.md b/.claude/rules/90-archive/01-student-ages.md index e278bdb..90f8ad3 100644 --- a/.claude/rules/90-archive/01-student-ages.md +++ b/.claude/rules/90-archive/01-student-ages.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 学生年龄段分类规则 ## 年龄段划分 diff --git a/.claude/rules/90-archive/02-course-types.md b/.claude/rules/90-archive/02-course-types.md index 99a34fa..5a01684 100644 --- a/.claude/rules/90-archive/02-course-types.md +++ b/.claude/rules/90-archive/02-course-types.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 课程类型定义规则 ## 课程分类体系 diff --git a/.claude/rules/90-archive/03-evaluation-dimensions.md b/.claude/rules/90-archive/03-evaluation-dimensions.md index b144889..2345876 100644 --- a/.claude/rules/90-archive/03-evaluation-dimensions.md +++ b/.claude/rules/90-archive/03-evaluation-dimensions.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 评价维度与指标规则 ## 核心能力维度 diff --git a/.claude/rules/90-archive/06-scoring.md b/.claude/rules/90-archive/06-scoring.md index 07c8bf1..9674b96 100644 --- a/.claude/rules/90-archive/06-scoring.md +++ b/.claude/rules/90-archive/06-scoring.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 评分标准体系规则 ## 总体评分体系 diff --git a/.claude/rules/90-archive/20-style-building.md b/.claude/rules/90-archive/20-style-building.md index 57a3e4d..cfbf1a4 100644 --- a/.claude/rules/90-archive/20-style-building.md +++ b/.claude/rules/90-archive/20-style-building.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 风格规则:幼儿积木搭建乐高课 ## 基础设定 @@ -35,7 +37,7 @@ > **Emoji使用说明**:幼儿版课评采用**3段式**,每段末尾添加emoji(第1段1个/第2段1-3个/第3段1个),表情根据情节自动适配 > -> **详细Emoji规范**:参见 [10-style.md](10-style.md) +> **详细Emoji规范**:参见 [10-style.md](../10-style.md) > > **首次上课/补课说明**:详见 [33-first-class-rules.md](33-first-class-rules.md) diff --git a/.claude/rules/90-archive/21-style-coding.md b/.claude/rules/90-archive/21-style-coding.md index 481f18d..5d141e4 100644 --- a/.claude/rules/90-archive/21-style-coding.md +++ b/.claude/rules/90-archive/21-style-coding.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 风格规则:少儿编程入门编程课 ## 基础设定 diff --git a/.claude/rules/90-archive/22-style-robotics.md b/.claude/rules/90-archive/22-style-robotics.md index e29b3e9..1bac39e 100644 --- a/.claude/rules/90-archive/22-style-robotics.md +++ b/.claude/rules/90-archive/22-style-robotics.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 风格规则:机器人竞赛进阶课 ## 基础设定 diff --git a/.claude/rules/90-archive/25-template-preschool-detailed.md b/.claude/rules/90-archive/25-template-preschool-detailed.md index 55a1c62..76c722b 100644 --- a/.claude/rules/90-archive/25-template-preschool-detailed.md +++ b/.claude/rules/90-archive/25-template-preschool-detailed.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 学龄前课评模板 - 教师手动撰写版(详细流程版) > **适用场景**:教师需要**手动撰写**详细课评时参考使用 diff --git a/.claude/rules/90-archive/30-input-format.md b/.claude/rules/90-archive/30-input-format.md index 3436356..34ae497 100644 --- a/.claude/rules/90-archive/30-input-format.md +++ b/.claude/rules/90-archive/30-input-format.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 快捷输入格式规则 v4.0(优化版) > 核心理念:**说人话就行**,AI自动理解语境、补充细节、规整格式 diff --git a/.claude/rules/90-archive/31-class-differentiation.md b/.claude/rules/90-archive/31-class-differentiation.md index 0f773c3..25e0d56 100644 --- a/.claude/rules/90-archive/31-class-differentiation.md +++ b/.claude/rules/90-archive/31-class-differentiation.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 班级差异与千人千面规则 > 记录同一课程在不同班级的差异化表现,实现千人千面课评 diff --git a/.claude/rules/90-archive/32-batch-generation.md b/.claude/rules/90-archive/32-batch-generation.md index af12ba7..8dd1426 100644 --- a/.claude/rules/90-archive/32-batch-generation.md +++ b/.claude/rules/90-archive/32-batch-generation.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 批量课评生成规则 v2.0(优化版) > ⚠️ **注意**:本文档为 v2.0 旧版本归档文件,描述的是"生成-确认-保存"两阶段流程。 diff --git a/.claude/rules/90-archive/33-first-class-rules.md b/.claude/rules/90-archive/33-first-class-rules.md index 9d22593..0dea6fc 100644 --- a/.claude/rules/90-archive/33-first-class-rules.md +++ b/.claude/rules/90-archive/33-first-class-rules.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 新学生与补课学生处理规则 v1.3 > 统一规范首次上课新学生与补课学生的课评处理 diff --git a/.claude/rules/90-archive/35-画像建立指南.md b/.claude/rules/90-archive/35-画像建立指南.md index b820926..8926a22 100644 --- a/.claude/rules/90-archive/35-画像建立指南.md +++ b/.claude/rules/90-archive/35-画像建立指南.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 学生画像建立指南 > 用于指导教师建立完整的学生画像档案 @@ -156,8 +158,8 @@ memory/student/{班级}/{学生名}/ - **用户画像模板**:`memory/student/用户画像模板.md` - **历史课评模板**:`memory/student/历史课评记录模板.md` -- **姓名处理规则**:`.claude/rules/60-name-processing.md` -- **年龄段规则**:`.claude/rules/01-student-ages.md` +- **姓名处理规则**:`./60-name-processing.md` +- **年龄段规则**:`./01-student-ages.md` --- diff --git a/.claude/rules/90-archive/36-shorthand-learning.md b/.claude/rules/90-archive/36-shorthand-learning.md index 36301d6..171be83 100644 --- a/.claude/rules/90-archive/36-shorthand-learning.md +++ b/.claude/rules/90-archive/36-shorthand-learning.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 速记符号阶梯学习指南 > 降低学习成本,从"记住所有"到"先用起来" diff --git a/.claude/rules/90-archive/37-status-panel.md b/.claude/rules/90-archive/37-status-panel.md index d6011a7..e0a8c78 100644 --- a/.claude/rules/90-archive/37-status-panel.md +++ b/.claude/rules/90-archive/37-status-panel.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 课评状态管理面板(v2.0 旧版本) > ⚠️ **注意**:本文档为 v2.0 旧版本归档文件,描述的是"待确认"状态管理机制。 diff --git a/.claude/rules/90-archive/38-quick-edit.md b/.claude/rules/90-archive/38-quick-edit.md index d8bb8aa..9c8b69b 100644 --- a/.claude/rules/90-archive/38-quick-edit.md +++ b/.claude/rules/90-archive/38-quick-edit.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 快速编辑功能规则 > 解决小错误修改需重新生成的问题,提升修改效率70% diff --git a/.claude/rules/90-archive/40-keping-快速入门.md b/.claude/rules/90-archive/40-keping-快速入门.md index 84cf541..2f13f5e 100644 --- a/.claude/rules/90-archive/40-keping-快速入门.md +++ b/.claude/rules/90-archive/40-keping-快速入门.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 课评生成快速入门指南 v2.5(旧版本) > ⚠️ **注意**:本文档为 v2.5 旧版本归档文件,描述的是"生成-确认-保存"两阶段流程。 diff --git a/.claude/rules/90-archive/60-name-processing.md b/.claude/rules/90-archive/60-name-processing.md index 67fa12a..507d195 100644 --- a/.claude/rules/90-archive/60-name-processing.md +++ b/.claude/rules/90-archive/60-name-processing.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 课评姓名处理规则 > 处理语音输入谐音、课评称呼方式、姓名规范化 diff --git a/.claude/rules/90-archive/70-common-structures.md b/.claude/rules/90-archive/70-common-structures.md index ca86ca0..40c4b1e 100644 --- a/.claude/rules/90-archive/70-common-structures.md +++ b/.claude/rules/90-archive/70-common-structures.md @@ -1,3 +1,5 @@ +> ⚠️ **本文件已归档**:内容已合并至核心规则文件,此处仅作历史备份。请勿直接引用本文件,请使用 `.claude/rules/` 下的核心规则。 + # 通用结构规范 > 统一文档中重复定义的结构规则,避免多处维护导致不一致 @@ -144,8 +146,8 @@ - [20-style-building.md](20-style-building.md) - 幼儿积木搭建 - [21-style-coding.md](21-style-coding.md) - 少儿编程入门 - [22-style-robotics.md](22-style-robotics.md) - 机器人竞赛 -- [50-output-format-preschool.md](50-output-format-preschool.md) - 学龄前输出格式 -- [51-output-format-elementary.md](51-output-format-elementary.md) - 小学输出格式 +- [50-output-format-preschool.md](../50-output-format-preschool.md) - 学龄前输出格式 +- [51-output-format-elementary.md](../51-output-format-elementary.md) - 小学输出格式 --- diff --git a/.claude/skills/keping-advanced/config.json b/.claude/skills/keping-advanced/config.json index 2fd1889..9113d6d 100644 --- a/.claude/skills/keping-advanced/config.json +++ b/.claude/skills/keping-advanced/config.json @@ -1,80 +1,20 @@ { "skill_name": "keping-advanced", - "version": "2.1.0", - "description": "高级课评生成Skill v2.1 - 支持学期周数自动计算(仅用于后端课程主题匹配)、课程主题自动匹配、课评内容关联当周知识点(不显示周数)", + "version": "2.2.0", + "description": "高级课评生成Skill v2.2 - 支持学期周数自动计算(仅用于后端课程主题匹配)、课程主题自动匹配、三段式课评生成、自动双轨保存(班级汇总+个人档案)", "triggers": ["/课评", "/keping", "/写课评", "生成课评"], - "semester_config": { "baseline_date": "2026-03-02", "week_calculation": "Floor((current_date - baseline) / 7) + 1", "total_weeks": 20, - "current_week": 5, - "current_date": "2026-04-02" + "current_week": 10, + "current_date": "2026-05-09" }, - "course_mapping": { - "发现世界": { - "prefix": "DISC", - "week_mapping": { - "1": "DISC-001", - "2": "DISC-002", - "3": "DISC-003", - "4": "DISC-004", - "5": "DISC-005", - "6": "DISC-006", - "7": "DISC-007", - "8": "DISC-008", - "9": "DISC-009", - "10": "DISC-010", - "11": "DISC-011", - "12": "DISC-012", - "13": "DISC-013", - "14": "DISC-014", - "15": "DISC-015", - "16": "DISC-016", - "17": "DISC-017", - "18": "DISC-018", - "19": "DISC-019", - "20": "DISC-020" - } - }, - "SPIKE": { - "prefix": "SPIKE", - "week_mapping": { - "1": "SPIKE-001", - "2": "SPIKE-002", - "3": "SPIKE-003", - "4": "SPIKE-004", - "5": "SPIKE-005", - "6": "SPIKE-006", - "7": "SPIKE-007", - "8": "SPIKE-008", - "9": "SPIKE-009", - "10": "SPIKE-010", - "11": "SPIKE-011", - "12": "SPIKE-012", - "13": "SPIKE-013", - "14": "SPIKE-014", - "15": "SPIKE-015", - "16": "SPIKE-016", - "17": "SPIKE-017", - "18": "SPIKE-018", - "19": "SPIKE-019", - "20": "SPIKE-020" - } - }, - "AI03": { - "prefix": "AI03", - "week_mapping": { - "1": "AI03-001", - "2": "AI03-002", - "3": "AI03-003", - "4": "AI03-004", - "5": "AI03-005" - } - } + "发现世界": {"prefix": "DISC", "week_mapping": {"1": "DISC-001", "2": "DISC-002", "3": "DISC-003", "4": "DISC-004", "5": "DISC-005", "6": "DISC-006", "7": "DISC-007", "8": "DISC-008", "9": "DISC-009", "10": "DISC-010", "11": "DISC-011", "12": "DISC-012", "13": "DISC-013", "14": "DISC-014", "15": "DISC-015", "16": "DISC-016", "17": "DISC-017", "18": "DISC-018", "19": "DISC-019", "20": "DISC-020"}}, + "SPIKE": {"prefix": "SPIKE", "week_mapping": {"1": "SPIKE-001", "2": "SPIKE-002", "3": "SPIKE-003", "4": "SPIKE-004", "5": "SPIKE-005", "6": "SPIKE-006", "7": "SPIKE-007", "8": "SPIKE-008", "9": "SPIKE-009", "10": "SPIKE-010", "11": "SPIKE-011", "12": "SPIKE-012", "13": "SPIKE-013", "14": "SPIKE-014", "15": "SPIKE-015", "16": "SPIKE-016", "17": "SPIKE-017", "18": "SPIKE-018", "19": "SPIKE-019", "20": "SPIKE-020"}}, + "AI03": {"prefix": "AI03", "week_mapping": {"1": "AI03-001", "2": "AI03-002", "3": "AI03-003", "4": "AI03-004", "5": "AI03-005", "6": "AI03-006", "7": "AI03-007", "8": "AI03-008", "9": "AI03-009", "10": "AI03-010", "11": "AI03-011", "12": "AI03-012", "13": "AI03-013", "14": "AI03-014", "15": "AI03-015", "16": "AI03-016", "17": "AI03-017", "18": "AI03-018", "19": "AI03-019", "20": "AI03-020"}} }, - "workflow": { "steps": [ { @@ -96,14 +36,12 @@ }, { "id": "step2", - "name": "读取对应课程的课评规则", + "name": "读取课评风格规则(全年龄段统一)", "action": "read_style_rules", "input": ["年龄段"], - "output": ["字数要求", "必写模块", "语言风格", "禁用词汇"], + "output": ["字数要求", "三段式结构", "语言风格", "禁用词汇", "Emoji规范"], "file_mapping": { - "幼儿(2.5-6岁)": ".claude/rules/20-style-building.md", - "小学低(6-8岁)": ".claude/rules/21-style-coding.md", - "小学中高(8-10岁)": ".claude/rules/22-style-robotics.md" + "all_ages": ".claude/rules/10-style.md" } }, { @@ -137,14 +75,20 @@ }, { "id": "step6", - "name": "生成200-300字个性化课评(使用display_name称呼,不显示周数)", + "name": "生成180-350字三段式个性化课评(使用display_name称呼,不显示周数)", "action": "generate_evaluation", "input": ["step1-5的所有数据", "display_name(课评用称呼)", "课程主题", "核心知识点"], "output": ["课评文本"], "theme_association": true, "rules": { - "word_count": {"min": 180, "max": 300, "target": 250}, - "modules": ["课程知识点(兴趣度)", "掌握程度(学习表现)", "课堂状态", "成长亮点", "课后建议"], + "word_count": {"min": 180, "max": 350, "target": 250, "note": "弹性范围:精简版180-220字,标准版220-280字,详细版280-350字"}, + "paragraph_count": 3, + "structure": { + "paragraph_1": {"name": "课程知识点", "word_range": "30-55字", "emoji_count": 1}, + "paragraph_2": {"name": "课堂细节(掌握+环节+亮点)", "word_range": "100-220字(弹性)", "emoji_count": "1-3"}, + "paragraph_3": {"name": "课后建议", "word_range": "30-55字", "emoji_count": 1} + }, + "modules": ["课程知识点(兴趣度)", "掌握程度(学习表现)", "课程环节与目标达成", "成长亮点", "课后建议"], "week_number_in_content": false, "name_usage": { "use_display_name": true, @@ -153,43 +97,17 @@ }, "emoji_usage": { "enabled": true, - "style": "学龄前版", + "total_count": {"min": 3, "max": 5, "ideal": "3-5"}, "rules": { - "模块1_课程主题": { - "title": "🌟", - "content": "🔍", - "alternatives": ["⭐", "🎯", "📚", "💡", "🏗️"] - }, - "模块2_课堂表现": { - "title": "👀", - "content": "✨", - "hands": "✋", - "alternatives": ["🤗", "😊", "🔧", "🏗️", "👍"] - }, - "模块3_情绪状态": { - "title": "😊", - "positive": "😄", - "social": "🤝", - "alternatives": ["😢", "😴", "🤗", "💪", "❤️"] - }, - "模块4_成长亮点": { - "title": "🌱", - "content": "💪", - "highlight": "🚀", - "alternatives": ["⭐", "✨", "🎉", "👏", "🏆"] - }, - "模块5_课后建议": { - "title": "🏠", - "family": "👨‍👩‍👧", - "activity": "🎮", - "alternatives": ["📱", "🧩", "🎨", "🔬"] - } + "paragraph_1_课程知识点": {"count": 1, "recommended": ["🔍", "💡", "⚙️"], "note": "根据课程主题自动适配"}, + "paragraph_2_课堂细节": {"count": "1-3", "recommended": ["💪", "✨", "📈", "🌟", "😊", "🤝"], "note": "根据课堂情节亮点数量灵活适配"}, + "paragraph_3_课后建议": {"count": 1, "recommended": ["🏠", "🔧"], "note": "根据建议内容适配"} }, "principles": [ - "每段配1-2个表情符号", + "每段末尾添加emoji", "表情与内容情绪一致", - "相邻段落不用相同表情", - "总计10-15个表情为宜" + "总计3-5个", + "第2段可根据亮点数量使用2-3个表情" ] }, "personalization": { @@ -203,39 +121,35 @@ }, { "id": "step7", - "name": "自动保存到学生对应目录", - "action": "save_evaluation", - "output_path": "memory/student/{班级}/{学生名}/课评/{日期}-{课程代码}.md", - "content": { - "evaluation_text": "{课评正文}", - "metadata": { - "student": "{学生名}", - "course": "{课程代码}", - "week": "{周数}", - "date": "{日期}", - "generated_by": "keping-advanced v2.1.0", - "teacher_input": "{原始输入}" + "name": "自动双轨保存(班级汇总+个人档案)", + "action": "save_evaluation_dual_track", + "outputs": { + "class_summary": { + "path": "memory/class-evaluation-summary/第{周数}周/{班级}.md", + "priority": 1, + "required": true, + "content": "本周所有学生课评汇总(含出勤统计)" + }, + "personal_archive": { + "path": "memory/student/{班级}/{学生名}/历史课评记录.md", + "priority": 2, + "required": false, + "content": "个人课评记录(时间倒序,最新在上)", + "on_failure": "加入待补存队列,下次生成前自动补存" } - } - }, - { - "id": "step8", - "name": "更新学生成长记录", - "action": "update_growth_record", - "files": [ - "memory/student/{班级}/{学生名}/用户画像.md", - "memory/student/{班级}/{学生名}/历史课评记录.md" - ], - "record": { - "date": "{日期}", - "week": "{周数}", - "course": "{课程代码}", - "summary": "{一句话摘要}" - } + }, + "student_type_handling": { + "正式学生": "双轨保存(班级汇总+个人档案)", + "本班补课": "双轨保存(班级汇总+个人档案)", + "跨班级补课": "自动双轨保存(补课班级汇总+原班级个人档案)", + "体验学生": "仅班级汇总", + "缺课学生": "仅记录缺席" + }, + "auto_save": true, + "no_confirmation_needed": true } ] }, - "input_templates": { "single_quick": { "format": "日期:{date} 班级:{class} {name}:{performance} [情绪:{emotion}]", @@ -250,40 +164,35 @@ "header": ["学生", "核心表现", "情绪"] } }, - "quality_standards": { "word_count": { - "幼儿": {"min": 180, "max": 220, "ideal": 200}, - "小学低": {"min": 190, "max": 230, "ideal": 210}, - "小学中高": {"min": 200, "max": 300, "ideal": 250} + "min": 180, + "max": 350, + "ranges": { + "精简版": {"min": 180, "max": 220, "trigger": "输入简洁,仅包含基本行为描述"}, + "标准版": {"min": 220, "max": 280, "trigger": "输入有具体细节或1-2个亮点"}, + "详细版": {"min": 280, "max": 350, "trigger": "输入有精彩瞬间、多个亮点或特殊表现"} + } }, - "paragraph_count": {"min": 4, "max": 5}, + "paragraph_count": {"min": 3, "max": 3, "note": "三段式结构:课程知识点+课堂细节+课后建议"}, "emoji_usage": { "enabled": true, - "count": {"min": 6, "max": 20, "ideal": "10-15"}, + "count": {"min": 3, "max": 5, "ideal": "3-5"}, "style_mapping": { - "幼儿(2.5-6岁)": "学龄前版(丰富表情)", - "小学低(6-8岁)": "小学版(简洁点缀)", - "小学中高(8-10岁)": "小学版(简洁点缀)" + "幼儿(2.5-6岁)": "温暖活泼(🔍💪✨🏠)", + "小学低(6-8岁)": "简洁专业(💡📈🏠)", + "小学中高(8-10岁)": "专业竞技感(⚙️📈🏠)" }, "check_items": [ - "模块1使用🌟🔍等", - "模块2使用👀✨✋等", - "模块3使用😊😄🤝等", - "模块4使用🌱💪🚀等", - "模块5使用🏠👨‍👩‍👧🎮等", - "相邻段落表情不重复", + "第1段末尾有1个课程主题相关emoji", + "第2段末尾有1-3个课堂情节相关emoji", + "第3段末尾有1个家庭延伸相关emoji", + "总计3-5个emoji", "表情与内容情绪匹配" ] }, "forbidden_words": ["宝贝", "小天才", "最棒", "无敌", "超级厉害", "完美", "秒杀", "碾压", "大神"], - "forbidden_patterns": [ - "比.*小朋友.*", - "其他.*不好", - "最差", - "最慢", - "最笨" - ], + "forbidden_patterns": ["比.*小朋友.*", "其他.*不好", "最差", "最慢", "最笨"], "name_usage_check": { "priority": ["小名/昵称", "去姓称名", "叠字称呼"], "forbidden": ["全名(除非家长要求)"], @@ -297,67 +206,39 @@ "required_elements": [ "课程知识点(体现兴趣度)", "掌握程度(体现学习表现)", - "课堂状态(专注度、情绪、互动)", + "课程环节与目标达成", "成长亮点(纵向对比)", "课后建议(可操作的家庭活动)" ] }, - "data_sources": { "student_profile": "memory/student/{班级}/{学生名}/用户画像.md", "history_reviews": "memory/student/{班级}/{学生名}/历史课评记录.md", "lesson_content": "memory/lesson/**/{课程代码}.md", "semester_weeks": ".claude/rules/15-semester-weeks.md", - "style_rules": { - "building": ".claude/rules/20-style-building.md", - "coding": ".claude/rules/21-style-coding.md", - "robotics": ".claude/rules/22-style-robotics.md" - } + "style_rules": ".claude/rules/10-style.md", + "workflow_rules": ".claude/rules/20-workflow.md", + "shorthand_rules": ".claude/rules/21-shorthand.md", + "student_mgmt_rules": ".claude/rules/22-student-mgmt.md", + "student_rules": ".claude/rules/30-student.md", + "output_format_preschool": ".claude/rules/50-output-format-preschool.md", + "output_format_elementary": ".claude/rules/51-output-format-elementary.md" }, - "output_paths": { - "evaluation": "memory/student/{班级}/{学生名}/课评/{日期}-{课程代码}.md", - "growth_record": "memory/student/{班级}/{学生名}/用户画像.md", - "history_append": "memory/student/{班级}/{学生名}/历史课评记录.md" + "class_summary": "memory/class-evaluation-summary/第{周数}周/{班级}.md", + "personal_archive": "memory/student/{班级}/{学生名}/历史课评记录.md" }, - "error_handling": { - "date_not_found": { - "message": "请输入日期,如:4月2日", - "action": "prompt_for_date" - }, - "profile_not_found": { - "message": "未找到学生画像,使用通用模板继续。建议后续建立画像以获得更个性化课评。", - "action": "continue_with_default" - }, - "name_not_found": { - "message": "无法识别学生姓名,请检查姓名是否正确或建立画像档案。", - "action": "prompt_for_name", - "homophone_correction": { - "enabled": true, - "confidence_threshold": 0.8, - "message": "检测到可能的谐音输入 '{输入}',是否纠正为 '{建议}'?" - } - }, - "nickname_not_set": { - "message": "学生画像中未设置小名/昵称,将使用去姓称名或叠字称呼。", - "action": "use_fallback_name", - "fallback_order": ["去姓称名", "叠字称呼", "全名"] - }, - "lesson_not_found": { - "message": "未找到课程教案,请手动输入知识点或补充教案。", - "action": "prompt_for_manual_input" - }, - "insufficient_history": { - "message": "历史课评不足10次,使用全部可用记录。", - "action": "use_available_records" - }, - "word_count_short": { - "message": "字数偏短,建议补充具体事例。", - "action": "suggest_expansion" - } + "date_not_found": {"message": "请输入日期,如:4月2日", "action": "prompt_for_date"}, + "profile_not_found": {"message": "未找到学生画像,使用通用模板继续。建议后续建立画像以获得更个性化课评。", "action": "continue_with_default"}, + "name_not_found": {"message": "无法识别学生姓名,请检查姓名是否正确或建立画像档案。", "action": "prompt_for_name", "homophone_correction": {"enabled": true, "confidence_threshold": 0.8, "message": "检测到可能的谐音输入 '{输入}',是否纠正为 '{建议}'?"}}, + "nickname_not_set": {"message": "学生画像中未设置小名/昵称,将使用去姓称名或叠字称呼。", "action": "use_fallback_name", "fallback_order": ["去姓称名", "叠字称呼", "全名"]}, + "lesson_not_found": {"message": "未找到课程教案,请手动输入知识点或补充教案。", "action": "prompt_for_manual_input"}, + "insufficient_history": {"message": "历史课评不足10次,使用全部可用记录。", "action": "use_available_records"}, + "word_count_short": {"message": "字数偏短,建议补充具体事例。", "action": "suggest_expansion"}, + "class_summary_save_failed": {"message": "班级汇总保存失败,正在重试...", "action": "retry_3_times", "fallback": "显示错误提示,提供手动重试按钮"}, + "personal_archive_save_failed": {"message": "个人档案保存失败,已加入待补存队列。", "action": "add_to_compensation_queue", "fallback": "下次生成课评前自动补存,或教师输入'补存'手动触发"} }, - "created_at": "2026-03-25", - "updated_at": "2026-04-02" + "updated_at": "2026-05-09" } diff --git a/.claude/skills/keping-使用指南.md b/.claude/skills/keping-使用指南.md deleted file mode 100644 index 5d8411d..0000000 --- a/.claude/skills/keping-使用指南.md +++ /dev/null @@ -1,255 +0,0 @@ -# 课评生成 Skill 使用指南 - -> Skill名称:`keping` | 触发命令:`/课评` `/keping` `/kp` - ---- - -## 📋 功能简介 - -课评生成 Skill 是穹狼乐高编程课评系统的核心组件,根据教师极简输入自动生成个性化课后评价。 - -**核心价值**: -- 教师只需记录关键观察,AI自动扩展为完整课评 -- 基于学生画像实现"千人千面"差异化输出 -- 自动匹配课程知识点和教学风格 -- 确保字数、格式、专业性符合标准 - ---- - -## 🚀 快速开始 - -### 基础用法(单学生) - -``` -/课评 学生:小明 表现:观望5分钟→主动搭3层→自己调高度 -``` - -### 完整用法 - -``` -/课评 \ - 学生:小明 \ - 班级:发现世界-周四19点 \ - 课程:DISC-003 \ - 表现:观望5分钟后主动尝试,搭了3层管道,球卡住时能自己调整入口高度 \ - 情绪:稳定 \ - 对比:比上周主动 -``` - ---- - -## 📖 参数说明 - -| 参数 | 必填 | 说明 | 示例 | -|------|:---:|:----|:----| -| `学生` | ✅ | 学生姓名 | `学生:小明` | -| `表现` | ✅ | 核心课堂观察(关键行为) | `表现:主动搭3层,自己调高度` | -| `班级` | ❌ | 班级名称(用于匹配画像) | `班级:发现世界-周四19点` | -| `课程` | ❌ | 课程代码(用于提取知识点) | `课程:DISC-003` | -| `情绪` | ❌ | 情绪状态 | `情绪:稳定` / `情绪:开心→烦躁` | -| `对比` | ❌ | 与之前课对比 | `对比:比上周主动` / `对比:和之前一样` | -| `特殊` | ❌ | 特殊情况 | `特殊:中途上厕所` | - ---- - -## 🎯 执行流程(8步) - -``` -输入解析 → 学生匹配 → 课程匹配 → 风格匹配 → 内容生成 → 个性化 → 格式校验 → 输出 -``` - -### 详细流程 - -| 步骤 | 动作 | 说明 | -|:---:|------|------| -| 1 | **输入解析** | 提取姓名、班级、表现、情绪等关键信息 | -| 2 | **学生匹配** | 调取学生画像档案,获取气质、能力、历史表现 | -| 3 | **课程匹配** | 调取课程教案,提取知识点和目标 | -| 4 | **风格匹配** | 根据年龄确定语言风格(幼儿/小学低/小学中)| -| 5 | **内容生成** | 基于5个必写模块生成内容 | -| 6 | **个性化** | 根据学生画像调整侧重点和措辞 | -| 7 | **格式校验** | 检查字数、段落、禁用词、质量清单 | -| 8 | **输出** | 生成最终课评,附带审核状态 | - ---- - -## 📝 输入示例 - -### 示例1:极简速记(推荐日常使用) - -``` -/课评 小明:观望5分钟→主动搭3层→自己调高度,情绪稳定,比上周主动 -``` - -### 示例2:批量生成(一节课多学生) - -``` -/课评 批量:true - -课程:TUBE-001 -班级:小小班A班 - -| 学生 | 核心表现 | 情绪 | 亮点 | -|-----|---------|------|------| -| 小明 | 观望5分钟→主动搭3层→自己调高度 | 稳定 | 比上周主动 | -| 小红 | 全程专注→搭5层→加弯管 | 开心 | 主动帮助旁边 | -| 小强 | 频繁换玩法→未完整搭建 | 兴奋→烦躁 | 需引导坚持 | -``` - -### 示例3:详细输入(特殊学生) - -``` -/课评 \ - 学生:天天 \ - 班级:发现世界-周四19点 \ - 课程:DISC-005 \ - 表现:搭了4层但一倒就哭,老师安抚后继续完成,最后加了创意装饰 \ - 情绪:敏感但可安抚 \ - 对比:抗挫比上周有进步 \ - 特殊:作品倒塌时情绪波动明显 -``` - ---- - -## 🎨 输出格式 - -### 单学生输出 - -``` -━━━━━━━━━━━━━━━━━━━━━━━ -【学生:小明】198字 | 5段 - -小明今天学习了"互锁结构"——把积木像砌墙一样交错叠放... - -[5段完整课评内容] - ---- -生成时间:2026-03-25 19:30 -模板:幼儿积木-180-220字 -审核状态:待教师审核 -━━━━━━━━━━━━━━━━━━━━━━━ -``` - -### 批量输出 - -``` -━━━━━━━━━━━━━━━━━━━━━━━ -【学生1:小明】198字 | 5段 -[课评内容] - -━━━━━━━━━━━━━━━━━━━━━━━ -【学生2:小红】210字 | 5段 -[课评内容] - -━━━━━━━━━━━━━━━━━━━━━━━ -【学生3:小强】175字 | 5段 -⚠️ 字数偏短,建议补充 - -━━━━━━━━━━━━━━━━━━━━━━━ - -批量生成完成(3份) -✓ 字数检查:2份符合,1份偏短 -✓ 重复检查:无雷同表述 -✓ 差异化检查:3份侧重点各不相同 -``` - ---- - -## ⚙️ 配置文件 - -Skill配置文件位置:`.claude/skills/keping.json` - -### 可自定义项 - -| 配置项 | 说明 | 默认值 | -|-------|------|:------:| -| `quality_standards.word_count` | 字数标准 | 幼儿180-220 | -| `quality_standards.forbidden_words` | 禁用词汇 | ["宝贝", "小天才"...] | -| `workflow.steps` | 流程步骤 | 8步标准流程 | - ---- - -## 🔄 与其他系统的协作 - -### 依赖数据源 - -``` -memory/student/**/用户画像.md → 学生性格、能力、历史表现 -memory/lesson/** → 课程知识点、目标 -.claude/rules/20-style-*.md → 语言风格规则 -.claude/rules/03-evaluation-dimensions.md → 评价维度 -``` - -### 输出目的地 - -``` -.claude/output/课评-待审核/ → 生成后待教师审核 -memory/student/**/历史课评记录.md → 审核通过后归档 -``` - ---- - -## ⚠️ 常见错误处理 - -| 场景 | 提示 | 处理方式 | -|------|------|---------| -| 未找到学生画像 | "未找到学生画像,使用通用模板..." | 先建立画像或继续用通用模板 | -| 未找到课程 | "未找到课程教案..." | 手动输入知识点或补充教案 | -| 字数偏短 | "⚠️ 字数偏短(175字),建议补充..." | 补充具体事例细节 | -| 缺少必填项 | "课堂表现为必填项..." | 补充 `表现:` 参数 | - ---- - -## 📚 进阶用法 - -### 结合画像生成 - -当学生画像已建立时,Skill会自动: -- 识别气质类型(活泼/谨慎/平和/敏感) -- 匹配学习风格(视觉/听觉/动觉) -- 对比历史表现(纵向进步) -- 调整侧重点(如:谨慎型侧重勇气,敏感型侧重情绪) - -### 千人千面实现 - -同一节课不同学生的课评会自动差异化: -- **开头句式**:避免雷同 -- **侧重点**:根据学生特点 -- **建议内容**:个性化家庭活动 - ---- - -## 🎯 最佳实践 - -### 教师记录技巧 - -``` -# 高效速记格式 -小明:观望5分钟→主动搭3层→自己调高度,稳定,比上周主动 -# 解析:行为链(时间+动作+结果),情绪,对比 - -# 关键动词识别 -- "主动" = 积极性 -- "自己调整" = 掌握较好 -- "坚持" = 抗挫能力 -- "创新/加装饰" = 创意表现 -``` - -### 审核检查清单 - -课评生成后,教师需确认: -- [ ] 学生姓名正确 -- [ ] 日期/课程正确 -- [ ] 具体事例真实 -- [ ] 建议可操作 -- [ ] 语气恰当 - ---- - -## 📞 支持 - -如有问题或建议,请联系:穹狼教学团队 - ---- - -*文档版本:v1.0 | 2026-03-25* diff --git a/.claude/skills/keping-速查卡.md b/.claude/skills/keping-速查卡.md deleted file mode 100644 index a205867..0000000 --- a/.claude/skills/keping-速查卡.md +++ /dev/null @@ -1,80 +0,0 @@ -# 课评生成 Skill 速查卡 - -## 🔥 最常用命令 - -```bash -# 极简速记(日常使用) -/课评 小明:观望5分钟→主动搭3层→自己调高度 - -# 完整信息 -/课评 学生:小明 班级:发现世界-周四19点 课程:DISC-003 表现:主动搭3层 情绪:稳定 - -# 批量生成 -/课评 批量:true -课程:TUBE-001 -|学生|表现|情绪| -|小明|搭3层|稳定| -|小红|搭5层|开心| -``` - ---- - -## 📋 8步执行流程 - -``` -输入解析 → 学生匹配 → 课程匹配 → 风格匹配 → 内容生成 → 个性化 → 格式校验 → 输出 -``` - ---- - -## 🎯 5个必写模块 - -| 模块 | 字数 | 要点 | -|------|:---:|:----| -| 1.课程知识点 | 30-40 | 具体知识,从教案提取 | -| 2.掌握程度 | 30-40 | 客观描述,避免评价 | -| 3.课堂表现 | 40-50 | 专注、情绪、互动 | -| 4.成长亮点 | 40-50 | 纵向对比,独特进步 | -| 5.课后建议 | 30-40 | 可操作,家庭延伸 | - ---- - -## 📝 输入速记符号 - -| 符号 | 含义 | 示例 | -|:---:|------|:----| -| `→` | 行为发展/时间线 | 观望5分钟→主动尝试 | -| `,` | 并列行为 | 搭3层,自己调高度 | -| `→`情绪 | 情绪变化 | 兴奋→烦躁 | -| `比上周` | 纵向对比 | 比上周主动 | - ---- - -## 🎨 年龄风格对照 - -| 年龄段 | 字数 | 语气 | 禁用词 | -|-------|:---:|:----|:-------| -| 2.5-6岁 | 180-220 | 温暖具体 | "宝贝""天才""最棒" | -| 6-8岁 | 190-230 | 尊重专业 | "秒杀""大神" "碾压" | -| 8-10岁 | 200-240 | 竞技成长 | "无敌""完美" "核心奥秘" | - ---- - -## ⚠️ 质量检查 - -✅ **必须包含**:具体事例、可操作建议、肯定努力 -❌ **禁止**:负面标签、不当比较、敏感信息、过度承诺 - ---- - -## 🔗 依赖文件 - -``` -memory/student/**/用户画像.md ← 学生档案 -memory/lesson/** ← 课程教案 -.claude/skills/keping.json ← Skill配置 -``` - ---- - -*速查卡 v1.0 | 2026-03-25* diff --git a/.claude/skills/keping.json b/.claude/skills/keping.json deleted file mode 100644 index 8a58b5b..0000000 --- a/.claude/skills/keping.json +++ /dev/null @@ -1,247 +0,0 @@ -{ - "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": "初始版本,支持单学生和批量模式"} - ] -} diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index b60d5c1..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,72 +0,0 @@ -# 版本更新日志 - -## 版本历史总览 - -| 版本 | 日期 | 更新内容 | 团队 | -|-----|------|---------|------| -| **v2.1** | **2026-04-24** | **字数弹性**:根据输入内容丰富度自动调整课评长度(180-350字),充分展现学生精彩瞬间 | 穹狼教学团队 | -| **v2.0** | **2026-04-19** | **流程优化**:并行生成、批量确认、自动保存、速记符号系统 | 穹狼教学团队 | -| v1.4 | 2026-04-16 | 新增补课/体验学生处理,支持仅保存到班级周汇总 | 穹狼教学团队 | -| v1.3 | 2026-04-04 | 新增"确认后保存"流程,优化课评生成体验 | 穹狼教学团队 | -| v1.0 | 2026-03-25 | 初始版本:课评反馈系统基础功能 | 穹狼教学团队 | - ---- - -## v2.1 详细更新(2026-04-24) - -### 核心改进 -- **字数弹性机制**:课评字数从固定200字改为弹性范围180-350字 - - 精简输入(如"搭了3层,开心")→ 输出180-220字 - - 标准输入(如"观望5分钟后主动搭3层,自己调整")→ 输出220-280字 - - 详细输入(如包含多个亮点、精彩瞬间)→ 输出280-350字 - -### 影响文件 -- `.claude/rules/20-style-building.md` -- `.claude/rules/21-style-coding.md` -- `.claude/rules/50-output-format-preschool.md` -- `.claude/rules/51-output-format-elementary.md` - ---- - -## v2.0 详细更新(2026-04-19) - -### 核心改进 -1. **并行生成**:多学生课评同时生成,速度提升 -2. **批量确认**:一次确认多个课评,减少交互次数 -3. **自动双轨保存**:确认后自动保存到班级汇总和个人档案 -4. **速记符号系统**:新增行为/情绪/对比速记,提高输入效率 - -### 新增文件 -- `.claude/rules/36-shorthand-learning.md` - 速记阶梯学习指南 -- `.claude/rules/37-status-panel.md` - 状态管理面板 -- `.claude/rules/38-quick-edit.md` - 快速编辑功能 - -### 更新文件 -- `.claude/rules/30-input-format.md` - v4.0,新增速记符号 -- `.claude/rules/32-batch-generation.md` - v2.0,批量生成优化 -- `.claude/rules/40-keping-快速入门.md` - v3.0,速记+批量确认 - ---- - -## v1.4 详细更新(2026-04-16) - -- 新增补课/体验学生特殊处理流程 -- 支持仅保存到班级周汇总(不创建个人档案) -- 新增`[补课]`、`[体验]`、`[缺课]`标记 - ---- - -## v1.3 详细更新(2026-04-04) - -- 新增"确认后保存"流程,避免误操作 -- 优化课评生成体验,减少等待时间 -- 增加质量检查环节 - ---- - -## v1.0 详细更新(2026-03-25) - -- 初始版本发布 -- 基础课评生成功能 -- 支持3种课程类型(幼儿积木、少儿编程、机器人竞赛) -- 5模块课评结构(知识点、掌握程度、课程环节、成长亮点、课后建议) diff --git a/CLAUDE.md b/CLAUDE.md index 28b9c76..628022e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,7 +1,7 @@ # 穹狼乐高编程AI课评生成系统 > 为2.5岁-小学4年级学生自动生成个性化课程评价 -> 版本:v3.1(精简版)| 规则文件:5个核心文件 +> 版本:v3.2(精简版)| 规则文件:9个核心文件 + 20个归档规则 --- @@ -11,14 +11,36 @@ classfeedback/ ├── CLAUDE.md # 本文件:全局索引与快速入口 ├── .claude/ -│ ├── rules/ # 规则配置(精简为5个核心文件) +│ ├── rules/ # 规则配置(9个核心文件) │ │ ├── 00-core.md # 系统基础+年龄段+课程类型+评价维度+评分标准 │ │ ├── 10-style.md # 写作风格+三段式结构+Emoji+输入丰富度评估 -│ │ ├── 20-workflow.md # 输入格式+批量生成+存储规则+速记符号 +│ │ ├── 15-semester-weeks.md # 学期周数计算+课程主题映射 +│ │ ├── 20-workflow.md # 输入格式+批量生成+存储规则+自动双轨保存 +│ │ ├── 21-shorthand.md # 速记符号系统(从20-workflow拆分) +│ │ ├── 22-student-mgmt.md # 补课/新学生/转正规则(从20-workflow拆分) │ │ ├── 30-student.md # 画像建立+千人千面+姓名处理 │ │ ├── 50-output-format-preschool.md # 学龄前输出格式 │ │ ├── 51-output-format-elementary.md # 小学输出格式 -│ │ └── 90-archive/ # 已合并的旧规则文件备份 +│ │ └── 90-archive/ # 已合并的旧规则归档(20个文件,内容已合并至核心规则) +│ │ ├── 01-student-ages.md # 年龄段详细特征(已合并至00-core) +│ │ ├── 02-course-types.md # 课程类型详解(已合并至00-core) +│ │ ├── 03-evaluation-dimensions.md # 评价维度详解(已合并至00-core) +│ │ ├── 06-scoring.md # 评分标准详解(已合并至00-core) +│ │ ├── 20-style-building.md # 幼儿积木风格(已合并至10-style) +│ │ ├── 21-style-coding.md # 少儿编程风格(已合并至10-style) +│ │ ├── 22-style-robotics.md # 机器人竞赛风格(已合并至10-style) +│ │ ├── 25-template-preschool-detailed.md # 学龄前手动模板 +│ │ ├── 30-input-format.md # 输入格式详解(已合并至20-workflow) +│ │ ├── 31-class-differentiation.md # 班级差异(已合并至30-student) +│ │ ├── 32-batch-generation.md # 批量生成(已合并至20-workflow) +│ │ ├── 33-first-class-rules.md # 新学生/补课(已合并至20-workflow/22-student-mgmt) +│ │ ├── 35-画像建立指南.md # 画像建立(已合并至30-student) +│ │ ├── 36-shorthand-learning.md # 速记学习指南 +│ │ ├── 37-status-panel.md # 状态面板(v2.0旧版,已废弃) +│ │ ├── 38-quick-edit.md # 快速编辑(已合并至20-workflow) +│ │ ├── 40-keping-快速入门.md # 快速入门(v2.5旧版,已废弃) +│ │ ├── 60-name-processing.md # 姓名处理(已合并至30-student) +│ │ └── 70-common-structures.md # 通用结构(已合并至10-style) │ ├── skills/ # 技能配置 │ └── settings.json # 设置 ├── memory/ @@ -40,8 +62,13 @@ classfeedback/ |------|------|------| | **核心规则** | 系统角色、年龄段、课程类型、评价维度、评分标准 | [`.claude/rules/00-core.md`](.claude/rules/00-core.md) | | **风格规则** | 三段式结构、语气风格、Emoji使用、字数弹性 | [`.claude/rules/10-style.md`](.claude/rules/10-style.md) | -| **工作流程** | 输入格式、批量生成、存储规则、速记符号、补课处理 | [`.claude/rules/20-workflow.md`](.claude/rules/20-workflow.md) | +| **学期周数** | 周数计算、课程主题映射(后端自动匹配) | [`.claude/rules/15-semester-weeks.md`](.claude/rules/15-semester-weeks.md) | +| **工作流程** | 输入格式、批量生成、存储规则、自动双轨保存 | [`.claude/rules/20-workflow.md`](.claude/rules/20-workflow.md) | +| **速记符号** | 核心速记、扩展速记、编程速记、组合示例 | [`.claude/rules/21-shorthand.md`](.claude/rules/21-shorthand.md) | +| **学生特殊处理** | 补课、新学生、跨班级补课、转正规则 | [`.claude/rules/22-student-mgmt.md`](.claude/rules/22-student-mgmt.md) | | **学生管理** | 画像建立、千人千面、姓名处理 | [`.claude/rules/30-student.md`](.claude/rules/30-student.md) | +| **学龄前输出** | 学龄前课评排版样式与示例 | [`.claude/rules/50-output-format-preschool.md`](.claude/rules/50-output-format-preschool.md) | +| **小学输出** | 小学课评结构化排版与示例 | [`.claude/rules/51-output-format-elementary.md`](.claude/rules/51-output-format-elementary.md) | ### 记忆存储 diff --git a/memory/class-evaluation-summary/第10周/发现世界-周六19点.md b/memory/class-evaluation-summary/第10周/发现世界-周六19点.md new file mode 100644 index 0000000..26f1f2d --- /dev/null +++ b/memory/class-evaluation-summary/第10周/发现世界-周六19点.md @@ -0,0 +1,67 @@ +# 发现世界-周六19点 第10周汇总 + +> 课程代码:DISC-010 +> 课程主题:礼物盒(母亲节特别活动) +> 上课日期:2026-05-09(周六 19:00-20:00) +> 班级人数:2人(出勤1人,缺勤1人) + +--- + +## 本周课评状态 + +| 学生 | 状态 | 类型 | 档案位置 | 操作 | +|:-----|:----:|:----:|:---------|:----:| +| 杨佳兴(小老虎) | ✅ 已保存 | 跨班级补课 | 发现世界-周六09点 | [查看] [修改] | +| 赖韵恬(恬恬) | ❌ 缺课 | 常规学生 | 本班 | 请假 | + +--- + +## 学生课评列表 + +### 杨佳兴(小老虎)- 跨班级补课 🔄 + +小老虎本节课制作了母亲节"礼物盒",学习了箱体的对称结构和滑盖开合设计,用积木围出盒身、再加可滑动的盖子保护礼物 🔍 + +这节课小老虎一听到要把礼物盒送给妈妈就特别兴奋,得知手链奖品要靠跟老师玩游戏赢取后,他主动加快节奏争取早点完成任务进入比赛💪。搭花朵和箱体时格外积极投入,每一步都很认真想要做好。装礼物的时候还想放一件特别的小东西进去当惊喜,仔细看了看又觉得不够美观,主动拿出来重新调整,这种主动审视作品的眼光很难得✨。后来我们一起把礼物盒打包起来,特意设计了滑动开合的盖子,可以模拟真实礼物盒打开的那一刻惊喜感。最后游戏环节他更是全力以赴想赢得手链送给妈妈🌟 + +回家后可以让小老虎亲自把礼物盒送给妈妈,再说一句"母亲节快乐",让这份心意完整地传达 🏠 + +**教师备注**: +- 跨班级补课:原班级「发现世界-周六09点」,本节在「发现世界-周六19点」完成 +- 个人档案:已同步到原班级 +- 亮点:目标驱动力强(争取奖品送妈妈)、审美自我调整(拿出不美观的物品)、滑盖结构设计、游戏环节全力以赴 + +--- + +### 赖韵恬(恬恬)- 缺课 ❌ + +本周请假,未到课。 + +**备注**: +- 缺课原因:请假 +- 跟进:第11周回归后正常上课,本节课内容由教师后续单独跟进 + +--- + +## 本周班级整体情况 + +### 课程目标达成度 +- **知识点掌握**:礼物盒箱体结构与滑盖开合(1/1出勤学生掌握) +- **技能操作**:互锁与对称结构应用(1/1出勤学生完成) +- **情感目标**:母亲节感恩教育(1/1出勤学生表达对妈妈的爱) + +### 共性亮点 +1. 出勤学生(小老虎)目标驱动力强,为给妈妈争取奖品而主动推进任务 +2. 表现出主动审视作品的审美意识,能识别不够美观的部分并自我调整 +3. 对母亲节主题情感投入度高,愿意全力以赴完成礼物制作 + +### 共性问题 +1. 本周仅1人出勤,样本量较少,共性观察待第11周补充 + +### 教师反馈 +> 本节课是母亲节特别活动,小老虎跨班级来补课表现非常积极,从听到送礼物给妈妈那一刻就充满热情,在搭建、装饰、装礼物、打包的全流程中都展现出强烈的目标感。特别是装礼物时主动拿出不美观物品的审美调整,以及滑盖设计模拟真实礼物盒的开合效果,都让本节课的礼物盒充满心意。期待恬恬下周回归。 + +--- + +*生成时间:2026-05-09* +*保存状态:✅ 已双轨保存* diff --git a/memory/class-evaluation-summary/第7周/出勤统计.md b/memory/class-evaluation-summary/第7周/出勤统计.md deleted file mode 100644 index eb745df..0000000 --- a/memory/class-evaluation-summary/第7周/出勤统计.md +++ /dev/null @@ -1,69 +0,0 @@ -# 第7周出勤统计汇总 - -> 周期:2026春季学期 第7周(4月13日 - 4月19日) -> 统计时间:2026-04-19 - ---- - -## 全周学生出勤情况 - -| 学生姓名 | 所属班级 | 上课班级 | 课程 | 状态 | 备注 | -|:---------|:---------|:---------|:-----|:----:|:-----| -| 梁昕乔(乔乔) | 发现世界-周四19点 | 周四19点 | DISC-007 | ✅ 出勤 | | -| 钟昀昊(昊昊) | 发现世界-周四19点 | 周四19点 | DISC-007 | ✅ 出勤 | | -| 林瀚丞(丞丞) | 发现世界-周六09点 | 周四19点 | DISC-007 | 🔄 补课 | 原班级:周六09点 | -| 胡翰铭(翰铭) | 发现世界-周六09点 | 周六09点 | DISC-007 | ✅ 出勤 | | -| 余韫(袋袋) | 发现世界-周六09点 | - | - | ❌ 缺课 | | -| 林嘉铭(嘉铭) | 发现世界-周六09点 | - | - | ❌ 缺课 | | -| 杨佳兴(小老虎) | 发现世界-周六09点 | - | - | ❌ 缺课 | | -| 待补充 | 发现世界-周六19点 | - | - | ❌ 缺课 | | -| 待补充 | 发现世界-周日下午14点 | - | - | ❌ 缺课 | | -| 待补充 | 发现世界-周日下午16点 | - | - | ❌ 缺课 | | -| 待补充 | Wedo创造世界-周六1030 | - | - | ❌ 缺课 | | -| 待补充 | Wedo创造世界-周六16点 | - | - | ❌ 缺课 | | -| 待补充 | SPIKE02-周日1030 | - | - | ❌ 缺课 | | -| 待补充 | AICODE-03-周五19点 | - | - | ❌ 缺课 | | -| 待补充 | AICODE-03-周六14点 | - | - | ❌ 缺课 | | - ---- - -## 全周统计 - -| 项目 | 数据 | -|:-----|:----:| -| 涉及班级 | 10个 | -| 应到学生总数 | 待统计 | -| ✅ 出勤 | 3人 | -| 🔄 补课 | 1人 | -| ❌ 缺课 | 待统计 | -| **实际出勤率** | **待统计** | - ---- - -## 课程分布 - -| 班级 | 应到 | 出勤 | 补课 | 缺课 | -|:-----|:----:|:----:|:----:|:----:| -| 发现世界-周四19点 | 2 | 2 | 0 | 0 | -| 发现世界-周六09点 | 5 | 1 | 1 | 3 | -| 其他班级 | 待统计 | 0 | 0 | 待统计 | - ---- - -*自动生成时间:2026-04-19* -*下次更新:生成/修改课评时自动更新* - ---- - -## 出勤状态说明 - -| 状态 | 图标 | 说明 | -|:-----|:----:|:-----| -| **出勤** | ✅ | 在本班正常上课 | -| **补课** | 🔄 | 本班学生去其他班级上课 | -| **缺课** | ❌ | 未到校上课 | - -## 统计规则 - -1. **应到人数**:所有有档案的学生总数 -2. **实际出勤率**:(出勤 + 补课)/ 应到总人数 diff --git a/memory/class-evaluation-summary/第8周/出勤统计.md b/memory/class-evaluation-summary/第8周/出勤统计.md deleted file mode 100644 index f15671d..0000000 --- a/memory/class-evaluation-summary/第8周/出勤统计.md +++ /dev/null @@ -1,73 +0,0 @@ -# 第8周出勤统计汇总 - -> 周期:2026春季学期 第8周(4月20日 - 4月26日) -> 统计时间:2026-04-25 - ---- - -## 全周学生出勤情况 - -| 学生姓名 | 所属班级 | 上课班级 | 课程 | 状态 | 备注 | -|:---------|:---------|:---------|:-----|:----:|:-----| -| 钟昀昊(昊昊) | 发现世界-周四19点 | 周四19点 | DISC-008 | ✅ 出勤 | | -| 梁昕乔(乔乔) | 发现世界-周四19点 | 周四19点 | DISC-008 | ✅ 出勤 | | -| 林瀚丞(丞丞) | 发现世界-周六09点 | 周四19点 | DISC-008 | 🔄 补课 | 原班级:周六09点 | -| 余韫(袋袋) | 发现世界-周六09点 | 周六09点 | DISC-008 | ✅ 出勤 | | -| 林嘉铭(嘉铭) | 发现世界-周六09点 | 周六09点 | DISC-008 | ✅ 出勤 | | -| 胡翰铭(翰铭) | 发现世界-周六09点 | 周六09点 | DISC-008 | ✅ 出勤 | | -| 杨佳兴(小老虎) | 发现世界-周六09点 | 周六09点 | DISC-008 | ✅ 出勤 | | -| 黄晓瑜(晓瑜) | Wedo创造世界-周六1030 | 周六1030 | CREATE-008 | ✅ 出勤 | | -| 罗钧龄 | Wedo创造世界-周六1030 | 周六1030 | CREATE-008 | ✅ 出勤 | | -| 黄馨宸(馨宸) | Wedo创造世界-周六1030 | 周六1030 | CREATE-008 | ✅ 出勤 | | -| 梁家铭(家铭) | Wedo创造世界-周六1030 | - | - | ❌ 缺课 | | -| 简思瑜 | Wedo创造世界-周六1030 | - | - | ❌ 缺课 | | -| 简思霖 | Wedo创造世界-周六1030 | - | - | ❌ 缺课 | | -| 待补充 | 发现世界-周六19点 | - | - | ❌ 缺课 | | -| 待补充 | Wedo创造世界-周六16点 | - | - | ❌ 缺课 | | -| 待补充 | SPIKE02-周日1030 | - | - | ❌ 缺课 | | -| 待补充 | AICODE-03-周五19点 | - | - | ❌ 缺课 | | -| 待补充 | AICODE-03-周六14点 | - | - | ❌ 缺课 | | - ---- - -## 全周统计 - -| 项目 | 数据 | -|:-----|:----:| -| 涉及班级 | 8个 | -| 应到学生总数 | 待统计 | -| ✅ 出勤 | 11人 | -| 🔄 补课 | 1人 | -| ❌ 缺课 | 待统计 | -| **实际出勤率** | **待统计** | - ---- - -## 课程分布 - -| 班级 | 应到 | 出勤 | 补课 | 缺课 | -|:-----|:----:|:----:|:----:|:----:| -| 发现世界-周四19点 | 2 | 2 | 0 | 0 | -| 发现世界-周六09点 | 5 | 4 | 1 | 0 | -| Wedo创造世界-周六1030 | 6 | 3 | 0 | 3 | -| 其他班级 | 待统计 | 0 | 0 | 待统计 | - ---- - -*自动生成时间:2026-04-25* -*下次更新:生成/修改课评时自动更新* - ---- - -## 出勤状态说明 - -| 状态 | 图标 | 说明 | -|:-----|:----:|:-----| -| **出勤** | ✅ | 在本班正常上课 | -| **补课** | 🔄 | 本班学生去其他班级上课 | -| **缺课** | ❌ | 未到校上课 | - -## 统计规则 - -1. **应到人数**:所有有档案的学生总数 -2. **实际出勤率**:(出勤 + 补课)/ 应到总人数 diff --git a/memory/class-evaluation-summary/第9周/SPIKE02-周日10:30.md b/memory/class-evaluation-summary/第9周/SPIKE02-周日1030.md similarity index 98% rename from memory/class-evaluation-summary/第9周/SPIKE02-周日10:30.md rename to memory/class-evaluation-summary/第9周/SPIKE02-周日1030.md index 5dc7979..a28d11a 100644 --- a/memory/class-evaluation-summary/第9周/SPIKE02-周日10:30.md +++ b/memory/class-evaluation-summary/第9周/SPIKE02-周日1030.md @@ -1,4 +1,4 @@ -# SPIKE02-周日10:30 第9周汇总 +# SPIKE02-周日1030 第9周汇总 > 课程代码:SPIKE-009 > 课程主题:公交摆门(门控结构、传感器触发、安全设计) diff --git a/memory/class-evaluation-summary/第9周/出勤统计.md b/memory/class-evaluation-summary/第9周/出勤统计.md deleted file mode 100644 index fb2c6f1..0000000 --- a/memory/class-evaluation-summary/第9周/出勤统计.md +++ /dev/null @@ -1,80 +0,0 @@ -# 第9周出勤统计汇总 - -> 周期:2026春季学期 第9周(4月27日 - 5月3日) -> 统计时间:2026-05-05 - ---- - -## 全周学生出勤情况 - -| 学生姓名 | 所属班级 | 上课班级 | 课程 | 状态 | 备注 | -|:---------|:---------|:---------|:-----|:----:|:-----| -| 余韫(袋袋) | 发现世界-周六09点 | 周六09点 | DISC-009 | ✅ 出勤 | 全勤奖励 | -| 林瀚丞(丞丞) | 发现世界-周六09点 | 周四19点 | DISC-009 | 🔄 补课 | 原班级:周六09点 | -| 杨佳兴(小老虎) | 发现世界-周六09点 | 周四19点 | DISC-009 | 🔄 补课 | 原班级:周六09点 | -| 林嘉铭(嘉铭) | 发现世界-周六09点 | 周日下午 | DISC-009 | 🔄 补课 | 原班级:周六09点 | -| 胡翰铭(翰铭) | 发现世界-周六09点 | 周日下午 | DISC-009 | 🔄 补课 | 原班级:周六09点 | -| 钟昀昊(昊昊) | 发现世界-周四19点 | 周四19点 | DISC-009 | ✅ 出勤 | | -| 黄晓瑜(晓瑜) | Wedo创造世界-周六1030 | 周六1030 | CREATE-009 | ✅ 出勤 | | -| 梁家铭(家铭) | Wedo创造世界-周六1030 | 周六1030 | CREATE-009 | ✅ 出勤 | | -| 黄馨宸(馨宸) | Wedo创造世界-周六1030 | 周六1030 | CREATE-009 | ✅ 出勤 | | -| 简思瑜 | Wedo创造世界-周六1030 | - | - | ❌ 缺课 | | -| 简思霖 | Wedo创造世界-周六1030 | - | - | ❌ 缺课 | | -| 罗钧龄 | Wedo创造世界-周六1030 | - | - | ❌ 缺课 | | -| 冯彦哲(乐乐) | Wedo创造世界-周六16点 | 周六16点 | WEDO-009 | ✅ 出勤 | | -| 马悦然 | Wedo创造世界-周六16点 | - | - | ❌ 缺课 | | -| 洪一栩(一栩) | SPIKE02-周日10:30 | 周日10:30 | SPIKE-009 | ✅ 出勤 | | -| 温恒睿(恒睿) | (其他班级) | 周日10:30 | SPIKE-009 | 👤 他班补课 | 他班学生 | -| 沙佩琪(佩琪) | AICODE-03-周五19点 | 周五19点 | AI03-009 | ✅ 出勤 | | -| 谢善诺(善诺) | AICODE-03-周六14点 | 周五19点 | AI03-009 | 🔄 补课 | 原班级:周六14点 | -| 李怡瞳(怡瞳) | AICODE-03-周五19点 | 周五19点 | AI03-009 | ✅ 出勤 | 课评已补录 | - ---- - -## 全周统计 - -| 项目 | 数据 | -|:-----|:----:| -| 涉及班级 | 7个 | -| 应到学生总数 | 18人 | -| ✅ 出勤 | 11人 | -| 🔄 补课 | 5人 | -| 👤 他班补课 | 1人 | -| ❌ 缺课 | 3人 | -| **实际出勤率** | **94.4%**(17/18) | - ---- - -## 课程分布 - -| 班级 | 应到 | 出勤 | 补课 | 缺课 | -|:-----|:----:|:----:|:----:|:----:| -| 发现世界-周六09点 | 5 | 1 | 4 | 0 | -| 发现世界-周四19点 | 1 | 1 | 0 | 0 | -| 发现世界-周日下午 | 补课班 | 2 | 0 | 0 | -| Wedo创造世界-周六1030 | 6 | 3 | 0 | 3 | -| Wedo创造世界-周六16点 | 2 | 1 | 0 | 1 | -| SPIKE02-周日10:30 | 2 | 1 | 0 | 0 | -| AICODE-03-周五19点 | 3 | 2 | 1 | 0 | - ---- - -*自动生成时间:2026-05-05* -*下次更新:生成/修改课评时自动更新* - ---- - -## 出勤状态说明 - -| 状态 | 图标 | 说明 | -|:-----|:----:|:-----| -| **出勤** | ✅ | 在本班正常上课 | -| **补课** | 🔄 | 本班学生去其他班级上课 | -| **他班补课** | 👤 | 其他班级学生来本班上课 | -| **缺课** | ❌ | 未到校上课 | - -## 统计规则 - -1. **应到人数**:所有有档案的学生总数(不含体验学生) -2. **实际出勤率**:(出勤 + 补课)/ 应到总人数 -3. **他班补课**:不计入应到人数,仅做记录 diff --git a/memory/student/README.md b/memory/student/README.md index 446dc65..54e4cd3 100644 --- a/memory/student/README.md +++ b/memory/student/README.md @@ -71,9 +71,12 @@ student/ │ ├── 邓琬曦/ │ ├── 邓琬颖/ │ └── 方柳莫/ -├── 用户画像模板.md -├── 历史课评记录模板.md -└── 成长素材模板.md +├── 模板/ +│ ├── 用户画像模板.md +│ ├── 历史课评记录模板.md +│ ├── 成长素材模板.md +│ ├── 填写指南.md +│ └── 模板-成长时间线.md ``` ## 文件说明 diff --git a/memory/student/SPIKE02-周日10:30/吴浩洋/历史课评记录.md b/memory/student/SPIKE02-周日1030/吴浩洋/历史课评记录.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/吴浩洋/历史课评记录.md rename to memory/student/SPIKE02-周日1030/吴浩洋/历史课评记录.md diff --git a/memory/student/SPIKE02-周日10:30/吴浩洋/成长素材.md b/memory/student/SPIKE02-周日1030/吴浩洋/成长素材.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/吴浩洋/成长素材.md rename to memory/student/SPIKE02-周日1030/吴浩洋/成长素材.md diff --git a/memory/student/SPIKE02-周日10:30/吴浩洋/用户画像.md b/memory/student/SPIKE02-周日1030/吴浩洋/用户画像.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/吴浩洋/用户画像.md rename to memory/student/SPIKE02-周日1030/吴浩洋/用户画像.md diff --git a/memory/student/SPIKE02-周日10:30/吴浩骏/历史课评记录.md b/memory/student/SPIKE02-周日1030/吴浩骏/历史课评记录.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/吴浩骏/历史课评记录.md rename to memory/student/SPIKE02-周日1030/吴浩骏/历史课评记录.md diff --git a/memory/student/SPIKE02-周日10:30/吴浩骏/成长素材.md b/memory/student/SPIKE02-周日1030/吴浩骏/成长素材.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/吴浩骏/成长素材.md rename to memory/student/SPIKE02-周日1030/吴浩骏/成长素材.md diff --git a/memory/student/SPIKE02-周日10:30/吴浩骏/用户画像.md b/memory/student/SPIKE02-周日1030/吴浩骏/用户画像.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/吴浩骏/用户画像.md rename to memory/student/SPIKE02-周日1030/吴浩骏/用户画像.md diff --git a/memory/student/SPIKE02-周日10:30/方柳莫/历史课评记录.md b/memory/student/SPIKE02-周日1030/方柳莫/历史课评记录.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/方柳莫/历史课评记录.md rename to memory/student/SPIKE02-周日1030/方柳莫/历史课评记录.md diff --git a/memory/student/SPIKE02-周日10:30/方柳莫/成长素材.md b/memory/student/SPIKE02-周日1030/方柳莫/成长素材.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/方柳莫/成长素材.md rename to memory/student/SPIKE02-周日1030/方柳莫/成长素材.md diff --git a/memory/student/SPIKE02-周日10:30/方柳莫/用户画像.md b/memory/student/SPIKE02-周日1030/方柳莫/用户画像.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/方柳莫/用户画像.md rename to memory/student/SPIKE02-周日1030/方柳莫/用户画像.md diff --git a/memory/student/SPIKE02-周日10:30/洪一栩/历史课评记录.md b/memory/student/SPIKE02-周日1030/洪一栩/历史课评记录.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/洪一栩/历史课评记录.md rename to memory/student/SPIKE02-周日1030/洪一栩/历史课评记录.md diff --git a/memory/student/SPIKE02-周日10:30/洪一栩/成长素材.md b/memory/student/SPIKE02-周日1030/洪一栩/成长素材.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/洪一栩/成长素材.md rename to memory/student/SPIKE02-周日1030/洪一栩/成长素材.md diff --git a/memory/student/SPIKE02-周日10:30/洪一栩/用户画像.md b/memory/student/SPIKE02-周日1030/洪一栩/用户画像.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/洪一栩/用户画像.md rename to memory/student/SPIKE02-周日1030/洪一栩/用户画像.md diff --git a/memory/student/SPIKE02-周日10:30/王骏诚/历史课评记录.md b/memory/student/SPIKE02-周日1030/王骏诚/历史课评记录.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/王骏诚/历史课评记录.md rename to memory/student/SPIKE02-周日1030/王骏诚/历史课评记录.md diff --git a/memory/student/SPIKE02-周日10:30/王骏诚/成长素材.md b/memory/student/SPIKE02-周日1030/王骏诚/成长素材.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/王骏诚/成长素材.md rename to memory/student/SPIKE02-周日1030/王骏诚/成长素材.md diff --git a/memory/student/SPIKE02-周日10:30/王骏诚/用户画像.md b/memory/student/SPIKE02-周日1030/王骏诚/用户画像.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/王骏诚/用户画像.md rename to memory/student/SPIKE02-周日1030/王骏诚/用户画像.md diff --git a/memory/student/SPIKE02-周日10:30/邓琬曦/历史课评记录.md b/memory/student/SPIKE02-周日1030/邓琬曦/历史课评记录.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/邓琬曦/历史课评记录.md rename to memory/student/SPIKE02-周日1030/邓琬曦/历史课评记录.md diff --git a/memory/student/SPIKE02-周日10:30/邓琬曦/成长素材.md b/memory/student/SPIKE02-周日1030/邓琬曦/成长素材.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/邓琬曦/成长素材.md rename to memory/student/SPIKE02-周日1030/邓琬曦/成长素材.md diff --git a/memory/student/SPIKE02-周日10:30/邓琬曦/用户画像.md b/memory/student/SPIKE02-周日1030/邓琬曦/用户画像.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/邓琬曦/用户画像.md rename to memory/student/SPIKE02-周日1030/邓琬曦/用户画像.md diff --git a/memory/student/SPIKE02-周日10:30/邓琬颖/历史课评记录.md b/memory/student/SPIKE02-周日1030/邓琬颖/历史课评记录.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/邓琬颖/历史课评记录.md rename to memory/student/SPIKE02-周日1030/邓琬颖/历史课评记录.md diff --git a/memory/student/SPIKE02-周日10:30/邓琬颖/成长素材.md b/memory/student/SPIKE02-周日1030/邓琬颖/成长素材.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/邓琬颖/成长素材.md rename to memory/student/SPIKE02-周日1030/邓琬颖/成长素材.md diff --git a/memory/student/SPIKE02-周日10:30/邓琬颖/用户画像.md b/memory/student/SPIKE02-周日1030/邓琬颖/用户画像.md similarity index 100% rename from memory/student/SPIKE02-周日10:30/邓琬颖/用户画像.md rename to memory/student/SPIKE02-周日1030/邓琬颖/用户画像.md diff --git a/memory/student/发现世界-周六09点/杨佳兴/历史课评记录.md b/memory/student/发现世界-周六09点/杨佳兴/历史课评记录.md index f1747d9..b698d62 100644 --- a/memory/student/发现世界-周六09点/杨佳兴/历史课评记录.md +++ b/memory/student/发现世界-周六09点/杨佳兴/历史课评记录.md @@ -7,6 +7,33 @@ ## 课评记录 +### 2026-05-09 | DISC-010【跨班级补课】| 礼物盒(母亲节) +**核心表现**:目标驱动力强、审美自我调整、滑盖结构设计、游戏环节全力以赴 + +**课评内容**: + +小老虎本节课制作了母亲节"礼物盒",学习了箱体的对称结构和滑盖开合设计,用积木围出盒身、再加可滑动的盖子保护礼物 🔍 + +这节课小老虎一听到要把礼物盒送给妈妈就特别兴奋,得知手链奖品要靠跟老师玩游戏赢取后,他主动加快节奏争取早点完成任务进入比赛💪。搭花朵和箱体时格外积极投入,每一步都很认真想要做好。装礼物的时候还想放一件特别的小东西进去当惊喜,仔细看了看又觉得不够美观,主动拿出来重新调整,这种主动审视作品的眼光很难得✨。后来我们一起把礼物盒打包起来,特意设计了滑动开合的盖子,可以模拟真实礼物盒打开的那一刻惊喜感。最后游戏环节他更是全力以赴想赢得手链送给妈妈🌟 + +回家后可以让小老虎亲自把礼物盒送给妈妈,再说一句"母亲节快乐",让这份心意完整地传达 🏠 + +**能力评估**: +- 知识理解:5/5 +- 课堂参与:5/5 +- 动手能力:5/5 +- 审美意识:5/5 +- 情感表达:5/5 + +**教师备注**: +- 【跨班级补课】本节课程在「发现世界-周六19点」班完成(第10周) +- 原班级:发现世界-周六09点 +- 表现亮点:目标驱动力强(为送妈妈争取奖品)、审美自我调整(主动拿出不美观物品)、滑盖结构设计、游戏环节全力以赴 +- 情绪状态:全程兴奋积极 +- 保存时间:2026-05-09 + +--- + ### 2026-05-01 | DISC-009【补课】| 机器人瓦力 **核心表现**:引入环节最积极、获最多小星星、结构记忆清晰、创意搭建、收拾积木第一 diff --git a/memory/student/发现世界-周六09点/杨佳兴/用户画像.md b/memory/student/发现世界-周六09点/杨佳兴/用户画像.md index 07ebaba..51901fd 100644 --- a/memory/student/发现世界-周六09点/杨佳兴/用户画像.md +++ b/memory/student/发现世界-周六09点/杨佳兴/用户画像.md @@ -84,10 +84,11 @@ ## 成长轨迹 | 时间 | 关键事件 | 能力发展 | |-----|---------|---------| +| 2026-05-09 | 跨班级补课 DISC-010 礼物盒(发现世界-周六19点)| 目标驱动力强、审美自我调整、滑盖结构设计、游戏环节全力以赴 | | 2026-05-01 | 补课 DISC-009 机器人瓦力(发现世界-周四19点)| 引入环节最积极、获最多小星星、结构记忆清晰、创意搭建、收拾积木第一 | | 2026-04-25 | DISC-008 蜥蜴 | 讲解环节积极、观察学习敏锐、创意搭建地板、知识面广 | | 入学初 | | | --- *创建日期:2026-03-25* -*更新日期:2026-03-27* +*更新日期:2026-05-09* diff --git a/memory/student/历史课评记录模板.md b/memory/student/模板/历史课评记录模板.md similarity index 100% rename from memory/student/历史课评记录模板.md rename to memory/student/模板/历史课评记录模板.md diff --git a/memory/student/填写指南.md b/memory/student/模板/填写指南.md similarity index 100% rename from memory/student/填写指南.md rename to memory/student/模板/填写指南.md diff --git a/memory/student/成长素材模板.md b/memory/student/模板/成长素材模板.md similarity index 100% rename from memory/student/成长素材模板.md rename to memory/student/模板/成长素材模板.md diff --git a/memory/student/模板-成长时间线.md b/memory/student/模板/模板-成长时间线.md similarity index 100% rename from memory/student/模板-成长时间线.md rename to memory/student/模板/模板-成长时间线.md diff --git a/memory/student/用户画像模板.md b/memory/student/模板/用户画像模板.md similarity index 100% rename from memory/student/用户画像模板.md rename to memory/student/模板/用户画像模板.md diff --git a/src/fix_config.py b/src/fix_config.py new file mode 100644 index 0000000..ad02504 --- /dev/null +++ b/src/fix_config.py @@ -0,0 +1,40 @@ +import json + +data = { + "skill_name": "keping-advanced", + "version": "2.2.0", + "description": "高级课评生成Skill v2.2 - 支持学期周数自动计算(仅用于后端课程主题匹配)、课程主题自动匹配、三段式课评生成、自动双轨保存(班级汇总+个人档案)", + "triggers": ["/课评", "/keping", "/写课评", "生成课评"], + "semester_config": { + "baseline_date": "2026-03-02", + "week_calculation": "Floor((current_date - baseline) / 7) + 1", + "total_weeks": 20, + "current_week": 10, + "current_date": "2026-05-09" + }, + "course_mapping": { + "发现世界": {"prefix": "DISC", "week_mapping": {str(i): f"DISC-{i:03d}" for i in range(1, 21)}}, + "SPIKE": {"prefix": "SPIKE", "week_mapping": {str(i): f"SPIKE-{i:03d}" for i in range(1, 21)}}, + "AI03": {"prefix": "AI03", "week_mapping": {str(i): f"AI03-{i:03d}" for i in range(1, 21)}} + }, + "workflow": {"steps": [ + {"id": "step1", "name": "读取学生用户画像并确定称呼方式", "action": "read_student_profile", "input": ["学生姓名", "班级"], "output": ["气质类型", "学习风格", "核心优势", "待发展能力", "历史表现模式", "display_name(课评用称呼)"], "file_pattern": "memory/student/{班级}/{学生名}/用户画像.md", "name_processing": {"priority": ["小名/昵称", "去姓称名", "叠字称呼", "全名"], "rules": {"小名/昵称": "画像中有填写则优先使用", "去姓称名": "双字名且无小名时,去掉姓氏(如:梁昕乔→昕乔)", "叠字称呼": "单字名且无小名时,叠字化(如:张昊→昊昊)", "全名": "特殊要求时使用"}}}, + {"id": "step2", "name": "读取课评风格规则(全年龄段统一)", "action": "read_style_rules", "input": ["年龄段"], "output": ["字数要求", "三段式结构", "语言风格", "禁用词汇", "Emoji规范"], "file_mapping": {"all_ages": ".claude/rules/10-style.md"}}, + {"id": "step3", "name": "计算周数并读取本节课教案内容", "action": "read_lesson_content_with_week", "input": ["日期", "班级", "课程代码(可选)"], "output": ["周数", "课程代码", "课程主题", "核心知识点", "教学目标"], "week_calculation": {"baseline": "2026-03-02", "formula": "Floor((date - baseline) / 7) + 1"}, "auto_mapping": True, "file_pattern": "memory/lesson/**/{课程代码}.md"}, + {"id": "step4", "name": "读取该学生近10次历史课评", "action": "read_history_reviews", "input": ["学生姓名", "班级"], "output": ["最近10次课评", "能力发展趋势", "进步轨迹", "反复问题"], "file_pattern": "memory/student/{班级}/{学生名}/历史课评记录.md", "limit": 10}, + {"id": "step5", "name": "结合教师提供的本节课表现", "action": "parse_current_performance", "input": ["表现描述", "情绪", "对比"], "output": ["关键行为词", "情绪状态", "与常态差异"]}, + {"id": "step6", "name": "生成180-350字三段式个性化课评(使用display_name称呼,不显示周数)", "action": "generate_evaluation", "input": ["step1-5的所有数据", "display_name(课评用称呼)", "课程主题", "核心知识点"], "output": ["课评文本"], "theme_association": True, "rules": {"word_count": {"min": 180, "max": 350, "target": 250, "note": "弹性范围:精简版180-220字,标准版220-280字,详细版280-350字"}, "paragraph_count": 3, "structure": {"paragraph_1": {"name": "课程知识点", "word_range": "30-55字", "emoji_count": 1}, "paragraph_2": {"name": "课堂细节(掌握+环节+亮点)", "word_range": "100-220字(弹性)", "emoji_count": "1-3"}, "paragraph_3": {"name": "课后建议", "word_range": "30-55字", "emoji_count": 1}}, "modules": ["课程知识点(兴趣度)", "掌握程度(学习表现)", "课程环节与目标达成", "成长亮点", "课后建议"], "week_number_in_content": False, "name_usage": {"use_display_name": True, "display_name_source": "step1确定的称呼(小名/去姓/叠字)", "full_name_forbidden": True}, "emoji_usage": {"enabled": True, "total_count": {"min": 3, "max": 5, "ideal": "3-5"}, "rules": {"paragraph_1_课程知识点": {"count": 1, "recommended": ["🔍", "💡", "⚙️"], "note": "根据课程主题自动适配"}, "paragraph_2_课堂细节": {"count": "1-3", "recommended": ["💪", "✨", "📈", "🌟", "😊", "🤝"], "note": "根据课堂情节亮点数量灵活适配"}, "paragraph_3_课后建议": {"count": 1, "recommended": ["🏠", "🔧"], "note": "根据建议内容适配"}}, "principles": ["每段末尾添加emoji", "表情与内容情绪一致", "总计3-5个", "第2段可根据亮点数量使用2-3个表情"]}, "personalization": {"活泼型": "突出创意和参与热情", "谨慎型": "肯定尝试勇气", "平和型": "强调稳定进步", "敏感型": "强调支持和情绪管理", "慢热型": "认可渐入佳境的过程"}}}, + {"id": "step7", "name": "自动双轨保存(班级汇总+个人档案)", "action": "save_evaluation_dual_track", "outputs": {"class_summary": {"path": "memory/class-evaluation-summary/第{周数}周/{班级}.md", "priority": 1, "required": True, "content": "本周所有学生课评汇总(含出勤统计)"}, "personal_archive": {"path": "memory/student/{班级}/{学生名}/历史课评记录.md", "priority": 2, "required": False, "content": "个人课评记录(时间倒序,最新在上)", "on_failure": "加入待补存队列,下次生成前自动补存"}}, "student_type_handling": {"正式学生": "双轨保存(班级汇总+个人档案)", "本班补课": "双轨保存(班级汇总+个人档案)", "跨班级补课": "自动双轨保存(补课班级汇总+原班级个人档案)", "体验学生": "仅班级汇总", "缺课学生": "仅记录缺席"}, "auto_save": True, "no_confirmation_needed": True} + ]}, + "input_templates": {"single_quick": {"format": "日期:{date} 班级:{class} {name}:{performance} [情绪:{emotion}]", "example": "日期:4月2日 班级:发现世界-周四19点 乔乔:知道这个主题,话题多,搭建快 情绪:开心"}, "single_detailed": {"format": "yaml", "fields": ["日期", "班级", "学生", "表现", "情绪", "对比"]}, "batch": {"format": "markdown_table", "header": ["学生", "核心表现", "情绪"]}}, + "quality_standards": {"word_count": {"min": 180, "max": 350, "ranges": {"精简版": {"min": 180, "max": 220, "trigger": "输入简洁,仅包含基本行为描述"}, "标准版": {"min": 220, "max": 280, "trigger": "输入有具体细节或1-2个亮点"}, "详细版": {"min": 280, "max": 350, "trigger": "输入有精彩瞬间、多个亮点或特殊表现"}}}, "paragraph_count": {"min": 3, "max": 3, "note": "三段式结构:课程知识点+课堂细节+课后建议"}, "emoji_usage": {"enabled": True, "count": {"min": 3, "max": 5, "ideal": "3-5"}, "style_mapping": {"幼儿(2.5-6岁)": "温暖活泼(🔍💪✨🏠)", "小学低(6-8岁)": "简洁专业(💡📈🏠)", "小学中高(8-10岁)": "专业竞技感(⚙️📈🏠)"}, "check_items": ["第1段末尾有1个课程主题相关emoji", "第2段末尾有1-3个课堂情节相关emoji", "第3段末尾有1个家庭延伸相关emoji", "总计3-5个emoji", "表情与内容情绪匹配"]}, "forbidden_words": ["宝贝", "小天才", "最棒", "无敌", "超级厉害", "完美", "秒杀", "碾压", "大神"], "forbidden_patterns": ["比.*小朋友.*", "其他.*不好", "最差", "最慢", "最笨"], "name_usage_check": {"priority": ["小名/昵称", "去姓称名", "叠字称呼"], "forbidden": ["全名(除非家长要求)"], "check_items": ["课评中使用的是display_name(小名/去姓/叠字)", "未使用全名(除非有特殊要求)", "谐音姓名已纠正", "单字名已叠字化"]}, "required_elements": ["课程知识点(体现兴趣度)", "掌握程度(体现学习表现)", "课程环节与目标达成", "成长亮点(纵向对比)", "课后建议(可操作的家庭活动)"]}, + "data_sources": {"student_profile": "memory/student/{班级}/{学生名}/用户画像.md", "history_reviews": "memory/student/{班级}/{学生名}/历史课评记录.md", "lesson_content": "memory/lesson/**/{课程代码}.md", "semester_weeks": ".claude/rules/15-semester-weeks.md", "style_rules": ".claude/rules/10-style.md", "workflow_rules": ".claude/rules/20-workflow.md", "shorthand_rules": ".claude/rules/21-shorthand.md", "student_mgmt_rules": ".claude/rules/22-student-mgmt.md", "student_rules": ".claude/rules/30-student.md", "output_format_preschool": ".claude/rules/50-output-format-preschool.md", "output_format_elementary": ".claude/rules/51-output-format-elementary.md"}, + "output_paths": {"class_summary": "memory/class-evaluation-summary/第{周数}周/{班级}.md", "personal_archive": "memory/student/{班级}/{学生名}/历史课评记录.md"}, + "error_handling": {"date_not_found": {"message": "请输入日期,如:4月2日", "action": "prompt_for_date"}, "profile_not_found": {"message": "未找到学生画像,使用通用模板继续。建议后续建立画像以获得更个性化课评。", "action": "continue_with_default"}, "name_not_found": {"message": "无法识别学生姓名,请检查姓名是否正确或建立画像档案。", "action": "prompt_for_name", "homophone_correction": {"enabled": True, "confidence_threshold": 0.8, "message": "检测到可能的谐音输入 '{输入}',是否纠正为 '{建议}'?"}}, "nickname_not_set": {"message": "学生画像中未设置小名/昵称,将使用去姓称名或叠字称呼。", "action": "use_fallback_name", "fallback_order": ["去姓称名", "叠字称呼", "全名"]}, "lesson_not_found": {"message": "未找到课程教案,请手动输入知识点或补充教案。", "action": "prompt_for_manual_input"}, "insufficient_history": {"message": "历史课评不足10次,使用全部可用记录。", "action": "use_available_records"}, "word_count_short": {"message": "字数偏短,建议补充具体事例。", "action": "suggest_expansion"}, "class_summary_save_failed": {"message": "班级汇总保存失败,正在重试...", "action": "retry_3_times", "fallback": "显示错误提示,提供手动重试按钮"}, "personal_archive_save_failed": {"message": "个人档案保存失败,已加入待补存队列。", "action": "add_to_compensation_queue", "fallback": "下次生成课评前自动补存,或教师输入'补存'手动触发"}}, + "created_at": "2026-03-25", + "updated_at": "2026-05-09" +} + +with open(r"E:\classfeedback\.claude\skills\keping-advanced\config.json", "w", encoding="utf-8") as f: + json.dump(data, f, ensure_ascii=False, indent=2) +print("config.json updated successfully")