Files
ClassFeedback/CLAUDE.md
2026-06-02 23:01:58 +08:00

297 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 穹狼乐高编程AI课评生成系统
> 为2.5岁-小学4年级学生自动生成个性化课程评价
> 版本v4.5.1AICODE03课程更新| 规则文件9个核心文件 + 20个归档规则
>
> **课程匹配规则**:根据当周日期自动匹配课程主题(基于学期周数映射表),不参考上节课进度
>
> **v4.5 表单直连**:网页表单直接 POST 到本地服务器(`src/form_server.py`AI 检测信号文件自动处理,彻底取消复制粘贴步骤
>
> **合规说明**:本仓库已同步 [课评规范V1.0](课评规范V1.0.md) 全部要求,包括课程编号规范、目录结构规范、课评文件命名规范、课评完成率统计规则。确保自动统计系统可正确识别到课评。
>
> **远程仓库**`https://git.qonnwolf.com/xiaoq/ClassFeedback.git`
---
## 项目架构
```
classfeedback/
├── CLAUDE.md # 本文件:全局索引与快速入口
├── .claude/
│ ├── rules/ # 规则配置9个核心文件
│ │ ├── 00-core.md # 系统基础+年龄段+课程类型+评价维度+评分标准
│ │ ├── 10-style.md # 写作风格+三段式结构+Emoji+输入丰富度评估
│ │ ├── 15-semester-weeks.md # 学期周数计算+课程主题映射
│ │ ├── 20-workflow.md # 输入格式+批量生成+存储规则+自动双轨保存
│ │ ├── 21-shorthand.md # 速记符号系统从20-workflow拆分
│ │ ├── 22-student-mgmt.md # 补课/新学生/转正规则从20-workflow拆分
│ │ ├── 30-student.md # 画像建立+千人千面+姓名处理
│ │ ├── 50-output-format-preschool.md # 学龄前输出格式
│ │ ├── 51-output-format-elementary.md # 小学输出格式
│ │ └── 90-archive/ # 已合并的旧规则归档20个文件内容已合并至核心规则
│ │ ├── 01-student-ages.md # 年龄段详细特征已合并至00-core
│ │ ├── 02-course-types.md # 课程类型详解已合并至00-core
│ │ ├── 03-evaluation-dimensions.md # 评价维度详解已合并至00-core
│ │ ├── 06-scoring.md # 评分标准详解已合并至00-core
│ │ ├── 20-style-building.md # 幼儿积木风格已合并至10-style
│ │ ├── 21-style-coding.md # 少儿编程风格已合并至10-style
│ │ ├── 22-style-robotics.md # 机器人竞赛风格已合并至10-style
│ │ ├── 25-template-preschool-detailed.md # 学龄前手动模板
│ │ ├── 30-input-format.md # 输入格式详解已合并至20-workflow
│ │ ├── 31-class-differentiation.md # 班级差异已合并至30-student
│ │ ├── 32-batch-generation.md # 批量生成已合并至20-workflow
│ │ ├── 33-first-class-rules.md # 新学生/补课已合并至20-workflow/22-student-mgmt
│ │ ├── 35-画像建立指南.md # 画像建立已合并至30-student
│ │ ├── 36-shorthand-learning.md # 速记学习指南
│ │ ├── 37-status-panel.md # 状态面板v2.0旧版,已废弃)
│ │ ├── 38-quick-edit.md # 快速编辑已合并至20-workflow
│ │ ├── 40-keping-快速入门.md # 快速入门v2.5旧版,已废弃)
│ │ ├── 60-name-processing.md # 姓名处理已合并至30-student
│ │ └── 70-common-structures.md # 通用结构已合并至10-style
│ ├── memory/ # 记忆数据目录(课评规范标准路径)
│ │ ├── class/ # 【班级数据 - 核心课评目录】
│ │ │ ├── {班级名称}/ # 命名:{课程编号}{老师}{时间}如AICODE03小Q周五1900
│ │ │ │ ├── summaries/ # 班级总结/群发文案
│ │ │ │ ├── {学生姓名}/ # 学生个人目录
│ │ │ │ │ ├── feedback/ # 【个人课评目录】
│ │ │ │ │ │ └── YYYYMMDD_课程编号-课次.md
│ │ │ │ │ └── profile.md # 学生画像
│ │ │ │ └── 补课/ # 补课学生专用目录
│ │ │ │ └── {学生姓名}/
│ │ │ │ └── feedback/
│ │ │ │ └── YYYYMMDD_课程编号.md
│ │ │ └── ...
│ │ └── lesson/ # 课程大纲(从独立仓库同步,不提交远端)
│ ├── skills/ # 技能配置
│ └── settings.json # 设置
└── src/
└── evaluation_validator.py # 课评质量验证脚本
```
---
## 快速入口
### 核心规则文件
| 文件 | 内容 | 路径 |
|------|------|------|
| **核心规则** | 系统角色、年龄段、课程类型、评价维度、评分标准 | [`.claude/rules/00-core.md`](.claude/rules/00-core.md) |
| **风格规则** | 三段式结构、语气风格、Emoji使用、字数弹性 | [`.claude/rules/10-style.md`](.claude/rules/10-style.md) |
| **学期周数** | 周数计算、课程主题映射(后端自动匹配) | [`.claude/rules/15-semester-weeks.md`](.claude/rules/15-semester-weeks.md) |
| **工作流程** | 输入格式、批量生成、存储规则、自动双轨保存 | [`.claude/rules/20-workflow.md`](.claude/rules/20-workflow.md) |
| **速记符号** | 核心速记、扩展速记、编程速记、组合示例 | [`.claude/rules/21-shorthand.md`](.claude/rules/21-shorthand.md) |
| **学生特殊处理** | 补课、新学生、跨班级补课、转正规则 | [`.claude/rules/22-student-mgmt.md`](.claude/rules/22-student-mgmt.md) |
| **学生管理** | 画像建立、千人千面、姓名处理 | [`.claude/rules/30-student.md`](.claude/rules/30-student.md) |
| **学龄前输出** | 学龄前课评排版样式与示例 | [`.claude/rules/50-output-format-preschool.md`](.claude/rules/50-output-format-preschool.md) |
| **小学输出** | 小学课评结构化排版与示例 | [`.claude/rules/51-output-format-elementary.md`](.claude/rules/51-output-format-elementary.md) |
### 记忆存储
| 用途 | 标准路径(课评规范) | 说明 |
|------|---------------------|------|
| 课评文件(新) | [`.claude/memory/class/{班级}/{学生}/feedback/`](.claude/memory/class/) | **单次单文件** `YYYYMMDD_课程编号-课次.md` |
| 学生画像(新) | [`.claude/memory/class/{班级}/{学生}/profile.md`](.claude/memory/class/) | 个人画像,固定文件名 |
| 班级总结(新) | [`.claude/memory/class/{班级}/summaries/`](.claude/memory/class/) | 班级群发文案/反馈 |
| 补课学生(新) | [`.claude/memory/class/{班级}/补课/{学生}/feedback/`](.claude/memory/class/) | 跨班级补课课评 |
| 学生档案总览 | [`.claude/memory/class/`](.claude/memory/class/) | 课评规范标准目录 |
| 学期课程总览 | [`.claude/memory/lesson/2026春季学期课程总览.md`](.claude/memory/lesson/2026春季学期课程总览.md) | 课程教案库 |
| 教育理念 | [`.claude/memory/教育理念.md`](.claude/memory/教育理念.md) | 核心教育观 |
---
## 核心规则速查
### 年龄段代码
| 代码 | 学段 | 年龄 | 课程 |
|-----|------|-----|------|
| `AGE_TB` | 托班 | 2.5-3岁 | 意识世界(管道) |
| `AGE_XB` | 小班 | 3-4岁 | 发现世界(螺丝刀) |
| `AGE_ZB` | 中班 | 4-5岁 | 发明世界(智能笔) |
| `AGE_DB` | 大班 | 5-6岁 | 创造世界WEDO |
| `AGE_PS_LOW` | 小学低年级 | 6-8岁 | SPIKE |
| `AGE_PS_MID` | 小学中年级 | 8-10岁 | AICODE03 |
### 课程代码
| 代码 | 类型 | 班级 | 教具 | 校宝对应 |
|-----|------|------|------|---------|
| `TUBE` | 管道探索 | 小小班 | 9076+9090 | - |
| `DISC` | 工具发现 | 小班 | 45002 | - |
| `INVENT` | 智能笔编程 | 中班 | 威儿2+9656 | - |
| `CREATE` | WEDO编程 | 大班 | WEDO | - |
| `SPIKE` | SPIKE编程 | 一年级 | SPIKE-PRIME | - |
| `AICODE03` | AI协作开发 | 四年级 | AICODE03 | ✅ AICODE03AI编程创新课03 |
| `CSP` | C++信息学奥赛 | - | - | ✅ CSP01-05校宝标准编号 |
> **重要**:课程编号必须与校宝排课系统中的 `class_name` 一致。C++班统一用 `CSP`AI编程班统一用 `AICODE`+编号,不得使用 `AI`、`C++`、`信奥` 等缩写。详见 [20-workflow.md 第10节](.claude/rules/20-workflow.md) 课评规范对照。
### 评分等级
| 分值 | 等级 | 评级 |
|-----|------|-----|
| 4.5-5.0 | 优秀 | A+ |
| 3.5-4.4 | 良好 | A/A- |
| 2.5-3.4 | 合格 | B/B+ |
| 1.5-2.4 | 待改进 | C |
| 1.0-1.4 | 需帮助 | D |
---
## 课评模板结构5模块覆盖3维度
### 三段式结构
| 段落 | 内容 | 字数 | Emoji |
|------|------|:----:|:-----:|
| **第1段** | 课程知识点 | 30-55字 | 1个🔍/💡/⚙️根据内容) |
| **第2段** | 课堂细节(掌握+环节+亮点)| 100-220字 | 1-3个根据情节自动适配 |
| **第3段** | 课后建议 | 30-55字 | 1个🏠/🔧根据内容) |
### 字数弹性
| 输入类型 | 输出字数 | 说明 |
|---------|:-------:|:----|
| 精简输入 | 180-220字 | 基础描述 |
| 标准输入 | 220-280字 | 有具体细节 |
| 详细输入 | 280-350字 | 多个亮点 |
---
## 快捷输入速查
### 速记符号
| 速记 | 含义 | 示例 |
|------|------|------|
| `gj#` | 观望#分钟 | `gj5` |
| `zd#` | 主动搭#层 | `zd3` |
| `zt` | 自己调整 | - |
| `↑` | 开心 | `↑++` |
| `→` | 稳定 | - |
| `++` | 比上周进步 | - |
### 学生标记
| 标记 | 含义 | 保存方式 |
|------|------|---------|
| `[补课]` | 补课学生 | 双轨保存(跨班级自动处理) |
| `[体验]` | 体验课学生 | 仅班级汇总 |
| `[缺课]` | 今天缺席 | 仅记录缺席 |
| `[new]` | 新学生首次 | 创建档案,双轨保存 |
### 快速示例
```
/课评 班级:发现世界-周四19点
乔乔gj5→zd3→zt ↑++
昊昊慢热→zd3→反复调 →
小明[体验]搭3层 ↑
```
---
## 处理流程
### 模式一:交互式模式(推荐)
> 适用于所有上课日(周一~周日),以下以周六为例
```
/周六(或 /今天)→ 展示班级列表(含当周课程主题)→ 选择班级
启动本地表单服务器 + 自动匹配当周课程
打开浏览器表单 → 填写 → 点击「提交并保存」
数据 POST 到服务器 → 保存 JSON + 信号文件
AI 检测信号 → 读取 JSON → 批量生成 → 双轨保存
🗑️ 清理临时数据 → 完成
```
> **课程匹配说明**系统根据当前日期计算学期周数直接匹配当周课程主题如第11周→DISC-011 蜥蜴),不参考上节课进度。除非教师特别说明补课,否则一律使用当周标准课程主题。
> 友好的多轮对话引导,支持 `/周几` 快速索引 + Form-First 网页表单(含进度条、填写状态、一键复制、补课/体验学生区)。详见 [20-workflow.md 第14节](.claude/rules/20-workflow.md)
### 模式二:批量输入模式
```
教师极简输入 → AI解析 → 生成个性化课评 → 【自动双轨保存】
班级汇总(含出勤) + 个人档案
教师可随时查看/修改(无需确认)
```
> **自动双轨保存机制**:课评生成后立即自动保存到班级汇总和个人档案,无需教师确认。出勤信息直接体现在班级汇总中。详细规则参见 [20-workflow.md](.claude/rules/20-workflow.md)。
### 存储双轨制(新规范)
> 课评规范V1.0要求:课评必须按次按学生单独文件,**不可用汇总文件代替单次课评**。
| 存储位置 | 标准路径 | 用途 | 保存时机 |
|---------|---------|------|:--------:|
| **个人课评文件** | `.claude/memory/class/{班级}/{学生名}/feedback/YYYYMMDD_课程编号-课次.md` | 单次个人课评 | 生成后自动保存 |
| **班级总结** | `.claude/memory/class/{班级}/summaries/YYYYMMDD_课程编号-课次_班级反馈.md` | 班级群发文案 | 生成后自动保存 |
| **学生画像** | `.claude/memory/class/{班级}/{学生名}/profile.md` | 学生画像档案 | 建档时创建 |
### 课评完成率统计规则(自动化)
系统按以下规则自动统计课评完成率,**仅统计 CSP 和 AICODE 班级**
1. **出勤基准**:校宝 API 排课数据(`teaching-schedule`),以校宝为准
2. **查找规则**(三级查找):
- 第1级 → 班级目录下,学生/feedback/ 匹配文件日期
- 第2级 → 本仓库其他班级 补课/ 目录查找
- 第3级 → 其他老师仓库的 补课/ 目录查找
3. **日期匹配**:文件名中的 `YYYYMMDD` 必须与校宝 `teaching_date` 完全一致
4. **请假标记**:文件名带 `(请假)` 不要求课评
5. **补课追踪**:补课学生必须有课评(放在补课班级的 `补课/` 目录)
> **⚠️ 重要**:如果不按规范导致系统无法识别到课评,将按未完成统计。请确保每位到课学生均有对应日期的个人课评文件。详见 [20-workflow.md 第10节](.claude/rules/20-workflow.md)。
### 学生出勤状态(嵌入班级汇总)
| 状态 | 图标 | 判定规则 |
|:-----|:----:|:---------|
| **出勤** | ✅ | 有档案 + 已生成课评 |
| **缺课** | ❌ | 有档案 + 未生成课评 |
| **补课** | 🔄 | 他班档案 + 来本班上课 |
| **体验/临时** | 📝 | 无档案 + 已生成课评 |
### 快捷指令
#### 模式选择
| 指令 | 功能 |
|:-----|:-----|
| **`/周几`** | **按上课日快速索引(推荐)**,如 `/周六``/周日``/周四` |
| `/今天` | 自动判断当天星期几,启动交互式流程 |
| `/交互式` | 启用交互式课评生成模式默认Form-First 网页表单) |
| `/批量` | 启用批量输入模式(一次性输入所有学生) |
#### 课评操作
| 指令 | 功能 |
|:-----|:-----|
| `查看出勤` | 查看本周各班级出勤(读取汇总头部) |
| `修改{学生名}:把"A"改为"B"` | 修改课评内容(自动同步到两个位置) |
| `重生成{学生名}` | 重新生成课评并保存 |
---
## 版本历史
- **v4.5.1** | 2026-05-20 | AICODE03课程全面更新同步最新教学大纲AI原理、大作家系列、个人主页、俄罗斯方块、涂鸦PK、Skills入门等1-20周完整课程
- **v4.5** | 2026-05-20 | 表单直连提交:网页表单直接 POST 到本地服务器(`src/form_server.py`AI 检测信号文件自动生成课评,彻底取消复制粘贴步骤;新增临时数据清理机制
- **v4.4** | 2026-05-16 | Form-First 交互式流程优化课程进度自动推演改为根据当周日期匹配课程主题不参考上节课进度、默认网页表单Form-First、表单直连提交、新增项目记忆文件
- **v4.3** | 2026-05-16 | 交互式流程优化:新增 `/周几` 快速索引指令B模式分开展示学生 + 独立输入区 + 快捷标记按钮(请假/体验/补课/出勤)
- **v4.0** | 2026-05-14 | 同步课评规范V1.0新增课程编号规范CSP/AICODE、新目录结构`.claude/memory/class/`)、文件命名规范(`YYYYMMDD_课程编号-课次.md`)、课评完成率统计规则
- **v3.1** | 2026-05-05 | 简化保存流程:删除"待确认"状态,改为"生成即双轨保存";出勤嵌入班级汇总
- **v2.5** | 2026-05-01 | 统一字数弹性范围180-350字
- **v2.0** | 2026-04-17 | 批量生成优化,双轨保存
- **v1.0** | 2026-03-25 | 初始版本