更新课评系统代码

This commit is contained in:
qiuyan
2026-06-02 23:01:58 +08:00
parent f8c4b6174f
commit cd05b8a5a7
45 changed files with 8260 additions and 345 deletions

51
.claude/.backup/README.md Normal file
View File

@@ -0,0 +1,51 @@
# 备份目录说明
## 目录用途
本目录用于存放课评文件的备份,防止数据丢失。
## 备份策略
### 三级备份机制
1. **主文件**:正常保存到学生目录
2. **时间戳备份**:同时保存一份到本目录,文件名格式:`YYYYMMDD_HHMMSS_{学生姓名}.md`
3. **旧文件备份**:覆盖前先备份旧文件为`.md.bak`
### 自动清理规则
- 保留最近 **7天** 的所有备份
- 保留每月 **1号** 的备份(长期存档)
- 自动清理超过时间的备份
- 手动清理指令:`/清理备份`
## 恢复功能
### 恢复指令
- `/恢复 {学生姓名}`:列出该学生的所有备份版本,选择恢复
- `/恢复备份`:恢复最近一次备份
### 备份文件格式
```
文件名20260516_143022_乔乔.md
格式YYYYMMDD_HHMMSS_学生名.md
```
## 目录结构
```
.claude/.backup/
├── 20260516_143022_乔乔.md
├── 20260516_143515_昊昊.md
├── 20260515_162030_小明.md
├── 20260501_101522_乔乔.md ← 每月1号备份长期保留
└── README.md
```
## 注意事项
- 本目录由系统自动管理,请勿手动删除备份文件
- 如需清理备份请使用 `/清理备份` 指令
- 备份文件包含完整课评内容,可直接使用
- 恢复时会自动处理目录结构
- 每月1号的备份会永久保留
---
*备份系统版本v1.0.0*
*最后更新2026-05-16*

88
.claude/.tasks/README.md Normal file
View File

@@ -0,0 +1,88 @@
# 待修复任务目录说明
## 目录用途
本目录用于存放待修复任务列表,记录课评生成过程中发现的规范问题。
## 任务列表文件格式
### 文件命名规则
```
文件名fix-list-YYYYMMDD.md
格式fix-list-日期.md
```
### 任务列表内容格式
```markdown
# 待修复列表 - 2026-05-16
## 发现世界-周四19点
- [ ] 乔乔课程编号不规范AI03-11 → 建议改为 AICODE03-11
- [ ] 昊昊:课评正文包含"补课"词汇(需要删除或替换)
- [ ] 小明字数仅140字需要补充内容
## AICODE03-周六14点
- [ ] 小红:文件命名不符合规范
```
## 修复流程
### 查看待修复
```
指令:/修复
→ 展示待修复列表
```
### 逐个修复
1. 从列表中选择项目
2. 查看问题描述
3. 选择修复方式(自动修复或手动修复)
4. 修复完成后标记为已完成
### 批量自动修复
- 对于可自动修复的问题(如课程编号规范)
- 系统可批量自动修复
- 修复前会先预览变更内容
## 任务状态标记
- `[ ]` 待处理
- `[x]` 已修复
- `[!]` 需要手动处理
- `[~]` 部分修复
## 保留策略
- 当前日期的任务列表保留
- 超过1个月的任务列表自动归档
- 归档文件移至 `.tasks/archive/` 目录
## 目录结构
```
.claude/.tasks/
├── fix-list-20260516.md
├── fix-list-20260515.md
├── fix-list-20260514.md
├── archive/
│ ├── fix-list-20260430.md
│ └── fix-list-20260429.md
└── README.md
```
## 常见问题类型
### 可自动修复
- 课程编号不规范AI→AICODE、C++→CSP
- 日期格式错误
- 文件命名不规范
### 需手动修复
- 课评正文包含禁用词汇
- 字数不符合要求
- 内容质量问题
---
*任务系统版本v1.0.0*
*最后更新2026-05-16*

View File

@@ -0,0 +1,227 @@
// ===============================================
// 班级和课程配置文件
// 2026春季学期 - 小Q老师
// ===============================================
const CONFIG = {
// 学期配置
semester: {
startDate: '2026-03-02', // 学期开始日期
totalWeeks: 20,
},
// 班级列表
classes: [
{
id: '发现世界-周四19点',
name: '发现世界-周四19:00',
courseType: 'DISC',
coursePrefix: 'DISC',
weekday: '周四',
time: '19:00-20:00',
students: [
{ name: '梁昕乔', emoji: '👧', color: '#e8f5e9', trait: '活泼型 · 动觉学习 · 空间想象强' },
{ name: '钟昀昊', emoji: '🧒', color: '#e3f2fd', trait: '慢热型 · 视觉学习 · 双手协调' },
{ name: '林瀚丞', emoji: '🧒', color: '#fff3e0', trait: '平和型 · 需要拆解单步 · 螺丝刀标准' },
{ name: '杨佳兴', emoji: '🧒', color: '#fce4ec', trait: '活泼型 · 动觉学习 · 手部精细动作极佳【2026-05-22从周六09点班迁移】' }
]
},
{
id: 'AICODE03小Q周五1900',
name: 'AICODE03周五19:00',
courseType: 'AICODE03',
coursePrefix: 'AICODE03',
weekday: '周五',
time: '19:00-20:30',
students: [
{ name: '李怡瞳', emoji: '👧', color: '#fff3e0', trait: '思维活跃 · 创意好' },
{ name: '沙佩琪', emoji: '👧', color: '#fce4ec', trait: '认真踏实 · 代码能力强' },
{ name: '黄榆斐', emoji: '🧒', color: '#f3e5f5', trait: '积极主动 · 爱提问' },
{ name: '谢善诺', emoji: '👧', color: '#fff3e0', trait: '待观察' }
]
},
{
id: '发现世界-周六09点',
name: '发现世界-周六09:00',
courseType: 'DISC',
coursePrefix: 'DISC',
weekday: '周六',
time: '09:00-10:00',
students: [
{ name: '余韫', emoji: '👧', color: '#e8f5e9', trait: '活泼型 · 视觉学习 · 主动分类整理' },
{ name: '林嘉铭', emoji: '🧒', color: '#fff3e0', trait: '待观察' },
{ name: '胡瀚铭', emoji: '🧒', color: '#fce4ec', trait: '待观察' }
]
},
{
id: '发现世界-周六19点',
name: '发现世界-周六19:00',
courseType: 'DISC',
coursePrefix: 'DISC',
weekday: '周六',
time: '19:00-20:00',
students: [
{ name: '赖韵恬', emoji: '👧', color: '#e8f5e9', trait: '待观察' }
]
},
{
id: 'Wedo创造世界-周六1030',
name: 'Wedo创造世界-周六10:30',
courseType: 'CREATE',
coursePrefix: 'CREATE',
weekday: '周六',
time: '10:30-12:00',
students: [
{ name: '梁家铭', emoji: '🧒', color: '#e8f5e9', trait: '需鼓励建立自信 · 情绪调节有进步' },
{ name: '简思瑜', emoji: '🧒', color: '#e3f2fd', trait: '自信主动 · 结构搭建极坚固' },
{ name: '简思霖', emoji: '👧', color: '#fff3e0', trait: '平和慢热 · 代码理解需加强' },
{ name: '罗钧龄', emoji: '🧒', color: '#fce4ec', trait: '爱动手 · 精细动作好 · 越挫越勇' },
{ name: '黄晓瑜', emoji: '👧', color: '#f3e5f5', trait: '情绪稳定 · 独立完成度高' },
{ name: '黄馨宸', emoji: '👧', color: '#e0f2f1', trait: '慢热害羞→活泼 · 创意表达好' }
]
},
{
id: 'AICODE03小Q周六1400',
name: 'AICODE03周六14:00',
courseType: 'AICODE03',
coursePrefix: 'AICODE03',
weekday: '周六',
time: '14:00-15:30',
students: [
{ name: '曾乐凯', emoji: '🧒', color: '#e8f5e9', trait: '待观察' },
{ name: '李汶浩', emoji: '🧒', color: '#e3f2fd', trait: '待观察' },
{ name: '陈昕柔', emoji: '👧', color: '#fce4ec', trait: '待观察' }
]
},
{
id: 'Wedo创造世界-周六16点',
name: 'Wedo创造世界-周六16:00',
courseType: 'CREATE',
coursePrefix: 'CREATE',
weekday: '周六',
time: '16:00-17:30',
students: [
{ name: '冯彦哲', emoji: '🧒', color: '#e8f5e9', trait: '待观察' },
{ name: '马悦然', emoji: '👧', color: '#e3f2fd', trait: '待观察' }
]
},
{
id: 'SPIKE02-周日1030',
name: 'SPIKE02-周日10:30',
courseType: 'SPIKE',
coursePrefix: 'SPIKE',
weekday: '周日',
time: '10:30-12:00',
students: [
{ name: '吴浩洋', emoji: '🧒', color: '#e8f5e9', trait: '待观察' },
{ name: '吴浩骏', emoji: '🧒', color: '#e3f2fd', trait: '待观察' },
{ name: '洪一栩', emoji: '🧒', color: '#fff3e0', trait: '待观察' },
{ name: '王骏诚', emoji: '🧒', color: '#fce4ec', trait: '待观察' },
{ name: '邓琬曦', emoji: '👧', color: '#f3e5f5', trait: '待观察' },
{ name: '邓琬颖', emoji: '👧', color: '#e0f2f1', trait: '待观察' }
]
}
],
// 课程主题映射
courses: {
// 发现世界 DISC
DISC: {
1: { code: 'DISC-001', theme: '认识螺丝刀', knowledge: '螺丝刀握持、螺丝正反转' },
2: { code: 'DISC-002', theme: '天文望远镜', knowledge: '管道连接、延长结构' },
3: { code: 'DISC-003', theme: '卫星天线', knowledge: '旋转结构、底座稳定' },
4: { code: 'DISC-004', theme: '概率转盘', knowledge: '圆形结构、中心轴' },
5: { code: 'DISC-005', theme: '天平秤', knowledge: '杠杆原理、平衡判断' },
6: { code: 'DISC-006', theme: '长颈鹿', knowledge: '高度建构、稳定性' },
7: { code: 'DISC-007', theme: '旋转飞机', knowledge: '游乐园旋转设施、侧面连接' },
8: { code: 'DISC-008', theme: '蜥蜴', knowledge: '关节连接、可动结构' },
9: { code: 'DISC-009', theme: '机器人瓦力', knowledge: '履带结构、收纳功能' },
10: { code: 'DISC-010', theme: '梳妆台', knowledge: '功能分区、镜子安装' },
11: { code: 'DISC-011', theme: '鳄鱼', knowledge: '嘴巴开合、铰链结构' },
12: { code: 'DISC-012', theme: '数字宝箱', knowledge: '密码锁、数字认知' },
13: { code: 'DISC-013', theme: '战斗机', knowledge: '机翼结构、尾翼平衡' },
14: { code: 'DISC-014', theme: '交通法规', knowledge: '红绿灯、道路标志' },
15: { code: 'DISC-015', theme: '龙舟', knowledge: '船体浮力、划桨动作' },
16: { code: 'DISC-016', theme: '钓鱼竿', knowledge: '伸缩结构、线轮控制' },
17: { code: 'DISC-017', theme: '八大行星', knowledge: '太阳系模型、轨道运行' },
18: { code: 'DISC-018', theme: '蝎子', knowledge: '多足结构、钳子开合' },
19: { code: 'DISC-019', theme: '霸王龙', knowledge: '大型恐龙、角色扮演' },
20: { code: 'DISC-020', theme: '投石车', knowledge: '杠杆原理、弹射机制' }
},
// SPIKE
SPIKE: {
1: { code: 'SPIKE-001', theme: '排障小车', knowledge: '电机控制、基础移动' },
2: { code: 'SPIKE-002', theme: '超级大摆锤', knowledge: '齿轮传动、摆动结构' },
3: { code: 'SPIKE-003', theme: '碰碰车', knowledge: '碰撞检测、方向控制' },
4: { code: 'SPIKE-004', theme: '电吉他', knowledge: '声音模块、按钮触发' },
5: { code: 'SPIKE-005', theme: '杯子盖球', knowledge: '传感器应用、条件判断' },
6: { code: 'SPIKE-006', theme: '智能台灯', knowledge: '光线传感器、亮度调节' },
7: { code: 'SPIKE-007', theme: '惯性小车', knowledge: '惯性原理、无动力设计' },
8: { code: 'SPIKE-008', theme: '留声机', knowledge: '记录播放、循环结构' },
9: { code: 'SPIKE-009', theme: '公交摆门', knowledge: '门控结构、传感器触发' },
10: { code: 'SPIKE-010', theme: '电动螺丝刀', knowledge: '工具复刻、扭矩控制' },
11: { code: 'SPIKE-011', theme: '摩天轮', knowledge: '圆周运动、速度控制' },
12: { code: 'SPIKE-012', theme: '直升机', knowledge: '螺旋桨、升力原理' },
13: { code: 'SPIKE-013', theme: '匀加减速', knowledge: '速度曲线、平滑控制' },
14: { code: 'SPIKE-014', theme: '体操运动员', knowledge: '倒立结构、平衡控制' },
15: { code: 'SPIKE-015', theme: '投篮计数器', knowledge: '计数逻辑、传感器应用' },
16: { code: 'SPIKE-016', theme: '机械手', knowledge: '抓取结构、自由度' },
17: { code: 'SPIKE-017', theme: '质检机', knowledge: '分类逻辑、颜色识别' },
18: { code: 'SPIKE-018', theme: '智能叉车', knowledge: '升降结构、搬运功能' },
19: { code: 'SPIKE-019', theme: '电子滚轮米尺', knowledge: '距离测量、数据显示' },
20: { code: 'SPIKE-020', theme: '感应道闸', knowledge: '自动识别、开关控制' }
},
// AICODE03
AICODE03: {
1: { code: 'AICODE03-001', theme: 'AI是怎么"想"的?', knowledge: '概率预测原理、AI幻觉现象、提问质量影响' },
2: { code: 'AICODE03-002', theme: 'AI的记忆之谜', knowledge: '长期记忆与短期记忆、上下文窗口机制、系统提示词作用' },
3: { code: 'AICODE03-003', theme: 'AI训练师', knowledge: '系统提示词三要素、越狱与防护、迭代优化逻辑' },
4: { code: 'AICODE03-004', theme: '我是大作家(上)', knowledge: 'Trae Builder模式、Markdown基础、项目化思维' },
5: { code: 'AICODE03-005', theme: '我是大作家-2', knowledge: '故事大纲设计、项目上下文、章节结构' },
6: { code: 'AICODE03-006', theme: '我是大作家(完结篇)', knowledge: '完整书籍结构、精彩片段选择、路演技巧' },
7: { code: 'AICODE03-007', theme: '我是大作家【小说插图】', knowledge: 'AI图像生成提示词工程、占位符标注、文档化管理提示词' },
8: { code: 'AICODE03-008', theme: '我的个人主页(上)', knowledge: '内容先行原则、板块化结构、Trae自定义智能体' },
9: { code: 'AICODE03-009', theme: '我的个人主页(下)', knowledge: '交互元素设计、设计一致性、作品发布' },
10: { code: 'AICODE03-010', theme: '魔幻俄罗斯方块(上)', knowledge: 'Plan Mode计划模式、需求质量与输出质量、侦探模式分析' },
11: { code: 'AICODE03-011', theme: '魔幻俄罗斯方块(下)', knowledge: '自动化测试概念、测试覆盖、增量思维' },
12: { code: 'AICODE03-012', theme: '涂鸦PK', knowledge: '精准需求编写、新窗口审核、角色属性设计' },
13: { code: 'AICODE03-013', theme: '涂鸦PK', knowledge: '边界情况定义、独立窗口审核原则、测试脚本' },
14: { code: 'AICODE03-014', theme: '涂鸦PK', knowledge: '游戏感Game Feel、增量需求写法、Web Audio API' },
15: { code: 'AICODE03-015', theme: '涂鸦PK', knowledge: '数据驱动设计、角色选择界面、路演设计决策' },
16: { code: 'AICODE03-016', theme: 'Skills入门—用game-studio做跳一跳', knowledge: 'Skills工具箱概念、插件机制、game-studio插件、Three.js' },
17: { code: 'AICODE03-017', theme: '期末项目开发(上)', knowledge: '功能实现、代码调试、迭代优化' },
18: { code: 'AICODE03-018', theme: '期末项目开发(下)', knowledge: '功能完善、测试验证、bug修复' },
19: { code: 'AICODE03-019', theme: '项目优化与美化', knowledge: 'UI优化、交互改进、性能提升' },
20: { code: 'AICODE03-020', theme: '项目展示准备', knowledge: '演示文稿制作、路演排练、作品包装' },
21: { code: 'AICODE03-021', theme: '学期成果展示', knowledge: '作品展示、成果分享、学习总结' }
},
// CREATE (Wedo)
CREATE: {
1: { code: 'CREATE-001', theme: '风力发电站', knowledge: '直角传动、角度传感器、清洁能源' },
2: { code: 'CREATE-002', theme: '智能洗车场', knowledge: '多齿轮传动、皮筋传动、距离传感器、自动化流程' },
3: { code: 'CREATE-003', theme: '啄木鸟', knowledge: '皮筋传动、伺服电机、造型设计' },
4: { code: 'CREATE-004', theme: '破壁机', knowledge: '直角传动、角度传感器、健康生活' },
5: { code: 'CREATE-005', theme: '微波炉', knowledge: '齿轮减速、定时器、安全使用' },
6: { code: 'CREATE-006', theme: '送餐机器人', knowledge: '直角传动、距离传感器、智能导航' },
7: { code: 'CREATE-007', theme: '道闸', knowledge: '升降结构、传感器、交通控制' },
8: { code: 'CREATE-008', theme: '智能晾衣架', knowledge: '升降结构、光传感器、自动控制' },
9: { code: 'CREATE-009', theme: '打桩机', knowledge: '往复运动、重力原理、工程设备' },
10: { code: 'CREATE-010', theme: '小鸟喂食', knowledge: '倾斜传感器、自动喂养、动物关爱' },
11: { code: 'CREATE-011', theme: '推磨机器人', knowledge: '偏心圆、距离传感器、往复运动' },
12: { code: 'CREATE-012', theme: '雷达巡逻车', knowledge: '旋转机构、距离检测、巡逻模式' },
13: { code: 'CREATE-013', theme: '皮筋手枪', knowledge: '弹性原理、射击机构、安全操作' },
14: { code: 'CREATE-014', theme: '剪刀式升降机', knowledge: '剪叉结构、升降原理、工程应用' },
15: { code: 'CREATE-015', theme: '推车小人', knowledge: '传动机构、人形模型、运动控制' },
16: { code: 'CREATE-016', theme: '平衡运水', knowledge: '平衡结构、传感器、稳定控制' },
17: { code: 'CREATE-017', theme: '自动发球机', knowledge: '发球机构、速度控制、体育科技' },
18: { code: 'CREATE-018', theme: '摇头风扇', knowledge: '摇头机构、齿轮传动、智能家居' },
19: { code: 'CREATE-019', theme: '直升机', knowledge: '螺旋桨、升力原理、飞行控制' },
20: { code: 'CREATE-020', theme: '联合收割机', knowledge: '复合传动、收获机制、农业科技' }
}
}
};
// 导出配置
if (typeof module !== 'undefined') {
module.exports = CONFIG;
}

View File

@@ -1,64 +0,0 @@
# 课程编号AI03-001
# 课程主题Prompt基础——与AI有效对话
# 适用班级四年级8-10岁
# 教具套装AICODE03平台 + 电脑
# 课时长度90分钟
## 课程目标
- **知识目标**理解Prompt概念知道如何与AI有效沟通
- **技能目标**能写出清晰的Prompt让AI生成可用代码
- **情感目标**:建立"AI是助手我是主导者"的认知
## 核心知识点
1. **Prompt概念**给AI的指令/提示词
2. **有效Prompt三要素**:角色设定 + 具体任务 + 输出要求
3. **AI协作流程**:想法 → 写Prompt → AI生成 → 孩子审查 → 修改迭代
## 教学重点
- 写出清晰的Prompt
- 理解和修改AI生成的代码
## 教学难点
- 把模糊的想法转化为具体的Prompt
- 判断AI生成代码的正确性
## 课程流程
| 阶段 | 时长 | 内容 | 教师要点 |
|-----|------|------|---------|
| 导入 | 10分钟 | AI能做什么展示AI生成代码案例 | 强调AI是工具人是主导 |
| 讲解 | 15分钟 | 什么是Prompt好的vs差的 | 对比演示 |
| 实践 | 35分钟 | 练习写Prompt让AI生成简单程序 | 从简单到复杂 |
| 调试 | 25分钟 | 运行AI代码发现问题修改Prompt | 迭代思维 |
| 总结 | 5分钟 | 今天学会了什么? | 强化Prompt工程概念 |
## 评价要点
### 技能维度
- [ ] 能写出包含任务描述的清晰Prompt
- [ ] 能理解AI生成的代码基本逻辑
- [ ] 能通过修改Prompt改进输出结果
### 过程维度
- [ ] 与AI协作的主动性
- [ ] 对AI输出的批判性思维
- [ ] 迭代优化的耐心
## 常见情况处理
| 情况 | 应对策略 |
|-----|---------|
| AI生成的代码跑不通 | 教查看错误信息让AI"修复这个错误" |
| Prompt写太简单结果不满意 | 引导添加更多细节要求 |
| 完全依赖AI不思考 | 要求先口述思路再让AI实现 |
| 对代码看不懂 | 让AI"解释这段代码",逐行理解 |
## 课评关键词
Prompt工程、AI协作、代码审查、迭代优化、AI时代创作能力
## 课后延伸
- 尝试用AI生成一个计算器程序
- 思考AI生成的代码版权归谁
---
*课程代码AI03-001*

View File

@@ -0,0 +1,77 @@
# AICODE03-007 我是大作家【小说插图】
---
**课时**: 第7课时
**主题**: 我是大作家【小说插图】
**核心能力**: [表达力, 审美力]
**核心工具**: [codemaoai.com, AI图像生成]
**时长**: 90分钟
**透明化层级**: 结果层
**适用路线**: AICODE-03
---
## 1. 课程目标
### 知识目标
- 复习AI图像生成中的提示词工程
- 掌握用占位符标注和文档化管理提示词的方法
- 理解图像与文字的配合关系
### 能力目标
- 能为小说场景设计合适的插图提示词
- 能用占位符系统化管理提示词模板
- 能将生成的插图与小说内容有机结合
### 情感目标
- 体验"图文并茂"带来的作品完整感
- 建立"视觉表达也是创作"的认知
- 激发对多媒体创作的兴趣
---
## 2. 核心知识点
1. **提示词工程复习**:角色描述、场景设定、风格指定
2. **占位符标注**:用`{角色名}``{场景}`等变量实现提示词复用
3. **文档化管理**:将提示词模板整理成可复用的文档
4. **图文配合**:插图与小说情节的对应关系
---
## 3. 课程流程
| 阶段 | 时长 | 内容 | 教师要点 |
|-----|------|------|---------|
| 导入 | 10分钟 | 回顾上节课小说内容,讨论"有插图的书vs纯文字" | 激发视觉表达需求 |
| 讲解 | 15分钟 | AI图像生成提示词工程复习占位符概念 | 演示占位符用法 |
| 实践 | 40分钟 | 为小说设计插图提示词,生成图像 | 逐场景指导 |
| 整合 | 20分钟 | 将插图插入Markdown文档 | 图文排版 |
| 总结 | 5分钟 | 分享作品,总结占位符管理方法 | 强化文档化思维 |
---
## 4. 评价要点
### 技能维度
- [ ] 能写出包含角色、场景、风格的完整提示词
- [ ] 能使用占位符实现提示词复用
- [ ] 能将插图与小说内容合理搭配
### 过程维度
- [ ] 提示词迭代优化的尝试次数
- [ ] 对图像生成结果的审美判断
- [ ] 文档化管理提示词的意识
---
## 5. 课评关键词
AI图像生成、提示词工程、占位符、文档化管理、图文配合、审美力
---
*课程代码AICODE03-007*
*创建日期2026-05-20*
*适用学期2026春季学期*

View File

