ai_member_xiaoban/skills/studycourse-analysis/SKILL.md

82 lines
3.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.

# studycourse-analysis — 角色上课情况分析
## 功能
分析角色上课情况,从四个维度输出详细报告:
1. **基础信息**:角色姓名、年龄、账号、手机号、注册时间、购买渠道、设备信息、首/末次完课
2. **完课耗时分析**:平均/中位数完成时间、异常耗时(<10 分钟或>20 分钟)、耗时趋势
3. **中互动正确率分析**Perfect/Good/Oops 占比、优良率、趋势变化
4. **知识巩固分析**:巩固练习完成率、得分分布
Markdown 报告末尾提示用户可选择生成 HTML 文件,确认后生成。
## 触发词
`分析角色[ID]的上课情况`
如:`分析角色32009的上课情况`
## 数据源
| 类型 | 库 | 表 |
|------|-----|-----|
| MySQL vala_user | `vala_app_character` | 角色基本信息、purchase_season_package |
| MySQL vala_user | `vala_app_account` | 账号信息、download_channel、key_from |
| MySQL vala | `vala_game_chapter` + `vala_game_season_package` | 章节 Level/Unit/Lesson 映射 |
| PostgreSQL vala | `user_course_detail` | 课程激活时间、到期时间、course_level |
| PostgreSQL vala | `user_login_app_info` | 设备信息device_name/model/type/os |
| PostgreSQL vala | `user_chapter_play_record_0~7` | 完课记录play_status=1 |
| PostgreSQL vala | `user_component_play_record_0~7` | 中互动记录play_result: Perfect/Good/Oops |
| PostgreSQL vala | `user_chapter_settlement_data_0~7` | 结算数据(含 practiceSkillPoint/practiceCount |
## 使用方式
```bash
cd /root/.openclaw/workspace-xiaoban
# 设置环境变量secrets.md
source secrets.md
# 生成 Markdown 报告
python3 skills/studycourse-analysis/scripts/studycourse_analysis.py <role_id>
# 生成 HTML 报告
python3 skills/studycourse-analysis/scripts/studycourse_analysis.py <role_id> --format html -o output/studycourse_<role_id>.html
```
## 交互流程
1. 用户发送 `分析角色[ID]的上课情况`
2. 运行 Markdown 分析报告,显示四步分析结果
3. 报告末尾自动提示 `💡 是否需要将以上详细分析报告生成一份 HTML 文件?回复「是」或「需要」即可。`
4. 用户回复「是」或「需要」后,生成 HTML 文件并发送
## HTML 结构
5 个 card 布局 section
1. **基础信息** — 角色ID、姓名、年龄、账号ID、手机号后4位、注册时间、课程激活/到期、购买渠道、设备、首/末次完课
2. **完课记录明细** — 表格,每行含 Level/Unit/Lesson、开始/完课时间、耗时、中互动汇总、巩固完成/题数/正确率
3. **上课时间分析** — 耗时统计分析
4. **中互动正确率分析** — 正确率趋势
5. **知识巩固正确率分析** — 得分分布
## 关键逻辑
- **章节映射**:复用 studytime-analysis 的 fetch_chapter_info_map(),按 (level, season_of_quarter) 分组计算全局 unit_index
- **巩固判断**`settlement_data.practiceSkillPoint > 0` 视为已完成巩固(`isPractice` 字段不可靠)
- **中互动**`user_component_play_record.play_result` 统计 Perfect/Good/Oops/Pass/Failed
- **异常耗时**<10 分钟为过快>20 分钟为过慢
- **趋势分析**:将数据按时间分前后两半,对比均值变化
## 凭证
数据库凭证从环境变量注入,不硬编码。配置项与 studytime-analysis 共用:
- `PG_DB_HOST/PORT/USER/PASSWORD/DATABASE`
- `MYSQL_HOST_online/PORT_online/USERNAME_online/PASSWORD_online`
## 版本
v1.0.0 — 2026-05-24 初始版本