更新课评系统代码

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

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*