补全9月11日至13日课评:为13名学生创建请假文档,为5个班级创建总结文档

This commit is contained in:
chengzi
2026-09-13 19:34:34 +08:00
parent 167d832353
commit 21001eccf5
1322 changed files with 37510 additions and 4136 deletions

311
CLAUDE.md
View File

@@ -4,93 +4,126 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Project Overview
这是一个为**穹狼科创多课程体系**设计的课评生成器。支持 C++信息奥赛、AICODE创意编程、编程猫Kitten N 三大课程,以及体验课新生转化,并提供多种风格的评语模板(鼓励型、体验转化型)。
这是一个为**穹狼科创多课程体系**设计的课评生成器。支持 C++信息奥赛(CSP)、AIAGENT创意编程、编程猫Kitten 三大课程,以及 GESP 暑假集训、AIAGENT 小龙虾夏令营、体验课新生转化。
本项目为**纯 Markdown 模板**,无需运行代码,直接复制模板填空即可使用。
课评生成已实现**智能体流水线自动化**:准备数据 → 生成课评 → 自动质检 → 保存归档,全程无需逐步确认。
---
## 关键路径速查cd
## 关键路径速查
AI 处理课评任务时,直接按以下路径读取,无需询问用户确认:
| 资源 | 路径规则 |
|------|---------|
| **课评输出(笔记)** | `E:/cc/3笔记/第N课.md` — 单课完整笔记;`output/课评汇总/第N周课评汇总.md` — 周汇总 |
| **课评输出(笔记)** | `E:/cc/3笔记/第N课.md` — 单课完整笔记;周汇总输出到 `output/课评汇总/` |
| **学生档案(必看)** | `.claude/memory/class/[班级]/[姓名]/profile.md` |
| **课评风格指南** | `.claude/rules/[课程].md` — CSP.md / AICODE.md / KITTEN.md / 体验课.md |
| **课评风格指南** | `.claude/rules/[课程].md` — CSP.md / AIAGENT.md / KITTEN.md / 体验课.md |
| **课评模板** | `.claude/templates/[课程].md` — 标准格式模板 |
| **课程内容/教案** | `.claude/lesson/` |
| **课程内容/教案** | `.claude/lesson/` — 各课程在对应子目录(见下方文件结构) |
| **班级规范与流程** | `.claude/memory/class/CLAUDE.md` — 命名规范、保存路径 |
| **OJ数据规则** | `.claude/rules/oj_data.md` — CSP课程查OJ数据时先看 |
| **OJ数据规则** | `.claude/rules/oj_data.md` — CSP/GESP课程查OJ数据时先看 |
| **课评质量标准** | `.claude/docs/课评质量标准.md` — 一份好课评 = 准确+具体+有温度+有行动 |
| **课评生成技能** | `.claude/skills/课评生成/skill.md` — 交互式问答后自动走完整流水线 |
### 路径格式约定
- 统一使用**正斜杠** `/`,如 `E:/cc/3笔记/`
- 班级目录格式:`课程编号+老师+星期时间`,如 `AICODE03橙子周六1900`
- 班级目录格式:`课程编号+老师+星期时间`,如 `AIAGENT03橙子周六1900`
---
## 标准工作流程
## 标准工作流程(课评流水线)
用户请求"写课评"时,按以下顺序执行,无需逐步确认:
用户请求"写课评"时,按以下 4 阶段流水线自动执行,**全程自动,无需逐步确认**。各阶段对应独立 agent,可单独重跑。
1. **确认信息**:课程类型 / 班级 / 课次 / 日期
2. **读取档案**:批量读取该班所有学生的 `profile.md`
3. **读取风格**:读取对应课程的 `rules/[课程].md`
4. **确认内容**:向用户收集本节课知识点、学生表现
5. **生成课评**:按班级风格生成个性化评语(约200字/人)
6. **确认修改**:展示课评给用户确认,根据用户意见修改
7. **课评质检**:用户确认后,自动调用课评质检系统检查课评质量(详见 `.claude/skills/课评质检/SKILL.md`)
8. **保存归档**:
- 个人课评:`[班级]/[姓名]/feedback/YYYYMMDD_课程编号-课次.md`
- 班级总结:`[班级]/summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
- 如用户要求,同时写入 `E:/cc/3笔记/第N课.md`
9. ~~**更新出勤**~~(已移除)
10. **生成课评网页**:使用 `.claude/templates/课评网页模板.html` 生成展示网页
- 保存路径:`output/课评汇总/第N周/第N周{{上课时间}}课评.html`
- 模板说明:只需填写 `PAGE` / `GOALS` / `STUDENTS` 三个配置区,其余自动渲染
### 第1阶段 · 课评准备阶段(`agents/课评准备阶段/agent.md`)
### 命名规范(关键)
- C++班用 `CSP` 前缀,AI班用 `AICODE` 前缀,禁用 `AI`/`C++` 缩写
1. **获取API授课数据**:查询最近授课记录,`teaching_date` 必须用于课评文件名
2. **读取课堂录音转写**:自动从 `D:\下载` 取最新 `.docx`,用 python-docx 转 UTF-8 txt 后再读(避免中文乱码)
3. **AI分析提取学生表现**:识别"发言人1/2/3"对应学生,**必须引用录音中的实际对话**
4. **匹配课程计划**:从教案中提取 5 个知识点(不得编造)
5. **读取学生画像**:每个学生的 `profile.md`
6. **获取OJ数据**:CSP/GESP 班必查,命令 `python scripts/get_student_oj.py --homework-id <ID> --student "<姓名>"`
7. **AIAGENT班作品分析**:查看作品文件夹,提取创意/技术点/亮点
### 第2阶段 · 课评生成阶段(`agents/课评生成阶段/agent.md`)
1. 读取班级风格指南(`rules/[课程].md`)与课评模板
2. 为每个学生生成约 200 字个性化课评,**融合录音中的具体例子、作品分析、OJ数据**
3. **质量自检**:字数 180-350 / 禁用词 / 三要素结构 / Emoji 3-5 个 / 去姓直呼 / 具体化 / 可执行建议 / 纵向对比 / 专业知识点
4. 生成班级总结
### 第3阶段 · 课评质检+修订(`agents/课评质检调度器/agent.md`)
1. 并行调用核心质检 Agent:**课评证据审计员**(CSP/GESP必查)+ **课评质量评审员** + 5 位**家长视角** Agent
2. **课评终稿编辑**汇总所有意见,产出修订稿
3. **三档放行规则**(自动处理):
| 条件 | 结论 | 保存版本 |
|------|------|---------|
| ≥85分 且 无硬伤 | 直接发送 | 保存原稿 |
| 70-84分 或 有改进点 | 修订后发送 | 保存终稿编辑的修订稿 |
| <70分 或 触发硬伤 | 必须重写 | 保存终稿编辑的修订稿 |
> **不管哪个档位,都自动保存质检后的最佳版本,无需等待用户确认。**
### 第4阶段 · 课评收尾阶段(`agents/课评收尾阶段/agent.md`)
1. **保存个人课评**:`[班级]/[姓名]/feedback/YYYYMMDD_课程编号-课次.md`
2. **保存周汇总**:`output/课评汇总/202X年第X周课评汇总.md`(新课评放最前)
3. **保存班级总结**:`[班级]/summaries/YYYYMMDD_课程编号-课次_班级反馈.md`
4. **更新学生画像**:只记录新发现/明显变化
5. **生成课评汇总网页**:`output/课评汇总/第X周{星期时间}{课程编号}课评.html`(已存在则跳过)
6. 输出完成报告(保存条数、质检评分汇总)
---
## 命名规范(关键)
- C++班用 `CSP` 前缀,AI班用 `AIAGENT` 前缀,GESP暑假集训班用 `GESP01` 前缀,禁用 `AI`/`C++` 缩写
- 文件名:`YYYYMMDD_课程编号-课次.md`(日期必须与校宝 teaching_date 一致)
- 请假:`YYYYMMDD_课程编号-课次(请假).md`
- 补课:`YYYYMMDD_课程编号-课次(补课-去班级名).md`
- 未到:`YYYYMMDD_课程编号-课次(未到).md`
- 补课:`YYYYMMDD_课程编号-课次.md`,放在补课班级的 `补课/[学生]/feedback/` 目录下
---
## 学生班级信息
### 已录入班级(33名学生)
### 已录入班级(2026秋季新学期)
**周五下午1700AICODE03班(1人,一对一)**
- 李梓宁
**周五下午1700 AIAGENT03班(13教室,2人)**
- 李梓宁、李俊霆(新)
**周五晚上1900K4班(4人)**
- 陈圆振、彭煜腾、郭艺嘉、王晨语
**周五晚上1900 CSP00班(13教室,4人,2课时)**
- 王晨语、陈圆振、彭煜腾、郭艺嘉
> 注:原K4班学生转C++方向,课程编号 CSP00
**周六早上0830CSP03班(4人)**
- 杨林轩、欧俊宇、汪子杰、谢明泓
> 注:谭锦程已退学
**周六早上0830 CSP04班(11教室,5人)**
- 欧俊宇、汪子杰、谢明泓、王佳琳、魏铭轩
> 注:王佳琳由原周日1030班转入,魏铭轩由原周六1400班转入
**周六下午1400CSP03班(5人)**
- 郑子煜、张雨禾、魏铭轩、苏俊宇、卢华琛
> 注:廖梓琪已停课
**周六下午1400 CSP04班(8教室,5人)**
- 郑子煜、张雨禾、苏俊宇、卢华琛、鲍佳音(新)
**周六晚上1900AICODE03班(5人)**
- 陈嘉博、王子墨、谭俊研、黄彦棋、李承泽
> 注:黄浩、钟嘉鑫已转到其他老师班级
**周六下午1610 CSP01班(8教室,1人,一对一)**
- 周晨远(回归:原 CSP01橙子一对一,2026-09-05 新建班续课,已上到 CSP01-02,下节课第03课)
**周日早上0845AICODE03班(4人)**
- 卢皓霖、黄俊博、朱浩铭、杨翊弘
**周六晚上1900 AIAGENT03班(8教室,7人)**
- 陈嘉博、王子墨、谭俊研、黄彦棋、黄浩、钟嘉鑫、李承泽
> 注:黄浩、钟嘉鑫回归本班
**周日早上1030CSP03班(2人)**
- 王佳琳、唐钎宸
**周日早上0845 AIAGENT03班(13教室,5人)**
- 卢皓霖、黄俊博、朱浩铭、沙佩琪(新)、章梓皓(新)
**周日下午1400AICODE03班(4人)**
- 余浩宸、贺楚悦、吴浩睿、林俊宇
**周日下午1400 AIAGENT03班(8教室,4人)**
- 贺楚悦、吴浩睿、余浩宸、邓梓潼(新)
**周日晚上1900K4班(2人)**
- 梁境城、钟嘉逸
**体验课**
- 叶钧洋等(新生体验课,单独用 `体验课/` 目录管理)
### 已归档班级(历史/转出,在 `.claude/memory/class/归档/`)
> GESP集训第一期/第二期(暑期结束)、AIAGENT小龙虾夏令营(暑期结束)、穹狼传奇(暑期结束)、CSP03橙子周日1030(唐钎宸转学)、周日1900K4班(梁境城、钟嘉逸转其他老师);杨林轩、杨翊弘、林俊宇、谭锦程等停课/退学学生档案移入 `归档/转出学生/`
---
@@ -98,14 +131,14 @@ AI 处理课评任务时,直接按以下路径读取,无需询问用户确
| 班级 | 风格文件 | 语气特点 |
|------|---------|---------|
| AICODE03班 | `rules/AICODE.md` | 温暖鼓励型,用"很棒~"、波浪号、表情符号🌟💡 |
| CSP03班 | `rules/CSP.md` | 家长信·要求型,"希望多思考",先查OJ数据 |
| K4班 | `rules/KITTEN.md` | 家长信·温和鼓励型,"不过老师发现..." |
| AIAGENT03班(周五1700/周六1900/周日0845/周日1400) | `rules/AIAGENT.md` | 温暖鼓励型,用"很棒~"、波浪号、表情符号🌟💡 |
| CSP04班(周六0830/周六1400) | `rules/CSP.md` | 家长信·要求型,"希望多思考",先查OJ数据 |
| CSP00班(周五1900,2课时) | `rules/CSP.md` | 家长信·要求型,需查OJ数据 |
| 体验课 | `rules/体验课.md` | 转化导向,突出"第一次",自然引导报课 |
### 固定开头格式(AICODE03 / CSP03 / K4 通用)
### 固定开头格式(AIAGENT / CSP / K4 通用)
```
家长好,本周学习的内容是《【课程名称】》:
【学生名】家长好,本周学习的内容是《【课程名称】》:
1. 【知识点1】
2. 【知识点2】
3. 【知识点3】
@@ -115,79 +148,137 @@ AI 处理课评任务时,直接按以下路径读取,无需询问用户确
---
## 🧐 课评质检系统(9 个 Agent)
质检系统由 `.claude/agents/` 下的 9 个 agent 协作完成,课评生成后自动触发。
| Agent | 职责 |
|-------|------|
| **课评质检调度器** | 协调全部质检 agent 并行工作,汇总意见,输出质检报告 |
| **课评证据审计员** | 事实核对:姓名、出勤、OJ数据、题目编号、知识点来源(CSP/GESP必查) |
| **课评质量评审员** | 100分制评分(事实20/具体15/个性15/成长15/建议15/可读10/风险10)+ 7个硬伤一票否决 |
| **课评终稿编辑** | 合并各 agent 意见,解决冲突,产出修订稿 + 可复用课评框架 |
| **家长-忙碌实用型** | 是否太长、重点是否前置、今晚做什么是否清晰 |
| **家长-结果导向型** | 学到什么程度、卡在哪、怎么进步、回家做什么 |
| **家长-细节核对型** | 文内一致性、格式、术语、错别字、模板残留 |
| **家长-焦虑保护型** | 是否打击信心、是否有比较、是否只有问题没有努力 |
| **家长-成长陪伴型** | 是否看见努力、建议是否可持续、是否有亲子配合 |
**7 个硬伤(一票否决)**:无数据无证据 / 学生高度重复 / 无个体差异 / 只夸不批 / 只批不夸 / 无后续建议 / 专业误判。
**核心原则**:事实以证据审计员为准(家长视角的数字意见一律忽略);不做学生横向比较;术语家长能懂(CE/WA/AC 等要解释);老师是最终决策者。
---
## 📁 文件结构
```
ClassFeedback/
├── CLAUDE.md # 项目说明文档(本文件)
├── AGENTS.md # Codex 项目说明(历史遗留,路径已过时)
├── .env # 环境变量配置(OJ登录凭据等)
├── .gitignore # Git忽略配置
├── OJ作业数据API使用说明.md # OJ数据API使用文档
├── .claude/ # Claude核心配置目录
│ ├── settings.local.json # 本地配置
│ ├── agents/ # Subagent配置
│ │ ├── 橙子老师/ # 心理疏导对话agent
│ │ └── 余浩宸/ # 学生对话模拟agent
│ ├── config/ # 配置文件
│ │ └── hw_dict.json # OJ作业包ID映射
│ ├── rules/ # 评语风格库(按科目分类)
│ │ ├── CSP.md # C++课程评语
│ │ ├── AICODE.md # AICODE课程评语
│ │ ├── KITTEN.md # Kitten课程评语
│ │ ├── 体验课.md # 体验课转化评语
│ │ └── oj_data.md # OJ系统数据获取规则
│ ├── templates/ # 课程模板库
│ │ ├── CSP.md # C++课程模板
│ │ ├── AICODE.md # AICODE课程模板
│ │ ├── KITTEN.md # Kitten课程模板
│ │ ├── 课评网页模板.html # 📸 课评展示网页模板(含截图下载功能)
│ │ └── (出勤登记已移除)
│ ├── skills/ # 技能库
│ │ ├── 课评生成/ # 课评生成技能
│ │ ├── 课评检查/ # 课评检查技能
│ │ └── 家长沟通/ # 家长沟通回复助手
│ ├── lesson/ # 课程内容库
│ │ ├── AICODE/
│ │ │ ├── AICODE-03/ # AICODE03班课程大纲
│ │ │ └── AICODE-06/ # AICODE06班课程大纲
│ │ ├── CSP03/ # CSP03班课程大纲
│ │ ├── Kitten04/ # Kitten04班课程大纲(对应K4班)
│ │ └── 体验课/ # 体验课课程
│ └── memory/ # 记忆/档案库
│ ├── 教育理念.md # 教学理念与评语指南
│ ├── feedback/ # 课评规范与指南
│ ├── knowledge_base/ # 家长沟通标准回复知识库
│ ├── class/ # 【班级数据 - 核心课评目录】
│ │ └── 【课程+老师+时间】/ # 命名规范:课程编号+老师+星期时间
│ │ ├── summaries/ # 班级总结/群发文案
│ │ ├── 补课/ # 补课学生专用目录
│ │ └── 【学生姓名】/
│ │ ├── feedback/ # 【个人课评目录】
│ │ ├── communication/ # 【家长沟通记录】
│ │ ├── profile.md # 学生画像
│ │ ├── summary/ # 阶段性总结
│ │ └── 照片视频/ # 学生上课作品/照片
│ ├── oj/ # OJ数据分析结果
│ └── student/ # 学生通用档案模板
├── config/ # 根目录配置文件(预留)
├── config/ # 配置文件
│ └── hw_dict.json # OJ作业包ID映射(CSP/GESP)
├── data/ # 数据文件目录(校宝API数据)
├── docs/ # 文档目录
│ └── superpowers/ # Superpowers技能框架文档
├── input/ # 输入文件目录
├── output/ # 输出文件目录
│ ├── 课评汇总/ # 周课评汇总(202X年第X周课评汇总.md + 课评.html)
│ ├── 课评质检报告/
│ ├── 2026暑假出勤计算/
│ ├── AI03网页/
│ ├── AICODE03提示词/
│ ├── AIAGENT03提示词/
│ ├── CSP03课前小测/
│ └── 课评汇总/
│ ├── GESP报名通知_含学习数据.md / 网页.html
│ ├── K4学期末家长信* / K2学期末家长信.html
│ ├── assets/ # 穹狼logo等资源
│ └── 家长沟通/
├── scripts/ # 脚本目录
│ ├── analyze_course_student.py
│ ├── backup.bat
│ ├── check-api-vs-local.js
│ ├── query-attendance.js
│ ├── split_feedback.py
│ ├── check-api-vs-local.js # API出勤 vs 本地课评核对
│ ├── fetch_gesp_detailed.py
│ ├── fetch_gesp_oj_data.py
│ ├── fetch_oj_csp17_v2.py
│ ├── generate_final_report.py
│ ├── generate_gesp_report.py
│ ├── get_gesp_oj_data_v2.py
│ ├── get_student_oj.py # 单学生OJ数据查询(课评用)
│ ├── split_feedback_v2.py
│ ├── update_feedback_with_oj.py
│ ├── update_gesp_oj.py
│ └── write_lesson10.py
├── .claude/ # Claude核心配置目录
│ ├── settings.local.json # 本地配置(权限白名单)
│ ├── agents/ # Subagent配置(13个)
│ │ ├── README.md / claude.md # Agent总览与加载规则
│ │ ├── 橙子老师/ # 心理疏导对话agent
│ │ ├── 余浩宸/ # 学生对话模拟agent
│ │ ├── 课评准备阶段/ # 流水线第1阶段:收集数据
│ │ ├── 课评生成阶段/ # 流水线第2阶段:生成课评
│ │ ├── 课评收尾阶段/ # 流水线第4阶段:质检/保存/更新画像
│ │ ├── 课评质检调度器/ # 质检协调(详见"课评质检系统")
│ │ ├── 课评证据审计员/ # 事实核对
│ │ ├── 课评质量评审员/ # 100分制评分+硬伤检查
│ │ ├── 课评终稿编辑/ # 修订稿产出
│ │ └── 家长-忙碌实用型/ 家长-结果导向型/ 家长-细节核对型/
│ │ 家长-焦虑保护型/ 家长-成长陪伴型/ # 5位家长视角质检
│ ├── config/ # 配置文件
│ │ └── hw_dict.json # OJ作业包ID映射
│ ├── docs/ # 质量文档
│ │ ├── 课评质量标准.md # 准确+具体+有温度+有行动
│ │ └── 实战案例-CSP05-14贪心算法.md
│ ├── lesson/ # 课程内容库
│ │ ├── CLAUDE.md # 课程库指引(大纲从独立仓库同步)
│ │ ├── 2026橙子暑假集训/ # GESP暑假集训教案(12课,按课次目录)
│ │ ├── 2026暑假AI/ # AIAGENT小龙虾夏令营课程
│ │ ├── AIAGENT/ # AIAGENT-02 / AIAGENT-03 / AIAGENT-06 / 课程计划.md
│ │ ├── CSP/ # CSP课程大纲
│ │ │ ├── CSP03/ # CSP03课程 / 课程计划.md
│ │ │ └── CSP04/ # CSP04课程 / 课程计划.md
│ │ ├── CSP-暑假集训2026/ # CSP暑假集训方案
│ │ ├── GESP考级大纲/ # GESP/CSP课程大纲xlsx
│ │ ├── Kitten04/ # K4班课程计划.md
│ │ └── 体验课/ # 体验课课程
│ ├── memory/ # 记忆/档案库
│ │ ├── MEMORY.md # 记忆索引
│ │ ├── 教育理念.md # 教学理念与评语指南
│ │ ├── feedback/ # 课评规范(课评必须看用户画像.md / 课评规范.md)
│ │ ├── knowledge_base/ # 家长沟通标准回复知识库
│ │ ├── class/ # 【班级数据 - 核心课评目录】
│ │ │ ├── CLAUDE.md # 班级课评核心规范
│ │ │ ├── 【课程+老师+时间】/ # 命名规范:课程编号+老师+星期时间
│ │ │ │ ├── summaries/ # 班级总结/群发文案
│ │ │ │ ├── 补课/ # 补课学生专用目录
│ │ │ │ └── 【学生姓名】/
│ │ │ │ ├── feedback/ # 【个人课评目录】
│ │ │ │ ├── communication/ # 【家长沟通记录】
│ │ │ │ ├── profile.md # 学生画像
│ │ │ │ ├── summary/ # 阶段性总结
│ │ │ │ └── 照片视频/ # 学生上课作品/照片
│ │ ├── oj/ # OJ数据分析结果
│ │ ├── student/ # 学生档案模板
│ │ └── temp/ # 临时文件
│ ├── plans/ # 计划文件
│ ├── rules/ # 评语风格库(按科目分类)
│ │ ├── CSP.md # C++课程评语
│ │ ├── AIAGENT.md # AIAGENT课程评语
│ │ ├── KITTEN.md # Kitten课程评语
│ │ ├── 体验课.md # 体验课转化评语
│ │ ├── oj_data.md # OJ系统数据获取规则
│ │ └── CLAUDE.md # 风格库指南
│ ├── skills/ # 技能库
│ │ ├── 课评检查/ # SKILL.md — 课评完成情况检查(课次/日期双模式+API核对)
│ │ ├── 课评生成/ # skill.md — 交互式问答生成课评 + 使用模板/子目录
│ │ └── 课评质检/ # SKILL.md — 已有课评质量检查(9 agent 协作)
│ ├── summaries/ # 月度总结模板.md
│ └── templates/ # 课程模板库
│ ├── CSP.md / AIAGENT.md / KITTEN.md # 各课程课评模板
│ ├── 课评汇总网页.html # 家长版课评汇总网页(翻页浏览、温暖画册风格)
│ └── 课评网页模板.html # 课评展示网页(填 PAGE/GOALS/STUDENTS 三配置区)
└── node_modules/ # npm依赖
```
@@ -196,9 +287,11 @@ ClassFeedback/
## 🎯 快速使用流程
```
1. 选择课程 → 2. 选择评语风格 → 3. 复制模板 → 4. 填空生成
1. 输入 /课评生成 → 2. 交互式问答(班型/班次/材料/出勤)→ 3. 自动走4阶段流水线 → 4. 自动质检+保存
```
或手动:`1. 选择课程 → 2. 选择评语风格 → 3. 复制模板 → 4. 填空生成`
---
*穹狼科创 - 多课程体系课评生成器 v2.2(CLAUDE.md 配置完善版)*
*穹狼科创 - 多课程体系课评生成器 v3.0(CLAUDE.md 流水线整理版)*