ai_member_xiaoban/skills/user-info/SKILL.md
2026-05-26 08:00:01 +08:00

2.8 KiB
Raw Blame History

name version description
user-info 2.0.0 Query complete user info from online databases — resolve account/role/phone/ticket ID to unified account profile with tickets, characters, learning progress and activity levels.

user-info — 用户信息查询

When to Use

用户提到以下任意一种请求时触发:

  • "帮我查询一下账号 [ID] 的信息"
  • "查一下角色 [ID] 的信息"
  • "查一下手机号 [号码] 的信息"
  • "查一下订单号 [ID] 的信息"
  • "查一下用户信息" / "用户信息查询"

Core Rules

  1. 从用户输入中提取查询条件账号ID / 角色ID / 手机号 / 订单号),数字型优先匹配 ID11 位数字优先匹配手机号
  2. 调用 scripts/query_user_info.py 执行查询,传入对应参数
  3. 将脚本输出的格式化结果原样返回给用户
  4. 若脚本报错(如未找到账号),将错误信息如实反馈给用户
  5. 所有查询均为只读操作,不修改任何数据

执行命令

python3 skills/user-info/scripts/query_user_info.py --account-id <ID>
python3 skills/user-info/scripts/query_user_info.py --role-id <ID>
python3 skills/user-info/scripts/query_user_info.py --phone <号码>
python3 skills/user-info/scripts/query_user_info.py --order-id <ID>

支持 --json 参数输出 JSON 格式。

查询内容

脚本自动完成以下五步查询并格式化输出:

步骤 内容
第1步 解析输入 → 定位唯一 account_id
第2步 账号基本信息:注册时间、最近活跃、角色数、赛季通票数、下载渠道、注册来源
第3步 全部赛季通票(订单):类型、套餐名、发放/过期/使用时间、状态
第4步 全部角色名称、性别、年龄、当前课程位置Level/Unit/Lesson、上次完课时间、活跃度
第5步 汇总格式化输出

活跃度判定规则

  • 无完课记录 → 无完课记录
  • 最近 14 天无完课记录 → 流失
  • 最近 14 天完课 > 10 次 → 高活跃
  • 最近 14 天完课 < 5 次 → 低活跃
  • 其余 → 正常活跃

数据覆盖说明

线上数据库表结构与测试环境不同,以下字段暂不可用:

字段 原因
登录设备记录 线上无 account_login
地域信息 线上无 account_detail_info
商品订单(金额、渠道) 线上仅 vala_seasonal_ticket(赛季通票),无标准订单表

Quick Reference

内容 文件
数据库表结构参考 references/database_schema.md
查询脚本 scripts/query_user_info.py

依赖

  • Python 3
  • pymysql, psycopg2-binary
  • MySQL Onlinevala_user账号/角色、vala_order赛季通票、vala章节/赛季映射)
  • PostgreSQL Online valauser_chapter_play_record_0~7