53 lines
2.1 KiB
Markdown
53 lines
2.1 KiB
Markdown
---
|
||
name: studytime-analysis
|
||
description: 分析指定角色的完课时间分布与学习规律,包含一周内时间分布、跨周趋势、寒暑假排除。触发词:「学习时间分析」「看看学习时间」「学习时间有什么特点」「studytime」。
|
||
slug: studytime-analysis
|
||
version: 1.0.0
|
||
---
|
||
|
||
# 学习时间分析技能
|
||
|
||
## 触发规则
|
||
|
||
用户通过飞书发送以下格式的消息时触发:
|
||
- 「学习时间分析 [角色ID]」
|
||
- 「[角色ID] 学习时间分析」
|
||
- 「看看 [角色ID] 的学习时间有什么特点」
|
||
- 「分析 [角色ID] 的完课时间规律」
|
||
|
||
角色ID 必须是纯数字。
|
||
|
||
## 工作流程
|
||
|
||
1. **参数提取** — 从用户消息中提取角色ID
|
||
2. **数据采集** — 执行 Python 脚本查询该角色全部完课记录(自动排除寒假1-2月、暑假7-8月)
|
||
3. **分析输出** — 脚本自动完成以下分析并输出格式化报告:
|
||
- 一周分布:周一至周日各天完课数量 + 周一至周五上课时段(上午/中午/晚上)
|
||
- 跨周趋势:覆盖总周数、周均完课数、连续性、断档、趋势变化
|
||
- 完课记录明细表格
|
||
|
||
## 调用方式
|
||
|
||
```bash
|
||
cd /root/.openclaw/workspace-xiaoban && \
|
||
export PG_DB_HOST=bj-postgres-16pob4sg.sql.tencentcdb.com \
|
||
PG_DB_PORT=28591 PG_DB_USER=ai_member \
|
||
PG_DB_PASSWORD='...' PG_DB_DATABASE=vala && \
|
||
python3 skills/studytime-analysis/scripts/studytime_analysis.py <role_id>
|
||
```
|
||
|
||
## 数据库说明
|
||
|
||
- **数据源**: PostgreSQL Online (`vala` 库)
|
||
- **核心表**: `user_chapter_play_record_0~7`(完课记录,8张分表)
|
||
- **筛选**: `play_status = 1`(已完成),`EXTRACT(MONTH FROM updated_at) NOT IN (1,2,7,8)`(排除寒假1-2月、暑假7-8月)
|
||
- **注意**: 表名无 `bi_` 前缀;课程通过 `level` + `chapter_id` 字段展示
|
||
|
||
## 输出说明
|
||
|
||
脚本输出为 Markdown 格式的分析报告,可直接发送给用户。包含:
|
||
- 基本信息(角色ID、有效完课总数、排除的寒暑假记录数)
|
||
- 一周时间分布表 + 规律总结
|
||
- 跨周学习趋势表 + 趋势分析
|
||
- 完课记录明细表(日期、时间、星期、时段、课程、课时)
|