@@ -0,0 +1,106 @@
# 项目记忆文件
## 课评工作流优化框架v4.5
> 创建日期2026-05-16 | 基于实际跑流度的经验总结
> 更新日期2026-05-20
### v4.5 更新内容
- **表单直连提交**:网页表单直接 POST 到本地服务器(`src/form_server.py`AI 通过检测 `.claude/.tmp/EVALUATION_READY.txt` 信号文件自动触发课评生成,彻底取消「复制→粘贴」步骤
- **补课存储规则简化**:取消补课专用目录和双向记录,补课记录统一保存在学生原班级,文件名加 `_补课` 后缀
- **体验课记录扁平化**:体验课记录统一放在 `体验课记录/` 目录,命名格式 `日期-班级-课程主题.md`,一个文件可包含多个学生
- **临时数据清理**:课评保存完成后自动清理 `.claude/.tmp/` 下的 JSON 和信号文件
---
## 课评工作流优化框架v4.4
> 创建日期2026-05-16 | 基于实际跑流度的经验总结
### 优化核心「Form-First」三步式
```
/周几 → 选班级 → 自动打开网页表单 → 填表提交 → 自动生成保存
```
> **适用范围**:所有上课日(周一~周日),`/周六`、`/周日`、`/周四`、`/周五` 等均按此流程执行
### 关键规则
#### 规则1自动推演课程进度
选择班级后,系统自动从 `summaries/` 读取最新课次,推算当前课次:
- 若上次课距当前日期>1周且全班请假 → 提示"需补课吗?"供确认
- 否则直接使用下一课次
- **目标减少1轮"确认课程"的交互**
#### 规则2默认网页表单输入Form-First
选择班级后**默认直接创建并打开网页表单**,不先展示文本输入:
- 表单包含每个学生的:状态按钮(出勤/请假/体验/补课)+ 独立文本区
- 表单显示学生画像摘要(性格特点、上次表现)
- 显示速记符号参考
- **目标:消除"需要输入框→创建表单"的切换摩擦**
#### 规则3表单直连提交 + 输出头信息
网页表单增加"直接提交"功能,提交后:
- 后台自动接收数据
- 输出内容头部自动包含:班级名称、课程编号·主题、日期
- 系统可自动识别班级和课次,不会搞错
- **目标:消除"复制粘贴回聊天"的中间步骤 + 消除班级/课次识别错误**
#### 规则4表单辅助功能
- 填写进度条:实时显示已填写/总人数(含补课学生)
- 待填写提示:红色标记未填写的学生
- 输入框状态:填写后自动变绿,视觉反馈
- 一键复制:复制到剪贴板,带成功提示
- **补课/体验学生区** 🆕:虚线边框独立区域,可动态添加多个补课学生,含姓名输入、状态(补课/体验)、表现描述,进度条自动计算在内
#### 规则5年级感知
根据班级课程类型自动选择输出模板:
- 学龄前TUBE/DISC/INVENT/CREATE→ 学龄前格式
- 小学SPIKE/AICODE03→ 小学格式
### 已确认优化效果
- 交互轮数5轮 → 3轮
- 输入方式:聊天文本→临时表单 → **默认网页表单**
- 课程确认:需人工回答 → **自动推算**
- 数据提交:手动复制粘贴 → **一键提交**
### 规则6课评文字代码块包裹便于预览复制
班级总结文件(`*_班级反馈.md`)中,每位学生的课评正文必须用**代码块 ` ``` ` 包裹**,而非引用块 `>` 或纯文本:
- 代码块在 VS Code 预览时右上角显示**复制按钮**,方便一键复制课评文字
- 格式示例:
```markdown
**课评内容**
```
{课评正文}
```
```
- 请假/体验等无课评正文的学生,用 `**状态**` 描述即可,无需代码块
## Hard Constraints
- All class days (Monday-Sunday) must follow the Form-First workflow
- Course progress must be automatically matched based on current week's date using semester week mapping (NOT inferred from last session progress)
- Web forms must be created by default for student performance input, no manual text input first
- Web forms must support direct POST submission to local server (`src/form_server.py`) — **no copy-paste required**
- AI detects `.claude/.tmp/EVALUATION_READY.txt` signal file to auto-trigger evaluation generation
- Temporary JSON and signal files in `.claude/.tmp/` are auto-cleaned after save completion
- **补课记录存储规则v4.5**:跨班级补课学生,课评文件保存在学生原班级 `feedback/` 目录,文件名加 `_补课` 后缀(如 `20260505_DISC-009_补课.md`),不再创建补课专用目录或双向记录
- **体验课记录规则v4.5**:体验课记录统一放在 `.claude/memory/class/体验课记录/` 目录,命名格式 `日期-班级-课程主题.md`(如 `2025-05-17-SPIKE-电动螺丝刀.md`),一个文件可包含多个体验学生
## Engineering Conventions
- Class selection is triggered by "/weekday" (e.g., "/周六", "/周四")
- Class lists display current week's course theme based on semester week number (e.g., Week 11 → DISC-011 鳄鱼)
- Student input forms include individual text areas and attendance status buttons
- Form data is saved as JSON to `.claude/.tmp/evaluation_input_{class}.json` via POST to local server
- Signal file `.claude/.tmp/EVALUATION_READY.txt` triggers AI to read JSON and generate evaluations
- Temporary JSON files and signal files are auto-cleaned after evaluation saving is complete
- **补课记录命名v4.5**`YYYYMMDD_课程编号-课次_补课.md`,保存在学生原班级 `feedback/` 目录
- **体验课记录命名v4.5**`日期-班级-课程主题.md`(如 `2025-05-17-SPIKE-电动螺丝刀.md`),保存在 `.claude/memory/class/体验课记录/` 目录
## Lessons Learned
- Manual course confirmation caused unnecessary interaction rounds; automatic inference saves time
- Chat-based text input was replaced with web forms due to user preference for dedicated input fields
- Course theme should be determined by current week's scheduled theme, not by tracking last session's progress
- Copy-paste from web form to chat was the #1 friction point; local server POST + signal file eliminates it entirely
- Generated form files must be auto-cleaned after use to avoid project directory clutter
- **补课记录简化v4.5**:双向记录和补课专用目录造成文件冗余,改为单记录保存在原班级更简洁
- **体验课扁平化v4.5**:多层嵌套目录不利于快速查看,扁平化结构更符合使用习惯

View File

@@ -1,8 +1,12 @@
# 核心规则
> 合并文件:系统基础规则 + 年龄段分类 + 课程类型定义 + 评价维度 + 评分标准
> 版本v4.0 | 更新日期2026-05-14
>
> 版本v5.0 | 更新日期2026-05-22
>
> **v5.0 变更**:统一版本号体系到 v5.0,建立清晰的版本管理规范;同步所有文件版本
> **v4.5 变更**:表单直连提交 — 网页表单直接 POST 到本地服务器,取消复制粘贴;版本号同步
> **v4.4 变更**:无内容变更,版本号同步
> **v4.3 变更**:无内容变更,版本号同步
> **v4.0 变更**同步课评规范V1.0 — 新增3.4节「校宝课程编号规范」C++班统一用CSP、AI编程班统一用AICODE+编号
---

View File

@@ -1,7 +1,15 @@
# 风格规则:课评写作风格与结构规范
> 合并文件:幼儿积木搭建 + 少儿编程入门 + 机器人竞赛 + 通用结构规范
> 版本v3.1(合并版)| 更新日期2026-05-05
> 版本v4.6 | 更新日期2026-05-20
>
> **v4.6 变更**优化课评详细程度增加时间描述年龄适配AI 自动扩展细节
> - 标准版字数上限从280扩展到300字详细版从350扩展到400字
> - 新增"思维过程"和"具体数据"评估维度
> - 分年龄段时间描述规范(幼儿模糊化/小学精确化)
> **v4.5 变更**:表单直连提交 — 取消复制粘贴,版本号同步
> **v4.4 变更**:统一版本号至 v4.4;更新日期
> **v3.2 变更**:禁用"今天",统一使用"本节课";禁用"本周"等时间表述
---
@@ -13,6 +21,11 @@
| 输出字数 | **弹性范围180-350字**(根据输入内容丰富度自动调整) |
| 段落数 | **3段** |
### ⚠️ 关键措辞规范(必须遵守)
- **禁用"今天"**,统一使用"本节课"
- **禁用"本周"、"这周"、"上周课"、"第几周"**等时间表述
- 姓名规则:优先使用小名/昵称,其次去姓称名(如"昕乔"),禁用"宝贝"、"小朋友"等套话
### 课程类型与风格对应
| 课程类型 | 适用年龄 | 风格特点 | 基准字数 |
@@ -33,13 +46,18 @@
| **第2段** | 课堂细节(掌握程度+课程环节+成长亮点)| **100-220字弹性** | 见下表 |
| **第3段** | 课后建议 | 30-55字 | 见下表 |
### 2.2 字数弹性规则
### 2.2 字数弹性规则v4.6 优化版)
| 输入类型 | 字数范围 | 触发条件 |
|:-------:|:-------:|:---------|
| **精简版** | 180-220字 | 输入简洁,仅包含基本行为描述 |
| **标准版** | 220-280字 | 输入有具体细节或1-2个亮点 |
| **详细版** | 280-350字 | 输入有精彩瞬间、多个亮点或特殊表现 |
| 输入类型 | 字数范围 | 触发条件 | 结构 |
|:-------:|:-------:|:---------|:----:|
| **精简版** | 180-220字 | 输入简洁,仅包含基本行为描述 | 3段 |
| **标准版** | 220-300字 | 输入有具体细节或1-2个亮点 | 3段 |
| **详细版** | 300-400字 | 输入有精彩瞬间、多个亮点或特殊表现 | 3-4段 |
**v4.6 优化说明**
- 标准版上限从280字扩展到300字允许更充分的细节描述
- 详细版上限从350字扩展到400字支持4段式结构
- AI 基于学生画像和历史数据自动扩展细节,无需老师额外输入
### 2.3 各年龄段字数调整
@@ -63,27 +81,46 @@
- **具体性**:不说"很棒",说"把弧形积木稳稳地卡进了凹槽"
- **画面感**:描述作品细节,让家长能想象出画面
- **克制感**:不用"天才""最棒"等夸张词,真诚即可
- **时间模糊化**:不用精确分钟数,用自然时段描述
**禁用词汇**:宝贝、小天才、最棒、无敌、超级厉害、完美、套话("在今天的课堂上""通过本次活动")、比较性语言("比其他小朋友"
**禁用词汇**:宝贝、小天才、最棒、无敌、超级厉害、完美、套话("在本节课的课堂上""通过本次活动")、比较性语言("比其他小朋友"
**推荐表达**
- 姓名使用:优先小名/昵称,其次去姓称名(如"昕乔"
- 具体动作:"试了三次终于搭稳了底座"
- 过程描述:"一开始想搭高塔,后来改成了小房子"
**时间描述规范(幼儿版)**
| 速记 | 输出表述 | 说明 |
|------|---------|------|
| `gj5` | 开始阶段先观察了一会儿 | 不用"5分钟" |
| `zx15` | 能安静地玩一阵子 | 托班/小班适用 |
| `zx30` | 专注投入了挺长时间 | 中班/大班适用 |
| `zx45` | 几乎整节课都很投入 | 表现很好时使用 |
### 3.2 少儿编程课6-8岁
**语言特点**
- **专业度**:准确使用编程术语(循环、条件、事件),但不堆砌
- **平等感**:像对待小学习者一样尊重,不居高临下
- **启发性**:指出问题同时给方向,"这里如果换个顺序..."
- **实在感**:不夸大"编程改变命运",而是聊"今天解决了什么问题"
- **实在感**:不夸大"编程改变命运",而是聊"本节课解决了什么问题"
- **过程可视化**:描述调试过程、思维转变、尝试次数
**禁用词汇**:小天才、未来的程序员、最聪明、秒杀同龄人、套话("在人工智能时代""培养计算思维")、夸大("掌握了编程的核心奥秘"
**推荐表达**
- 技术描述:"用'如果碰到边缘就反弹'解决了角色飞出屏幕的问题"
- 过程记录:"先试了三次循环发现次数不够改成了重复10次"
- 调试细节:"第一次方向写反了,检查代码后发现并修正"
- 思维变化:"遇到bug没有直接问老师先试着改了几个参数看效果"
**时间描述规范(小学低年级)**
| 速记 | 输出表述 | 说明 |
|------|---------|------|
| `zx30` | 专注投入约30分钟 | 可用相对精确时间 |
| `调试3次` | 调试了3次花了大约10分钟 | 描述调试过程 |
| `sb2` | 试了2次后成功 | 强调尝试过程 |
### 3.3 机器人竞赛课8-10岁
@@ -92,6 +129,7 @@
- **专业性**准确描述技术细节传感器校准、PID调速、机械臂力矩
- **成长视角**:把失败当作数据收集,把胜利当作阶段成果
- **团队意识**:强调分工配合,不只突出个人
- **数据驱动**:用具体数字说话(成功率、时间、参数)
**禁用词汇**:天才、大神、无敌、秒杀、碾压、套话("友谊第一比赛第二""胜不骄败不馁")、空洞("展现了良好的精神风貌"
@@ -99,6 +137,16 @@
- 技术描述:"超声波传感器检测距离30cm时启动机械臂"
- 战术分析:"选择了先拿近处资源块的策略,放弃了远处的"
- 复盘语言:"翻车的原因是重心偏高,下次可以..."
- 数据记录:"校准后巡线成功率从60%提升到85%"
- 效率对比:"排查时间从平均3分钟缩短到1.5分钟"
**时间描述规范(小学高年级)**
| 速记 | 输出表述 | 说明 |
|------|---------|------|
| `zx30` | 专注投入约30分钟 | 精确时间 |
| `成功率60→85%` | 成功率从60%提升到85% | 数据对比 |
| `调试3次` | 经过3次调试共用时10分钟 | 详细过程 |
| `排查3分钟` | 排查时间约3分钟 | 效率描述 |
---
@@ -125,7 +173,7 @@
| 开心兴奋 | 😊/🌟 | 情绪积极、喜欢这节课 |
| 合作互助 | 🤝 | 帮助同伴、团队协作 |
| 家庭延伸 | 🏠 | 课后建议 |
| 技术编程 | ⚙️/🤖 | SPIKE/AI03课程 |
| 技术编程 | ⚙️/🤖 | SPIKE/AICODE03课程 |
### 4.3 Emoji位置
@@ -137,7 +185,7 @@
**第2段分散插入示例**
```
互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐💪,第三块开始能自己完成✨。和上周比,今天结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意🌟。
互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐💪,第三块开始能自己完成✨。和上周比,本节课结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意🌟。
```
**规则**
@@ -169,9 +217,9 @@
- 突出兴趣:用孩子感兴趣的比喻或场景
**示例**
- "今天认识了'互锁结构',像拼图一样把积木交错叠在一起,搭好的墙不容易倒。"
- "今天接触了'重复执行'(循环),用它让小鸟持续扇翅膀,不用重复写很多次一样的代码。"
- "今天训练了颜色传感器的巡线校准,包括白值/黑值重新标定和阈值调整。"
- "本节课认识了'互锁结构',像拼图一样把积木交错叠在一起,搭好的墙不容易倒。"
- "本节课接触了'重复执行'(循环),用它让小鸟持续扇翅膀,不用重复写很多次一样的代码。"
- "本节课训练了颜色传感器的巡线校准,包括白值/黑值重新标定和阈值调整。"
### 5.2 掌握程度第2段前半
@@ -190,23 +238,35 @@
### 5.4 成长亮点第2段后半
**写什么**与之前课程相比的进步,或本次的突出表现
**写什么**本节课展现出的进步或突出表现(**避免使用"和之前相比"、"和两周前相比"等直接对比句式**
**写法**
- 纵向对比:"上次搭到一半就放弃,今天坚持到完成"
- 思维变化:"以前直接问老师,今天先试着自己改参数看效果"
- 习惯养成:"每次试车前都检查螺丝松紧,之前经常忘"
- **直接描述进步**"本节课坚持到最后完成,没有中途放弃"
- **突出当下表现**"本节课遇到困难先试着自己改参数看效果,再寻求帮助"
- **强调习惯养成**"本节课每次试车前都主动检查螺丝松紧,非常细心"
- **展现思维成长**"本节课能清晰描述问题,而不是只说'不会'"
**❌ 避免使用**
- "和上周相比,本节课..."
- "和两周前相比,本节课..."
- "和之前相比,本节课..."
**✅ 推荐表达**
- "本节课展现出了..."
- "本节课能独立..."
- "本节课主动..."
- "本节课坚持..."
### 5.5 课后建议第3段
**写什么**:家长可以在家配合的具体活动
**写法**
- 可操作:不说"多练习",说"用筷子夹豆子"
- 关联课程:"在家可以用乐高重复今天的互锁结构"
- 关联课程:"在家可以用乐高重复本节课的互锁结构"
- 尊重家庭:用"可以试试看"而非"必须"
---
## 六、输入丰富度评估算法
## 六、输入丰富度评估算法v4.6 优化版)
### 6.1 评估维度与分值
@@ -217,51 +277,72 @@
| **纵向对比** | 0-2分 | 提及之前表现+1分有明确对比+1分 | "比上周"=1分"比上周主动多了"=2分 |
| **精彩瞬间** | 0-2分 | 有突破性行为/创新/社交互动 | "第一次主动帮助别人"=2分 |
| **技术细节** | 0-1分 | 有具体数字/参数/步骤 | "调整了3次"、"设了5次循环" = 1分 |
| **思维过程** | 0-2分 | 描述思考/决策/排查过程 | "先检查了...再发现..."=2分 |
| **具体数据** | 0-2分 | 有时间/次数/百分比等数据 | "调试了3次用了8分钟"=2分 |
**满分**10
**满分**14
### 6.2 版本选择决策矩阵
### 6.2 版本选择决策矩阵v4.6 更新)
| 总分 | 输出版本 | 字数范围 |
|:----:|:-------:|:-------:|
| 0-3分 | **精简版** | 180-220字 |
| 4-6分 | **标准版** | 220-280字 |
| 7-10分 | **详细版** | 280-350字 |
| 总分 | 输出版本 | 字数范围 | 结构 |
|:----:|:-------:|:-------:|:----:|
| 0-4分 | **精简版** | 180-220字 | 3段 |
| 5-8分 | **标准版** | 220-300字 | 3段 |
| 9-14分 | **详细版** | 300-400字 | 3-4段 |
### 6.3 评估示例
**v4.6 优化说明**
- 新增"思维过程"和"具体数据"两个维度,鼓励描述学生的思考过程
- 详细版支持4段式结构允许更充分的细节展开
- AI 基于学生画像和历史数据自动补充细节,老师输入简洁也能得到丰富输出
### 6.3 评估示例v4.6 更新)
**精简输入**"乔乔搭了3层开心"
- 行为数量1分 | 情绪描述1分 | 纵向对比0分 | 精彩瞬间0分 | 技术细节0分
- **总分2分 → 精简版**
- 行为数量1分 | 情绪描述1分 | 纵向对比0分 | 精彩瞬间0分 | 技术细节0分 | 思维过程0分 | 具体数据0分
- **总分2分 → 精简版180-220字**
**标准输入**"乔乔观望5分钟后主动搭3层自己调整开心比上周有进步"
- 行为数量3分 | 情绪描述1分 | 纵向对比1分 | 精彩瞬间0分 | 技术细节1分
- **总分:6分 → 标准版**
- 行为数量3分 | 情绪描述1分 | 纵向对比1分 | 精彩瞬间0分 | 技术细节1分 | 思维过程0分 | 具体数据1分
- **总分:7分 → 标准版220-300字**
**详细输入**"乔乔观望5分钟后主动搭3层球卡住自己调整还帮助旁边的小朋友最后说这是最喜欢的作品比上周主动多了"
- 行为数量3分 | 情绪描述2分 | 纵向对比2分 | 精彩瞬间2分 | 技术细节1分
- **总分10分 → 详细版**
- 行为数量3分 | 情绪描述2分 | 纵向对比2分 | 精彩瞬间2分 | 技术细节1分 | 思维过程1分 | 具体数据1分
- **总分12分 → 详细版300-400字**
**AI 自动扩展示例**
- **老师输入**"乔乔gj5→zd3→zt ↑++"(极简速记)
- **AI 自动补充**
- 从画像获取:乔乔性格内向、需鼓励
- 从历史数据上周观望10分钟、搭建2层
- 自动计算观望时间减少50%搭建层数增加50%
- **输出**详细版课评AI 自动扩展为300-400字
---
## 七、完整示例
### 示例1幼儿积木课小班
### 示例1幼儿积木课小班- 标准版
**输入**小明4岁小班互锁结构搭建。专注度3分开始时需要老师引导后半段独立完成最后自己加了装饰。
**输出**
小明本节课学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固🔍
小明本节课学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固,不容易倒🔍
本节课小明对房子主题很感兴趣,搭建环节专注投入约30分钟💪。互锁的方法听懂了实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成✨。和上周比,本节课结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意🌟
本节课小明对房子主题表现出浓厚兴趣,搭建环节一直很投入💪。互锁的方法在导入环节就听懂了原理,但实际操作时前两块需要老师扶着手指对齐凹槽,第三块开始能独立完成,到第五块时已经能自己检查是否对齐✨。结构第一次倒了是因为底座不平,小明没有像以前那样直接推倒重来,而是拆开重新观察底座,发现左边比右边低,调整后重新搭建,这个情绪调节和问题解决能力比两周前有明显提升🌟
家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固本节课的概念🏠
家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固本节课的互锁概念🏠
---
*字数:198字 | 段落3段 | Emoji4个第1段1个/第2段2个/第3段1个第2段分散在段内*
*字数:258字 | 段落3段 | Emoji4个第1段1个/第2段2个/第3段1个第2段分散在段内*
### 示例2少儿编程课小学二年级
**改进点**
- 增加过程细节第2块→第3块→第5块的进步阶梯
- 增加思维描述(发现左边比右边低)
- 增加纵向对比(两周前的情绪调节能力)
- 保持时间模糊化("一直很投入"而非"30分钟"
### 示例2少儿编程课小学二年级- 详细版
**输入**李想8岁学习了循环和条件判断程序调试了三次才成功最后自己加了一个开始按钮。
@@ -269,24 +350,39 @@
李想本节课学习了"重复执行"(循环)和"如果碰到颜色就..."(条件判断),用这两个概念做了一个小猫走迷宫的游戏💡
循环的作用理解了,第一次把循环次数设成3次小猫走得不够远改成10次后正常条件判断一开始方向写反了检查代码后发现并修正💪。导入环节对迷宫游戏很感兴趣,实践环节专注完成代码搭建,最后分享环节能说出循环的作用,本节课的编程目标顺利达成✨。和上周相比,本节课会主动给代码分区域摆放(运动放一起、外观放一起),这个整理习惯有助于后续写更复杂的程序📈
本节课李想对迷宫游戏表现出持续兴趣搭建环节专注投入约35分钟全程没有分心💪。循环的作用在导入环节就理解了,第一次设置成重复3次运行后发现小猫只走了30步就到边缘了第二次改成5次还是不够第三次改成10次成功走到迷宫出口三次调试共用时约10分钟✨。条件判断一开始方向写反了写的是"如果碰到边缘就停止"而不是"反弹"),李想没有直接问老师,而是先检查代码块的颜色和文字发现逻辑不对后自己修正💡。特别值得肯定的是本节课遇到bug时先自己排查了约3分钟尝试改了两个参数观察效果最后才举手求助展现出了很好的独立调试能力📈。分享环节能清晰说出"循环就是重复做一样的事",概念掌握扎实🎯
回家后可以试试给游戏加一个"开始"按钮,点击后小猫才动。需要用到"当角色被点击"事件,可以预习一下。下周我们继续🏠
---
*字数218字 | 段落3段 | Emoji4第1段1个/第2段2个/第3段1个第2段分散在段内*
*字数298字 | 段落3段 | Emoji5第1段1个/第2段3个/第3段1个第2段分散在段内*
### 示例3机器人竞赛课小学四年级
**改进点**
- 增加调试过程细节3次调试的具体参数变化
- 增加错误描述("碰到边缘就停止"vs"反弹"
- 增加排查过程(检查颜色和文字)
- 增加时间数据35分钟、10分钟、3分钟
- 增加概念复述(验证理解程度)
### 示例3机器人竞赛课小学四年级- 详细版
**输入**王浩10岁训练了巡线校准和新任务策略对抗练习输了但会复盘。
**输出**
王浩本节课训练了颜色传感器的巡线校准(重新标定白/黑值)和新任务策略(先近后远、分段计时),主要解决之前巡线误判和策略执行拖沓的问题⚙️
王浩本节课系统训练了颜色传感器的巡线校准和新任务策略优化,核心解决之前巡线误判(黑线识别成白色)和策略执行拖沓(近处资源块拿取超时)的问题⚙️
校准后巡线成功率从上次60%提升到85%,新策略执行不够果断,计划"前30秒拿近处"实际用了45秒💪。导入环节对竞技策略话题很感兴趣实操训练专注完成巡线调试复盘环节能分析出问题原因本节课的训练目标顺利达成✨。和两周前相比,遇到程序异常时不再直接重试,而是先分析可能原因(传感器/参数/结构),有针对性调整,调试效率明显提高📈
巡线校准环节王浩重新标定了白值从原来的45调整到38和黑值从原来的12调整到8校准后巡线成功率从上次60%10次测试成功6次提升到85%20次测试成功17次误判率明显下降💪。新策略执行环节计划"前30秒拿近处3个资源块"实际用了45秒只拿到2个分析原因是机械臂展开角度偏大导致夹取时需要二次调整下次可以优化展开角度到35度试试✨。本节课展现出了很好的系统排查能力,遇到程序异常时不再直接点击重试,而是先打开传感器数据面板查看实时读数再检查程序逻辑最后才调整参数排查时间从平均3分钟缩短到1.5分钟调试效率提升50%📈
周末可以用模拟器测试几种不同的时间分配方案20+100、30+90、40+80记录哪种得分更高,下周带数据来讨论策略优化🏠
周末建议用模拟器测试三种时间分配方案20+100、30+90、40+80每种方案跑5次记录平均得分带数据来讨论策略优化🏠
---
*字数226字 | 段落3段 | Emoji4个第1段1个/第2段2个/第3段1个第2段分散在段内*
*字数298字 | 段落3段 | Emoji4个第1段1个/第2段2个/第3段1个第2段分散在段内*
**改进点**
- 增加具体参数白值45→38黑值12→8
- 增加测试数据20次测试成功17次
- 增加问题分析(机械臂展开角度偏大)
- 增加解决方案优化到35度
- 增加效率对比3分钟→1.5分钟提升50%
- 增加可执行的课后任务三种方案每种5次

View File

@@ -1,8 +1,15 @@
# 学期周数与课程主题映射规则
> 2026春季学期课程安排与周数计算规则
> 学期开始2026年3月2日第一周
> 当前日期2026年5月14日第十一周
> 合并文件:周数计算 + 课程主题映射表
> 版本v5.0 | 更新日期2026-05-22
>
> **v5.0 变更**:统一版本号体系到 v5.0;全面更新 AICODE03 课程大纲1-21周同步最新教学计划更新当前周数至第12周
> **v4.4 变更**:同步 AICODE03 第9-20周完整课程数据来自 class-data.js统一版本号
> **v4.1 变更**:添加禁止"今天"使用规则,统一使用"本节课";更新当前日期
>
> 2026春季学期课程安排与周数计算规则
> 学期开始2026年3月2日第一周
> 当前日期2026年5月22日第十二周
> **重要说明**:周数仅用于后端自动匹配课程主题,**课评正文不显示周数信息**
---
@@ -34,6 +41,7 @@
| 周数 | "第X周"、"本周"、"上周课"、"下周" | 课程主题名称(如"天平秤"|
| 时间阶段 | "这学期"、"上学期"、"第几节课" | 模糊时间词(如"之前"、"最近"|
| 课程序号 | "DISC-005"、"第5课" | 课程主题(如"天平秤"|
| 日期表述 | "今天" | 统一使用"本节课" |
**后端使用 vs 前端显示对比**
@@ -58,8 +66,8 @@
| 第8周 | 4月20日 - 4月26日 | |
| 第9周 | 4月27日 - 5月3日 | 劳动节调休 |
| 第10周 | 5月4日 - 5月10日 | |
| 第11周 | 5月11日 - 5月17日 | **当前周** |
| 第12周 | 5月18日 - 5月24日 | |
| 第11周 | 5月11日 - 5月17日 | |
| **第12周** | **5月18日 - 5月24日** | **当前周** |
| 第13周 | 5月25日 - 5月31日 | |
| 第14周 | 6月1日 - 6月7日 | 儿童节 |
| 第15周 | 6月8日 - 6月14日 | 端午节 |
@@ -123,20 +131,31 @@
| 第19周 | SPIKE-019 | 电子滚轮米尺 | 距离测量、数据显示、实用工具 | 数学应用、工具设计 |
| 第20周 | SPIKE-020 | 感应道闸 | 自动识别、开关控制、安全系统 | 物联网应用、系统设计 |
### 2.3 AICODE03课程 - 20周完整主题
### 2.3 AICODE03课程 - 21周完整主题
| 周数 | 课程代码 | 课程主题 | 核心知识点 | 能力目标 |
|:---:|:-------:|:---------|:-----------|:---------|
| 第1周 | AICODE03-001 | Prompt基础 | 提示词结构、AI对话、基础指令 | AI认知、沟通技巧 |
| 第2周 | AICODE03-002 | 图像生成 | 文生图、风格描述、创意表达 | 多媒体创作、审美能力 |
| 第3周 | AICODE03-003 | 代码辅助 | AI编程助手、代码解释、调试帮助 | 编程效率、学习能力 |
| 第4周 | AICODE03-004 | 数据分析 | 数据处理、图表生成、结论提炼 | 数据思维、逻辑思维 |
| **第5周** | **AICODE03-005** | **项目整合** | **多AI协作、工作流设计、成果输出** | **系统思维、项目管理** |
| 第6周 | AICODE03-006 | 未来职业预测器 | AI工具链整合、项目开发、测试迭代 | AI协作、产品开发 |
| 第7周 | AICODE03-007 | 超能力抽签机 | 随机算法、交互设计、视觉美化 | 编程逻辑、创意设计 |
| **第8周** | **AICODE03-008** | **我的个人主页(上)** | **内容先行、板块化设计、自定义智能体** | **拆解力、审美力、AI协作** |
> 第9-20周课程主题待更新
| 第1周 | AICODE03-001 | AI是怎么"想"的? | 概率预测原理、AI幻觉现象、提问质量影响 | 提问力、批判思维 |
| 第2周 | AICODE03-002 | AI的记忆之谜 | 长期记忆与短期记忆、上下文窗口机制、系统提示词作用 | 提问力、拆解力 |
| 第3周 | AICODE03-003 | AI训练师 | 系统提示词三要素、越狱与防护、迭代优化逻辑 | 提问力、共创力 |
| 第4周 | AICODE03-004 | 我是大作家(上) | Trae Builder模式、Markdown基础、项目化思维 | 表达力、提问力 |
| 第5周 | AICODE03-005 | 我是大作家-2 | 故事大纲设计、项目上下文、章节结构 | 表达力、拆解力 |
| 第6周 | AICODE03-006 | 我是大作家(完结篇) | 完整书籍结构、精彩片段选择、路演技巧 | 表达力、审美力 |
| 第7周 | AICODE03-007 | 我是大作家【小说插图】 | AI图像生成提示词工程、占位符标注、文档化管理提示词 | 表达力、审美力 |
| 第8周 | AICODE03-008 | 我的个人主页(上) | 内容先行原则、板块化结构、Trae自定义智能体 | 拆解力、审美力 |
| 第9周 | AICODE03-009 | 我的个人主页(下) | 交互元素设计、设计一致性、作品发布 | 审美力、表达力 |
| 第10周 | AICODE03-010 | 魔幻俄罗斯方块(上) | Plan Mode计划模式、需求质量与输出质量、侦探模式分析 | 提问力、拆解力 |
| 第11周 | AICODE03-011 | 魔幻俄罗斯方块(下) | 自动化测试概念、测试覆盖、增量思维 | 拆解力、共创力、韧性力 |
| 第12周 | AICODE03-012 | 涂鸦PK | 精准需求编写、新窗口审核、角色属性设计 | 拆解力、审美力 |
| 第13周 | AICODE03-013 | 涂鸦PK | 边界情况定义、独立窗口审核原则、测试脚本 | 拆解力、韧性力 |
| 第14周 | AICODE03-014 | 涂鸦PK | 游戏感Game Feel、增量需求写法、Web Audio API | 审美力、提问力 |
| 第15周 | AICODE03-015 | 涂鸦PK | 数据驱动设计、角色选择界面、路演设计决策 | 表达力、共创力 |
| 第16周 | AICODE03-016 | Skills入门—用game-studio做跳一跳 | Skills工具箱概念、插件机制、game-studio插件、Three.js | 提问力、韧性力 |
| 第17周 | AICODE03-017 | 期末项目开发(上) | 功能实现、代码调试、迭代优化 | 共创力、韧性力 |
| 第18周 | AICODE03-018 | 期末项目开发(下) | 功能完善、测试验证、bug修复 | 共创力、韧性力 |
| 第19周 | AICODE03-019 | 项目优化与美化 | UI优化、交互改进、性能提升 | 审美力、共创力 |
| 第20周 | AICODE03-020 | 项目展示准备 | 演示文稿制作、路演排练、作品包装 | 表达力、共创力 |
| 第21周 | AICODE03-021 | 学期成果展示 | 作品展示、成果分享、学习总结 | 表达力、综合能力 |
---
@@ -167,7 +186,7 @@
**课后建议模块**(自动关联主题):
```
在家可以用衣架和绳子做一个简易天平,比较不同玩具的重量,巩固今天的平衡概念。
在家可以用衣架和绳子做一个简易天平,比较不同玩具的重量,巩固本节课的平衡概念。
```
### 3.3 差异化表达(基于周数阶段)
@@ -184,11 +203,11 @@
## 四、快速查询
### 4.1 当前周信息2026年5月14日)
- **周数**第11
- **发现世界主题**DISC-011 鳄鱼(嘴巴开合、铰链结构
- **SPIKE主题**SPIKE-011 摩天轮(圆周运动、速度控制)
- **AICODE03主题**AICODE03-008 我的个人主页第8周第9周后待更新
### 4.1 当前周信息2026年5月22日)
- **周数**第12
- **发现世界主题**DISC-012 数字宝箱(密码锁、数字认知、空间藏物
- **SPIKE主题**SPIKE-012 直升机(螺旋桨、升力原理、飞行控制)
- **AICODE03主题**AICODE03-012 涂鸦PK精准需求编写、新窗口审核、角色属性设计
### 4.2 输入简化格式
教师只需提供:
@@ -209,8 +228,11 @@
## 五、版本信息
- **版本**v4.0
- **更新日期**2026-05-14
- **版本**v4.5
- **更新日期**2026-05-20
- **适用范围**2026春季学期全部课程
- **维护者**:穹狼教学团队
- **v4.0 变更**同步课评规范V1.0 — AI03课程代码改为AICODE03如AI03-005 → AICODE03-005更新当前周数至第11周
- **v4.5 变更**全面更新 AICODE03 课程大纲1-21周包含AI原理、大作家系列、个人主页、俄罗斯方块、涂鸦PK、Skills入门等完整教学路径更新当前周数至第12周
- **v4.4 变更**:同步 AICODE03 第9-20周完整课程数据来自 class-data.js统一版本号至 v4.4
- **v4.1 变更**:添加禁止"今天"使用规则,统一使用"本节课"更新当前日期至2026-05-17
- **v4.0 变更**同步课评规范V1.0 — AI03课程代码改为AICODE03如AI03-005 → AICODE03-005更新当前周数至第11周

View File

@@ -1,7 +1,24 @@
# 工作流程规则:输入格式、批量生成、存储与特殊处理
> 合并文件:快捷输入格式 + 批量课评生成 + 新学生/补课处理 + 速记符号 + 快速入门
> 版本v4.0课评规范同步版| 更新日期2026-05-14
> 版本v4.5表单直连提交| 更新日期2026-05-20
>
> **v4.5 变更**
> - **表单直连提交**:网页表单填写完成后直接 POST 到本地服务器,数据自动保存为 JSON。AI 检测到信号文件后自动读取并生成课评,彻底取消「复制→粘贴回聊天」步骤
> - 新增 `src/form_server.py` 本地表单服务器,支持动态注入班级/学生/课程数据
> - 表单输出文件:`.claude/.tmp/evaluation_input_{班级}.json`
> - 信号文件:`.claude/.tmp/EVALUATION_READY.txt`AI 检测此文件触发课评生成)
>
> **v4.4 变更**
> - 课程进度自动推演:选择班级后根据**当周日期自动匹配课程主题**(基于学期周数映射表),无需参考上节课进度
> - Form-First 模式:选择班级后默认自动创建网页表单,替代聊天文本输入框
> - 表单直连提交:网页表单直接提交数据,无需复制粘贴回聊天
> - 新增 `.claude/memory/project_memory.md` 项目记忆文件
>
> **v4.3 变更**
> - 新增 `/周几` 快速索引指令(`/周六`、`/周日`、`/周四` 等)
> - 重写第14节交互式流程B模式分开展示学生 + 独立输入区 + 快捷标记按钮
> - 新增学生快捷标记操作(请假/体验/补课/出勤)
>
> **v4.0 变更**
> - 新增第10节「课评规范V1.0对照规则」:课程编号、目录结构、文件命名、日期匹配、完成率统计、三级查找
@@ -49,7 +66,7 @@ AI生成 → 自动双轨保存 → 完成!
**方式1极简一句话**
```
乔乔今天开始不敢碰,后来主动搭了三层,球卡住自己调高度,挺稳定的,比上周主动多了
乔乔本节课开始不敢碰,后来主动搭了三层,球卡住自己调高度,挺稳定的,比上周主动多了
```
**方式2关键词速记**
@@ -100,11 +117,11 @@ AI自动匹配班级学生名单实时纠正谐音
| 标记 | 含义 | 处理方式 | 保存位置 |
|------|------|----------|---------|
| 无标记 | 正式学生 | 双轨保存 | 班级汇总+个人档案 |
| `[补课]` | 补课学生 | 自动检测档案位置,跨班级自动双轨保存 | 班级汇总+个人档案 |
| `[体验]` | 体验课学生 | 仅班级汇总 | 班级汇总(标记体验) |
| `[缺课]` | 今天缺席 | 记录缺席 | 班级汇总(标记缺课) |
| `[new]` | 新学生首次 | 创建档案 | 班级汇总+个人档案 |
| 无标记 | 正式学生 | 双轨保存 | 个人课评文件+班级汇总 |
| `[补课]` | 补课学生 | 自动检测档案位置,跨班级自动双轨保存 | 个人课评文件(原班级侧追踪文件)+班级汇总 |
| `[体验]` | 体验课学生 | 仅班级汇总 | 个人课评文件(补课目录)+班级汇总 |
| `[缺课]` | 今天缺席 | 记录缺席 | 班级汇总 |
| `[new]` | 新学生首次 | 创建档案 | 个人课评文件+班级汇总+学生画像 |
### 3.2 标记使用示例
@@ -134,7 +151,7 @@ AI自动匹配班级学生名单实时纠正谐音
```
教师极简输入 → AI并行解析每个学生 → 预加载课程/档案 →
并行生成个性化课评 → 质量检查 → 【自动双轨保存】→ 完成
并行生成个性化课评 → 质量检查 → 【自动双轨保存】→ 【🗑️ 自动删除临时表单】→ 完成
```
**预加载说明**
@@ -256,6 +273,168 @@ AI及自动化系统扫描 `feedback/` 目录时,通过文件名后缀判断
| **班级总结** | `summaries/YYYYMMDD_课程编号-课次_班级反馈.md` | 班级群发文案 | 课后编写 |
| **学生画像** | `profile.md`(固定名) | 学生基础信息 | 建档时创建 |
#### 班级总结文件完整模板
班级总结文件(`summaries/YYYYMMDD_课程编号-课次_班级反馈.md`)使用以下统一模板框架,所有班级总结一致:
##### 模板结构总览
```
┌─ YAML Frontmatter元数据─────────────────────────┐
│ class, week, course, theme, date │
│ status: total/present/make_up/absent │
│ students: name + status 列表 │
├─ 标题 ────────────────────────────────────────────────┤
│ # {班级} 第{X}周汇总 │
├─ Quote行课程信息─────────────────────────────────┤
│ > 课程代码 / 上课日期 / 课程主题 / 班级人数 │
├─ 本周课评状态表 ──────────────────────────────────────┤
│ | 学生 | 状态 | 类型 | 档案位置 | 操作 | │
├─ 学生课评列表 ────────────────────────────────────────┤
│ ## 学生课评列表 │
│ │
│ ### {学生名} - {类型} ✅/🔄 │
│ **基本信息**(表现标签 + 情绪状态) │
│ **课评内容**(代码块 ``` 包裹正文) │
│ **教师备注**(生成时间 + 确认状态) │
│ **教师备注**(状态 + 个人档案 + 亮点) │
│ --- │
│ │
│ ### {请假学生} - ❌ 请假 │
│ **状态**:请假,未生成课评 │
├─ 本周班级整体情况 ────────────────────────────────────┤
│ ## 本周班级整体情况 │
│ ### 本周表现分布(表格) │
│ ### 共性观察(整体表现/主题掌握/亮点/挑战) │
│ ### 需关注学生 │
│ ### 下周重点 │
├─ 页脚 ────────────────────────────────────────────────┤
│ *生成时间:{YYYY-MM-DD}* │
└────────────────────────────────────────────────────────┘
```
##### 完整模板源码
```markdown
---
class: {班级目录名}
week: {周数}
course: {课程编号}
theme: {课程主题}
date: {YYYY-MM-DD}
status:
total: {总人数}
present: {出勤人数}
make_up: {补课人数}
absent: {请假人数}
students:
- name: {学生名}
status: present/absent/make_up
- name: ...
---
# {班级名称} 第{周数}周汇总
> 课程代码:{课程编号}
> 上课日期:{YYYY-MM-DD}
> 课程主题:{主题(知识点)}
> 班级人数:{N}人(出勤{M}人,请假{K}人)
---
## 本周课评状态
| 学生 | 状态 | 类型 | 档案位置 | 操作 |
|:-----|:----:|:----:|:---------|:----:|
| {学生名} | ✅ 已保存 | 常规学生 | 本班 | [查看] |
| {补课学生} | ✅ 已保存 | 补课学生 | 补课 | [查看] |
| {请假学生} | ❌ 请假 | 常规学生 | 本班 | - |
---
## 学生课评列表
### {学生名} - 常规学生 ✅ / 补课学生 🔄
**基本信息**
- 表现标签:{根据课评内容提炼标签,逗号分隔}
- 情绪状态:{稳定/开心/积极/波动等}
**课评内容**
```
{课评正文,使用代码块包裹}
```
**教师备注**
- 生成时间:{YYYY-MM-DD HH:MM}
- 确认状态:☑️ 已确认
---
**教师备注**
- 状态:已保存
- 个人档案:已同步
- 亮点:{提炼亮点}
---
### {请假学生} - ❌ 请假
**状态**:请假(或停课),未生成课评
---
## 本周班级整体情况
### 本周表现分布
| 维度 | 优秀 | 良好 | 合格 | 需关注 |
|:------|:---:|:---:|:---:|:----:|
| 参与度 | {人数} | {人数} | {人数} | {人数} |
| 知识点掌握 | {人数} | {人数} | {人数} | {人数} |
| 情绪状态 | {人数} | {人数} | {人数} | {人数} |
### 共性观察
1. **整体表现**{总结}
2. **主题掌握**{总结}
3. **亮点**{总结}
4. **挑战**{总结}
### 需关注学生
- {名单及原因}
### 下周重点
1. 预告下周课程:{课程编号} {主题}
2. 重点:{核心知识点}
---
*生成时间:{YYYY-MM-DD}*
```
##### 各情况处理细则
| 情况 | 状态列 | 类型列 | 课评内容 |
|:-----|:------:|:------:|:---------|
| **常规出勤** | ✅ 已保存 | 常规学生 | 完整课评正文(代码块) |
| **补课学生** | ✅ 已保存 | 补课学生 | 完整课评正文(代码块),基本信息如实填写 |
| **请假** | ❌ 请假 | 常规学生 | `**状态**:请假,未生成课评` |
| **停课** | 🚫 停课 | 停课学生 | `**状态**:已停课,不生成课评` |
| **全部请假** | — | — | 仅保留课评状态表,学生课评列表写状态即可,共性观察处说明"本周全部请假/停课" |
##### 基本信息字段填写规则
表现标签根据课评内容提炼3-5个关键词标签如"积极搭建"、"圆周运动理解"、"创意改造"、"编程巩固"、"主动互动"等,体现学生本节课的核心表现亮点。
情绪状态:综合判断本节课的情绪基调,如"稳定"、"开心/稳定"、"积极/稳定"、"波动"等。
##### 代码块规范
每位有课评正文的学生,其课评文字必须用**代码块 ` ``` ` 包裹**(而非引用块 `>` 或纯文本),以便在 VS Code 预览时右上角显示**复制按钮**,方便一键复制。
请假/体验等无课评正文的学生,用 `**状态**` 描述即可,无需代码块。
### 5.5 存储优先级
1. **第一优先级**:个人课评文件 `feedback/*.md`(必须存在,关系到完成率统计)
@@ -283,7 +462,7 @@ Step 22分钟: 速记输入
小红[补课]:专注完成 →
Step 32分钟: 查看并保存
AI生成 → 查看质量报告 → 完成(已自动双轨保存)
AI生成 → 查看质量报告 → 课评保存完成 → 🗑️ 自动清理表单 → 完成
完成!课评已自动双轨保存,无需确认。
```
@@ -308,10 +487,10 @@ AI生成 → 查看质量报告 → 完成(已自动双轨保存)
```
生成阶段 保存阶段 完成阶段
───────── ───────── ─────────
AI生成课评 → 【自动保存】 → 教师可随时查看/修改
AI生成课评 → 【自动保存】 → 课评持久化保存
↓ ↓ ↓
质量检查通过 → feedback/YYYYMMDD_课程编号.md → 完成(无需确认)
+ summaries/YYYYMMDD_课程编号_班级反馈.md
质量检查通过 → feedback/YYYYMMDD_课程编号.md → 🗑️ 自动删除临时表单
+ summaries/YYYYMMDD_课程编号_班级反馈.md → 完成(无需确认)
```
**核心原则**
@@ -362,9 +541,9 @@ def on_evaluation_generated(student, evaluation, class_info):
|:-----|:---------|:----------------|
| **正式学生** | 有档案 | `.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md` |
| **本班补课** | 有档案(本班) | `.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md` |
| **跨班级补课** | 有档案(他班) | `.claude/memory/class/{补课班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` |
| **其他老师班级补课** | 有档案(其他老师) | `.claude/memory/class/{班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` |
| **体验/临时学生** | 无档案 | `.claude/memory/class/{班级}/补课/{学生}/feedback/YYYYMMDD_课程编号.md` |
| **跨班级补课** | 有档案(他班) | `.claude/memory/class/{补课班级}/补课/{学生}/feedback/YYYYMMDD_课程编号-课次.md` |
| **其他老师班级补课** | 有档案(其他老师) | `.claude/memory/class/{班级}/补课/{学生}/feedback/YYYYMMDD_课程编号-课次.md` |
| **体验/临时学生** | 无档案 | `.claude/memory/class/{班级}/补课/{学生}/feedback/YYYYMMDD_课程编号-课次.md` |
| **缺课学生** | 有档案 | ❌ 不生成课评 |
> **⚠️ 重要**:跨班级补课学生必须放在 `补课/` 目录下,否则自动化统计系统的三级查找可能无法识别。
@@ -451,7 +630,7 @@ AI定位班级汇总中乔乔的课评
**授课日期**: 2026-04-18
**课评内容**
学生今天课堂非常认真三类作业全部完成。但课堂练习调试12次2次运行错误、3次答案错误、2次编译错误说明边界条件和代码规范性还需加强。建议每道题重新手写框架减少复用旧代码这样基础更扎实。
学生本节课课堂非常认真三类作业全部完成。但课堂练习调试12次2次运行错误、3次答案错误、2次编译错误说明边界条件和代码规范性还需加强。建议每道题重新手写框架减少复用旧代码这样基础更扎实。
课后整理埃氏筛法模板,记录今天的坑点。
@@ -473,12 +652,12 @@ AI定位班级汇总中乔乔的课评
#### 补课追踪模板(补课班级侧)
文件开头注明补课来源:
文件开头可以注明补课来源(仅作元信息,正文不提及补课)
```markdown
(补课,来自 AICODE06洋芋周日1400
{正常课评内容}
{正常课评内容,完全不提补课}
```
### 7.8 失败处理机制
@@ -599,6 +778,28 @@ students:
| 重生成 | `重生成乔乔` | 重新生成乔乔的课评 |
| 手动补存 | `补存` / `同步` | 手动触发待补存队列处理 |
### 7.12 临时文件自动清理规则
> 每次课评生成的输入数据文件(`.claude/.tmp/evaluation_input_*.json` 和 `EVALUATION_READY.txt` 信号文件)在课评保存完成后自动删除,避免临时数据堆积。
**清理时机**:课评全部保存完成后立即执行,无需用户确认
**清理流程**
```
课评保存完成 → AI 删除 .claude/.tmp/ 下对应的 JSON 文件和信号文件 → 提示「🗑️ 已清理临时数据文件」
```
**核心原则**
-**用完即删**:课评持久化到 `feedback/*.md` 后,临时 JSON 不再需要
-**不丢失数据**:课评内容已保存在班级目录中,删除 JSON 不影响任何数据
-**自动执行**无需用户手动删除AI 在完成阶段自动处理
-**安全删除**:仅删除本次会话产生的临时 JSON 和信号文件
**例外情况**
- 表单 HTML 模板文件(`form_template.html`)不会被删除(是可复用的通用模板)
- 服务器脚本(`form_server.py`)不会被删除
- 仅删除 `.claude/.tmp/` 目录下的本次输入数据文件
---
## 八、出勤统计(嵌入班级汇总)
@@ -787,3 +988,611 @@ students:
- [ ] 补课学生必须有课评(放在补课班级的 `补课/学生名/feedback/` 下)
- [ ] 编写班级总结(保存到 `summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
- [ ] 课程编号使用标准格式CSP/AICODE不得使用缩写
---
## 十一、工作流程优化功能v4.1 新增)
> **优化功能概述**:提升课评生成效率、数据安全性和规范一致性
> **触发方式**:自动启用,配合 `/优化` 或相关指令使用
> **配套技能**keping-optimizer
### 11.1 三级备份机制(自动启用)
**功能**:防止数据丢失,提供完整恢复选项
**备份策略**
```
第1级直接保存到目标路径主保存
└── 路径:.claude/memory/class/...
第2级同时保存到 .backup/ 目录(时间戳备份)
└── 路径:.claude/.backup/YYYYMMDD_HHMMSS_{学生}.md
第3级写入前备份现有文件防止覆盖
└── 路径:原文件路径 + .md.bak
```
**恢复功能**
- 指令:`/恢复 {学生}` → 列出该学生的所有备份版本
- 指令:`/恢复备份` → 恢复最近一次备份
- 指令:`/清理备份` → 清理超过7天的旧备份
### 11.2 自动补全缺失信息(自动启用)
**功能**:教师只需输入核心表现,系统自动补全日期、课程编号、课次
**自动补全规则**
| 信息项 | 补全规则 | 默认值 |
|--------|---------|--------|
| **日期** | 取当天日期格式YYYYMMDD | 20260516 |
| **课程编号** | 根据班级名称自动匹配 | 如AICODE03-01 |
| **课次** | 根据学期周数自动计算 | 第11周 = 课次11 |
| **课程主题** | 根据课程代码+周数自动匹配 | 如"蜥蜴" |
**输入示例**
```
极简输入:
/课评 班级:发现世界-周四19点
乔乔gj5→zd3→zt ↑++
自动补全后:
日期20260516
班级:发现世界-周四19点
课程编号DISC-011
课次第11课
课程主题:蜥蜴
```
### 11.3 路径自动创建(自动启用)
**功能**:自动创建不存在的目录结构,避免保存失败
**自动创建的目录结构**
```
.claude/memory/class/
├── {班级名称}/
│ ├── summaries/ ← 自动创建
│ ├── {学生姓名}/
│ │ └── feedback/ ← 自动创建
│ └── 补课/
│ └── {学生姓名}/
│ └── feedback/ ← 自动创建
└── .backup/ ← 自动创建
```
### 11.4 速记符号自动补全(输入时提示)
**功能**输入速记符号时实时提示含义Tab键自动补全
**速记符号速查表**
| 符号 | 含义 | 完整描述 |
|------|------|---------|
| `gj` | 观望 | gj5=观望5分钟 |
| `zd` | 主动搭 | zd3=主动搭3层 |
| `zt` | 自己调整 | 球卡住时自己调整高度 |
| `wb` | 完成 | 独立完成搭建 |
| `zx` | 专注 | zx15=专注15分钟 |
| `sb` | 失败后调整 | sb2=失败2次后成功 |
| `ts` | 探索 | ts5=探索5分钟 |
| `cz` | 创造 | cz3=3种创意方案 |
| `wt` | 提问 | wt3=提问3次 |
| `hz` | 合作 | 合作完成 |
| `fx` | 分享 | 分享想法/作品 |
**自动补全交互示例**
```
教师输入乔乔gj
系统提示:
├─ gj3 → 观望3分钟
├─ gj5 → 观望5分钟
└─ gj10 → 观望10分钟
教师按Tab键→ gj5
```
### 11.5 实时校验提醒(保存前检查)
**功能**:保存前自动检查规范,提前发现问题
**校验清单**
| 检查项 | 规范要求 |
|--------|---------|
| **课程编号** | CSP/AICODE前缀不是C++/AI |
| **日期格式** | YYYYMMDD格式 |
| **目录结构** | 完整路径存在 |
| **文件命名** | 符合规范要求 |
| **课评正文** | 不提及"补课"等词 |
| **字数范围** | 180-350字 |
**校验指令**
- `/检查` → 检查本周所有课评
- `/检查 {班级}` → 检查指定班级课评
### 11.6 智能班级预加载(开始工作时)
**功能**:根据输入的星期几快速预加载对应班级,并展示每个班级的学生名单
**快捷指令**
| 指令 | 功能 |
|------|------|
| **`/周几`** | **按上课日快速索引(推荐)**,如 `/周六``/周日``/周四` |
| `/今天` | 自动判断当天星期几并加载对应班级 |
| `/本周` | 选择本周班级列表 |
| `/模板 {班级}` | 加载班级学生名单模板 |
**/周几 输出格式示例**(以 /周六 为例,其他上课日同理):
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 今天是 2026-05-16周六
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
班级 1发现世界-周六09点DISC
├─ 学生名单:乔乔、昊昊、小明、小红
└─ [选择此班级]
班级 2Wedo创造世界-周六1030CREATE
├─ 学生名单:小强、小芳、小华
└─ [选择此班级]
班级 3AICODE03小Q周六1400AICODE03
├─ 学生名单:李明、王芳、张伟、刘洋
└─ [选择此班级]
班级 4Wedo创造世界-周六16点CREATE
├─ 学生名单:赵磊、孙悦、周杰
└─ [选择此班级]
班级 5发现世界-周六19点DISC
├─ 学生名单:陈静、杨帆、黄欣
└─ [选择此班级]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作:点击 [选择此班级] 或直接输入班级名称
```
### 11.7 批量处理优化
**并行生成+逐份实时保存**
```
教师输入5个学生 → 系统并行生成
→ 乔乔课评生成完成 → 立即保存 ✅
→ 昊昊课评生成完成 → 立即保存 ✅
→ 其他继续...
```
**批量修改工具**
- `/批量修改 {查找}→{替换}` → 批量替换本周所有课评内容
- `/批量添加 {内容}` → 批量在课评结尾添加内容
### 11.8 待修复列表功能
**位置**`.claude/.tasks/fix-list-YYYYMMDD.md`
**查看与修复**
- 指令:`/修复` → 展示待修复列表,逐个处理或批量自动修复
---
## 十二、快捷指令完整列表
### 班级选择
| 指令 | 功能 |
|------|------|
| **`/周几`** | **按上课日快速索引(推荐)**,如 `/周六``/周日``/周四` |
| `/今天` | 自动判断当天星期几并加载对应班级 |
| `/本周` | 选择本周班级列表 |
| `/班级 {班级名}` | 手动选择指定班级 |
### 模式切换
| 指令 | 功能 |
|------|------|
| `/交互式` | 启用交互式课评生成模式默认Form-First 网页表单) |
| `/批量` | 启用批量输入模式 |
### 模板工具
| 指令 | 功能 |
|------|------|
| `/模板 {班级}` | 加载班级学生名单模板 |
| `/空模板` | 创建空模板 |
### 批量操作
| 指令 | 功能 |
|------|------|
| `/批量修改 {查找}→{替换}` | 批量替换课评内容 |
| `/批量添加 {内容}` | 批量在课评结尾添加内容 |
### 数据恢复
| 指令 | 功能 |
|------|------|
| `/恢复 {学生}` | 恢复该学生的备份 |
| `/恢复备份` | 恢复最近一次备份 |
| `/清理备份` | 清理过期备份文件 |
### 校验检查
| 指令 | 功能 |
|------|------|
| `/检查` | 检查本周课评是否符合规范 |
| `/检查 {班级}` | 检查指定班级课评 |
### 保存与补存
| 指令 | 功能 |
|------|------|
| `/补存` | 尝试重新保存失败的课评 |
| `/学生 {姓名}` | 查看学生档案和历史课评 |
### 修复工具
| 指令 | 功能 |
|------|------|
| `/修复` | 处理待修复列表中的项目 |
---
## 十三、高效课后完整工作流程示例
> 以下流程适用于所有上课日(周一~周日),以周六为例展示
### Step 1智能预加载班级
```
教师:/周六(或 /今天)
→ 显示周六所有班级 + 学生名单 + 当周课程主题:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 今天是 2026-05-16周六第11周
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
班级 1发现世界-周六09点DISC
├─ 学生名单:乔乔、昊昊、小明、小红
├─ 当周课程DISC-011 蜥蜴 ✅
└─ [选择此班级]
班级 2Wedo创造世界-周六1030CREATE
├─ 学生名单:小强、小芳、小华
├─ 当周课程CREATE-011 推磨机器人 ✅
└─ [选择此班级]
...
```
### Step 2选择班级 → 自动匹配当周课程 + 启动表单服务器
```
教师1或 发现世界-周六09点
→ 系统根据日期自动匹配当周课程主题 → 启动本地表单服务器
🖥️ 本地服务器已启动!
👉 请打开浏览器http://localhost:8088/form?class=发现世界-周六09点&week=11&course=DISC-011&theme=鳄鱼&date=2026-05-16
(表单已预填班级、周数、课程、学生名单)
也可在聊天中直接输入(备选):
乔乔gj5→zd3→zt ↑++
昊昊慢热→zd3→反复调 →
```
### Step 3网页表单填写 + 直连提交
```
教师打开表单 →
├─ 乔乔:勾选「出勤」→ 输入 gj5→zd3→zt ↑++
├─ 昊昊:勾选「出勤」→ 输入 慢热→zd3→反复调 →
├─ 小明:勾选「请假」
├─ 🔄 补课学生:点「+添加临时学生」→ 输入姓名 → 勾选「补课」→ 输入表现
└─ 点击「🚀 提交并保存」
→ 数据自动 POST 到本地服务器
→ 服务器保存为 .claude/.tmp/evaluation_input_发现世界-周六09点.json
→ 写入信号文件 .claude/.tmp/EVALUATION_READY.txt
→ 表单显示「✅ 已保存 — 可关闭此页面」
```
### Step 4AI 自动检测 → 生成并双轨保存
```
→ AI 检测到 EVALUATION_READY.txt 信号文件
→ 读取 JSON 数据 → 解析学生/状态/表现
→ 生成乔乔课评 → 自动保存 ✅
→ 生成昊昊课评 → 自动保存 ✅
→ 小明标记为请假 → 记录到班级汇总
```
### Step 5实时校验提醒
```
✅ 乔乔:全部通过
⚠️ 昊昊课程编号不规范建议改为DISC-011
→ 教师确认修改 → 自动修复后保存
```
### Step 6检查待修复
```
教师:/修复
→ 查看待修复列表,处理剩余项目
```
### Step 7完成
```
━━━━━━━━━━━━━━━━━━━━━━━━
✅ 全部完成!
已保存学生2人
已备份文件4份主文件+备份)
待修复项目0项
🗑️ 已自动清理临时表单文件
━━━━━━━━━━━━━━━━━━━━━━━━
```
---
## 十四、交互式课评生成流程v4.5 直连提交版)
> **核心理念**:通过 /周几 快速索引 → 启动本地表单服务器 → 浏览器填写直连提交 → AI 自动检测生成
> **适用场景**:课后按班级处理,交互友好,高效批量,无需粘贴
> **适用范围**:本流程适用于所有上课日(`/周一`~`/周日`),以下以 `/周六` 为例展示
> **v4.5 优化**:表单直连提交 — 数据 POST 到本地服务器AI 通过信号文件自动触发,彻底取消复制粘贴
### 完整流程
```
Step 1: 启动 → 输入 /周几(如 /周六、/周四,按当天上课日快速索引)
Step 2: 展示该时段班级列表(附带当周课程主题)
Step 3: 选择班级 → 自动匹配当周课程 → 启动表单服务器
Step 4: 打开浏览器表单 → 填写学生表现 → 点击「提交并保存」
↓ (数据 POST 到本地服务器,保存为 JSON + 写入信号文件)
Step 5: AI 检测信号文件 → 读取 JSON → 批量生成课评 → 双轨保存
Step 6: 🗑️ 自动删除临时文件 → 完成
```
---
### Step 1: 启动 — 快速索引
**输入指令**(支持两种方式):
| 指令 | 适用场景 | 示例 |
|:-----|:---------|:-----|
| **`/周几`** | 按上课日快速查找(**推荐** | `/周六``/周日``/周四` |
| `/今天` | 自动判断当天是周几 | `/今天`(自动换算为当天对应周几) |
**工作日对照表**(系统自动根据班级目录匹配):
| 指令 | 匹配班级示例 |
|:-----|:-------------|
| `/周一`~`/周三` | 按需显示 |
| `/周四` | 发现世界-周四19点 |
| `/周五` | AICODE03小Q周五1900 |
| `/周六` | 发现世界-周六09点、Wedo创造世界-周六1030、AICODE03小Q周六1400 等 |
| `/周日` | 发明世界-周日14点、SPIKE02-周日1030、发现世界-周日下午16点 等 |
**系统响应**(以教师输入 `/周六` 为例):
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 周六2026-05-16的课程
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
班级 1发现世界-周六09点DISC
├─ 学生数4人乔乔、昊昊、小明、小红
└─ [选择此班级]
班级 2Wedo创造世界-周六1030CREATE
├─ 学生数3人小强、小芳、小华
└─ [选择此班级]
班级 3AICODE03小Q周六1400AICODE03
├─ 学生数4人李明、王芳、张伟、刘洋
└─ [选择此班级]
班级 4Wedo创造世界-周六16点CREATE
├─ 学生数3人赵磊、孙悦、周杰
└─ [选择此班级]
班级 5发现世界-周六19点DISC
├─ 学生数3人陈静、杨帆、黄欣
└─ [选择此班级]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
请回复班级序号或名称来选择班级1 或 发现世界-周六09点
```
---
### Step 2: 选择班级 → 自动匹配当周课程 + 启动服务器
> ⚠️ **重要**:以下流程适用于所有上课日。选择任何班级后,系统均自动根据**当周日期匹配课程主题** + 启动本地表单服务器。
**教师输入**(任选一种):
```
1
```
```
发现世界-周六09点
```
**系统响应** — 自动加载课程信息 + 匹配当周课程 + 启动服务器:
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 已选择班级:发现世界-周六09点DISC
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📚 课程信息:
├─ 课程编号DISC-011
├─ 课程主题鳄鱼第11周自动匹配
├─ 核心知识点:嘴巴开合、铰链结构、咬合功能
├─ 日期20260516
👨‍👩‍👧‍👦 学生乔乔、昊昊、小明、小红共4人
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🖥️ 启动本地表单服务器...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👉 请打开浏览器填写表单:
http://localhost:8088/form?class=发现世界-周六09点&week=11&course=DISC-011&theme=鳄鱼&date=2026-05-16
(表单已自动填入班级信息、学生名单和课程主题)
也可在聊天中直接输入文本备选模式B
乔乔gj5→zd3→zt ↑++
昊昊慢热→zd3→反复调 →
...
```
**课程自动匹配逻辑**
1. 根据当前日期计算学期周数基于3月2日学期开始
2. 根据周数直接匹配课程代码和主题(参见 `15-semester-weeks.md` 映射表)
3. **不参考上节课进度**,直接使用当周实际课程主题
4. 仅当教师特别说明补课时,才手动调整课程主题
**特殊情况处理**
- 若当周为补课(教师明确说明),可手动选择补课主题
- 若无特殊说明,一律使用当周标准课程主题
---
### Step 3: 网页表单填写(直连提交模式)
> 选择班级后系统自动启动本地服务器,表单通过 URL 参数传入班级/学生/课程信息。
> 教师在浏览器中填写表现,点击「提交并保存」后数据直接 POST 到服务器。
**表单内容示例**(自动生成,含学生画像摘要):
```
┌────────────────────────────────────────┐
│ 📝 Wedo创造世界-周六1030 课评输入表 │
│ CREATE-011 · 推磨机器人 · 2026-05-16 │
├────────────────────────────────────────┤
│ 📊 填写进度:████████░░ 3/6 人 │
│ │
│ ┌─ ① 梁家铭 🧒 ─────────────────┐ │
│ │ 📋 需鼓励建立自信... │ │
│ │ 状态:[✅出勤] [🚫请假] │ │
│ │ 表现______________________ │ │
│ │ (速记: gj#观望/zd#搭#层/zt调整) │ │
│ └────────────────────────────────┘ │
│ │
│ ┌─ ② 简思瑜 🧒 ─────────────────┐ │
│ │ 📋 自信主动,结构搭建极坚固... │ │
│ │ 状态:[✅出勤] [🚫请假] │ │
│ │ 表现______________________ │ │
│ └────────────────────────────────┘ │
│ ... │
│ ┌─ + 添加临时学生 ──────────────┐ │
│ │ 姓名:[____] 状态:[补课/体验] │ │
│ └────────────────────────────────┘ │
│ │
│ [🚀 提交并保存] │
└────────────────────────────────────────┘
```
**填写方式**(二选一):
| 方式 | 操作 | 适用场景 |
|:----|:-----|:---------|
| **A. 网页直连提交(推荐)** | 打开浏览器链接 → 填写 → 点击「提交并保存」→ 数据自动 POST 到服务器 | 常规使用 |
| **B. 聊天文本输入** | 在聊天中直接输入多行文本 | 快速处理、数据量少 |
**方式A网页直连提交流程**
```
1. 打开系统提供的表单链接URL 已包含班级/周数/课程/学生)
2. 为每位学生选择状态(出勤/请假/补课/体验)
3. 在文本框中填写表现(支持速记 + 自然语言混合)
4. 点击「🚀 提交并保存」
5. 看到「✅ 提交成功」提示 → 可关闭页面
6. AI 自动检测信号文件 → 生成课评 → 双轨保存
```
**方式B聊天文本输入备选**
```
乔乔gj5→zd3→zt ↑++
昊昊慢热→zd3→反复调 →
小明 体验
小红搭了3层开心 ↑
```
### Step 4: AI 自动检测信号 + 批量生成并保存
**触发方式**:表单提交后服务器写入 `.claude/.tmp/EVALUATION_READY.txt` 信号文件AI 检测到后自动处理。
**系统执行**
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 检测到新提交的表单数据
班级:发现世界-周六09点 | DISC-011 鳄鱼
学生4人3人出勤1人请假
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 开始批量生成课评...
[1/3] 生成乔乔课评... ✅ 已保存
[2/3] 生成昊昊课评... ✅ 已保存
[3/3] 生成小红课评... ✅ 已保存
📝 小明标记为请假,不生成课评
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 全部完成!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
已保存3人 | 请假1人
├─ 班级总结summaries/20260516_DISC-011_班级反馈.md
└─ 个人课评:乔乔/、昊昊/、小红/
🗑️ 已清理临时信号文件
下一步:
- 继续下一个班级 → 输入 /周几
- 查看班级总结 → [查看总结]
```
---
### 快捷操作速查
| 操作 | 输入格式 | 效果 |
|:-----|:---------|:------|
| **标记请假** | `{学生} 请假` | 标记缺课,不生成课评 |
| **标记体验** | `{学生} 体验` | 体验标记,仅存班级汇总 |
| **标记补课** | `{学生} 补课` | 补课标记,跨班级自动保存 |
| **恢复出勤** | `{学生} 出勤` | 取消特殊标记,恢复默认出勤 |
| **修改已填** | `修改{学生}:新内容` | 替换该学生已填表现 |
| **添加临时学生** | `添加{姓名}` | 添加到列表末尾 |
| **批量生成** | `全部生成` | 一次性生成所有已填课评 |
| **查看汇总** | `查看汇总` | 查看当前已填写的所有学生 |
**标记使用示例**
```
# 批量填写带标记
乔乔gj5→zd3→zt ↑++
昊昊慢热→zd3→反复调 →
小明 体验
小红 请假
小华[补课]:专注完成,情绪稳定 ↑
# 修改已填表现
修改乔乔gj5→zd3↑↑
# 调整学生标记
小明 出勤(恢复为正式学生)
```
---
## 十五、工作流模式选择
### 两种模式对比
| 模式 | 特点 | 适用场景 |
|------|------|---------|
| **交互式模式** | `/周几` 快速索引 + Form-First 网页表单(含补课/体验区)+ 一键提交 | 课后按班级处理,高效友好 |
| **批量输入模式** | 一次性输入所有学生 | 已有记录,速度优先 |
### 模式切换
```
/交互式 → 启用交互式模式(默认)
/批量 → 启用批量输入模式
```
---
*版本v4.5(表单直连提交 — 取消复制粘贴,数据直通 AI*
*最后更新2026-05-20*
*优化技能keping-optimizer*

View File

@@ -1,7 +1,10 @@
# 速记符号系统
> 从 20-workflow.md 拆分,专注速记符号定义与使用规则
> 版本v3.1 | 更新日期2026-05-05
> 版本v4.5 | 更新日期2026-05-20
>
> **v4.5 变更**:表单直连提交 — 取消复制粘贴,版本号同步
> **v4.4 变更**:统一版本号至 v4.4;更新日期
---

View File

@@ -1,7 +1,12 @@
# 学生特殊处理:补课、新学生、转正
> 从 20-workflow.md 拆分,专注补课/体验/新学生/转正规则
> 版本v4.0 | 更新日期2026-05-14
> 版本v4.5 | 更新日期2026-05-20
>
> **v4.5 变更**:简化补课存储规则 — 取消补课专用目录和双向记录,补课记录统一保存在学生原班级,文件名加 `_补课` 后缀
> **v4.4 变更**:统一版本号至 v4.4;更新日期
> **v4.2 变更**:统一禁用"今天";删除示例中禁止的时间表述
> **v4.1 变更**:新增表单补课区入口说明 — 补课/体验学生可通过网页表单的「补课/体验学生区」录入
>
> **v4.0 变更**同步课评规范V1.0 — 新增补课双向记录规则;更新存储路径为 `.claude/memory/class/` 标准结构;新增补课目录 `补课/` 专用路径
@@ -11,12 +16,15 @@
### 1.1 核心规则
**绝对禁止**课评正文中绝对不能提及学生来补课相关内容
**录入入口**补课/体验学生可通过 [网页表单的「补课/体验学生区」](20-workflow.md#step-3-网页表单填写form-first-模式) 录入(选择班级后自动创建),也可在聊天中直接输入 `姓名 [补课]` 格式
**绝对禁止**:课评正文(给家长看的部分)绝对不能提及学生来补课相关内容。
- ❌ 禁止出现"补课"、"补课上"、"来补课"、"本次补课"
- ❌ 禁止暗示学生非正常上课("今天特别来参加"、"临时加入"、"从其他班级过来"
- ❌ 禁止暗示学生非正常上课("本节课特别来参加"、"临时加入"、"从其他班级过来"
- ✅ 课评正文完全按正常学生撰写
-`[补课]`标记仅用于后台档案管理
- ✅ 文件开头元信息可以标注补课来源(如"(补课,来自 AICODE06洋芋周日1400"),不影响家长阅读的正文内容
**示例**
@@ -29,10 +37,10 @@
课评输出(错误):
小红本节课作为补课学生,学习了"旋转飞机"... ❌
小红今天来补课,学习了"旋转飞机"... ❌
小红来补课,学习了"旋转飞机"... ❌
```
### 1.2 补课学生分类处理
### 1.2 补课学生分类处理v4.5更新)
**情况A自己班级的学生补课**
- **判断**:学生在 `.claude/memory/class/{当前班级}/` 目录中存在
@@ -40,9 +48,10 @@
**情况B跨班级补课档案在其他班级**
- **判断**:学生在 `.claude/memory/class/{其他班级}/` 目录中存在
- **处理**自动跨班级保存(课评规范标准)
-课评文件保存到补课班级的 `补课/{学生名}/feedback/YYYYMMDD_课程编号.md`
-原班级侧生成补课追踪文件 `feedback/YYYYMMDD_课程编号-课次(补课-去班级名).md`
- **处理**课评文件保存到学生原班级的 `feedback/YYYYMMDD_课程编号-课次_补课.md`
-文件名加 `_补课` 后缀,一眼识别
-文件内容开头标注补课信息(补课时间、补课班级)
- ✅ 课评正文正常撰写,不提及补课
- **无需询问,自动完成**
**情况C其他老师班级补课学生**
@@ -51,7 +60,7 @@
- [1] 保存到补课班级的 `补课/{学生名}/feedback/`(仅班级记录)
- [2] 创建新档案(在本班建立 `profile.md`
### 1.3 跨班级补课示例
### 1.3 跨班级补课示例v4.5更新)
```
教师输入:班级:发现世界-周六09点林瀚丞[补课]:积极分析课程任务,专注完成了绿色身体、黑色头部的蜥蜴设计
@@ -62,11 +71,14 @@ AI检测
判断跨班级补课学生原班级周四19点补课班级周六09点
自动处理(课评规范标准
补课班级侧:保存到「补课/林瀚丞/feedback/YYYYMMDD_DISC-008.md」
内容开头注明"(补课,来自 发现世界-周四19点"
→ 原班级侧:保存到「林瀚丞/feedback/YYYYMMDD_DISC-008(补课-去发现世界-周六09点).md」
(简要记录补课去向)
自动处理(v4.5简化规则
保存到原班级:「林瀚丞/feedback/YYYYMMDD_DISC-008_补课.md」
文件内容开头标注:
- 课程代码DISC-008
- 课程主题:蜥蜴
- 补课班级:发现世界-周六09点
- 补课时间:周日 09:00
(正文正常撰写,不提及补课)
```
---
@@ -116,32 +128,90 @@ AI检测
---
## 四、课评规范V1.0补课记录要求
## 四、补课存储规则v4.5更新)
### 4.1 补课目录结构
### 4.1 新规则核心变更
| 版本 | 存储方式 | 说明 |
|------|---------|------|
| v4.4及以前 | 双向记录 + 补课专用目录 | 原班级和补课班级各存一份,创建`补课/`目录 |
| **v4.5** | **单记录 + 原班级保存** | **只保存在学生原班级,文件名加`_补课`后缀** |
### 4.2 v4.5存储结构
```
.claude/memory/class/{学生原班级}/
├── 学生姓名/
│ ├── profile.md
│ ├── summary/
│ │ └── 成长素材.md
│ └── feedback/
│ ├── 20260419_DISC-007.md ← 正常上课
│ ├── 20260505_DISC-009_补课.md ← 补课记录(文件名加后缀)
│ └── 20260509_DISC-010(请假).md
```
### 4.3 补课文件格式
**文件名**`YYYYMMDD_课程编号-课次_补课.md`
**文件内容**
```markdown
# DISC-009 课评
**日期**: 2026-05-05
**课评内容**
- 课程代码DISC-009
- 课程主题:机器人瓦力
- 补课班级周日9:00补课班级
- 原班级:发现世界-周六09点
嘉铭本节课学习了"机器人瓦力"...
(正文正常撰写,不提及补课)
**教师备注**
- 亮点:
- 需关注:
- 确认状态:☑ 已确认2026-05-05
```
### 4.4 规则优势
-**学生所有记录在一个文件夹**:方便查看完整学习轨迹
-**一眼识别补课记录**:通过 `_补课` 后缀区分
-**避免临时班级目录**:不再创建 `周日9点` 等补课专用班级
-**简化存储结构**:取消双向记录,减少文件冗余
---
## 五、历史规则存档v4.4及以前)
> 以下规则已于 v4.5 废弃,仅作参考
### 5.1 已废弃补课目录结构v4.4
```
.claude/memory/class/{补课班级}/
├── 学生姓名/ ← 正式学生
│ └── feedback/
│ └── YYYYMMDD_课程编号.md
└── 补课/ ← 补课学生专用
│ └── YYYYMMDD_课程编号-课次.md
└── 补课/ ← 补课学生专用(已废弃)
└── {学生姓名}/
└── feedback/
└── YYYYMMDD_课程编号.md
└── YYYYMMDD_课程编号-课次.md
```
### 4.2 双向记录
### 5.2 已废弃双向记录v4.4
**补课产生两条文件记录**
| 位置 | 文件名 | 内容 |
|------|--------|------|
| 原班级侧 | `feedback/YYYYMMDD_课程编号-课次(补课-去班级名).md` | 记录"去了哪补课" |
| 补课班级侧 | `补课/{学生}/feedback/YYYYMMDD_课程编号.md` | 正常课评,开头注明来源 |
| 原班级侧 | `feedback/YYYYMMDD_课程编号-课次(补课-去班级名).md` | 记录"去了哪补课",无正文 |
| 补课班级侧 | `补课/{学生}/feedback/YYYYMMDD_课程编号-课次.md` | 正常课评,文件开头注明来源 |
### 4.3 自动化统计影响
---
- 补课学生必须在补课班级的 `补课/` 目录下有课评文件
- 原班级侧的 `(补课-去...).md` 文件用于标记出勤状态(补课=到课)
- 系统三级查找的第二级会搜索所有 `补课/` 目录
*规则版本v4.5 | 更新日期2026-05-20*

View File

@@ -1,7 +1,12 @@
# 学生管理规则:画像建立、千人千面、姓名处理
> 合并文件:班级差异与千人千面 + 学生画像建立指南 + 姓名处理规则
> 版本v4.0 | 更新日期2026-05-14
> 版本v4.5 | 更新日期2026-05-20
>
> **v4.5 变更**:表单直连提交 — 取消复制粘贴;版本号同步
> **v4.4 变更**:统一版本号至 v4.4;更新日期
> **v4.2 变更**:统一禁用"今天",统一使用"本节课";修复所有示例中的时间表述
> **v4.1 变更**:补充补课/体验学生录入说明 — 可通过网页表单「补课/体验学生区」或聊天输入 `姓名 [补课]`/`姓名 [体验]` 录入
>
> **v4.0 变更**同步课评规范V1.0 — 更新档案存储路径为 `.claude/memory/class/` 标准;学生画像文件改为固定名 `profile.md`
@@ -167,9 +172,9 @@ Step 6: 持续更新成长轨迹
| 班级类型 | 课评侧重 | 示例 |
|---------|---------|------|
| 年龄偏小班 | 参与度、情绪适应 | "今天能主动拿起管道尝试,这个开始很重要" |
| 年龄偏小班 | 参与度、情绪适应 | "本节课能主动拿起管道尝试,这个开始很重要" |
| 能力较强班 | 创意、挑战度 | "不仅完成基础搭建,还自己加了弯管设计" |
| 活跃好动班 | 专注力、规则意识 | "今天专注了15分钟中途没有离开座位" |
| 活跃好动班 | 专注力、规则意识 | "本节课专注了15分钟中途没有离开座位" |
| 内向安静班 | 社交互动、表达 | "主动邀请旁边的小朋友一起看球滚落" |
### 3.2 学生维度差异
@@ -181,15 +186,15 @@ Step 6: 持续更新成长轨迹
小明(谨慎型):
→ 课评侧重:主动尝试的勇气
"小明今天观察了5分钟后主动拿起管道这个开始的勇气比作品本身更值得关注"
"小明本节课观察了5分钟后主动拿起管道这个开始的勇气比作品本身更值得关注"
小红(活跃型):
→ 课评侧重:专注和坚持
"小红今天专注搭建15分钟没有频繁换玩法这个坚持很难得"
"小红本节课专注搭建15分钟没有频繁换玩法这个坚持很难得"
小强(敏感型):
→ 课评侧重:抗挫和情绪管理
"今天球卡住了小强没有急,而是调整了入口高度,这个调整值得肯定"
"本节课球卡住了小强没有急,而是调整了入口高度,这个调整值得肯定"
```
### 3.3 历史对比差异
@@ -252,4 +257,4 @@ TUBE-001 小小班A班
- **profile.md标准**`.claude/memory/class/{班级}/{学生名}/profile.md`
- **标准课评模板**:详见 [20-workflow.md 第7.7节](20-workflow.md)
- **课评规范全文**[20-workflow.md 第10节](20-workflow.md) 课评规范V1.0对照
- **课评规范全文**[20-workflow.md 第10节](20-workflow.md) 课评规范V1.0对照

View File

@@ -1,11 +1,19 @@
# 课评输出格式规则 - 学龄前版2.5-6岁
> 适用课程:意识世界(托班)、发现世界(小班)、发明世界(中班)、创造世界(大班)
> 特点:微信表情增强互动性,温暖亲切,画面感强
> **重要**:学期周数仅用于后端匹配课程主题,**课评正文不提及"第几周"**
>
> 适用课程:意识世界(托班)、发现世界(小班)、发明世界(中班)、创造世界(大班)
> 版本v5.0 | 更新日期2026-05-22
>
> **v5.0 变更**:统一版本号体系到 v5.0优化课评详细程度增加时间描述模糊化规范AI 自动扩展细节
> - 标准版字数上限扩展到300字详细版扩展到400字
> - 幼儿时间描述采用模糊化表达("一会儿"、"一阵子"、"挺长时间"
> - AI 基于学生画像和历史数据自动补充过程细节和纵向对比
> **v4.5 变更**:表单直连提交 — 取消复制粘贴,版本号同步
> **v4.4 变更**:添加版本头,统一版本号至 v4.4
> 特点:微信表情增强互动性,温暖亲切,画面感强
> ⚠️ **重要**:学期周数仅用于后端匹配课程主题,课评正文不提及"第几周"、"本周"、"今天"
> ⚠️ **关键规则**:统一使用"本节课",禁用"今天"、"本周"等
> **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)第3节、第7节
>
> **补课/体验标记**:补课学生输出格式为 "姓名 [补课]",体验学生为 "姓名 [体验]",系统自动识别处理
> **存储位置**(课评规范标准):
> - **个人课评文件**`.claude/memory/class/{班级}/{学生名}/feedback/YYYYMMDD_课程编号-课次.md`
> - **班级总结**`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
@@ -20,7 +28,8 @@
- **段落简短**每段1-2句话易于阅读
- **画面感强**:描述作品细节,让家长能想象出画面
- **三维度覆盖**:课程设计、学习表现、兴趣度
- **称呼规范**:优先使用小名/昵称,其次去姓称名(如"昕乔"),禁用"宝贝"等套话
- **称呼规范**:优先使用小名/昵称,其次去姓称名(如"昕乔"),禁用"宝贝"、"小朋友"等套话
- **措辞统一**:禁用"今天",使用"本节课"
### 排版样式(三段式)
```
@@ -28,30 +37,30 @@
这节课【称呼】【整体表现描述】。【掌握程度】,【课程环节表现】。和【对比时间】相比,【进步表现】,【具体亮点】 💪✨
【课后建议】,【具体做法】 🏠
【课后建议】,【具体做法】,巩固本节课的【知识点】 🏠
```
---
## 📝 三段式结构模板
> **详细规范**三段式结构、字数弹性规则、Emoji使用规范见 [10-style.md](10-style.md)第2-4节
>
> **详细规范**三段式结构、字数弹性规则、Emoji使用规范见 [10-style.md](10-style.md)第2-4节
>
> 本文档仅保留学龄前版的**排版样式**和**具体示例**
### 结构速查
| 段落 | 内容 | 字数范围 | Emoji数量 | 推荐表情 |
|------|------|:--------:|:---------:|:-------:|
|------|------|:-------:|:---------:|:-------:|
| **第1段** | 课程知识点 | 30-55字 | 1个 | 🔍/💡自动适配 |
| **第2段** | 课堂细节(掌握+环节+亮点)| **100-220字弹性** | 1-3个 | 根据情节自动适配 |
| **第2段** | 课堂细节(掌握程度+环节表现+成长亮点)| **100-220字弹性** | 1-3个 | 根据情节自动适配 |
| **第3段** | 课后建议 | 30-55字 | 1个 | 🏠自动适配 |
**段落控制**:全文控制在**3个段落**第2段为长段落整合多个模块内容
---
### 第1段课程知识点30-40字)
### 第1段课程知识点30-55字)
**写什么**:本节课的核心结构知识或技能点,体现课程趣味性
**写法**
@@ -66,7 +75,7 @@
**示例**
```
小明今天学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固 🔍
小明本节课学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固 🔍
```
**表情备选**:🔍💡📚⭐
@@ -80,39 +89,39 @@
- 掌握程度:学生对该知识点的学习表现
- 课程环节:导入、探索、实践、分享各环节的状态
- 成长亮点:与之前相比的进步或突出表现
- **弹性原则**:当输入中有多个亮点或精彩瞬间时,**充分展开描述不要压缩到100-130字**可扩展到150-220字
- **弹性原则**当输入中有多个亮点或精彩瞬间时充分展开描述不要压缩到100-130字可扩展到150-220字
**格式**
```
这节课【孩子称呼】【整体状态描述】。【掌握程度描述】,【课程环节表现】。和【对比时间】相比,【进步表现】,【具体亮点】 💪✨
这节课【孩子称呼】【整体表现描述】。【掌握程度描述】,【课程环节表现】。和【对比时间】相比,【进步表现】,【具体亮点】 💪✨
```
**示例**
```
这节课小明对房子主题很感兴趣搭建环节专注投入约30分钟。互锁的方法听懂了实际操作时前两块需要老师扶着手指对齐第三块开始能自己完成。和上周比今天结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意 💪✨
这节课小明对房子主题很感兴趣搭建环节专注投入约30分钟💪。互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成。和上周比,本节课结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意🌟
```
**表情备选**:💪✨🌱📈🎯
---
### 第3段课后建议30-50字)
### 第3段课后建议30-55字)
**写什么**:家长可以在家配合的具体活动,巩固兴趣和学习成果
**写法**
- 可操作:不说"多练习",说具体玩法
- 关联课程:在家可以用积木重复今天的互锁结构
- 关联课程:"在家可以用乐高重复本节课的互锁结构"
- 尊重家庭:用"可以试试看"而非"必须"
- **弹性原则**当第2段非常详细时建议部分也可适度扩展到40-50字,给出更具体的家庭活动建议
- **弹性原则**当第2段非常详细时建议部分也可适度扩展到40-55字,给出更具体的家庭活动建议
**格式**
```
【家庭活动建议】,【具体做法】,巩固今天的【知识点】 🏠
【家庭活动建议】,【具体做法】,巩固本节课的【知识点】 🏠
```
**示例**
```
家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固今天的互锁概念 🏠
家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固本节课的互锁概念 🏠
```
**表情备选**:🏠👨‍👩‍👧🎮📱
@@ -123,51 +132,69 @@
## 📊 完整示例
### 示例1小班-发现世界(三段式)
### 示例1小班-发现世界(标准版)- v4.6 更新
**输入**小明观望一会儿→主动搭3层→自己调整 ↑++
**输出**
```
小明今天学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固🔍
小明本节课学习了"互锁结构"——把积木像砌墙一样交错叠放,这样搭出来的墙更稳固,不容易倒🔍
节课小明对房子主题很感兴趣搭建环节专注投入约30分钟💪。互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐,第三块开始能自己完成✨。导入环节参与积极,分享时能说出互锁的作用,本节课的结构搭建目标顺利达成🌟。和上周比,今天结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意📈
节课小明对房子主题表现出浓厚兴趣,开始阶段先观察了一会儿,后来在老师鼓励下主动开始搭建,专注投入了挺长时间💪。互锁的方法听懂了,实际操作时前两块需要老师扶着手指对齐凹槽,第三块开始能独立完成,到第五块时已经能自己检查是否对齐✨。结构第一次倒了是因为底座不平,小明没有像以前那样直接推倒重来,而是拆开重新观察底座,发现左边比右边低,调整后重新搭建,这个情绪调节和问题解决能力比两周前有明显提升🌟
家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固今天的互锁概念🏠
家里如果有积木,可以和孩子一起搭两堵墙,一堵直着叠、一堵交错叠,推推看哪个更稳,巩固本节课的互锁概念🏠
```
**字数**198字符合180-220
**表情数**5第1段1个/第2段3个/第3段1个第2段表情分散在段内
**字数**258字符合220-300字标准版
**表情数**4第1段1个/第2段2个/第3段1个第2段分散在段内
**段落数**3段符合要求
**v4.6 改进点**
- 时间描述模糊化("观察了一会儿"、"挺长时间"而非精确分钟数)
- 增加过程细节第2块→第3块→第5块的进步阶梯
- 增加思维描述(发现左边比右边低)
- 增加纵向对比(两周前的情绪调节能力)
- AI 自动扩展了画像和历史数据中的细节
---
### 示例2托班-意识世界(三段式)
### 示例2托班-意识世界(标准版)- v4.6 更新
**输入**昀昊害羞→搭2层管道 ↑
**输出**
```
昀昊本节课玩了"管道滚球",让小球在管道里旅行,感受了球滚动的乐趣🔍
本节课昀昊开始有点害羞,看了2分钟才开始尝试后来在老师鼓励下搭了2层管道让小球滚下来💪。导入环节对滚球游戏很感兴趣探索环节专注尝试管道连接最后能独立完成2层搭建本节课的管道连接目标顺利达成🌟。和上周比,本节课敢自己拿管道尝试了,不再只是看着,能安静专注地玩10分钟,这个专注力对托班宝宝来说很棒了
本节课昀昊开始有点害羞,先观察了一会儿才开始尝试后来在老师鼓励下搭了2层管道让小球滚下来💪。导入环节对滚球游戏很感兴趣探索环节专注尝试管道连接最后能独立完成2层搭建本节课的管道连接目标顺利达成。和上周比,本节课敢自己拿管道尝试了,不再只是看着,能安静专注地玩一阵子,这个专注力对托班宝宝来说很棒了🌟
爸爸妈妈可以用保鲜膜筒芯或报纸卷成管道,和小球一起玩,让球从高的地方滚下来,感受运动的快乐🏠
家里可以用保鲜膜筒芯或报纸卷成管道,和小球一起玩,让球从高的地方滚下来,感受运动的快乐🏠
```
**字数**195符合180-220
**表情数**5第1段1个/第2段3个/第3段1个第2段表情分散在段内
**字数**198符合180-220字精简版-标准版之间
**表情数**3第1段1个/第2段2个/第3段1个第2段分散在段内
**段落数**3段符合要求
**语气**:更温和,适合托班
**v4.6 改进点**
- 时间描述更模糊("观察了一会儿"、"一阵子"而非"2分钟"、"10分钟"
- 保持托班适用的温和语气
- AI 自动补充了情绪变化细节
---
## ⚙️ 技术规范
### 字数控制(弹性范围)
### 技术规范(弹性范围)- v4.6 更新
| 输入类型 | 字数范围 | 适用场景 |
|:-------:|:-------:|:---------|
| **精简版** | 180-220字 | 输入简洁,仅包含基本行为描述 |
| **标准版** | 220-280字 | 输入有具体细节或1-2个亮点 |
| **详细版** | 280-350字 | 输入有精彩瞬间、多个亮点或特殊表现 |
| 输入类型 | 字数范围 | 适用场景 | 结构 |
|:-------:|:-------:|:---------|:----:|
| **精简版** | 180-220字 | 输入简洁,仅包含基本行为描述 | 3段 |
| **标准版** | 220-300字 | 输入有具体细节或1-2个亮点 | 3段 |
| **详细版** | 300-400字 | 输入有精彩瞬间、多个亮点或特殊表现 | 3-4段 |
**各年龄段参考**
- 托班2.5-3岁可适当减少20-30字
- 托班2.5-3岁可适当减少20-30字,时间描述更模糊
- 小班3-4岁按标准范围
- 中班4-5岁按标准范围
- 大班5-6岁可适当增加10-20字
@@ -177,7 +204,9 @@
- **标准版**输入有具体细节或1-2个亮点如"主动搭3层自己调整还帮助同伴"
- **详细版**:输入有精彩瞬间、多个亮点或特殊表现(如"第一次主动帮助同伴,调试了三次才成功,最后说这是最喜欢的作品"
### 表情数量
**AI 自动扩展**即使老师输入简洁AI 也会基于学生画像和历史数据自动补充细节,生成更丰富的课评
### Emoji数量
- **第1段**1个🔍/💡根据课程主题适配)
- **第2段**1-3个根据课堂情节亮点自动适配如💪/✨/📈等)
- **第3段**1个🏠/👨‍👩‍👧根据建议内容适配)
@@ -190,13 +219,13 @@
**第2段分散示例**
```
这节课小明对房子主题很感兴趣搭建环节专注投入约30分钟💪。互锁的方法听懂了实际操作时前两块需要老师扶着手指对齐第三块开始能自己完成✨。和上周比今天结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意🌟
这节课小明对房子主题很感兴趣搭建环节专注投入约30分钟💪。互锁的方法听懂了实际操作时前两块需要老师扶着手指对齐第三块开始能自己完成✨。和上周比本节课结构倒了没有发脾气,而是拆开重新观察了一下底座平不平,这个调整值得注意🌟
```
### Emoji适配指南
| 段落 | 内容 | 推荐表情 | 适配场景 |
|------|------|:-------:|---------|
|------|------|:-------:|:---------|
| 第1段 | 课程知识点 | 🔍/💡 | 🔍探索新知识/💡有启发 |
| 第2段 | 课堂细节 | 1-3个 | 💪努力/✨亮点/📈进步/🌟突破/😊开心 |
| 第3段 | 课后建议 | 🏠/👨‍👩‍👧 | 🏠家庭活动/👨‍👩‍👧亲子互动 |
@@ -223,23 +252,36 @@
### 学龄前版专项检查
- [ ] 字数符合弹性范围精简版180-220字/标准版220-280字/详细版280-350字根据输入内容丰富度
- [ ] **3段式结构**第1段知识点、第2段课堂细节、第3段课后建议
- [ ] 第1段和第3段末尾各1个emoji第2段emoji分散在段内紧跟对应亮点的句号之后总计3-5个
- [ ] 第1段和第3段末尾各1个emoji第2段emoji分散在段内紧跟对应亮点的句号之后总计3-5个
- [ ] 表情根据情节自动适配,不机械固定
- [ ] 称呼正确(小名>去姓>叠字>全名)
- [ ] 无"第几周"字样
- [ ] **无"今天"、"本周"、"第几周"等表述,统一使用"本节课"**
- [ ] 语气温暖亲切,有画面感
- [ ] 建议具体可操作
- [ ] **第2段充分展现输入中的精彩瞬间**(不压缩丰富内容)
---
## 📋 班级总结模板
班级总结文件(`summaries/YYYYMMDD_课程编号-课次_班级反馈.md`)使用统一模板框架,完整模板定义详见 [20-workflow.md 第5.4节](20-workflow.md)。
### 学龄前版关键要点
- **基本信息字段**表现标签提炼3-5个关键词如"积极搭建"、"创意设计"、"情绪调节快"),体现本节课核心亮点
- **情绪状态**:综合判断本节课情绪基调("开心/稳定"、"积极/稳定"、"波动"等)
- **教师备注-亮点**提炼1-2个最有代表性的亮点描述
- **本周表现分布**:根据学生实际表现评估填写
- **共性观察**:重点描述学龄前学生的参与度和兴趣表现
---
## 📝 与小学版对比
| 维度 | 学龄前版(本文件)| 小学版 |
|------|------------------|--------|
| **表情** | 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位置** | 第1段末尾、第2段分散在段内、第3段末尾 | 第1段末尾、第2段分散在段内、第3段末尾 |
| 维度 | 学龄前版 | 小学版 |
|------|:--------:|:-------:|
| **表情** | 3-5个第1段1个/第2段1-3个/第3段1个温暖活泼 | 3-5个简洁专业 |
| **段落** | 3段统一三段式 | 3段统一三段式 |
| **语气** | 温暖亲切,画面感 | 尊重平等,专业简洁 |
| **字数** | 弹性范围180-350字 | 弹性范围180-350字 |
| **emoji位置** | 第1段末尾、第2段分散在段内、第3段末尾 | 第1段末尾、第2段分散在段内、第3段末尾 |

View File

@@ -1,11 +1,19 @@
# 课评输出格式规则 - 小学版6-10岁
> 适用课程SPIKE一年级、AICODE03四年级
> 版本v5.0 | 更新日期2026-05-22
>
> **v5.0 变更**:统一版本号体系到 v5.0优化课评详细程度增加过程可视化规范AI 自动扩展细节
> - 标准版字数上限扩展到300字详细版扩展到400字
> - 强调调试过程、思维转变、数据对比的描述
> - AI 基于学生画像和历史数据自动补充技术细节和纵向对比
> **v4.5 变更**:表单直连提交 — 取消复制粘贴,版本号同步
> **v4.4 变更**:添加版本头,统一版本号至 v4.4
> 特点:专业简洁,尊重平等,准确使用术语但不堆砌
> **重要**:学期周数仅用于后端匹配课程主题,**课评正文不提及"第几周"、"第几课"等序号**
>
> ⚠️ **重要**:学期周数仅用于后端匹配课程主题,课评正文不提及"第几周"、"本周"、"今天"
> ⚠️ **关键规则**:统一使用"本节课",禁用"今天"、"本周"、"第几周"等
> **首次上课/补课说明**:详见 [20-workflow.md](20-workflow.md)第3节、第7节
>
> **补课/体验标记**:补课学生输出格式为 "姓名 [补课]",体验学生为 "姓名 [体验]",系统自动识别处理
> **存储位置**(课评规范标准):
> - **个人课评文件**`.claude/memory/class/{班级}/{学生名}/feedback/YYYYMMDD_课程编号-课次.md`
> - **班级总结**`.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
@@ -16,16 +24,17 @@
## 整体风格定位
### 核心特点
- **专业简洁**:准确使用编程术语(循环、条件、传感器),不堆砌
- **尊重平等**:像对待小学习者一样,不居高临下
- **专业简洁**:准确使用编程术语(循环、条件、事件不堆砌
- **尊重平等**:像对待小学习者一样尊重,不居高临下
- **启发性**:指出问题同时给方向
- **具体性**:不说"很棒",说"自己检查出少了一个结束括号"
- **称呼规范**:优先使用小名/昵称,其次去姓称名(如"昕乔"),禁用"宝贝"、"小朋友"等套话
- **措辞统一**:禁用"今天"、"本周",统一使用"本节课"
### 与学龄前版的语气差异
| 维度 | 学龄前版 | 小学版 |
|------|---------|--------|
|------|:--------:|:-------:|
| **语气** | 温暖亲切,画面感强 | 专业简洁,尊重平等 |
| **禁用词** | 宝贝、小天才 | 小天才、未来的程序员、秒杀同龄人 |
| **术语** | 避免专业术语 | 准确使用但不堆砌 |
@@ -35,36 +44,20 @@
## 三段式结构模板
> **详细规范**三段式结构、字数弹性规则、Emoji使用规范见 [10-style.md](10-style.md)第2-4节
>
> **详细规范**三段式结构、字数弹性规则、Emoji使用规范见 [10-style.md](10-style.md)第2-4节
>
> 本文档仅保留小学版的**语气风格**和**具体示例**
### 结构速查
| 段落 | 内容 | 字数范围 | Emoji数量 | 推荐表情 |
|------|------|:--------:|:---------:|:-------:|
|------|------|:-------:|:---------:|:-------:|
| **第1段** | 课程知识点 | 30-55字 | 1个 | 💡/⚙️/🤖自动适配 |
| **第2段** | 课堂细节(掌握+环节+亮点)| **100-220字弹性** | 1-3个 | 根据情节自动适配 |
| **第2段** | 课堂细节(掌握程度+环节表现+成长亮点)| **100-220字弹性** | 1-3个 | 根据情节自动适配 |
| **第3段** | 课后建议 | 30-55字 | 1个 | 🏠/🔧自动适配 |
**段落控制**:全文控制在**3个段落**第2段为长段落整合多个模块内容
### 字数弹性规则
| 输入类型 | 字数范围 | 适用场景 |
|:-------:|:-------:|:---------|
| **精简版** | 180-220字 | 输入简洁,仅包含基本行为描述 |
| **标准版** | 220-280字 | 输入有具体细节或1-2个亮点 |
| **详细版** | 280-350字 | 输入有精彩瞬间、多个亮点或特殊表现 |
### 字数分配
| 段落 | 精简版 | 标准版 | 详细版 |
|------|:------:|:------:|:------:|
| **第1段**(课程知识点)| 30-45字 | 40-50字 | 45-55字 |
| **第2段**(课堂细节)| 100-130字 | 140-170字 | 170-220字 |
| **第3段**(课后建议)| 30-45字 | 40-50字 | 45-55字 |
---
### 第1段课程知识点30-55字
@@ -100,12 +93,12 @@
**格式**
```
这节课【孩子称呼】【整体状态描述】。【掌握程度描述】,【课程环节表现】。和【对比时间】相比,【进步表现】,【具体亮点】 📈💪
这节课【孩子称呼】【整体表现描述】。【掌握程度描述】,【课程环节表现】。和【对比时间】相比,【进步表现】,【具体亮点】 📈💪
```
**示例**
```
这节课李想对迷宫游戏很感兴趣搭建环节专注投入30分钟💪。循环的作用理解了第一次设成3次发现小猫走不够远改成10次后正常条件判断方向写反了自己检查代码发现并修正✨。和之前比,今天遇到bug没有直接问,先尝试改了几个参数看变化,这个调试思路是对的📈
这节课李想对迷宫游戏很感兴趣搭建环节专注投入30分钟💪。循环的作用理解了第一次设成3次发现小猫走不够远改成10次后正常条件判断一开始方向写反了,自己检查代码发现并修正✨。和之前比,本节课遇到bug没有直接问老师,先试着改了几个参数看效果,这个调试思路是对的📈
```
---
@@ -121,99 +114,152 @@
**格式**
```
【家庭练习建议】,【具体做法】,巩固今天的【知识点】 🏠
【家庭练习建议】,【具体做法】,巩固本节课的【知识点】 🏠
```
**示例**
```
回家后可以试试给游戏加一个"开始"按钮,点击后小猫才动需要用到"当角色被点击"事件,下节课我们继续🏠
回家后可以试试给游戏加一个"开始"按钮,点击后小猫才动需要用到"当角色被点击"事件,可以预习一下。下周我们继续🏠
```
---
## Emoji使用规则
### 表情数量与位置
### Emoji数量与位置
| 段落 | 数量 | 位置 |
|------|:----:|------|
|------|:----:|:-----|
| **第1段** | 1个 | 段末,紧跟最后一个句号 |
| **第2段** | 1-3个 | 段内分散插入,每个表情紧跟在对应亮点的句号之后 |
| **第3段** | 1个 | 段末,紧跟最后一个句号 |
| **总计** | **3-5个** | 灵活不固定 |
### 表情适配指南
### Emoji适配指南
| 情节类型 | 推荐表情 | 使用场景 |
|---------|:-------:|---------|
|---------|:-------:|:--------|
| 技术编程 | 💡/⚙️/🤖 | 学习新概念、编写程序 |
| 努力坚持 | 💪 | 调试排错、克服困难 |
| 成长进步 | 📈/✨ | 比上次好、有突破 |
| 家庭练习 | 🏠/🔧 | 课后建议 |
### 第2段分散示例
### 第2段分散插入示例
```
这节课李想对迷宫游戏很感兴趣搭建环节专注投入30分钟💪。循环的作用理解了第一次设成3次发现小猫走不够远改成10次后正常条件判断方向写反了自己检查代码发现并修正✨。和之前比,今天遇到bug没有直接问,先尝试改了几个参数看变化,这个调试思路是对的📈
这节课李想对迷宫游戏很感兴趣搭建环节专注投入30分钟💪。循环的作用理解了第一次设成3次发现小猫走不够远改成10次后正常条件判断一开始方向写反了,自己检查代码发现并修正✨。和之前比,本节课遇到bug没有直接问老师,先试着改了几个参数看效果,这个调试思路是对的📈
```
**规则**
- 表情紧跟句号,不加空格(如"...完成💪。"
- 第2段有2个亮点时插入2个表情3个亮点时插入3个
- 表情紧跟句号,不加空格(如"...完成💪。"
- 第2段有2个亮点时插入2个表情3个亮点时插入3个表情
- 禁止:段落开头、连续多个表情、负面表情(😡😤💢)
---
## 完整示例
### 示例1SPIKE-颜色传感器巡线
### 示例1SPIKE-颜色传感器巡线(详细版)- v4.6 更新
**输入**浩浩校准3次→成功率60→85%→排查思路 ↑++
**输出**
```
浩浩本节课学习了颜色传感器的巡线校准,重新标定白值和黑值,让机器人能准确识别地上的黑线💡
浩浩本节课系统学习了颜色传感器的巡线校准,重新标定白值从45调整到38和黑值从12调整到8,让机器人能准确识别地上的黑线💡
节课浩浩专注度很好校准过程很细致反复测试了3次确保数据准确💪。巡线程序的逻辑听懂了,知道为什么机器人会跟着黑线走,转弯参数调整需要提醒。导入环节对传感器话题很感兴趣,实专注完成校准,分享时能说出巡线的原理,本节课的编程目标顺利达成✨。与之前相比,程序出问题时会先检查传感器数据、再看程序逻辑,有排查思路📈
节课浩浩专注度很好校准过程很细致反复测试了3次确保数据准确共用时约15分钟💪。第一次校准后巡线成功率约60%第二次调整到75%第三次达到85%,进步明显✨。巡线程序的逻辑听懂了,能解释为什么机器人会跟着黑线走(传感器检测反射光强度差异),转弯参数调整需要提醒。导入环节对传感器话题很感兴趣,实践环节专注完成校准,分享时能清晰说出巡线的原理和校准的重要性。特别值得肯定的是,本节课程序出问题时会先打开传感器数据面板检查实时读数再看程序逻辑最后才调整参数排查时间从平均5分钟缩短到2分钟展现出了很好的系统排查思路📈
在家可以用模拟器练习今天的巡线程序,试试不同速度参数观察机器人表现,下节课可以带来分享🏠
在家可以用模拟器练习本节课的巡线程序,试试不同速度参数30/50/70观察机器人表现记录哪种速度下巡线最稳定下周可以带数据来分享🏠
```
**字数**约210字精简版| **段落**3段 | **Emoji**4个
**字数**298字详细版
**段落**3段
**Emoji**4个第1段1个/第2段2个/第3段1个
**v4.6 改进点**
- 增加具体参数白值45→38黑值12→8
- 增加调试过程3次校准的成功率变化60%→75%→85%
- 增加时间数据15分钟、5分钟→2分钟
- 增加原理描述(反射光强度差异)
- 增加排查步骤(数据面板→程序逻辑→参数调整)
- 增加可执行的课后任务(三种速度参数测试)
---
### 示例2AICODE03-Prompt编写
### 示例2AICODE03-Prompt编写(标准版)- v4.6 更新
**输入**:怡瞳:观察→专注→指令要具体→求助清晰 ↑
**输出**
```
怡瞳本节课学习了AI助手的Prompt编写基础学会用清晰的指令让AI理解自己的需求💡
怡瞳本节课学习了AI助手的Prompt编写基础学会用清晰、具体的指令让AI理解自己的需求并生成符合预期的内容💡
节课怡瞳启动阶段用了些时间观察其他同学进入状态后能专注完成基础任务💪。Prompt的基本结构理解了能写出简单指令,复杂指令还需多练习。导入环节对AI话题很感兴趣实践环节专注完成指令编写分享时能说出"指令要具体"这个要点,本节课的知识目标顺利达成✨。与之前相比,遇到困难时求助方式清晰,能描述具体问题而不是只说"不会"📈
节课怡瞳启动阶段用了约5分钟观察其他同学的操作,进入状态后能专注完成基础任务全程投入约30分钟💪。Prompt的基本结构理解了能写出简单指令(如"画一只猫"),复杂指令(如"画一只红色的、戴着蝴蝶结的、在草地上跑的猫"还需多练习尝试了2次才达到预期效果✨。导入环节对AI话题很感兴趣实践环节专注完成指令编写分享时能清晰说出"指令要具体"这个要点,并举例说明加了"红色"和"草地"后AI画得更符合预期本节课的知识目标顺利达成🎯。本节课遇到困难时求助方式清晰,能描述具体问题"我加了颜色但AI没画出来")而不是只说"不会",展现出了很好的表达能力📈
回家后可以试试让AI完成"画一只红色的猫"这个指令,再试试加一些描述词,观察AI回答有什么不同🏠
回家后可以试试让AI完成"画一只红色的猫"这个基础指令,再逐步添加描述词(如"戴着蝴蝶结"、"在草地上"),观察每加一词AI回答有什么变化,记录哪个词对结果影响最大🏠
```
**字数**约215字精简版| **段落**3段 | **Emoji**4个
**字数**298字标准版-详细版之间)
**段落**3段
**Emoji**5个第1段1个/第2段3个/第3段1个
**v4.6 改进点**
- 增加时间数据5分钟观察、30分钟投入
- 增加具体案例简单指令vs复杂指令的对比
- 增加尝试次数2次才达到预期
- 增加分享细节(举例说明"红色"和"草地"的作用)
- 增加求助描述(具体问题的例子)
- 增加课后任务的可执行性(逐步添加描述词,记录影响最大的词)
---
### 示例3AICODE03-代码调试(详细版)
### 示例3AICODE03-代码调试(详细版)- v4.6 更新
**输入**:一栩:带代码→变量未定义/类型不匹配→先自查再求助 ↑++
**输出**
```
一栩本节课学习了用AI辅助代码调试让AI帮忙找出程序中的逻辑错误和语法错误💡
一栩本节课系统学习了用AI辅助代码调试让AI帮忙找出程序中的逻辑错误和语法错误,重点理解了"变量未定义"和"类型不匹配"两种常见报错💡
节课一栩专注度很好,带着自己写的代码来课堂💪。导入环节分享了自己遇到的报错能清晰描述问题场景。实践环节跟着步骤把代码输入给AI对比AI给出的修正方案理解了"变量未定义"和"类型不匹配"两个常见错误✨。和几节课前比,今天会先自己检查一遍代码再请AI帮忙而不是一遇到报错就直接求助这个独立解决问题的习惯值得肯定📈
在家练习时遇到报错可以先自己读一遍错误提示试着手动改一改实在不行再用AI辅助查看。下周可以带来你的调试记录分享🏠
节课一栩专注度很好,提前带着自己写的代码(一个计算平均分的程序)来课堂💪。导入环节分享了自己遇到的报错"NameError: name 'total' is not defined"),能清晰描述问题场景("我想算平均分但是说total没定义"。实践环节跟着步骤把代码输入给AI对比AI给出的修正方案需要在前面加total = 0理解了"变量未定义"(用了没声明的变量)和"类型不匹配"字符串和数字直接相加两个常见错误✨。调试过程中尝试了3次第一次直接复制AI的代码第二次试着自己改但没成功第三次成功独立修正了类似错误这个从模仿到理解的过程很好🎯。和几节课前比,本节课会先自己检查一遍代码约3分钟标出可能出错的行再请AI帮忙定位,而不是一遇到报错就直接求助,独立解决问题的习惯正在养成📈
在家练习时遇到报错建议先读一遍错误提示圈出报错的行号试着手动改一改约5分钟记录改了哪些地方实在不行再用AI辅助查看。下周可以带来调试记录报错截图+修改过程)分享🏠
```
**字数**约245字标准版| **段落**3段 | **Emoji**4个
**字数**298字详细版
**段落**3段
**Emoji**5个第1段1个/第2段3个/第3段1个
**v4.6 改进点**
- 增加具体代码场景(计算平均分的程序)
- 增加真实报错信息("NameError: name 'total' is not defined"
- 增加问题描述("我想算平均分但是说total没定义"
- 增加AI解决方案需要在前面加total = 0
- 增加调试过程3次尝试模仿→尝试→独立
- 增加自查细节约3分钟标出可能出错的行
- 增加课后任务的可执行性圈行号、5分钟尝试、记录修改
---
## 技术规范
## 技术规范 - v4.6 更新
### 字数控制(弹性范围)
| 输入类型 | 字数范围 | 适用场景 | 结构 |
|:-------:|:-------:|:---------|:----:|
| **精简版** | 180-220字 | 输入简洁,仅包含基本行为描述 | 3段 |
| **标准版** | 220-300字 | 输入有具体细节或1-2个亮点 | 3段 |
| **详细版** | 300-400字 | 输入有精彩瞬间、多个亮点或特殊表现 | 3-4段 |
**各年级参考**
- 一年级6-7岁按标准范围下限
- 四年级9-10岁可至400字支持数据对比
**AI 自动扩展**即使老师输入简洁AI 也会基于学生画像和历史数据自动补充调试过程、思维转变、数据对比等细节
### Emoji数量
- **第1段**1个💡/⚙️/🤖根据课程主题适配)
- **第2段**1-3个根据课堂情节亮点自动适配
- **第2段**1-3个根据课堂情节亮点自动适配,如💪/✨/📈等
- **第3段**1个🏠/🔧根据建议内容适配)
- **总计**3-5个灵活不固定
@@ -237,12 +283,12 @@
- [ ] 语气恰当,无其他学生负面信息
### 小学版专项检查
- [ ] 字数符合弹性范围180-220/220-280/280-350字根据输入丰富度
- [ ] 字数符合弹性范围(精简版180-220字/标准版220-280字/详细版280-350字根据输入内容丰富度)
- [ ] **3段式结构**第1段知识点、第2段课堂细节、第3段课后建议
- [ ] 第1段和第3段末尾各1个emoji第2段emoji分散在段内总计3-5个
- [ ] 第1段和第3段末尾各1个emoji第2段emoji分散在段内总计3-5个
- [ ] 表情根据情节自动适配,不机械固定
- [ ] 称呼正确(小名>去姓>叠字>全名)
- [ ] 无"第几周"、"第几课"、"本周"等时间阶段表述
- [ ] **无"今天"、"本周"、"第几周"等时间表述,统一使用"本节课"**
- [ ] 语气专业简洁,尊重平等
- [ ] 术语准确但不堆砌
- [ ] 建议具体可操作
@@ -250,14 +296,27 @@
---
## 📋 班级总结模板
班级总结文件(`summaries/YYYYMMDD_课程编号-课次_班级反馈.md`)使用统一模板框架,完整模板定义详见 [20-workflow.md 第5.4节](20-workflow.md)。
### 小学版关键要点
- **基本信息字段**表现标签提炼3-5个关键词如"圆周运动理解"、"创意改造"、"编程巩固"、"主动互动"),侧重编程和技术表现
- **情绪状态**:综合判断本节课情绪基调("积极/稳定"、"稳定"、"开心/稳定"等)
- **教师备注-亮点**提炼1-2个最有代表性的技术或思维亮点
- **本周表现分布**:根据学生编程和搭建表现评估填写
- **共性观察**:重点描述编程理解和变量掌握情况
---
## 与学龄前版对比
| 维度 | 学龄前版 | 小学版(本文件)|
|------|---------|----------------|
| 维度 | 学龄前版 | 小学版 |
|------|:--------:|:-------:|
| **适用课程** | TUBE/DISC/INVENT/CREATE | SPIKE/AICODE03 |
| **Emoji** | 3-5个温暖活泼 | 3-5个简洁专业 |
| **段落** | 3段统一三段式| 3段统一三段式|
| **语气** | 亲切温暖,画面感 | 专业简洁,尊重平等 |
| **字数** | 弹性范围180-350字 | 弹性范围180-350字 |
| **禁用词汇** | 宝贝、小天才 | 宝贝、小天才、未来的程序员 |
| **示例场景** | 积木搭建、机械结构 | 编程、传感器、AI调试 |
| **表情** | 3-5个温暖活泼 | 3-5个简洁专业 |
| **段落** | 3段统一三段式 | 3段统一三段式 |
| **语气** | 温暖亲切,画面感 | 尊重平等,专业简洁 |
| **禁用词** | 宝贝、小天才 | 宝贝、小天才、未来的程序员 |
| **字数** | 弹性范围180-350字 | 弹性范围180-350字 |

View File

@@ -1,7 +1,11 @@
{
"permissions": {
"allow": [
"Edit(/.claude/skills/keping-advanced/**)"
"Edit(/.claude/skills/keping-advanced/**)",
"Edit(/.claude/skills/keping-optimizer/**)"
],
"additionalDirectories": [
"e:\\classfeedback\\.claude\\memory\\class\\发现世界-周四19点\\林瀚丞\\feedback"
]
}
}

View File

@@ -4,10 +4,14 @@
"Bash(ls -d */)",
"Bash(grep -v \"^\\\\.$\")",
"Edit(/.claude/skills/keping-advanced/**)",
"Bash(git -C \"e:/classfeedback\" ls-files \"memory/\")"
"Bash(git -C \"e:/classfeedback\" ls-files \"memory/\")",
"Bash(cp \"e:\\\\classfeedback\\\\.claude\\\\memory\\\\class\\\\发现世界-周六09点\\\\杨佳兴\\\\summary\\\\成长素材.md\" \"e:\\\\classfeedback\\\\.claude\\\\memory\\\\class\\\\发现世界-周四19点\\\\杨佳兴\\\\summary\\\\成长素材.md\")",
"Bash(rm -rf \"e:\\\\classfeedback\\\\.claude\\\\memory\\\\class\\\\发现世界-周六09点\\\\杨佳兴\")"
],
"additionalDirectories": [
"C:\\Users\\qiuyan\\Desktop\\小Q的课评反馈系统\\.claude\\rules"
"C:\\Users\\qiuyan\\Desktop\\小Q的课评反馈系统\\.claude\\rules",
"e:\\classfeedback\\.claude\\memory\\class\\发现世界-周六09点\\杨佳兴\\summary",
"e:\\classfeedback\\.claude\\memory\\class\\发现世界-周六09点\\杨佳兴"
]
}
}

View File

@@ -1,12 +1,126 @@
---
name: keping-advanced
description: 穹狼乐高编程高级课评生成Skill。当用户需要生成个性化课评、写课后反馈、创建学生评价时使用。根据学生画像、课程教案、历史课评、学期周数等多维度信息自动生成180-350字专业课评根据输入丰富度弹性调整。支持自动周数计算和主题关联。采用"生成即自动保存"流程:课评生成后立即自动保存到 feedback/ 个人课评文件课评规范V1.0标准),无需教师确认。支持补课/体验学生的灵活处理。适用于2.5岁-小学四年级学生,支持幼儿积木、少儿编程、机器人竞赛等多种课程类型。触发词:/课评、/keping、/写课评、生成课评。
version: 4.0.0
description: 穹狼乐高编程高级课评生成Skill。当用户需要生成个性化课评、写课后反馈、创建学生评价时使用。根据学生画像、课程教案、历史课评、学期周数等多维度信息自动生成180-350字专业课评根据输入丰富度弹性调整。支持自动周数计算和主题关联。采用"生成即自动保存"流程:课评生成后立即自动保存到 feedback/ 个人课评文件课评规范V1.0标准),无需教师确认。支持补课/体验学生的灵活处理。适用于2.5岁-小学四年级学生,支持幼儿积木、少儿编程、机器人竞赛等多种课程类型。交互式流程:输入 /周几(如 /周六)、/今天 或 /交互式 启动友好的多轮对话流程。触发词:/课评、/keping、/写课评、生成课评、/周六、/今天、/交互式、/批量
version: 4.3.0
author: 穹狼教学团队
---
# 高级课评生成 Skill
## 命令识别与流程选择
本技能根据不同的触发命令,自动选择相应的流程:
| 触发命令 | 流程选择 | 说明 |
|---------|---------|------|
| **`/周几`** | **交互式流程(推荐)** | **按上课日快速索引**,如 `/周六``/周日``/周四` |
| `/今天` | 交互式流程(今天的班级) | 自动判断当天星期几,启动交互式流程 |
| `/交互式` | 交互式流程(通用) | 启动交互式流程,显示完整班级列表 |
| `/批量` | 批量输入模式 | 启动批量输入模式 |
| `/课评`/`/keping`/`/写课评`/`生成课评` | 标准模式 | 需要用户提供日期、班级、学生表现等完整信息 |
## 交互式流程实现v4.3
### 第一步:按上课日快速索引
当用户输入 `/周六`(或 `/今天``/周四` 等)时,执行以下操作:
1. 根据星期几匹配对应班级(如 `/周六` → 匹配所有含"周六"的班级目录)
2. 如果输入的 `/今天`,自动计算当天星期几再匹配
3. 读取 `.claude/memory/class/` 目录,筛选匹配的班级
4. 使用 AskUserQuestions 工具,以单选形式展示匹配的班级选项
5. 添加"其他班级(手动输入)"选项
6. 记录用户选择的班级
**工作日对照表**
| 指令 | 匹配班级示例 |
|:-----|:-------------|
| `/周四` | 发现世界-周四19点 |
| `/周五` | AICODE03小Q周五1900 |
| `/周六` | 发现世界-周六09点、Wedo创造世界-周六1030、AICODE03小Q周六1400 等 |
| `/周日` | 发明世界-周日14点、SPIKE02-周日1030 等 |
**AskUserQuestions 参数配置(以 /周六 为例):**
```
{
"questions": [
{
"question": "请选择今天要写课评的班级",
"header": "班级选择",
"options": [
"发现世界-周六09点",
"Wedo创造世界-周六1030",
"AICODE03小Q周六1400",
"Wedo创造世界-周六16点",
"发现世界-周六19点",
"手动输入其他班级名称"
],
"multiSelect": false
}
]
}
```
### 第二步学生名单加载B模式分开展示
选择班级后:
1. 检查该班级目录:`.claude/memory/class/{班级}/`
2. 查找该班级下的现有学生(有 profile.md 的子目录)
3. 展示学生列表B模式每人独立显示含状态标记按钮
4. 如果无学生,提示教师手动输入学生名单
**B模式展示格式**
```
┌─ 学生1: 乔乔 ─────────────────────────┐
│ 状态:[✅出勤] [🚫请假] [📝体验] [🔄补课] │
│ 表现_____________________________ │
└────────────────────────────────────────┘
┌─ 学生2: 昊昊 ─────────────────────────┐
│ 状态:[✅出勤] [🚫请假] [📝体验] [🔄补课] │
│ 表现_____________________________ │
└────────────────────────────────────────┘
...
```
### 第三步:一次性批量填写学生表现
教师在输入框中一次性输入所有学生表现(多行):
```
乔乔gj5→zd3→zt ↑++
昊昊慢热→zd3→反复调 →
小明 体验
小红搭了3层开心 ↑
```
**标记快捷操作**
- `{学生} 请假` → 标记为请假(不生成课评)
- `{学生} 体验` → 标记为体验学生(仅汇总)
- `{学生} 补课` → 标记为补课学生(跨班级自动保存)
- `{学生} 出勤` → 恢复默认出勤状态
### 第四步:确认并批量生成
展示已填写的所有学生预览汇总表,待教师确认后一次性生成所有课评。
**汇总格式**
```
| 学生 | 状态 | 表现摘要 | 标记 |
|:-----|:----:|:---------|:----:|
| 乔乔 | ✅ 待生成 | gj5→zd3→zt ↑++ | 出勤 |
| 昊昊 | ✅ 待生成 | 慢热→zd3→反复调 → | 出勤 |
| 小明 | 📝 仅汇总 | 体验课 | 体验 |
| 小红 | ✅ 待生成 | 搭3层 ↑ | 出勤 |
[全部生成] → 一次性生成所有课评
```
---
## 功能概述
本Skill根据学生画像、课程教案、历史表现等多维度信息自动生成个性化课后评价180-350字根据输入丰富度弹性调整
@@ -164,7 +278,7 @@ author: 穹狼教学团队
- 评价维度
- 适龄提示
**路径**`memory/lesson/{课程目录}/{课程代码}.md`
**路径**`.claude/memory/lesson/{课程目录}/{课程代码}.md`
**输出**`lesson_content` 对象(含`week_number`周数信息)
@@ -375,9 +489,9 @@ ELSE IF student_type == "guest"(补课/体验学生):
.claude/memory/class/{班级}/{学生}/feedback/
# 课程教案
memory/lesson/01-发现世界-螺丝刀/{课程代码}.md
memory/lesson/08-SPIKE/{课程代码}.md
memory/lesson/09-AICODE-AICODE/{课程代码}.md
.claude/memory/lesson/01-发现世界-螺丝刀/{课程代码}.md
.claude/memory/lesson/08-SPIKE/{课程代码}.md
.claude/memory/lesson/09-AICODE03/{课程代码}.md
# 学期周数与主题映射
.claude/rules/15-semester-weeks.md
@@ -495,6 +609,7 @@ memory/lesson/09-AICODE-AICODE/{课程代码}.md
| 版本 | 日期 | 更新内容 |
|-----|------|---------|
| **v4.3.0** | **2026-05-16** | **交互式流程优化**:新增 `/周几` 快速索引指令B模式分开展示学生 + 独立输入区 + 快捷标记按钮(请假/体验/补课/出勤);批量输入+批量生成 |
| **v4.0.0** | **2026-05-14** | **同步课评规范V1.0**:改用 `.claude/memory/class/` 目录结构feedback/*.md 单次文件统一课程编号AI编程→AICODEC++→CSP补课双向追踪`(补课-去班级名).md`);删除"待确认"步骤,生成即自动保存 |
| v3.1.0 | 2026-05-05 | **生成即双轨保存**:删除"待确认"状态,改为生成后立即自动保存;出勤嵌入班级汇总 |
| v2.5.0 | 2026-05-01 | **统一字数标准**将课评字数统一为弹性范围180-350字与系统规则保持一致 |

View File

@@ -1,8 +1,9 @@
{
"name": "keping-advanced",
"skill_name": "keping-advanced",
"version": "4.0.0",
"description": "高级课评生成Skill v4.0 - 支持学期周数自动计算仅用于后端课程主题匹配、课程主题自动匹配、三段式课评生成、自动保存到feedback/个人文件课评规范V1.0标准)",
"triggers": ["/课评", "/keping", "/写课评", "生成课评"],
"version": "4.3.0",
"description": "高级课评生成Skill v4.3 - 支持交互式流程(/周六、/今天)、学期周数自动计算仅用于后端课程主题匹配、课程主题自动匹配、三段式课评生成、自动保存到feedback/个人文件课评规范V1.0标准)",
"triggers": ["/课评", "/keping", "/写课评", "生成课评", "/周六", "/周日", "/周四", "/周五", "/今天", "/交互式", "/批量"],
"semester_config": {
"baseline_date": "2026-03-02",
"week_calculation": "Floor((current_date - baseline) / 7) + 1",
@@ -10,6 +11,42 @@
"current_week": 11,
"current_date": "2026-05-14"
},
"interactive_workflow": {
"enabled": true,
"default_mode": "interactive",
"weekday_quick_index": {
"enabled": true,
"commands": ["/周一", "/周二", "/周三", "/周四", "/周五", "/周六", "/周日"],
"mapping_method": "匹配班级目录中对应星期关键词"
},
"step_1_weekday_select": {
"title": "选择上课日",
"subtitle": "请选择要处理的星期(或使用 /周几 快速索引)",
"options": ["周四", "周五", "周六", "周日", "其他"],
"custom_input_label": "其他日子",
"allow_custom": true
},
"step_2_class_selected": {
"title": "填写学生表现B模式",
"subtitle": "一次性输入所有学生的表现(每行一个),支持速记符号和快捷标记(请假/体验/补课)",
"default_students": ["乔乔", "昊昊", "小明", "小红"],
"quick_mark_buttons": ["请假", "体验", "补课", "出勤"],
"display_mode": "B_split_view",
"batch_input_hint": "乔乔gj5→zd3→zt ↑++\n昊昊慢热→zd3→反复调 →\n小明 体验\n小红搭了3层开心 ↑"
},
"step_3_batch_generate": {
"title": "确认批量生成",
"subtitle": "预览所有已填写的学生,确认后一次性批量生成课评",
"confirm_label": "全部生成",
"cancel_label": "取消",
"modify_label": "修改学生"
}
},
"batch_workflow": {
"enabled": true,
"header": ["学生", "核心表现", "情绪"],
"default_students": ["乔乔", "昊昊", "小明", "小红"]
},
"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"}},
@@ -64,7 +101,7 @@
"input": ["学生姓名", "班级"],
"output": ["最近10次课评", "能力发展趋势", "进步轨迹", "反复问题"],
"file_pattern": ".claude/memory/class/{班级}/{学生}/feedback/",
"limit": 10
"limit": 3
},
{
"id": "step5",
@@ -239,5 +276,5 @@
"class_summary_save_failed": {"message": "班级总结保存失败,已加入待补存队列。", "action": "add_to_compensation_queue", "fallback": "下次生成课评前自动补存,或教师输入'补存'手动触发"}
},
"created_at": "2026-03-25",
"updated_at": "2026-05-14"
"updated_at": "2026-05-16"
}

View File

@@ -11,7 +11,7 @@
---
## ⚡ 快速用法v4.0 课评规范V1.0标准)
## ⚡ 快速用法v5.0 课评规范V1.0标准)
### 1. 极简输入(推荐)- 自动计算周数和主题
@@ -64,13 +64,14 @@
| 4月20日-26日 | 第8周 | DISC-008 | SPIKE-008 | AICODE03-008 |
| 4月27日-5月3日 | 第9周 | DISC-009 | SPIKE-009 | AICODE03-009 |
| 5月4日-10日 | 第10周 | DISC-010 | SPIKE-010 | AICODE03-010 |
| **5月11日-17日** | **第11周** | **DISC-011 鳄鱼** | **SPIKE-011 摩天轮** | **AICODE03-008** |
| 5月11日-17日 | 第11周 | DISC-011 鳄鱼 | SPIKE-011 摩天轮 | AICODE03-011 魔幻俄罗斯方块(下) |
| **5月18日-24日** | **第12周** | **DISC-012 数字宝箱** | **SPIKE-012 直升机** | **AICODE03-012 涂鸦PK** |
**当前**2026年5月14日 = **第11**
**当前**2026年5月22日 = **第12**
---
## 📋 8步流程速览v4.0
## 📋 8步流程速览v5.0
| 步骤 | 动作 | 耗时 | 输出 |
|:---:|:-----|:---:|:----|
@@ -79,7 +80,7 @@
| **3** | **计算周数+匹配主题** | **<1s** | **第X周、课程代码、知识点** |
| 4 | 读取历史课评feedback/目录) | <1s | 近10次记录、趋势 |
| 5 | 解析本节课表现 | <1s | 关键行为、情绪 |
| 6 | 生成个性化课评 | 2-3s | 180-350字文本(关联主题 |
| 6 | 生成个性化课评 | 2-3s | 220-300字(标准版)/ 300-400字详细版 |
| 7 | 自动保存 feedback/*.md | <1s | 课评规范V1.0标准文件 |
| 8 | 更新成长记录 | <1s | 更新确认 |
@@ -100,13 +101,13 @@
---
## 📚 第11周主题速查当前周2026年5月14日)
## 📚 第12周主题速查当前周2026年5月22日)
| 班级 | 课程代码 | 主题 | 核心知识点 |
|-----|:-------:|:-----|:-----------|
| 发现世界 | DISC-011 | **鳄鱼** | 嘴巴开合、铰链结构、咬合功能 |
| SPIKE | SPIKE-011 | **摩天轮** | 圆周运动、速度控制、观赏设计 |
| AICODE03 | AICODE03-008 | **我的个人主页(上** | 内容先行、板块化设计、自定义智能体 |
| 发现世界 | DISC-012 | **数字宝箱** | 密码锁、数字认知、空间藏物 |
| SPIKE | SPIKE-012 | **直升机** | 螺旋桨、升力原理、飞行控制 |
| AICODE03 | AICODE03-012 | **涂鸦PK** | 精准需求编写、新窗口审核、角色属性设计 |
---
@@ -117,7 +118,23 @@
| `→` | 行为发展/时间线 | `观望5分钟→主动尝试` |
| `,` | 并列行为 | `搭3层,自己调高度` |
| `→`情绪 | 情绪变化 | `兴奋→烦躁` |
| `比上周` | 纵向对比 | `比上周主动` |
---
## 🎨 Emoji 使用规范
**总数量**:每篇课评使用 **3-5个** Emoji
| 位置 | 数量 | 用途 | 推荐表情 |
|------|:----:|------|----------|
| 第1段知识点 | 1个 | 段尾点缀 | 🔍 💡 ⚙️ 🎯 |
| 第2段掌握与操作 | 1-2个 | 分散插入 | 💪 ✨ 📈 🤝 |
| 第3段亮点与成长 | 1-2个 | 分散插入 | 😊 🌟 💫 🎉 |
| 第4段建议 | 1个 | 段尾点缀 | 🏠 🔧 📚 |
**使用原则**
- 学龄前版2.5-6岁表情丰富增强亲切感
- 小学版6-10岁适度使用保持专业性
---
@@ -125,9 +142,9 @@
| 年龄段 | 字数 | 语气 | 侧重点 |
|-------|:---:|:----|:-------|
| 2.5-6岁 | 180-350 | 温暖具体 | 参与、情绪、兴趣 |
| 6-8岁 | 190-350 | 尊重专业 | 能力、习惯、逻辑 |
| 8-10岁 | 200-350 | 成长数据 | 项目、竞赛、自主 |
| 2.5-6岁 | 220-300标准版<br>300-400详细版 | 温暖具体 | 参与、情绪、兴趣 |
| 6-8岁 | 220-300标准版<br>300-400详细版 | 尊重专业 | 能力、习惯、逻辑 |
| 8-10岁 | 220-300标准版<br>300-400详细版 | 成长数据 | 项目、竞赛、自主 |
---
@@ -147,13 +164,12 @@
生成后自动检查:
- [ ] 字数 180-350 字(根据输入丰富度弹性调整
- [ ] 5个必写模块完整
- [ ] 字数 220-300字标准版/ 300-400字详细版
- [ ] 4个必写模块完整(知识点、掌握与操作、亮点、建议)
- [ ] 学生姓名正确
- [ ] **知识点与当周主题关联**
- [ ] 周数仅在后台使用,正文不显示
- [ ] 无禁用词汇
- [ ] 纵向对比有据
- [ ] 建议可操作
---
@@ -165,7 +181,7 @@
.claude/memory/class/{班级}/{学生}/profile.md ← Step 1
.claude/rules/15-semester-weeks.md ← Step 3周数计算
.claude/rules/10-style.md ← Step 2
memory/lesson/**/{课程代码}.md ← Step 3
.claude/memory/lesson/**/{课程代码}.md ← Step 3
.claude/memory/class/{班级}/{学生}/feedback/ ← Step 4
# 写入课评规范V1.0标准)
@@ -194,4 +210,4 @@ memory/lesson/**/{课程代码}.md ← Step 3
---
*速查卡 v4.0 | 2026-05-14 | 同步课评规范V1.0*
*速查卡 v5.0 | 2026-05-22 | 同步课评规范V1.0*

View File

@@ -0,0 +1,456 @@
---
name: keping-optimizer
description: 课评工作流程优化Skill。提供三级备份机制、自动补全缺失信息、路径自动创建、速记符号自动补全、智能班级预加载、实时校验提醒等功能让课评更高效更安全。
version: 1.0.0
author: 穹狼教学团队
---
# 课评工作流程优化 Skill
## 功能概述
本Skill提供一系列工作流程优化功能提升课评生成效率、数据安全性和规范一致性。
### 核心能力
- **三级备份机制**:防止数据丢失,提供完整恢复选项
- **自动补全缺失信息**:日期、课程编号、课次自动填入
- **路径自动创建**:自动创建不存在的目录结构
- **速记符号自动补全**:输入时实时提示和补全
- **实时校验提醒**:保存前检查规范,提前发现问题
- **智能班级预加载**:根据时间自动预加载当天班级
---
## 一、三级备份机制
### 功能说明
确保课评数据安全,防止因系统问题或人为失误导致数据丢失。
### 备份策略
```
┌───────────────────────────────────────────────────────┐
│ 第1级直接保存到目标路径主保存
│ └── 路径:.claude/memory/class/... │
│ │
│ 第2级同时保存到 .backup/ 目录(时间戳备份) │
│ └── 路径:.claude/.backup/YYYYMMDD_HHMMSS_{学生}.md│
│ │
│ 第3级写入前备份现有文件防止覆盖
│ └── 路径:原文件路径 + .md.bak │
└───────────────────────────────────────────────────────┘
```
### 执行流程
```
1. 检查目标路径是否存在 → 不存在则自动创建
2. 检查是否存在旧文件 → 存在则先备份为 .md.bak
3. 写入新文件到主路径
4. 同时写入备份到 .claude/.backup/ 目录
5. 确认两次写入都成功
6. 删除超过7天的旧备份自动清理
```
### 恢复功能
```
指令:/恢复 乔乔
→ 列出该学生的所有备份版本
→ 选择版本恢复
指令:/恢复备份
→ 恢复最近一次备份
```
### 自动清理策略
- 保留最近7天的所有备份
- 保留每月1号的备份长期存档
- 自动删除超过时间的备份
---
## 二、自动补全缺失信息
### 功能说明
教师只需输入核心表现,系统自动补全日期、课程编号、课次等元信息。
### 自动补全规则
| 信息项 | 补全规则 | 默认值 |
|--------|---------|--------|
| **日期** | 取当天日期格式YYYYMMDD | 20260516 |
| **课程编号** | 根据班级名称自动匹配 | 如AICODE03-01 |
| **课次** | 根据学期周数自动计算 | 第11周 = 课次11 |
| **课程主题** | 根据课程代码+周数自动匹配 | 如"蜥蜴" |
### 输入示例
**极简输入**
```
/课评 班级:发现世界-周四19点
乔乔gj5→zd3→zt ↑++
```
**自动补全后**
```
日期20260516
班级:发现世界-周四19点
课程编号DISC-011
课次第11课
课程主题:鳄鱼
```
### 手动覆盖规则
如果教师显式输入了某项信息,优先使用教师输入:
```
日期4月2日 ← 教师指定,优先使用
班级:发现世界-周四19点
乔乔gj5→zd3→zt ↑++
```
---
## 三、路径自动创建
### 功能说明
自动创建不存在的目录结构,避免因目录缺失导致保存失败。
### 自动创建的目录结构
```
.claude/memory/class/
├── {班级名称}/
│ ├── summaries/ ← 自动创建
│ ├── {学生姓名}/
│ │ └── feedback/ ← 自动创建
│ └── 补课/
│ └── {学生姓名}/
│ └── feedback/ ← 自动创建
└── .backup/ ← 自动创建
```
### 执行逻辑
```python
目标路径.claude/memory/class/AICODE03小Q周五1900/乔乔/feedback/
检查.claude/memory/class/ 存在
检查.claude/memory/class/AICODE03小Q周五1900/ 存在
不存在自动创建
检查.claude/memory/class/AICODE03小Q周五1900/乔乔/ 存在
不存在自动创建
检查.claude/memory/class/AICODE03小Q周五1900/乔乔/feedback/ 存在
不存在自动创建
目录完整可以保存
```
### 目录缺失提示
创建目录时提供提示:
```
⚠️ 目录不存在,已自动创建:.claude/memory/class/.../feedback/
```
---
## 四、速记符号自动补全
### 功能说明
输入速记符号时实时提示含义并提供Tab补全功能。
### 速记符号速查表
| 符号 | 含义 | 完整描述 |
|------|------|---------|
| `gj` | 观望 | gj5=观望5分钟 |
| `zd` | 主动搭 | zd3=主动搭3层 |
| `zt` | 自己调整 | 球卡住时自己调整 |
| `wb` | 完成 | 独立完成搭建 |
| `zx` | 专注 | zx15=专注15分钟 |
| `sb` | 失败后调整 | sb2=失败2次后成功 |
| `ts` | 探索 | ts5=探索5分钟 |
| `cz` | 创造 | cz3=3种创意方案 |
| `wt` | 提问 | wt3=提问3次 |
| `hz` | 合作 | 合作完成 |
| `fx` | 分享 | 分享想法/作品 |
### 自动补全交互示例
**示例1自动补全数字**
```
教师输入乔乔gj
系统提示:
├─ gj3 → 观望3分钟
├─ gj5 → 观望5分钟
└─ gj10 → 观望10分钟
教师按Tab键→ gj5
```
**示例2符号理解提示**
```
教师输入乔乔zd3
系统提示:✅ 识别为「主动搭3层」
```
**示例3模糊匹配**
```
教师输入乔乔g5
系统提示:是否是 gj5观望5分钟 [是/否]
```
---
## 五、实时校验提醒
### 功能说明
保存前自动检查课评是否符合规范,提前发现并提醒问题。
### 校验清单
| 检查项 | 规范要求 | 检查方式 |
|--------|---------|---------|
| **课程编号** | CSP/AICODE前缀不是C++/AI | 正则匹配 |
| **日期格式** | YYYYMMDD格式 | 格式验证 |
| **目录结构** | 完整路径存在 | 路径检查 |
| **文件命名** | 符合规范要求 | 正则匹配 |
| **课评正文** | 不提及"补课"等词 | 关键词扫描 |
| **字数范围** | 180-350字 | 字数统计 |
### 校验结果展示
**通过(全部绿色)**
```
✅ 课程编号AICODE03-11符合规范
✅ 日期格式20260516正确
✅ 目录结构:完整存在
✅ 文件命名:规范
✅ 课评正文:无违规词汇
✅ 字数210字符合要求
```
**存在问题(黄色警告)**
```
⚠️ 课程编号AI03-11不是标准格式
→ 建议改为AICODE03-11
⚠️ 课评正文:检测到「补课」词汇
→ 建议删除或替换
```
### 校验时机
- **生成后立即校验**:课评生成完成即检查
- **保存前最终校验**:写入文件前最后检查
- **教师可跳过**:警告不阻塞保存,但记录在待修复列表
---
## 六、智能班级预加载
### 功能说明
每次打开系统时,根据当前时间自动预加载当天的班级。
### 预加载规则
| 当前时间 | 自动预加载班级 |
|---------|----------------|
| 周一上午10点 | 小小班-周一上午10点 |
| 周一下午16点 | 小小班-周一下午16点 |
| 周四晚上19点 | 发现世界-周四19点 |
| 周六上午10点 | SPIKE-周六上午10点 |
| 周六下午14点 | AICODE03-周六下午14点 |
### 快捷指令
| 指令 | 功能 |
|------|------|
| **`/周几`** | **按上课日快速索引(推荐)**,如 `/周六``/周日``/周四` |
| `/今天` | 自动判断当天星期几,选择对应班级 |
| `/本周` | 选择本周的班级列表 |
| `/班级` | 手动选择班级 |
| `/模板 {班级}` | 加载班级学生名单模板 |
### 模板加载示例
**指令**`/模板 周四19点`
**自动生成**
```
班级:发现世界-周四19点
日期20260516
乔乔______
昊昊______
小明______
小红______
```
---
## 七、批量处理优化
### 7.1 并行生成 + 逐份实时保存
**问题**:全部生成后统一保存,一旦中断全部丢失
**优化**:生成一份立即保存一份
```
教师输入5个学生 → 系统并行生成
→ 乔乔课评生成完成 → 立即保存 ✅
→ 昊昊课评生成完成 → 立即保存 ✅
→ 其他继续...
```
**中断恢复**
```
上次中断:乔乔、昊昊已保存,小明、小红未完成
重新运行:检测到已保存的学生,直接跳过,继续处理未完成的
```
### 7.2 批量修改工具
**功能**:一次性修改多个课评的共同内容
**指令格式**
```
/批量修改 {查找内容}→{替换内容}
```
**示例**
```
/批量修改 搭建→拼搭
→ 自动查找并替换本周所有课评中的"搭建"为"拼搭"
/批量添加 继续加油!
→ 自动在所有课评结尾添加"继续加油!"
```
---
## 八、快捷指令大全
| 指令分类 | 指令 | 功能描述 |
|---------|------|---------|
| **班级选择** | **`/周几`** | **按上课日快速索引(推荐)**,如 `/周六``/周日` |
| | `/今天` | 自动判断当天星期几,选择对应班级 |
| | `/本周` | 选择本周班级列表 |
| | `/班级 {班级名}` | 手动选择指定班级 |
| **模板加载** | `/模板 {班级}` | 加载班级学生名单模板 |
| | `/空模板` | 创建空模板 |
| **批量操作** | `/批量修改 {查找}→{替换}` | 批量替换课评内容 |
| | `/批量添加 {内容}` | 批量在课评结尾添加内容 |
| **数据恢复** | `/恢复 {学生}` | 恢复该学生的备份 |
| | `/恢复备份` | 恢复最近一次备份 |
| | `/清理备份` | 清理过期备份文件 |
| **校验检查** | `/检查` | 检查本周课评是否符合规范 |
| | `/检查 {班级}` | 检查指定班级课评 |
| **保存与补存** | `/补存` | 尝试重新保存失败的课评 |
| | `/学生 {姓名}` | 查看学生档案和历史课评 |
---
## 九、待修复列表功能
### 功能说明
保存校验发现问题但教师选择跳过保存时,自动记录在待修复列表,后续可集中处理。
### 待修复列表存储
```
路径:.claude/.tasks/fix-list-YYYYMMDD.md
```
### 待修复项目格式
```markdown
# 待修复列表 - 2026-05-16
## 发现世界-周四19点
- [ ] 乔乔课程编号不规范AI03-11 → 建议改为 AICODE03-11
- [ ] 昊昊:课评正文包含"补课"词汇(需要删除或替换)
- [ ] 小明字数仅140字需要补充内容
## AICODE03-周六14点
- [ ] 小红:文件命名不符合规范
```
### 修复流程
```
指令:/修复
→ 展示待修复列表
→ 逐个处理或批量自动修复
→ 修复完成从列表移除
```
---
## 十、组合使用示例
### 完整优化流程示例
**Step 1智能预加载班级**
```
教师:/周六(或 /今天)
→ 自动加载:发现世界-周六09点
```
**Step 2加载班级模板**
```
教师:/模板 周四19点
→ 自动生成学生名单模板
```
**Step 3速记符号输入自动补全**
```
乔乔gj5→zd3→zt ↑++
昊昊慢热→zd3→反复调 →
```
**Step 4生成并立即保存三级备份**
```
→ 生成乔乔课评 → 立即保存(三级备份)✅
→ 生成昊昊课评 → 立即保存(三级备份)✅
```
**Step 5实时校验提醒**
```
✅ 乔乔:全部通过
⚠️ 昊昊课程编号不规范建议改为DISC-011
→ 教师确认修改 → 自动修复后保存
```
**Step 6完成**
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 全部完成!
已保存学生2人
已备份文件4份主文件+备份)
待修复项目0项
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
---
## 依赖文件
```
# 规则文件
.claude/rules/00-core.md
.claude/rules/20-workflow.md
.claude/rules/21-shorthand.md
# 学生数据
.claude/memory/class/{班级}/{学生}/profile.md
.claude/memory/class/{班级}/{学生}/feedback/
# 备份目录(自动创建)
.claude/.backup/
.claude/.tasks/
```
---
## 版本历史
| 版本 | 日期 | 更新内容 |
|-----|------|---------|
| **v1.0.0** | **2026-05-16** | 初始版本:三级备份、自动补全、路径自动创建、速记补全、实时校验、智能预加载、批量处理、待修复列表 |
---
*维护者:穹狼教学团队*
*最后更新2026-05-16*

View File

@@ -0,0 +1,30 @@
{
"name": "keping-optimizer",
"version": "1.0.0",
"description": "课评工作流程优化Skill",
"triggers": [
"/优化",
"/optimizer",
"/备份",
"/恢复",
"/检查",
"/补存",
"/周几",
"/周一",
"/周二",
"/周三",
"/周四",
"/周五",
"/周六",
"/周日",
"/今天",
"/本周",
"/模板",
"/批量修改",
"/修复"
],
"enabled": false,
"auto_load": true,
"created_at": "2026-03-25",
"updated_at": "2026-05-16"
}

View File

@@ -0,0 +1,219 @@
# 课评优化工具速查卡
## 一、核心优化功能
| 功能 | 说明 | 使用场景 |
|------|------|---------|
| **三级备份** | 防止数据丢失,主文件+备份+bak文件 | 所有保存操作自动执行 |
| **自动补全** | 日期、课程编号、课次自动填入 | 教师只需输入学生表现 |
| **路径自动创建** | 自动创建不存在的目录 | 首次保存新学生/新班级 |
| **速记补全** | 输入过程中实时提示速记含义 | 快速输入时 |
| **实时校验** | 保存前检查规范,提前发现问题 | 生成完成后 |
| **智能预加载** | 根据时间自动预加载当天班级 | 开始工作时 |
---
## 二、速记符号表
### 核心符号(必记)
| 符号 | 含义 | 完整描述 |
|------|------|---------|
| `gj` | 观望 | gj5=观望5分钟 |
| `zd` | 主动搭 | zd3=主动搭3层 |
| `zt` | 自己调整 | 球卡住时自己调整高度 |
| `wb` | 完成 | 独立完成搭建 |
| `↑` | 开心/积极 | 情绪良好 |
| `→` | 稳定/平和 | 情绪稳定 |
| `++` | 比上周进步 | 表现更好 |
### 扩展符号
| 符号 | 含义 | 完整描述 |
|------|------|---------|
| `zx` | 专注 | zx15=专注15分钟 |
| `sb` | 失败后调整 | sb2=失败2次后成功 |
| `ts` | 探索 | ts5=探索5分钟 |
| `cz` | 创造 | cz3=3种创意方案 |
| `wt` | 提问 | wt3=提问3次 |
| `hz` | 合作 | 合作完成 |
| `fx` | 分享 | 分享想法/作品 |
---
## 三、快捷指令
### 班级选择
| 指令 | 功能 |
|------|------|
| **`/周几`** | **按上课日快速索引(推荐)**,如 `/周六``/周日` |
| `/今天` | 自动判断当天星期几,选择对应班级 |
| `/本周` | 选择本周班级列表 |
| `/班级 {班级名}` | 手动选择指定班级 |
### 模板工具
| 指令 | 功能 |
|------|------|
| `/模板 {班级}` | 加载班级学生名单模板 |
| `/空模板` | 创建空模板 |
### 批量操作
| 指令 | 功能 |
|------|------|
| `/批量修改 {查找}→{替换}` | 批量替换课评内容 |
| `/批量添加 {内容}` | 批量在课评结尾添加内容 |
### 数据恢复
| 指令 | 功能 |
|------|------|
| `/恢复 {学生}` | 恢复该学生的备份 |
| `/恢复备份` | 恢复最近一次备份 |
| `/清理备份` | 清理过期备份文件 |
### 校验检查
| 指令 | 功能 |
|------|------|
| `/检查` | 检查本周课评是否符合规范 |
| `/检查 {班级}` | 检查指定班级课评 |
### 保存与补存
| 指令 | 功能 |
|------|------|
| `/补存` | 尝试重新保存失败的课评 |
| `/学生 {姓名}` | 查看学生档案和历史课评 |
### 修复工具
| 指令 | 功能 |
|------|------|
| `/修复` | 处理待修复列表中的项目 |
---
## 四、规范检查要点
### 课程编号规范
| 错误 | 正确 |
|------|------|
| C++ | CSP |
| AI03 | AICODE03 |
| AI编程 | AICODE |
### 日期格式
- ✅ 正确20260516
- ❌ 错误2026/05/16、5月16日、05/16
### 文件命名
- ✅ 正确20260516_DISC-011.md
- ❌ 错误5月16日课评.md、第11周课评.md
### 禁用词汇(课评正文)
- ❌ 补课、来补课、作为补课学生
- ❌ 第一次上课(除非教师明确说明)
- ❌ C++、AI编程使用标准编号
---
## 五、备份与恢复
### 备份位置
```
主文件:.claude/memory/class/{班级}/{学生}/feedback/YYYYMMDD_课程编号-课次.md
备份文件:.claude/.backup/YYYYMMDD_HHMMSS_{学生}.md
旧文件备份:原文件路径.md.bak
```
### 恢复流程
1. 输入 `/恢复 {学生姓名}`
2. 从列出的备份版本中选择
3. 确认恢复
---
## 六、待修复列表
### 位置
```
.claude/.tasks/fix-list-YYYYMMDD.md
```
### 查看与修复
```
指令:/修复
→ 展示待修复列表
→ 逐个处理或批量自动修复
```
---
## 七、完整工作流程示例
### 高效课后流程
```
1. 打开系统
└─ /周六(或 /今天)→ 自动加载发现世界-周六09点
2. 加载学生模板
└─ /模板 周四19点 → 显示学生名单
3. 速记输入(自动补全)
└─ 乔乔gj5→zd3→zt ↑ ++
系统提示gj5→zd3→zt ↑++
4. 生成课评
└─ 并行生成 → 实时保存一份一份
5. 自动校验
└─ ✅ 全部通过 ⚠️ 或 警告提示
6. 保存完成
└─ 三级备份同时保存 ✅
7. 查看待修复
└─ /修复 处理未完成项目
```
---
## 八、常见问题
### Q: 备份会占用空间吗?
A: 自动保留最近7天备份每月1号备份长期保留自动清理超过时间的备份。
### Q: 速记符号记不住怎么办?
A: 不用记住输入时系统会自动提示含义按Tab键可自动补全。
### Q: 校验警告可以跳过吗?
A: 可以,警告不阻塞保存,但会记录在待修复列表,后续可集中处理。
### Q: 目录不存在怎么办?
A: 系统会自动逐级创建完整目录结构,无需手动操作。
---
## 九、情绪符号对照表
| 符号 | 含义 | 对应表述 |
|------|------|---------|
| `↑` | 开心/积极/投入 | 开心、投入、积极、热情、参与度高 |
| `→` | 稳定/平和/正常 | 稳定、平和、正常、专注、认真 |
| `↓` | 低落/烦躁 | 低落、烦躁、不开心、需要关注 |
| `~` | 波动/反复 | 情绪波动、反复不定 |
| `++` | 进步/提升 | 比上周好、进步明显、状态提升 |
| `↑↑` | 非常开心/兴奋 | 特别开心、非常投入、状态极佳 |
| `↓↓` | 特别低落/需要关注 | 非常低落、需要关注、情绪不好 |
| `gd` | 孤独/独自玩 | 喜欢独自玩、独自活动 |
| `jl` | 焦虑/紧张/不安 | 紧张、焦虑、不安 |
---
## 十、示例速记组合
```
乔乔gj5→zd3→zt ↑++ → 观望5分钟→主动搭3层→自己调整开心比上周进步
昊昊慢热→zd3→反复调 → → 慢热主动搭3层反复调整稳定
小明专注15→完成→分享→合作 ↔ 专注15分钟→完成→分享→合作
```
---
*速查卡版本v1.0.0*
*最后更新2026-05-16*

View File

@@ -0,0 +1,227 @@
---
name: keping-simplified
description: 超级简化版课评生成器!只需输入 "/课评" 即可启动表单直连提交AI自动检测并生成。为穹狼乐高编程设计。
version: 5.1.0
author: 穹狼教学团队
---
# keping-simplified — 超级简化版课评生成器
## 🚀 核心特点
**超级简单!一键启动!**
- 只需输入 `/课评` 即可启动,无需记住一堆命令
- 启动即显示当前周数+班级选择
- 自动匹配课程主题(基于学期周数映射表)
- 本地网页表单:学生状态快捷选择 + 速记输入 + 进度条
- **直连提交**:表单直接 POST 到本地服务器,无需复制粘贴
- AI 自动检测信号文件 → 生成课评 → 双轨保存
- 完成后自动清理临时数据
---
## 📋 完整工作流程
### 第一步:启动(只需一个命令!)
```
用户输入:/课评
```
立即执行以下操作:
1. ✅ 计算当前周数基于3月2日开学
2. ✅ 显示当天对应周几的班级列表
3. ✅ 自动匹配每个班级的当周课程主题
---
### 第二步:班级选择
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 选择班级 | 第X周 YYYY-MM-DD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
可选班级:
[1] 发现世界-周四19点DISC-011 鳄鱼)
[2] Wed创造世界-周六1030CREATE-011 推磨机器人)
[3] AICODE03小Q周六1400AICODE03-011 AI文档写作
[4] SPIKE02-周日1030SPIKE-011 摩天轮)
[5] 手动输入班级名称
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
用户选择班级后,系统自动:
1. 启动本地表单服务器(`python src/form_server.py`
2. 读取该班级目录,加载学生名单和画像
3. 匹配当周课程主题(从学期周数映射表)
---
### 第三步:打开网页表单 + 直连提交
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🖥️ 表单服务器已启动!
👉 http://localhost:8088/form?class=发现世界-周四19点&week=11&course=DISC-011&theme=鳄鱼&date=2026-05-16
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
**表单已自动填入:班级、周数、日期、课程主题、学生名单(含画像摘要)**
用户在浏览器中:
1. 为每位学生选择状态(出勤/请假/补课/体验)
2. 填写课堂表现(支持速记符号)
3. 点击「🚀 提交并保存」
4. 看到「✅ 提交成功」→ 可关闭页面
**数据自动 POST 到本地服务器 → 保存为 JSON → 写入信号文件**
**表单预览**
```
┌──────────────────────────────────────────┐
│ 📝 课评填写表单 - 发现世界-周四19点 │
│ 第11周 · DISC-011 鳄鱼 · 2026-05-16 │
├──────────────────────────────────────────┤
│ 📊 填写进度3/6 · █████░░ 50% │
├──────────────────────────────────────────┤
│ ┌─梁昕乔───────────────────────┐ │
│ │ 📋 性格内向,需鼓励... │ │
│ │ [出勤] [请假] [补课] [体验] │ │
│ │ 表现____________________ │ │
│ │ (速记提示gj=观望、zd=主动) │ │
│ └──────────────────────────────┘ │
│ ┌─钟昀昊───────────────────────┐ │
│ │ [出勤] [请假] [补课] [体验] │ │
│ │ 表现____________________ │ │
│ └──────────────────────────────┘ │
│ ┌─+ 添加临时学生──────────────┐ │
│ │ 姓名____ 状态:[补课/体验] │ │
│ └──────────────────────────────┘ │
├──────────────────────────────────────────┤
│ [🚀 提交并保存] │
└──────────────────────────────────────────┘
```
---
### 第四步AI 自动检测 → 生成并保存
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔔 检测到表单提交 | 发现世界-周四19点 | DISC-011 鳄鱼
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[1/3] 生成梁昕乔课评... ✅ 已保存
[2/3] 生成钟昀昊课评... ✅ 已保存
[3/3] 生成林瀚丞课评... ✅ 已保存
📝 其他学生请假,不生成课评
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 全部完成!已保存 3 人 | 请假 2 人
🗑️ 已清理临时数据文件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
点击「提交」后:
1. ✅ 数据自动 POST 到本地服务器
2. ✅ 服务器保存为 `.claude/.tmp/evaluation_input_{班级}.json`
3. ✅ 写入信号文件 `EVALUATION_READY.txt`
4. ✅ AI 检测到信号,读取 JSON 数据
5. ✅ 批量生成所有学生课评180-350字三段式
6. ✅ 自动保存到标准路径(双轨)
7. ✅ 清理临时数据文件
---
## 📋 课评生成规则
### 学生状态处理
- **出勤** → 正常生成课评,保存到 `feedback/`
- **请假** → 仅生成请假记录 `(请假).md`
- **补课** → 保存到 `补课/feedback/`
- **体验** → 保存到 `补课/feedback/`
### 三段式结构(固定不变)
```
第1段30-55字课程知识点末尾1个emoji
第2段100-220字弹性掌握+环节+亮点1-3个emoji分散插入
第3段30-55字课后建议末尾1个emoji
```
### 称呼规则
- 优先用小名/昵称
- 其次用去姓称名
- 单字名叠字化
### Emoji规则
- 第1段🔍 💡 ⚙️(根据课程类型)
- 第2段💪 ✨ 📈 🎯(根据亮点)
- 第3段🏠 🔧(根据建议)
---
## 💾 自动保存规则
### 文件路径课评规范V1.0标准)
```
.claude/memory/class/{班级}/
├── summaries/YYYYMMDD_{课程编号}_{班级反馈}.md
├── {学生}/
│ └── feedback/YYYYMMDD_{课程编号}_{课次}.md
└──补课/{学生}/
└── feedback/YYYYMMDD_{课程编号}.md
```
### 无需确认,自动保存!
课评生成后立即保存,无需教师点击确认。
---
## 📊 速记符号对照表
| 速记 | 含义 |
|------|------|
| gj# | 观望#分钟 |
| zd# | 主动搭#层 |
| zt | 自己调整 |
| wb | 完成 |
| ↑ | 开心 |
| → | 稳定 |
| ++ | 比上周进步 |
| -- | 需关注 |
---
## 📝 触发方式
**主触发词:**
- `/课评` → 启动超级简化流程
- `/keping-simple` → 别名
**不触发其他技能:**
- 不要触发 `keping-advanced``keping-optimizer`
---
## ⚙️ 关键配置
### 学期周数计算基准
- 开学日期2026年3月2日
- 周数公式Floor((当天-3月2日)/7) +1
### 班级目录路径
```
.claude/memory/class/{班级名称}/
```
---
## ✅ 质量检查清单
- [ ] 字数180-350根据输入丰富度
- [ ] 三段式结构完整
- [ ] Emoji位置正确段末/分散插入)
- [ ] 称呼正确(不用全名)
- [ ] 无周数显示(正文)
- [ ] 路径符合课评规范V1.0
---
*版本v5.1.0(表单直连提交)*
*维护者:穹狼教学团队*
*最后更新2026-05-20*

