# 工作流程规则:输入格式、批量生成、存储与特殊处理 > 合并文件:快捷输入格式 + 批量课评生成 + 新学生/补课处理 + 速记符号 + 快速入门 > 版本: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对照规则」:课程编号、目录结构、文件命名、日期匹配、完成率统计、三级查找 > - 重写第5节「存储规则」:以 `.claude/memory/class/` 标准目录结构为准 > - 更新第7节「自动双轨保存机制」:改为单次文件保存 + 班级总结 > - 更新第3节「学生类型标记」:保存位置指向新路径 > - 新增补课双向记录规则 > > **v3.2 变更**: --- ## 一、快速入门(30秒上手) ### 1.1 三步完成课评 ``` 第1步:指定班级(一次即可) /课评 班级:发现世界-周四19点 第2步:输入学生表现 乔乔:观望5分钟→主动搭3层→自己调整,开心,比上周进步 昊昊:慢热,搭3层,反复调整,稳定 第3步:AI自动生成并保存 AI生成 → 自动双轨保存 → 完成! ``` **完成!课评已自动保存到班级汇总和个人档案,无需确认。** ### 1.2 核心理念 - **有姓名** → AI知道是谁 - **有行为** → AI知道做了什么 - **其他随意** → AI自动补充 支持:口语化、碎片化、无序化、语音转文字。 --- ## 二、输入格式 ### 2.1 自然语言输入(推荐) **方式1:极简一句话** ``` 乔乔本节课开始不敢碰,后来主动搭了三层,球卡住自己调高度,挺稳定的,比上周主动多了 ``` **方式2:关键词速记** ``` 乔乔:gj5→zd3→zt ↑++ 昊昊:慢热→zd3→反复调 → ``` ### 2.2 批量输入格式 **标准列表式(推荐)** ``` 课程:DISC-007 班级:发现世界-周四19点 日期:4月16日 1. 乔乔:gj5→zd3→zt ↑++ 2. 昊昊:慢热→zd3→反复调 → 3. 张小明[体验]:搭了3层,开心 4. 李小红[补课]:专注完成,稳定 ``` **简化表格式** ``` 学生 核心表现 情绪 对比 ───────────────────────────────────────── 乔乔 gj5→zd3→zt ↑ ++ 昊昊 慢热→zd3→反复调 → 渐入佳境 小明[体验] 搭3层参与 ↑ 积极 ``` ### 2.3 语音输入优化 AI自动匹配班级学生名单,实时纠正谐音: - "良心桥" → "梁昕乔" - "中云浩" → "钟昀昊" > **速记符号完整定义**:参见 `21-shorthand.md` --- ## 三、学生类型标记 ### 3.1 标记说明 | 标记 | 含义 | 处理方式 | 保存位置 | |------|------|----------|---------| | 无标记 | 正式学生 | 双轨保存 | 个人课评文件+班级汇总 | | `[补课]` | 补课学生 | 自动检测档案位置,跨班级自动双轨保存 | 个人课评文件(原班级侧追踪文件)+班级汇总 | | `[体验]` | 体验课学生 | 仅班级汇总 | 个人课评文件(补课目录)+班级汇总 | | `[缺课]` | 今天缺席 | 记录缺席 | 仅班级汇总 | | `[new]` | 新学生首次 | 创建档案 | 个人课评文件+班级汇总+学生画像 | ### 3.2 标记使用示例 ``` 批量输入示例: 周四19点 DISC-007 乔乔:gj5→zd3→zt ↑++ 昊昊:慢热→zd3→反复调 → 张小明[体验]:搭了3层,开心 李小红[补课]:专注完成,稳定 ``` **AI自动处理**: - 乔乔、昊昊:双轨保存 - 张小明[体验]:仅保存到班级汇总,不询问 - 李小红[补课]:检查档案 → 当前班级存在 → 双轨保存;其他班级存在 → **自动跨班级双轨保存** > **补课/新学生/转正详细规则**:参见 `22-student-mgmt.md` --- ## 四、批量生成流程 ### 4.1 标准流程 ``` 教师极简输入 → AI并行解析每个学生 → 预加载课程/档案 → 并行生成个性化课评 → 质量检查 → 【自动双轨保存】→ 【🗑️ 自动删除临时表单】→ 完成 ``` **预加载说明**: - **课程预加载**:系统根据日期自动计算学期周数,匹配课程主题和知识点(详见 [`15-semester-weeks.md`](15-semester-weeks.md)) - **档案预加载**:调取学生画像(性格气质、学习特点、历史表现)实现千人千面生成(详见 [`30-student.md`](30-student.md)) ### 4.2 批量输出界面 ``` ━━━━━━━━━━━━━━━━━━━━━━━ 📊 批量生成完成(5份)|发现世界-周四19点|DISC-007 ━━━━━━━━━━━━━━━━━━━━━━━ ✅ 乔乔 198字 正常 ✅ 昊昊 205字 正常 ⚠️ 小强 165字 偏短 ✅ 张小明[体验] 192字 体验学生 ✅ 李小红[补课] 201字 补课学生 【批量操作】 [全部发送] [逐个查看] [标记修改] [取消] ━━━━━━━━━━━━━━━━━━━━━━━ ``` ### 4.3 自动通过条件(同时满足) - ✅ 学生有完整档案 - ✅ 字数在弹性范围内(180-350字) - ✅ 无敏感词/异常表述 - ✅ 情绪描述合理 ### 4.4 需教师关注条件(任一满足) - ⚠️ 体验/补课学生(无档案) - ⚠️ 字数偏差>20字 - ⚠️ 检测到负面情绪词 - ⚠️ 与上周表现差异过大 - ⚠️ 内容重复度高 --- ## 五、存储规则(课评规范标准结构) > ⚠️ **课评规范V1.0强制要求**:课评必须按次按学生**单独文件**保存,不可用汇总文件代替单次课评。目录结构必须遵循 `.claude/memory/class/` 标准,否则课评完成率自动化统计无法识别。 ### 5.1 标准目录结构 ``` .claude/memory/class/ ├── {班级名称}/ # 命名:{课程编号}{老师}{星期时间}(如 AICODE03小Q周五1900) │ ├── summaries/ # 班级总结/群发文案 │ │ ├── YYYYMMDD_课程编号-课次_班级反馈.md │ │ └── YYYYMMDD_课程编号-课次_微信群.txt │ ├── {学生姓名}/ # 学生个人目录 │ │ ├── feedback/ # 【个人课评目录 - 核心】 │ │ │ ├── YYYYMMDD_课程编号-课次.md # 正常课评 │ │ │ ├── YYYYMMDD_课程编号-课次(请假).md # 请假记录 │ │ │ └── YYYYMMDD_课程编号-课次(补课-去班级名).md # 补课追踪 │ │ └── profile.md # 学生画像 │ └── 补课/ # 补课学生专用目录 │ └── {学生姓名}/ │ └── feedback/ │ └── YYYYMMDD_课程编号.md ├── {班级名称2}/ └── ... ``` ### 5.2 文件命名规范 #### 课程编号规则 **必须与校宝排课系统中的 `class_name` 完全一致**: | 校宝 class_name | 标准编号 | 说明 | |----------------|---------|------| | CSP01信息学奥赛01 | **CSP01** | C++ 信息学奥赛班 | | AICODE03AI编程创新课03 | **AICODE03** | AI 编程创新班 | **强制规则**: - C++ 班统一用 `CSP`,不得用 `C++`、`信奥` 等 - AI 编程班统一用 `AICODE`,不得用 `AI`、`AI03` 等缩写 #### 文件命名格式 | 类型 | 格式 | 示例 | |------|------|------| | 单次课评 | `YYYYMMDD_课程编号-课次.md` | `20260418_CSP05-07.md` | | 请假记录 | `YYYYMMDD_课程编号-课次(请假).md` | `20260505_CSP05-10(请假).md` | | 补课追踪 | `YYYYMMDD_课程编号-课次(补课-去班级名).md` | `20260505_CSP05-10(补课-去AICODE03茄子周六1600).md` | | 班级反馈 | `YYYYMMDD_课程编号-课次_班级反馈.md` | `20260418_CSP05-07_班级反馈.md` | | 群发文案 | `YYYYMMDD_课程编号-课次_微信群.txt` | `20260418_CSP05-07_微信群.txt` | | 月度总结 | `YYYY-MM_月度总结.md` | `2026-04_月度总结.md` | | 学生画像 | `profile.md`(固定名) | `profile.md` | #### 日期规则(关键) **文件名中的 `YYYYMMDD` 必须与校宝 `teaching_date` 完全一致。** | 校宝 teaching_date | 正确文件名 | 错误文件名 | 原因 | |-------------------|-----------|-----------|------| | 2026-05-10(周六) | `20260510_CSP01-10.md` | `20260511_CSP01-10.md` | 05-11是周日,非上课日 | | 2026-05-09(周五) | `20260509_AICODE04-09.md` | `20260510_AICODE04-09.md` | 应取校宝日期而非提交日期 | ### 5.3 考勤状态文件检测 AI及自动化系统扫描 `feedback/` 目录时,通过文件名后缀判断状态: | 文件名匹配 | 判定 | |-----------|------| | `YYYYMMDD_课程编号-课次.md` | 正常课评,计为到课 | | `YYYYMMDD_课程编号-课次(请假).md` | 请假,不要求课评 | | `YYYYMMDD_课程编号-课次(补课-去班级名).md` | 补课追踪,课评在补课班级 | ### 5.4 双轨保存机制(新规范) | 存储位置 | 标准路径 | 用途 | 保存时机 | |---------|---------|------|:--------:| | **个人课评文件** | `feedback/YYYYMMDD_课程编号-课次.md` | 单次个人课评 | 生成后自动保存 | | **班级总结** | `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`(必须存在,关系到完成率统计) 2. **第二优先级**:班级总结 `summaries/*.md`(课后必写,但不影响个人完成率) ### 5.6 失败处理 - 个人课评文件保存失败 → 记录到待补存队列,下次生成前自动补存 - 教师可输入`补存`或`同步`手动触发 --- ## 六、推荐工作流程 ### 6.1 课后5分钟快速流程 ``` Step 1(1分钟): 指定班级 /课评 班级:发现世界-周四19点 Step 2(2分钟): 速记输入 乔乔:gj5→zd3→zt ↑++ 昊昊:慢热→zd3→反复调 → 小明[体验]:zd3 ↑ 小红[补课]:专注完成 → Step 3(2分钟): 查看并保存 AI生成 → 查看质量报告 → 课评保存完成 → 🗑️ 自动清理表单 → 完成 完成!课评已自动双轨保存,无需确认。 ``` ### 6.2 不同场景推荐 | 场景 | 推荐方式 | 预计时间 | |------|---------|----------| | 常规课后(8人) | 速记批量输入 | 3-5分钟 | | 重点关注学生 | 自然语言详细描述 | 2-3分钟/人 | | 边走边记 | 语音转文字 | 实时 | | 周汇总整理 | 查看班级周汇总文件 | 1分钟 | --- ## 七、自动双轨保存机制(核心功能) > 课评生成后立即自动保存为个人课评文件 + 班级总结,无需教师确认 ### 7.1 机制概述 ``` 生成阶段 保存阶段 完成阶段 ───────── ───────── ───────── AI生成课评 → 【自动保存】 → 课评持久化保存 ↓ ↓ ↓ 质量检查通过 → feedback/YYYYMMDD_课程编号.md → 🗑️ 自动删除临时表单 + summaries/YYYYMMDD_课程编号_班级反馈.md → 完成(无需确认) ``` **核心原则**: - ✅ **生成即保存**:课评生成后立即自动保存为单次课评文件到 `feedback/` - ✅ **无需确认**:教师无需点击"确认",课评直接生效 - ✅ **全程可修改**:生成后教师可随时修改文件内容 - ✅ **文件名即考勤**:有课评文件即视为出勤 ### 7.2 保存流程 #### 标准流程 ``` 教师输入表现 → AI生成课评 → 质量检查 → 【自动保存到 feedback/】→ 完成 ``` #### 详细步骤 ```python def on_evaluation_generated(student, evaluation, class_info): """课评生成后自动触发""" # 1. 质量检查 if not quality_check(evaluation): return regenerate(student) # 2. 构建文件名和路径 date = class_info['teaching_date'] # 取校宝排课日期,非编写日期 course_code = class_info['course_code'] # 如 CSP05-07 或 AICODE03-05 filename = f"{date}_{course_code}.md" filepath = f".claude/memory/class/{class_info['class_dir']}/{student}/feedback/{filename}" # 3. 自动保存个人课评文件 try: save_to_file(filepath, format_evaluation(evaluation)) log_success(f"{student} 课评已保存:{filepath}") except SaveError as e: log_error(f"个人课评文件保存失败:{e}") return retry_or_alert() # 4. 展示给教师(已保存状态) return show_to_teacher(student, evaluation, filename=filename, status="已保存") ``` ### 7.3 学生类型与文件路径对照 | 类型 | 档案状态 | 课评文件保存路径 | |:-----|:---------|:----------------| | **正式学生** | 有档案 | `.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` | | **缺课学生** | 有档案 | ❌ 不生成课评 | > **⚠️ 重要**:跨班级补课学生必须放在 `补课/` 目录下,否则自动化统计系统的三级查找可能无法识别。 ### 7.4 自动触发条件 | 场景 | 触发动作 | 自动保存 | |:-----|:---------|:--------:| | 单学生课评生成完成 | 立即触发 | 班级汇总 + 个人档案(双轨)| | 批量课评全部生成完成 | 全部生成后批量触发 | 班级汇总 + 个人档案(双轨,批量)| | 课评修改完成 | 立即触发 | 班级汇总 + 个人档案(双轨,更新)| **自动保存优先级**: ``` 优先级1(必须成功):个人课评文件 feedback/*.md ↓ 成功 优先级2(允许失败):班级总结 summaries/*.md ↓ 失败 加入待补存队列,下次触发时重试 ``` ### 7.5 教师交互指令 #### 查看类指令 | 指令 | 功能 | 返回内容 | |:-----|:-----|:---------| | `查看{学生}` | 查看指定学生课评详情 | 完整课评内容 + 状态 + 操作按钮 | | `查看全部` | 查看所有已生成课评 | 列表视图,含快速操作 | | `查看本周` | 查看本周班级汇总 | 打开本周班级汇总文件 | #### 修改类指令 | 指令 | 功能 | 触发动作 | |:-----|:-----|:---------| | `修改{学生}:{内容}` | 修改指定学生课评 | 直接编辑,更新班级汇总和个人档案 | | `重生成{学生}` | 完全重新生成 | 删除原课评,重新生成,自动双轨保存 | | `删除{学生}` | 删除该学生课评 | 从班级汇总和个人档案中删除(保留记录)| ### 7.6 修改规则 #### 支持修改的范围 | 修改类型 | 示例 | 处理方式 | 字数限制 | |:---------|:-----|:---------|:--------:| | 词语替换 | "搭建"→"拼搭" | 直接替换 | 不影响 | | 称呼修改 | "乔乔"→"昕乔" | 全文替换 | 不影响 | | 内容补充 | 在"完成了"后添加"还帮助了同伴" | 插入文本 | 单条≤50字 | | 内容删除 | 删除"这个调整值得注意" | 删除文本 | 单条≤50字 | | 情绪调整 | "开心"→"兴奋" | 替换关键词 | 不影响 | #### 不支持修改的场景(需重生成) - 改变课评结构(如从3段改为4段) - 改变评价基调(从负面改为正面) - 补充大量内容(>100字) - 改变课程主题理解 #### 修改流程 ``` 教师:修改乔乔:把"搭建"改为"拼搭" ↓ AI定位班级汇总中乔乔的课评 ↓ 执行替换 → 字数检查 → 质量检查 ↓ 更新班级汇总文件 ↓ 同步更新个人档案(如有) ↓ 提示修改完成 ``` ### 7.7 个人课评文件内容格式 #### 标准课评模板(单次文件) 个人课评文件 `feedback/YYYYMMDD_课程编号-课次.md` 内容格式: ```markdown # 课程名称:CSP05-07 初等数论2 **授课日期**: 2026-04-18 **课评内容**: 学生本节课课堂非常认真,三类作业全部完成。但课堂练习调试12次(2次运行错误、3次答案错误、2次编译错误),说明边界条件和代码规范性还需加强。建议每道题重新手写框架,减少复用旧代码,这样基础更扎实。 课后整理埃氏筛法模板,记录今天的坑点。 --- **老师签名:XXX** ``` #### 请假记录模板 ```markdown # 请假记录 **日期**: 2026-05-05 **课程**: CSP05-10 **学生**: 刘毅潇 **状态**: 请假 **原因**: (如有) ``` #### 补课追踪模板(补课班级侧) 文件开头可以注明补课来源(仅作元信息,正文不提及补课): ```markdown (补课,来自 AICODE06洋芋周日1400) {正常课评内容,完全不提补课} ``` ### 7.8 失败处理机制 | 失败类型 | 处理方式 | 教师感知 | 补偿机制 | |:---------|:---------|:---------|:---------| | 班级汇总写入失败 | 立即重试3次,仍失败则报错 | 显示错误提示 | 手动重试按钮 | | 个人档案写入失败 | 标记FAILED,加入待补存队列 | 静默处理,下次提示 | 自动补存 | | 并发冲突(班级) | 自动合并(追加模式) | 无感知 | 自动解决 | | 并发冲突(个人) | 队列化处理,串行重试 | 延迟1-2秒 | 自动重试 | | 磁盘满/权限不足 | 加入待补存队列,提醒教师 | 显示警告 | 手动触发补存 | #### 待补存队列处理 ``` 检测到待补存课评(2条): 1. 乔乔 - 第7周发现世界 状态:班级汇总已保存,个人档案保存失败 原因:磁盘临时满 [立即补存] [忽略] 2. 昊昊 - 第7周发现世界 状态:班级汇总已保存,个人档案保存失败 原因:权限被拒绝 [立即补存] [忽略] [全部补存] ``` ### 7.9 批量生成界面 #### 生成完成展示 ``` ━━━━━━━━━━━━━━━━━━━━━━━ 📊 课评生成完成(5份)|发现世界-周四19点|DISC-007 ━━━━━━━━━━━━━━━━━━━━━━━ ✅ 已保存 ✅ 乔乔 198字 已保存 ✅ 昊昊 205字 已保存 ✅ 张小明 192字 体验学生(仅班级汇总) ✅ 李小红 201字 补课学生(跨班级自动保存) ⚠️ 小强 165字 字数偏短(建议检查) 【操作选项】 [查看全部] [修改] [重生成] ━━━━━━━━━━━━━━━━━━━━━━━ ``` #### 逐个查看模式 ``` ━━━━━━━━━━━━━━━━━━━━━━━ 📋 课评详情 1/5 |乔乔 ━━━━━━━━━━━━━━━━━━━━━━━ 【课评内容】 乔乔本节课学习了"旋转飞机"... (完整课评内容) 【状态】✅ 已双轨保存 【字数】198字 ✅ 符合标准 【质量】✅ 无敏感词 ✅ 情绪合理 ✅ 学生档案完整 【操作】 [查看下一份] [修改] [重生成] ━━━━━━━━━━━━━━━━━━━━━━━ ``` ### 7.10 状态管理面板 在班级汇总文件顶部自动维护状态面板: ```markdown --- class: 发现世界-周四19点 week: 7 course: DISC-007 generated_at: 2026-04-17T16:00:00 status: total: 5 saved: 5 failed: 0 students: - name: 乔乔 status: saved saved_at: 2026-04-17T16:05:00 - name: 昊昊 status: saved saved_at: 2026-04-17T16:06:00 - name: 张小明 status: saved saved_at: 2026-04-17T16:07:00 note: 体验学生,仅班级汇总 --- ## 本周课评状态 | 学生 | 状态 | 操作 | |:-----|:----:|:----:| | 乔乔 | ✅ 已保存 | [查看] [修改] | | 昊昊 | ✅ 已保存 | [查看] [修改] | | 张小明 | ✅ 已保存 | [查看] [修改] | | 李小红 | ✅ 已保存 | [查看] [修改] | | 小强 | ⚠️ 保存失败 | [重试] [查看] | ``` ### 7.11 快捷指令速查 | 场景 | 指令 | 效果 | |:-----|:-----|:-----| | 查看全部 | `查看全部` | 查看本周所有已保存课评 | | 查看单个 | `查看乔乔` | 查看乔乔的课评详情 | | 修改课评 | `修改乔乔:把"搭建"改为"拼搭"` | 修改指定课评内容 | | 重生成 | `重生成乔乔` | 重新生成乔乔的课评 | | 手动补存 | `补存` / `同步` | 手动触发待补存队列处理 | ### 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/` 目录下的本次输入数据文件 --- ## 八、出勤统计(嵌入班级汇总) > 出勤信息直接记录在班级周汇总文件中,无需独立的出勤统计文件 ### 8.1 出勤判定规则 | 状态 | 图标 | 判定方式 | |:-----|:----:|:---------| | **出勤** | ✅ | 有档案 + 已生成课评 | | **补课** | 🔄 | 档案在其他班级 + 来本班上课(课评状态表标注) | | **体验/临时** | 📝 | 无档案 + 已生成课评(课评状态表标注) | | **缺课** | ❌ | 有档案 + 未生成课评(头部人数自动体现) | ### 8.2 出勤信息位置 出勤数据直接体现在班级周汇总文件中: **头部信息**(一行搞定): ```markdown > 班级人数:{N}人(出勤{M}人,缺勤{K}人) ``` **课评状态表**(已有,兼做出勤记录): ```markdown | 学生 | 状态 | 类型 | 操作 | |:-----|:----:|:----:|:----:| | 乔乔 | ✅ 已保存 | 常规 | [查看] | | 小红 | ✅ 已保存 | 补课 | [查看] | | 小明 | ✅ 已保存 | 体验 | [查看] | ``` ### 8.3 查看出勤 | 指令 | 功能 | 返回内容 | |:-----|:-----|:---------| | `查看出勤` | 查看本周各班级出勤 | 读取各班级汇总头部信息汇总 | | `查看{班级}出勤` | 查看指定班级 | 返回该班级汇总的头部+状态表 | | `标记缺课 {学生}` | 手动标记缺课 | 在班级汇总中添加缺课记录 | --- ## 九、快速编辑功能 支持小修改直接编辑,无需重新生成: ``` 修改乔乔:把"搭建"改为"拼搭" 修改昊昊:称呼改为"昊昊小朋友" 修改小明:在"完成了"后添加"还帮助了同伴" ``` **限制**:单次修改不超过50字,单篇累计不超过100字。超出限制建议重新生成。 --- ## 十、课评规范V1.0对照规则(强制) > 以下规则来自上级统一发布的「课评管理规范V1.0」,**所有老师必须遵守**,否则课评完成率自动化统计无法正确识别。 ### 10.1 课程编号规范 **班级文件夹中的课程编号必须与校宝排课系统的 `class_name` 一致**: | 校宝 class_name | 标准编号 | 文件名示例 | |----------------|---------|-----------| | CSP01信息学奥赛01 | **CSP01** | `20260418_CSP01-07.md` | | CSP02信息学奥赛02 | **CSP02** | `20260418_CSP02-07.md` | | CSP05信息学奥赛05 | **CSP05** | `20260418_CSP05-07.md` | | AICODE01代码编程入门课01 | **AICODE01** | `20260418_AICODE01-07.md` | | AICODE02代码编程入门课02 | **AICODE02** | `20260418_AICODE02-07.md` | | AICODE03AI编程创新课03 | **AICODE03** | `20260418_AICODE03-05.md` | | AICODE04AI编程创新课04 | **AICODE04** | `20260418_AICODE04-07.md` | | AICODE06AI编程创新课06 | **AICODE06** | `20260418_AICODE06-07.md` | **强制规则**: 1. C++竞赛班统一用 `CSP`:不得使用 `C++`、`信奥`、`信息学` 等作为课程前缀 2. AI编程班统一用 `AICODE`:不得使用 `AI`、`AI03`、`AI01` 等缩写,必须是完整编号 3. **编号必须与校宝一致**:校宝叫 CSP01 就是 CSP01,叫 AICODE03 就是 AICODE03 ### 10.2 目录结构标准 ``` .claude/memory/class/ ├── {课程编号}{老师}{星期时间}/ # 如 AICODE03小Q周五1900 │ ├── summaries/ │ ├── {学生姓名}/ │ │ ├── feedback/ │ │ │ └── YYYYMMDD_课程编号-课次.md │ │ └── profile.md │ └── 补课/ │ └── {学生姓名}/ │ └── feedback/ │ └── YYYYMMDD_课程编号.md └── ... ``` ### 10.3 日期匹配规则 **文件名中的 YYYYMMDD 必须与校宝 teaching_date 完全一致。** 常见错误: - ❌ 用课评编写/提交日期而非实际上课日期 - ❌ 周六上课但文件标周日日期 - ❌ 用课次所属周的周一/周日日期 **正确做法**:上完课当天就写完课评,文件名日期取校宝排课日期。 ### 10.4 课评完成率统计规则 #### 数据来源 - **出勤基准**:校宝 API 排课数据(`teaching-schedule`),以校宝为准 - **统计范围**:仅统计 CSP 和 AICODE 班级 - **时间范围**:默认上周三到本周二 #### 出勤状态判定 | 校宝 attendance_status | 判定 | 课评要求 | |----------------------|------|---------| | 含 `到课`/`出勤`/`签到` | **到课** | 必须有课评文件 | | 含 `请假` | **请假** | 当天不要求课评 | | 其他 | **缺勤** | 不要求 | - 补课学生(`student_identity = 补课`)按到课处理,必须有课评 - 试听学生(`student_identity = 试听`)按到课处理,必须有课评 #### 三级查找规则 对校宝中每个到课学生,系统按以下优先级查找课评文件: ``` 校宝记录:学生S 在日期D 到课,排课老师为T,班级编号为B 第1级 → 去老师T的仓库,在班级B对应目录下查找 路径:T仓库/.claude/memory/class/{含B的目录}/S/feedback/ 文件:YYYYMMDD(D)_*.md(排除汇总/登记/总结/班级反馈) 找到 → 匹配成功 ✓ 未找到 → 进入第2级 第2级 → 去老师T的仓库,在其他所有班级的 补课/ 目录下查找 路径:T仓库/.claude/memory/class/{其他班级}/补课/S/feedback/ 找到 → 匹配成功 ✓ 未找到 → 进入第3级 第3级 → 去其他所有老师的仓库,在所有班级的 补课/ 目录下查找 路径:其他老师仓库/.claude/memory/class/{任意班级}/补课/S/feedback/ 找到 → 匹配成功 ✓ 未找到 → 标记为「缺失」✗ ``` #### 完成率计算 ``` 应发总数 = 到课学生数(本班到课 + 补课到课 + 试听到课) 已完成 = 按三级查找规则匹配到的学生数 完成率 = 已完成 / 应发总数 × 100% ``` 请假学生不纳入应发总数。请假学生后续在其他课堂补课(校宝中以补课身份出现),按到课学生处理。 #### 学生名匹配规则 - 去除空格后比较 - 支持包含匹配(如仓库 `梁铭轩` 可匹配校宝 `梁铭轩(大)`) - 去除后缀标记如 `(am)`、`1` 等再尝试 ### 10.5 补课双向记录规范 补课产生两条记录,分别在原班级和补课班级: **场景**:洋芋老师的学生王五,到茄子老师的 AICODE03 班补课 **1) 原班级侧(洋芋老师)**: - 文件:`feedback/20260510_AICODE06-03(补课-去AICODE03茄子周六1600).md` - 内容:简要说明去哪补课 **2) 补课班级侧(茄子老师)**: - 文件:`补课/王五/feedback/20260510_AICODE03-05.md` - 内容开头注明:`(补课,来自 AICODE06洋芋周日1400)`,后续正常写课评 ### 10.6 课后必做清单 - [ ] 为每位**到课**学生编写个人课评(保存到 `feedback/YYYYMMDD_课程编号-课次.md`) - [ ] 日期取校宝排课日期,不是编写日期 - [ ] 补课学生必须有课评(放在补课班级的 `补课/学生名/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) ├─ 学生名单:乔乔、昊昊、小明、小红 └─ [选择此班级] 班级 2:Wedo创造世界-周六1030(CREATE) ├─ 学生名单:小强、小芳、小华 └─ [选择此班级] 班级 3:AICODE03小Q周六1400(AICODE03) ├─ 学生名单:李明、王芳、张伟、刘洋 └─ [选择此班级] 班级 4:Wedo创造世界-周六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 蜥蜴 ✅ └─ [选择此班级] 班级 2:Wedo创造世界-周六1030(CREATE) ├─ 学生名单:小强、小芳、小华 ├─ 当周课程: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 4:AI 自动检测 → 生成并双轨保存 ``` → 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人(乔乔、昊昊、小明、小红) └─ [选择此班级] 班级 2:Wedo创造世界-周六1030(CREATE) ├─ 学生数:3人(小强、小芳、小华) └─ [选择此班级] 班级 3:AICODE03小Q周六1400(AICODE03) ├─ 学生数:4人(李明、王芳、张伟、刘洋) └─ [选择此班级] 班级 4:Wedo创造世界-周六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*