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

107 lines
6.4 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.
# 项目记忆文件
## 课评工作流优化框架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**:多层嵌套目录不利于快速查看,扁平化结构更符合使用习惯