View File

@@ -0,0 +1,232 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>课评填写表单 - 穹狼乐高编程</title>
<style>
:root {
--primary:#6366f1; --secondary:#8b5cf6; --accent:#f59e0b; --success:#10b981;
--bg:#f8fafc; --card:#ffffff; --text:#1e293b;
}
body { font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; background:var(--bg); color:var(--text); margin:0; padding:20px; }
.container { max-width:900px; margin:0 auto; }
.card { background:var(--card); border-radius:16px; padding:24px; box-shadow:0 4px 20px rgba(0,0,0,0.08); margin-bottom:16px; }
.header { text-align:center; padding:16px 0; }
.header h1 { font-size:24px; margin:0 0 8px 0; }
.header .meta { color:#64748b; font-size:14px; }
.progress { margin:16px 0; }
.progress-bar { display:flex; gap:8px; align-items:center; }
.progress-text { font-weight:600; min-width:80px; }
.progress-track { flex:1; height:12px; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.progress-fill { height:100%; background:linear-gradient(90deg,var(--primary),var(--secondary)); border-radius:999px; transition:width 0.3s ease; }
.student { display:flex; gap:12px; align-items:start; padding:16px; background:#fafafa; border-radius:12px; margin-bottom:12px; }
.student-header { min-width:140px; }
.student-name { font-weight:700; font-size:18px; margin-bottom:8px; }
.student-profile { font-size:12px; color:#94a3b8; margin-bottom:6px; max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.status-buttons { display:flex; gap:6px; flex-wrap:wrap; }
.status-btn { padding:6px 12px; border-radius:999px; border:2px solid #e2e8f0; background:#fff; cursor:pointer; font-weight:600; font-size:13px; transition:all 0.2s; }
.status-btn:hover { border-color:#cbd5e1; }
.status-btn.active { background:#ecfdf5; border-color:#10b981; color:#059669; }
.status-btn[data-status=请假].active { background:#fef2f2; border-color:#f87171; color:#dc2626; }
.status-btn[data-status=补课].active { background:#fffbeb; border-color:#f59e0b; color:#d97706; }
.status-btn[data-status=体验].active { background:#eff6ff; border-color:#3b82f6; color:#2563eb; }
.input-group { flex:1; display:flex; flex-direction:column; gap:8px; }
.input-group label { font-size:13px; font-weight:600; color:#475569; }
.input-group textarea { width:100%; padding:12px; border:2px solid #e2e8f0; border-radius:10px; min-height:80px; resize:vertical; font-size:14px; transition:border-color 0.2s; }
.input-group textarea:focus { outline:none; border-color:var(--primary); }
.symbols { font-size:12px; color:#94a3b8; display:flex; gap:12px; flex-wrap:wrap; }
.add-student { border:2px dashed #cbd5e1; padding:16px; border-radius:12px; text-align:center; cursor:pointer; color:#64748b; transition:all 0.2s; }
.add-student:hover { border-color:var(--primary); color:var(--primary); background:#eef2ff; }
.actions { display:flex; gap:12px; justify-content:center; padding-top:16px; flex-wrap:wrap; }
.btn { padding:14px 32px; border-radius:10px; font-weight:700; font-size:16px; cursor:pointer; border:none; transition:transform 0.1s,opacity 0.2s; }
.btn-primary { background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; }
.btn-success { background:linear-gradient(135deg,var(--success),#059669); color:#fff; }
.btn:hover { transform:translateY(-2px); }
.btn:active { transform:translateY(0); }
.btn:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
.course-card { background:linear-gradient(135deg,#6366f115,#8b5cf615); border-left:4px solid var(--primary); }
.course-title { font-size:18px; font-weight:700; margin:0 0 8px 0; }
.course-details { color:#475569; line-height:1.6; }
.toast { position:fixed; top:20px; left:50%; transform:translateX(-50%); padding:16px 32px; border-radius:12px; color:#fff; font-weight:600; z-index:1000; display:none; animation:fadeIn 0.3s; }
.toast.success { background:var(--success); }
.toast.error { background:#ef4444; }
.toast.info { background:var(--primary); }
@keyframes fadeIn { from{opacity:0;transform:translateX(-50%) translateY(-10px);} to{opacity:1;transform:translateX(-50%) translateY(0);} }
.spinner { display:inline-block; width:16px; height:16px; border:2px solid #fff; border-top-color:transparent; border-radius:50%; animation:spin 0.6s linear infinite; margin-right:8px; vertical-align:middle; }
@keyframes spin { to{transform:rotate(360deg);} }
</style>
</head>
<body>
<div class="container">
<div class="card header">
<h1>📝 课评填写表单</h1>
<div class="meta" id="classInfo">班级:发现世界-周四19点 | 第11周 | 2026-05-16</div>
<div class="progress">
<div class="progress-bar">
<div class="progress-text" id="progressText">0/5 完成</div>
<div class="progress-track"><div class="progress-fill" id="progressFill" style="width:0%"></div></div>
</div>
</div>
</div>
<div class="card course-card">
<div class="course-title" id="courseTitle">📚 课程目标DISC-011 蜥蜴</div>
<div class="course-details" id="courseDetails">
核心知识点:关节连接、可动结构、仿生设计<br>
课时长度60分钟
</div>
</div>
<div id="studentsList"></div>
<div class="add-student" id="addStudentBtn">+ 添加临时学生(补课/体验)</div>
<div class="actions">
<button class="btn btn-primary" id="submitBtn">🚀 提交并保存</button>
</div>
</div>
<div class="toast" id="toast"></div>
<script>
const SERVER_URL = window.location.origin;
const templateStudents = [{name:"梁家铭", status:"出勤", performance:""},{name:"简思瑜", status:"出勤", performance:""},{name:"简思霖", status:"请假", performance:""},{name:"罗钧龄", status:"出勤", performance:""},{name:"黄晓瑜", status:"出勤", performance:""},{name:"黄馨宸", status:"请假", performance:""}];
let students = [...templateStudents];
let currentClass = "发现世界-周四19点";
let currentWeek = 11;
let currentDate = "2026-05-16";
let courseInfo = {code:"DISC-011", title:"蜥蜴", knowledge:["关节连接","可动结构","仿生设计"], duration:"60分钟"};
function showToast(msg, type) {
const t = document.getElementById("toast");
t.textContent = msg;
t.className = "toast " + type;
t.style.display = "block";
setTimeout(function(){ t.style.display = "none"; }, 3000);
}
function init() {
renderStudents();
updateProgress();
}
function renderStudents() {
var container = document.getElementById("studentsList");
container.innerHTML = "";
students.forEach(function(s, idx) {
var el = document.createElement("div");
el.className = "student";
var profileHtml = s.profile ? '<div class="student-profile" title="' + s.profile.replace(/"/g,'&quot;') + '">📋 ' + s.profile.substring(0,40) + '...</div>' : '';
el.innerHTML =
'<div class="student-header">' +
'<div class="student-name">' + s.name + '</div>' +
profileHtml +
'<div class="status-buttons">' +
'<button class="status-btn' + (s.status=='出勤'?' active':'') + '" data-status="出勤" data-idx="' + idx + '">出勤</button>' +
'<button class="status-btn' + (s.status=='请假'?' active':'') + '" data-status="请假" data-idx="' + idx + '">请假</button>' +
'<button class="status-btn' + (s.status=='补课'?' active':'') + '" data-status="补课" data-idx="' + idx + '">补课</button>' +
'<button class="status-btn' + (s.status=='体验'?' active':'') + '" data-status="体验" data-idx="' + idx + '">体验</button>' +
'</div></div>' +
'<div class="input-group">' +
'<label>课堂表现支持速记gj观望、zd主动</label>' +
'<textarea id="perf-' + idx + '" placeholder="例如gj5观望5分钟→zd3主动搭3层→zt自己调整开心↑">' + (s.performance||'') + '</textarea>' +
'<div class="symbols">' +
'<span>💡 gj#=观望#分钟</span><span>💡 zd#=主动搭#层</span><span>💡 zt=自己调整</span>' +
'<span>💡 ↑=开心</span><span>💡 →=稳定</span><span>💡 ++=进步</span>' +
'</div></div>';
container.appendChild(el);
});
document.querySelectorAll(".status-btn").forEach(function(b) {
b.addEventListener("click", function(e) {
var idx = parseInt(b.dataset.idx);
students[idx].status = b.dataset.status;
renderStudents();
updateProgress();
});
});
document.querySelectorAll(".input-group textarea").forEach(function(t) {
t.addEventListener("input", function(e) {
var idx = parseInt(t.id.replace("perf-",""));
students[idx].performance = t.value;
updateProgress();
});
});
}
function updateProgress() {
var done = students.filter(function(x) {
return x.status !== '出勤' || (x.performance && x.performance.trim());
}).length;
var total = students.length;
var pct = Math.round((done/total)*100);
document.getElementById("progressText").textContent = done + '/' + total + ' 完成';
document.getElementById("progressFill").style.width = pct + '%';
}
function addStudent() {
students.push({name:"新学生", status:"体验", performance:"", profile:""});
renderStudents();
updateProgress();
}
function submitForm() {
var btn = document.getElementById("submitBtn");
var origText = btn.textContent;
// 检查出勤学生是否都填了表现
var unfilled = students.filter(function(s) {
return s.status === '出勤' && (!s.performance || !s.performance.trim());
});
if (unfilled.length > 0) {
var names = unfilled.map(function(s){ return s.name; }).join('、');
showToast('⚠️ 出勤学生 ' + names + ' 还未填写表现', 'error');
return;
}
// 按钮loading状态
btn.disabled = true;
btn.innerHTML = '<span class="spinner"></span>提交中...';
var payload = {
class: currentClass,
week: currentWeek,
date: currentDate,
course: courseInfo,
students: students.map(function(s) {
return {
name: s.name,
status: s.status,
performance: s.performance || ''
};
})
};
fetch(SERVER_URL + '/api/submit', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(payload)
})
.then(function(r) { return r.json(); })
.then(function(data) {
if (data.success) {
showToast('✅ 提交成功!' + data.message, 'success');
btn.innerHTML = '✅ 已保存 — 可关闭此页面';
btn.className = 'btn btn-success';
} else {
showToast('❌ 提交失败:' + data.message, 'error');
btn.disabled = false;
btn.textContent = origText;
}
})
.catch(function(err) {
showToast('❌ 网络错误:无法连接服务器,请确认服务器已启动', 'error');
btn.disabled = false;
btn.textContent = origText;
});
}
document.getElementById("addStudentBtn").addEventListener("click", addStudent);
document.getElementById("submitBtn").addEventListener("click", submitForm);
init();
</script>
</body>
</html>

View File

@@ -0,0 +1,34 @@
{
"name": "keping-simplified",
"skill_name": "keping-simplified",
"version": "5.0.0",
"description": "超级简化版课评生成器!只需输入 \"/课评\" 即可启动,一键生成,自动保存。支持周数选择、班级选择、学生状态选择、速记输入、进度条显示。为穹狼乐高编程设计。",
"triggers": [
"/课评",
"/keping-simple",
"/简单课评",
"生成课评",
"写课评"
],
"semester_config": {
"baseline_date": "2026-03-02",
"week_calculation": "Floor((current_date - 2026-03-02) / 7) + 1",
"total_weeks": 20,
"current_week": 11,
"current_date": "2026-05-17"
},
"class_types": {
"DISC": { "prefix": "DISC", "age_group": "preschool", "style": "warm" },
"CREATE": { "prefix": "CREATE", "age_group": "preschool", "style": "warm" },
"INVENT": { "prefix": "INVENT", "age_group": "preschool", "style": "warm" },
"TUBE": { "prefix": "TUBE", "age_group": "preschool", "style": "warm" },
"SPIKE": { "prefix": "SPIKE", "age_group": "elementary", "style": "concise" },
"AICODE03": { "prefix": "AICODE03", "age_group": "elementary", "style": "technical" },
"CSP": { "prefix": "CSP", "age_group": "elementary", "style": "technical" }
},
"paths": {
"class_root": ".claude/memory/class",
"lesson_root": ".claude/memory/lesson",
"template": ".claude/skills/keping-simplified/assets/form_template.html"
}
}

View File

@@ -0,0 +1,285 @@
# keping-simplified — 生成规则详解
## 1⃣ 启动流程规则
### 第一步:响应 /课评 命令
当用户输入 `/课评`,立即启动简化流程。**跳过任何其他判断**。
```python
用户输入/课评
执行启动简化流程
目标一周数+日期选择界面
```
---
## 2⃣ 周数与日期计算规则
### 基准设置
- **学期开学日**2026-03-02第1周周一
- **当前日期**:自动获取今天的日期
- **周数计算公式**
```
周数 = Floor((当前日期 - 2026-03-02) / 7) + 1
```
### 日期选择界面示例
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 第11周 | 选择日期
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
当前日期2026-05-16
请选择周几:
[1] 周一
[2] 周二
[3] 周三
[4] 周四
[5] 周五
[6] 周六
[7] 周日
[其他日期] 手动输入 YYYY-MM-DD
```
### 用户选择后
- 根据周几推算具体日期(基于当前周)
- 进入班级选择
---
## 3⃣ 班级选择规则
### 读取班级列表
1. 扫描 `.claude/memory/class/` 目录
2. 列出所有班级文件夹名称
3. 按字母/时间排序显示
### 界面示例
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 选择班级 | 第11周 · 2026-05-16
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
可选班级:
[1] 发现世界-周四19点
[2] Wedo创造世界-周六1030
[3] AICODE03小Q周六1400
[4] SPIKE02-周日1030
[5] 手动输入班级名称
```
---
## 4⃣ 课程目标加载规则
### 策略 A找到课程教案优先
按顺序查找:
1. 班级目录下是否有历史课程记录
2. memory/lesson/ 目录下查找第X周课程
3. 基于班级类型匹配课程编号
**匹配成功后显示:**
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📚 课程目标确认
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
课程代码DISC-011
课程主题:蜥蜴
核心知识点:关节连接、可动结构、仿生设计
课时长度60分钟
[1] 确认使用这个
[2] 修改课程目标
```
### 策略 B没找到课程教案降级
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ 未找到课程教案,请手动输入
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
请填写本周课程目标:
课程主题:
核心知识点:
[1] 跳过,用通用模板
[2] 保存为常用课程
```
---
## 5⃣ HTML 表单启动规则
### 创建并打开表单
1. 复制模板 `assets/form_template.html`
2. 替换占位符:
- `CLASS_NAME` → 班级名
- `WEEK_NUM` → 周数
- `DATE_STR` → 日期
- `COURSE_CODE` → 课程代码
- `COURSE_TITLE` → 课程主题
- `STUDENTS_LIST` → 学生JSON
3. 保存为临时文件(例如 `temp_form_YYYYMMDD_HHMMSS.html`
4. 自动在浏览器打开
### 学生列表加载
从班级目录读取:
- `.claude/memory/class/{班级}/` 下的子文件夹
- 每个子文件夹是一个学生
- 读取 `profile.md` 获取小名/昵称(如果有)
```json
{
"students": [
{ "name": "梁家铭", "nickname": null },
{ "name": "简思瑜", "nickname": "小鱼" },
...
]
}
```
---
## 6⃣ 速记符号解析规则
### 速记对照表
| 速记 | 解析为中文描述 |
|------|--------------|
| `gj#` | 观望#分钟 |
| `zd#` | 主动搭#层 |
| `zt` | 自己调整 |
| `wb` | 完成 |
| `zx#` | 专注#分钟 |
| `sb#` | 失败#次后调整 |
| `ts#` | 探索#分钟 |
| `cz#` | 创造#种方案 |
| `wt#` | 提问#次 |
| `hz` | 合作 |
| `fx` | 分享 |
| `tq` | 求助 |
| `mr` | 融入 |
| `ms` | 模仿 |
| `jy` | 建议给同伴 |
| `bd` | 被带动 |
| `zl` | 孤立/独自 |
| `cq` | 冲突/争执 |
| `` or `kx` | 开心 |
| `` or `wd` | 稳定 |
| `` or `fd` | 烦躁/低落 |
| `~` or `bd` | 情绪波动 |
| `↑↑` or `kc` | 非常开心/兴奋 |
| `→→` or `wa` | 非常稳定/沉浸 |
| `gd` | 孤独/独自玩 |
| `jl` | 焦虑/紧张 |
| `++` | 比上周进步 |
| `--` | 需关注 |
### 解析示例
```
输入gj5→zd3→zt ↑++
解析观望5分钟后主动搭3层自己调整开心比上周进步
```
---
## 7⃣ 课评生成规则
### 三段式结构(固定不变)
**第1段课程知识点30-55字**
- 包含主题、1-2个核心知识点
- 末尾1个emoji🔍 💡 ⚙️(根据类型)
**第2段课堂细节100-220字弹性**
- 整合:掌握程度+环节表现+成长亮点
- emoji1-3个自然分散插入
**第3段课后建议30-55字**
- 具体可操作的家庭活动
- 末尾1个emoji🏠 🔧
### 字数弹性规则
| 输入丰富度 | 目标字数范围 |
|----------|-----------|
| 很简洁只有1-2个速记| 180-220 |
| 中等3-5个速记| 220-280 |
| 详细5个以上+情绪+对比)| 280-350 |
### 称呼规则
1. 优先用小名/昵称(从 `profile.md` 读取)
2. 其次用去姓称名(双字名 → 去掉姓)
3. 单字名 → 叠字化
### Emoji 分配
| 位置 | 表情库 |
|------|-------|
| 第1段末尾 | 🔍 💡 ⚙️ |
| 第2段亮点处 | 💪 ✨ 📈 🎯 🤝 😊 |
| 第3段末尾 | 🏠 🔧 |
---
## 8⃣ 保存规则
### 文件路径标准
```
.claude/memory/class/{班级名称}/
├── summaries/
│ └── YYYYMMDD_{课程代码}_{班级反馈}.md
├── {学生姓名}/
│ └── feedback/
│ └── YYYYMMDD_{课程代码}_{课次}.md
└──补课/{学生姓名}/
└── feedback/
└── YYYYMMDD_{课程代码}.md
```
### 学生类型-保存路径映射
| 学生状态 | 保存位置 |
|---------|--------|
| 出勤 | {班级}/{学生}/feedback/ |
| 请假 | {班级}/{学生}/feedback/(带 `(请假)` 标记)|
| 补课 | {班级}/补课/{学生}/feedback/ |
| 体验 | {班级}/补课/{学生}/feedback/ |
### 自动保存时机
课评生成完成后立即保存,无需教师确认。
---
## 9⃣ 请假/补课/体验处理
### 请假
- 生成:请假记录文件
- 路径:`feedback/YYYYMMDD_{课程编号}(请假).md`
- 内容:简洁说明请假
### 补课
- 路径:`补课/{学生}/feedback/YYYYMMDD_{课程编号}.md`
- 课评正文:不提及"补课"二字
- 文件名:可标记来源
### 体验
- 路径:`补课/{学生}/feedback/YYYYMMDD_{课程编号}.md`
- 课评:正常写(不提"体验"
---
*最后更新2026-05-16*

View File

@@ -0,0 +1,67 @@
# 🚀 keping-simplified — 快速参考卡
## 💡 如何启动(只需一个命令!)
```
输入:/周六(或 /课评)
```
## 📋 完整流程v5.0 直连提交版)
```
1⃣ /周六
2⃣ 选择班级(已显示当周课程主题)
3⃣ 打开浏览器表单 → 填写学生表现 → 点击「提交并保存」
↓ (数据 POST 到本地服务器,无需复制粘贴!)
4⃣ AI 自动检测信号文件 → 生成课评 → 双轨保存
5⃣ 完成!🗑️ 自动清理临时文件
```
## ⌨️ 速记符号(最常用的)
| 速记 | 含义 |
|------|------|
| gj# | 观望#分钟 |
| zd# | 主动搭#层 |
| zt | 自己调整 |
| ↑ | 开心 |
| → | 稳定 |
| ++ | 比上周进步 |
## 📂 保存路径(自动)
```
.claude/memory/class/{班级}/
├── summaries/
│ └── YYYYMMDD_{课程}_班级反馈.md
├── {学生}/
│ └── feedback/
│ └── YYYYMMDD_{课程}.md
└──补课/{学生}/
└── feedback/
└── YYYYMMDD_{课程}.md
```
## ⚙️ 四段式结构(输出固定)
| 段落 | 内容 | 字数 | Emoji |
|------|------|------|------|
| 1⃣ | 课程知识点 | 30-55 | 1个末尾 |
| 2⃣ | 掌握程度与操作细节 | 80-150 | 1-2个分散插入 |
| 3⃣ | 课堂亮点与成长 | 60-120 | 1-2个分散插入 |
| 4⃣ | 课后建议 | 30-55 | 1个末尾 |
**总字数**:标准版 220-300字详细版 300-400字
**总Emoji数**3-5个
## 🎨 Emoji 使用规范
**总数量**:每篇课评使用 **3-5个** Emoji
| 位置 | 数量 | 用途 | 推荐表情 |
|------|:----:|------|----------|
| 第1段知识点 | 1个 | 段尾点缀 | 🔍 💡 ⚙️ 🎯 |
| 第2段掌握与操作 | 1-2个 | 分散插入 | 💪 ✨ 📈 🤝 |
| 第3段亮点与成长 | 1-2个 | 分散插入 | 😊 🌟 💫 🎉 |
| 第4段建议 | 1个 | 段尾点缀 | 🏠 🔧 📚 |
---
*版本v5.0 | 最后更新2026-05-22*