ai_member_xiaoban/skills/studytime-analysis/SKILL.md

53 lines
2.1 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.

---
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、有效完课总数、排除的寒暑假记录数
- 一周时间分布表 + 规律总结
- 跨周学习趋势表 + 趋势分析
- 完课记录明细表(日期、时间、星期、时段、课程、课时)