hourly-report

API key required
Data & APIs

抖音直播间小时战报,每小时定点获取直播数据并发送到钉钉群。支持API模式和爬取模式两种方式。Invoke when user wants to set up hourly live stream reports for Douyin.

Install

openclaw skills install hourly-report

抖音直播间小时战报工具

功能概述

该工具用于定时获取抖音直播间数据,生成小时战报,并自动发送到钉钉群。支持两种数据获取方式:

模式适用场景数据来源
API模式长期稳定使用抖音开放平台官方API(数据准确完整)
爬取模式临时使用/测试网页爬取(数据有限,成交数据模拟)

核心功能

  1. 定时采集 - 每小时整点自动采集直播间数据
  2. 数据统计 - 观看人数、点赞数、评论数、分享数、礼物数
  3. 成交数据 - 订单数、GMV、转化率(API模式为真实数据)
  4. 钉钉推送 - 自动发送战报到钉钉群
  5. 日终总结 - 每日23:59自动发送全天汇总

📋 使用前准备工作

通用准备:配置钉钉机器人

步骤1:打开钉钉群 → 点击右上角「...」→ 「智能群助手」
步骤2:点击「添加机器人」→ 选择「自定义机器人」
步骤3:填写机器人名称(如:直播战报机器人)
步骤4:安全设置 → 选择「自定义关键词」,输入「战报」「总结」
步骤5:点击「完成」,复制生成的 Webhook 地址


方式一:爬取模式(无需申请账号,开箱即用)

优点:无需申请任何账号,直接使用
缺点:数据有限,成交数据为模拟生成

