wetrace
- Repo stars 150
- Author repo learn-skills.dev
微信数据分析助手
查询、分析和导出微信聊天数据,提供 AI 驱动的智能洞察和精美的可视化页面。
⚠️ 重要提示
- 本 Skill 依赖 Wetrace 服务
- 仅支持 Windows 平台(微信数据库位于 Windows 系统)
- 需要先安装并运行 Wetrace 服务才能使用本 Skill
前置条件
- Wetrace 服务:必须先安装并运行 Wetrace
- 服务地址:Wetrace 服务运行在
http://127.0.0.1:5200 - 微信数据库:已解密并加载
- 操作系统:Windows 10/11
- 如果服务未运行,先提示用户启动 Wetrace 服务
核心工作流程
1. 理解用户意图
将用户请求分类为以下类别:
- 查询(Query):查看消息、会话、联系人、群聊
- 搜索(Search):通过关键词查找消息
- 分析(Analysis):分析模式、生成统计数据
- 导出(Export):导出多种格式的数据
- 洞察(Insight):综合分析并提供建议
- 可视化(Visualization):生成精美的 HTML 页面
2. 提取参数
从用户请求中识别关键参数:
- 联系人名称:提取人名或群名
- 时间范围:提取时间段
- 关键词:提取搜索词
- 格式:提取导出格式
3. 调用 API
本 Skill 提供了 Python 脚本工具来调用 Wetrace API,比直接使用 WebFetch 更方便。
方式一:使用 Python 脚本(推荐)
使用 wetrace_api.py 脚本,位于 scripts/wetrace_api.py:
# 查询会话
python scripts/wetrace_api.py sessions --keyword "张三" --limit 20
# 获取消息
python scripts/wetrace_api.py messages --talker wxid_abc123 --limit 50
# 搜索关键词
python scripts/wetrace_api.py search --keyword "项目" --limit 30
# 分析数据
python scripts/wetrace_api.py analysis hourly wxid_abc123
python scripts/wetrace_api.py analysis daily wxid_abc123
# 导出聊天记录
python scripts/wetrace_api.py export chat --talker wxid_abc123 --format html
完整脚本文档:查看 scripts/README.md
方式二:直接调用 API
基础 URL:http://127.0.0.1:5200/api/v1
完整 API 文档:参考 references/api.md
常用 API 模式
GET /sessions?keyword={名称}&limit=50
GET /messages?talker_id={id}&time_range={范围}&limit=100
GET /search?keyword={关键词}&time_range={范围}&limit=50
GET /analysis/hourly/{session_id}
GET /analysis/daily/{session_id}
GET /export/chat?talker={id}&format={格式}&time_range={范围}
4. 处理和呈现数据
简单查询/搜索
以清晰、结构化的格式呈现数据。
分析任务
- 从分析 API 获取原始数据
- 使用 references/analysis-prompts.md 中的模板生成 AI 总结
- 以清晰的结构呈现
导出任务
调用导出 API,告知用户下载信息。
洞察任务
- 从多个 API 收集数据
- 综合信息
- 生成全面的洞察和建议
- 使用 analysis-prompts.md 中的适当模板
5. 错误处理
- API 返回 404:数据库可能未加载,联系人/会话可能不存在
- API 返回 500:服务器错误,建议检查日志
- 无数据返回:验证时间范围和联系人名称
- 服务器无响应:提示用户启动 Wetrace 服务
🎨 智能网页生成功能
Wetrace 提供 8 个核心可视化功能,每个功能都会:
- 调用 Wetrace API 获取数据
- 使用 AI 分析生成总结
- 使用统一的设计系统生成精美的 HTML 页面
- 保存 HTML 文件到
~/wetrace-exports/并提供访问链接
可用的可视化功能
当用户请求生成可视化页面时,根据触发关键词选择对应的功能:
智能摘要生成 - 触发词:总结聊天记录、生成摘要、智能总结
待办事项提取 - 触发词:提取待办、找出任务、待办事项
聊天活跃度热力图 - 触发词:活跃度热力图、聊天时间分布
互动趋势分析 - 触发词:趋势分析、互动趋势
智能周报月报 - 触发词:生成周报、生成月报
数据仪表板 - 触发词:生成仪表板、数据总览
智能对话摘要 - 触发词:对话摘要、智能总结、分类摘要
客户关系健康度 - 触发词:客户健康度、CRM 仪表板
设计系统
所有生成的 HTML 页面都遵循统一的设计系统,详见 references/design-system.md,包括:
- 颜色系统:基于 HSL 的 CSS 变量
- 组件库:Card、Badge、Button、Separator、Input 等
- 布局系统:响应式容器和统一间距
- 数据可视化:Chart.js 配置和颜色方案
HTML 页面特点
所有生成的 HTML 页面:
- ✅ 独立运行:无需服务器,双击即可在浏览器打开
- ✅ 响应式设计:适配所有设备(桌面/平板/手机)
- ✅ 现代化样式:使用 Tailwind CSS
- ✅ 交互式图表:使用 Chart.js 实现数据可视化
- ✅ 清晰层次:卡片布局、统一间距、语义化颜色
- ✅ 易于分享:可直接发送给他人查看
使用流程
当用户请求生成网页时:
- 识别功能:根据触发关键词匹配对应的功能
- 读取详细文档:从 references 目录读取对应的 .md 文件
- 收集参数:询问用户必要的参数(会话 ID、时间范围等)
- 调用 API:获取所需数据
- AI 分析:使用 analysis-prompts.md 中的模板生成总结
- 生成 HTML:使用 design-system.md 风格生成精美页面
- 保存文件:保存到
~/wetrace-exports/目录 - 提供链接:返回文件路径和访问链接
高级功能
时间范围解析
支持多种格式:
- 中文:最近一周、上个月、今年
- 英文:last week、last month、this year
- 绝对时间:2024-01-01~2024-01-31
- 相对天数:last 7 days、last 30 days
转换为 API 格式:YYYY-MM-DD~YYYY-MM-DD
联系人名称匹配
- 首先在会话中尝试精确匹配
- 如未找到,在联系人中搜索
- 如有多个匹配,请用户明确
- 同时支持昵称(NickName)和备注(Remark)字段
分页策略
对于大数据集:
- 从
limit=50开始 - 如用户需要更多,增加 limit 或使用 offset
- 告知用户总数
- 如数据集非常大,建议导出
使用提示
- 调用 API 前始终验证服务器是否运行
- 使用适当的分析模板以保持输出一致性
- 提供可操作的洞察,而不仅仅是原始统计数据
- 尊重用户隐私 - 不要对关系做出假设
- 提供后续步骤或跟进行动
- 同等处理中文和英文查询
- 生成 HTML 页面时:始终参考 design-system.md 的设计系统
- 文件保存位置:统一保存到
~/wetrace-exports/目录 - 提供访问链接:生成完成后提供
file://协议的完整路径
🐍 Python 脚本工具
快速使用
脚本位置:scripts/wetrace_api.py
安装依赖
cd scripts
pip install -r requirements.txt
常用命令
# 查看帮助
python wetrace_api.py --help
# 查询会话
python wetrace_api.py sessions --keyword "张三" --limit 20
# 获取消息(需要会话ID)
python wetrace_api.py messages --talker wxid_abc123 --limit 50
# 按时间范围查询
python wetrace_api.py messages --talker wxid_abc123 --time-range "2024-01-01~2024-01-31"
# 全文搜索
python wetrace_api.py search --keyword "项目" --limit 30
# 数据分析
python wetrace_api.py analysis hourly wxid_abc123
python wetrace_api.py analysis daily wxid_abc123
python wetrace_api.py analysis type wxid_abc123
# 获取总览
python wetrace_api.py dashboard
# 导出聊天记录
python wetrace_api.py export chat --talker wxid_abc123 --format html
在代码中使用
from scripts.wetrace_api import WetraceAPI
# 创建API客户端
api = WetraceAPI()
# 查询会话
sessions = api.get_sessions(keyword="张三", limit=10)
for session in sessions:
print(f"{session['NickName']}: {session['MessageCount']} 条消息")
# 获取消息
messages = api.get_messages(talker_id="wxid_abc123", limit=50)
for msg in messages:
print(f"[{msg['CreateTime']}] {msg['Content']}")
# 搜索
result = api.search(keyword="项目", limit=20)
print(f"找到 {result['Total']} 条相关消息")
完整文档:查看 scripts/README.md
- Fluxly category
- Documentation
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @NeverSight · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Windows
- Runtime requirements
- Python
- Detected file/system behavior
-
- Read-only
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. Wetrace 服务:必须先安装并运行 Wetrace 服务地址:Wetrace 服务运行在 http://127.0.0.1:5200 微信数据库:已解密并加载
核心工作流程
将用户请求分类为以下类别: 查询(Query):查看消息、会话、联系人、群聊 搜索(Search):通过关键词查找消息
从用户请求中识别关键参数: 联系人名称:提取人名或群名 时间范围:提取时间段
本 Skill 提供了 Python 脚本工具来调用 Wetrace API,比直接使用 WebFetch 更方便。 方式一:使用 Python 脚本(推荐) 使用 wetraceapi.py 脚本,位于 scripts/wetraceapi.py:
简单查询/搜索 以清晰、结构化的格式呈现数据。 分析任务
# 微信数据分析助手
查询、分析和导出微信聊天数据,提供 AI 驱动的智能洞察和精美的可视化页面。
> **⚠️ 重要提示**
> - 本 Skill 依赖 [Wetrace](https://github.com/afumu/wetrace) 服务
> - **仅支持 Windows 平台**(微信数据库位于 Windows 系统)
> - 需要先安装并运行 Wetrace 服务才能使用本 Skill
## 前置条件
- **Wetrace 服务**:必须先安装并运行 [Wetrace](https://github.com/afumu/wetrace)
- **服务地址**:Wetrace 服务运行在 `http://127.0.0.1:5200`
- **微信数据库**:已解密并加载
- **操作系统**:Windows 10/11
- 如果服务未运行,先提示用户启动 Wetrace 服务
## 核心工作流程
### 1. 理解用户意图
将用户请求分类为以下类别:
- **查询(Query)**:查看消息、会话、联系人、群聊
- **搜索(Search)**:通过关键词查找消息
- **分析(Analysis)**:分析模式、生成统计数据
- **导出(Export)**:导出多种格式的数据
- **洞察(Insight)**:综合分析并提供建议
- **可视化(Visualization)**:生成精美的 HTML 页面
### 2. 提取参数
从用户请求中识别关键参数:
- **联系人名称**:提取人名或群名
- **时间范围**:提取时间段
- **关键词**:提取搜索词
- **格式**:提取导出格式
### 3. 调用 API
本 Skill 提供了 Python 脚本工具来调用 Wetrace API,比直接使用 WebFetch 更方便。
#### 方式一:使用 Python 脚本(推荐)
使用 `wetrace_api.py` 脚本,位于 `scripts/wetrace_api.py`:
```bash
# 查询会话
python scripts/wetrace_api.py sessions --keyword "张三" --limit 20
# 获取消息
python scripts/wetrace_api.py messages --talker wxid_abc123 --limit 50
# 搜索关键词
python scripts/wetrace_api.py search --keyword "项目" --limit 30
# 分析数据
python scripts/wetrace_api.py analysis hourly wxid_abc123
python scripts/wetrace_api.py analysis daily wxid_abc123
# 导出聊天记录
python scripts/wetrace_api.py export chat --talker wxid_abc123 --format html
```
**完整脚本文档**:查看 [scripts/README.md](scripts/README.md)
#### 方式二:直接调用 API
基础 URL:`http://127.0.0.1:5200/api/v1`
**完整 API 文档**:参考 [references/api.md](references/api.md)
#### 常用 API 模式
```
GET /sessions?keyword={名称}&limit=50
GET /messages?talker_id={id}&time_range={范围}&limit=100
GET /search?keyword={关键词}&time_range={范围}&limit=50
GET /analysis/hourly/{session_id}
GET /analysis/daily/{session_id}
GET /export/chat?talker={id}&format={格式}&time_range={范围}
```
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> 前置条件 → 核心工作流程 → 1. 理解用户意图 → 2. 提取参数 → 3. 调用 API → 4. 处理和呈现数据
terms -> ⚠️ 重要提示 · 仅支持 Windows 平台 · Wetrace 服务 · 服务地址 · 微信数据库 · 操作系统 · 查询(Query) · 搜索(Search)
files/cmd -> http://127.0.0.1:5200 · wetraceapi.py · scripts/wetraceapi.py · http://127.0.0.1:5200/api/v1 · ~/wetrace-exports/ · YYYY-MM-DD~YYYY-MM-DD · limit=50 · file://
body sha256 -> 2367b3b121ba
Decide Fit First
Design Intent
How To Use It
Boundaries And Review