SuperAPI AI 工具集

wetrace

数据与分析

查看项目

更新于 10-15 10:11

技能介绍

用途

Wetrace 是一款微信聊天记录分析助手,用于查询、分析和导出本地微信数据库中的聊天数据。它适用于以下场景:查看与特定联系人或群组的聊天消息;通过关键词搜索跨会话消息;分析聊天模式、活跃度趋势或关系动态;导出多种格式的聊天记录(HTML/PDF/DOCX/CSV/XLSX);以及生成 AI 驱动的智能洞察和可视化页面。

主要能力

  • 查询:查看消息、会话、联系人、群聊。
  • 搜索:通过关键词查找消息。
  • 分析:分析聊天模式、生成统计数据(如按小时、按天、按类型)。
  • 导出:导出多种格式的数据(HTML/PDF/DOCX/CSV/XLSX)。
  • 洞察:综合分析并提供建议。
  • 可视化:生成精美的 HTML 页面。

Wetrace 提供 8 个核心可视化功能,每个功能都会调用 API 获取数据、使用 AI 分析生成总结,并生成统一设计系统的 HTML 页面:

  1. 智能摘要生成(触发词:总结聊天记录、生成摘要、智能总结)
  2. 待办事项提取(触发词:提取待办、找出任务、待办事项)
  3. 聊天活跃度热力图(触发词:活跃度热力图、聊天时间分布)
  4. 互动趋势分析(触发词:趋势分析、互动趋势)
  5. 智能周报月报(触发词:生成周报、生成月报)
  6. 数据仪表板(触发词:生成仪表板、数据总览)
  7. 智能对话摘要(触发词:对话摘要、智能总结、分类摘要)
  8. 客户关系健康度(触发词:客户健康度、CRM 仪表板)

生成的 HTML 页面特点:独立运行(无需服务器,双击即可在浏览器打开)、响应式设计、使用 Tailwind CSS 现代化样式、使用 Chart.js 交互式图表、清晰层次、易于分享。

使用方式

前置条件

  • 必须先安装并运行 Wetrace 服务。
  • 服务地址:http://127.0.0.1:5200
  • 微信数据库:已解密并加载。
  • 操作系统:Windows 10/11。

如果服务未运行,需先启动 Wetrace 服务。

核心工作流程

  1. 理解用户意图:将请求分类为查询、搜索、分析、导出、洞察或可视化。
  2. 提取参数:识别联系人名称、时间范围、关键词、格式等。
  3. 调用 API:
    • 方式一(推荐):使用 Python 脚本 scripts/wetrace_api.py。
    • 方式二:直接调用 API,基础 URL 为 http://127.0.0.1:5200/api/v1。
  4. 处理和呈现数据:简单查询/搜索以结构化格式呈现;分析任务获取原始数据后使用模板生成 AI 总结;导出任务调用导出 API 并告知下载信息;洞察任务从多个 API 收集数据并综合生成建议。
  5. 错误处理:404 表示数据库可能未加载或联系人/会话不存在;500 表示服务器错误;无数据返回需验证时间范围和联系人名称;服务器无响应需提示启动 Wetrace 服务。

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']} 条相关消息")

常用 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={范围}

时间范围解析

支持多种格式:中文(最近一周、上个月、今年)、英文(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;告知用户总数;如数据集非常大,建议导出。

生成 HTML 页面的使用流程

  1. 识别功能:根据触发关键词匹配对应的功能。
  2. 读取详细文档:从 references 目录读取对应的 .md 文件。
  3. 收集参数:询问用户必要的参数(会话 ID、时间范围等)。
  4. 调用 API:获取所需数据。
  5. AI 分析:使用 analysis-prompts.md 中的模板生成总结。
  6. 生成 HTML:使用 design-system.md 风格生成精美页面。
  7. 保存文件:保存到 ~/wetrace-exports/ 目录。
  8. 提供链接:返回文件路径和访问链接(file:// 协议)。

适用场景

  • 个人回顾与特定联系人或群组的聊天记录。
  • 通过关键词跨会话检索历史消息。
  • 分析聊天活跃度、互动趋势或关系动态。
  • 导出聊天记录用于存档或分享。
  • 生成智能摘要、待办事项、周报月报、数据仪表板等可视化页面。
  • 客户关系健康度分析(CRM 仪表板)。

限制

  • 依赖 Wetrace 服务,需先安装并运行。
  • 仅支持 Windows 平台(微信数据库位于 Windows 系统)。
  • 微信数据库需已解密并加载。
  • 服务地址固定为 http://127.0.0.1:5200。
  • 操作系统要求 Windows 10/11。
  • 其他平台、收费、价格等信息暂未提供。