准备材料

  • 抖音直播间URL(如:https://live.douyin.com/123456789
  • 钉钉机器人Webhook地址

启动命令

node hourly-report.js --liveUrl "https://live.douyin.com/123456789" --dingdingWebhook "https://oapi.dingtalk.com/robot/send?access_token=xxx"

方式二:API模式(推荐,数据准确)

优点:数据准确完整,包含真实成交数据
缺点:需要申请抖音开放平台账号

📝 申请抖音开放平台账号步骤

步骤1:访问 抖音开放平台
步骤2:注册企业账号(需要营业执照)
步骤3:登录后进入「开发者中心」→ 「创建应用」
步骤4:选择应用类型:企业应用 → 直播/电商类
步骤5:填写应用信息并提交审核(通常1-3个工作日)
步骤6:审核通过后获取:

  • Client Key(应用标识)
  • Client Secret(应用密钥)

📱 获取直播间ID

直播间ID是直播间URL中的数字部分:

  • 示例URL:https://live.douyin.com/123456789
  • 直播间ID:123456789

启动命令

node hourly-report.js --clientKey "你的ClientKey" --clientSecret "你的ClientSecret" --roomId "123456789" --dingdingWebhook "https://oapi.dingtalk.com/robot/send?access_token=xxx"

技术实现

  • 自动化引擎: Puppeteer (仅爬取模式使用)
  • 定时任务: node-schedule
  • HTTP请求: axios
  • 语言: Node.js

安装依赖

cd d:\matchExpert\.trae\skills\douyin-hourly-report
npm install puppeteer node-schedule axios

使用方法

启动服务

# 方式一:爬取模式
node hourly-report.js --liveUrl "https://live.douyin.com/123456789" --dingdingWebhook "xxx"

# 方式二:API模式
node hourly-report.js --clientKey "xxx" --clientSecret "xxx" --roomId "123456789" --dingdingWebhook "xxx"

测试模式(立即执行一次)

# 爬取模式测试
node hourly-report.js --liveUrl "https://live.douyin.com/123456789" --dingdingWebhook "xxx" --test

# API模式测试
node hourly-report.js --clientKey "xxx" --clientSecret "xxx" --roomId "123456789" --dingdingWebhook "xxx" --test

编程调用

const DouyinHourlyReport = require('./hourly-report.js');

// 方式一:爬取模式
const report = new DouyinHourlyReport({
  liveUrl: 'https://live.douyin.com/123456789',
  dingdingWebhook: 'https://oapi.dingtalk.com/robot/send?access_token=xxx'
});

// 方式二:API模式
// const report = new DouyinHourlyReport({
//   clientKey: 'your_client_key',
//   clientSecret: 'your_client_secret',
//   roomId: '123456789',
//   dingdingWebhook: 'https://oapi.dingtalk.com/robot/send?access_token=xxx'
// });

// 启动定时任务
report.startSchedule();

// 或测试执行一次
// await report.test();

参数说明

参数类型必填说明
clientKeystringAPI模式必填抖音开放平台Client Key
clientSecretstringAPI模式必填抖音开放平台Client Secret
roomIdstringAPI模式必填直播间ID(数字)
liveUrlstring爬取模式必填抖音直播间URL
dingdingWebhookstring两种模式都必填钉钉群机器人Webhook地址
testboolean测试模式,立即执行一次

两种模式对比

对比项API模式爬取模式
数据准确性✅ 真实数据⚠️ 页面展示数据,成交数据模拟
稳定性✅ 高(官方支持)⚠️ 依赖页面结构
功能完整性✅ 完整(含成交数据)⚠️ 有限(仅页面展示)
资源消耗✅ 低(HTTP请求)⚠️ 较高(启动浏览器)
使用门槛⚠️ 需要申请账号✅ 开箱即用

战报内容

小时战报(每小时整点自动发送)

【14点档战报】(API)

📅 时间:05/28 14:00
🏠 直播间:夏季新品专场
🎤 主播:小美

---

📊 **核心数据**

| 指标 | 数值 |
|------|------|
| 观看人数 | 12,345人 |
| 点赞数 | 89,012 |
| 评论数 | 3,456 |
| 分享数 | 1,234 |
| 礼物数 | 567 |

---

💰 **成交数据**

| 指标 | 数值 |
|------|------|
| 订单数 | 89单 |
| GMV | ¥123,456 |
| 转化率 | 2.34% |

---

⏱️ 直播时长:02:30:45
📡 数据来源:(API)

日终总结(23:59自动发送)

🎉 【05/28 抖音直播日终总结】(API)

📈 **全天概览**
- 直播时长:8小时
- 平均观看:15,678人
- 峰值观看:32,109人

❤️ **互动数据**
- 总点赞:567,890
- 总评论:45,678
- 总分享:12,345
- 总礼物:7,890

💰 **成交数据**
- 总订单:1,234单
- 总GMV:¥2,345,678

---

💡 数据来源:(API)
感谢观看,明天继续加油!💪

定时策略

时间任务
每小时整点发送小时战报
23:59发送日终总结并重置每日数据

文件结构

douyin-hourly-report/
├── SKILL.md          # 技能说明文档
└── hourly-report.js   # 核心执行脚本

🚀 快速开始指南

对于项目负责人(非开发者)

第一步:安装依赖

cd d:\matchExpert\.trae\skills\douyin-hourly-report
npm install puppeteer node-schedule axios

第二步:选择使用方式

场景推荐方式命令
临时使用/测试爬取模式node hourly-report.js --liveUrl "直播间URL" --dingdingWebhook "钉钉Webhook"
长期稳定使用API模式node hourly-report.js --clientKey "xxx" --clientSecret "xxx" --roomId "xxx" --dingdingWebhook "xxx"

第三步:验证运行

启动后会看到:

=== 抖音直播间小时战报服务启动 ===
数据获取方式:爬取模式
直播间URL:https://live.douyin.com/123456789
定时策略:每小时整点发送
==================================
服务已启动,按 Ctrl+C 停止

第四步:接收战报

每小时整点,战报会自动发送到您的钉钉群!

注意事项

  1. 保持运行:命令行窗口需要保持打开,关闭后服务会停止
  2. 后台运行:如需长期运行,建议使用 PM2 等进程管理工具
  3. 网络稳定:确保服务器网络能访问抖音和钉钉
  4. 直播间状态:直播开始后数据采集才会生效
  5. API模式注意:Access Token有效期为2小时,脚本会自动刷新

故障排除

常见问题

  1. 爬取模式:无法获取数据

    • 检查直播间URL是否正确
    • 确认直播间是否正在直播
    • 检查网络连接
  2. API模式:获取Token失败

    • 检查Client Key和Client Secret是否正确
    • 确认应用已通过审核
  3. 钉钉消息发送失败

    • 检查Webhook地址是否正确
    • 确认钉钉机器人安全设置(关键词)
  4. 定时任务不执行

    • 检查系统时间是否正确
    • 确认脚本是否在后台运行

版本: 1.0.0
更新内容: 支持API模式和爬取模式自动切换
适用平台: 抖音直播、钉钉