skills/liangdabiao/dingtalk-cli-workflow/dingtalk-workflow-social-tracker

dingtalk-workflow-social-tracker

Installation
SKILL.md

社交媒体数据追踪 (dingtalk-workflow-social-tracker)

维护社交媒体账号配置,通过 AI 获取公开数据生成每日快照,支持长期趋势分析和跨平台对比。 数据全部存储在钉钉 aitable 中。

触发方式

"社交数据"  "平台数据"  "粉丝趋势"  "内容表现"  "数据追踪"  "YouTube数据"  "账号管理"

数据来源

来源 说明 阶段
AI WebSearch 搜索 Social Blade 等公开数据 当前可用
用户手动录入 直接告诉 AI 数据 当前可用
Apify / TikHub 第三方数据采集平台 预留接入
平台官方 API YouTube/Instagram/Twitter/TikTok API 预留接入

支持的平台

平台 主要指标
YouTube 订阅者、观看次数、视频数
Instagram 粉丝、帖子数、互动率
Twitter/X 粉丝、推文数、互动率
TikTok 粉丝、视频数、点赞数
B站 粉丝、播放量、投币数
小红书 粉丝、笔记数、点赞收藏
其他 自定义指标

数据初始化

首次使用时,自动创建 aitable 数据表:

# 创建 Base
dws aitable base create --name "社交媒体追踪" --yes -f json
# 返回 baseId,记为 <st-base-id>

# 创建 3 张表
dws aitable table create --base-id <st-base-id> --name "社交账号" --yes -f json
# 返回 tableId,记为 <accounts-table-id>
dws aitable table create --base-id <st-base-id> --name "每日快照" --yes -f json
# 返回 tableId,记为 <snapshots-table-id>
dws aitable table create --base-id <st-base-id> --name "内容表现" --yes -f json
# 返回 tableId,记为 <content-table-id>

# 添加业务字段(表创建后自动带一个"标题"primaryDoc字段,需额外添加业务字段)
dws aitable field create --base-id <st-base-id> --table-id <accounts-table-id> --fields '[{"fieldName":"平台","type":"text"},{"fieldName":"账号名","type":"text"},{"fieldName":"账号ID","type":"text"},{"fieldName":"主页链接","type":"text"},{"fieldName":"状态","type":"text"},{"fieldName":"开始追踪日期","type":"date"}]' --yes -f json

dws aitable field create --base-id <st-base-id> --table-id <snapshots-table-id> --fields '[{"fieldName":"平台","type":"text"},{"fieldName":"账号名","type":"text"},{"fieldName":"日期","type":"date"},{"fieldName":"粉丝数","type":"number"},{"fieldName":"新增粉丝","type":"number"},{"fieldName":"内容总数","type":"number"},{"fieldName":"互动率","type":"number"},{"fieldName":"备注","type":"text"}]' --yes -f json

dws aitable field create --base-id <st-base-id> --table-id <content-table-id> --fields '[{"fieldName":"平台","type":"text"},{"fieldName":"账号名","type":"text"},{"fieldName":"内容ID","type":"text"},{"fieldName":"标题","type":"text"},{"fieldName":"发布日期","type":"date"},{"fieldName":"点赞数","type":"number"},{"fieldName":"评论数","type":"number"},{"fieldName":"分享数","type":"number"},{"fieldName":"播放数","type":"number"},{"fieldName":"互动率","type":"number"}]' --yes -f json

表1: 社交账号 (social_accounts)

字段名 类型 说明
平台 文本 YouTube/Instagram/Twitter/TikTok/B站/小红书/其他
账号名 文本 @handle
账号ID 文本 平台内唯一ID
主页链接 文本 平台主页 URL
状态 文本 活跃/暂停/已删除
开始追踪日期 日期 首次记录日期

表2: 每日快照 (daily_snapshots)

字段名 类型 说明
平台 文本 关联平台
账号名 文本 关联账号
日期 日期 快照日期
粉丝数 数字 当前粉丝/订阅者数
新增粉丝 数字 较上次变化
内容总数 数字 累计发布内容数
互动率 数字 综合互动率(%)
备注 文本 特殊事件说明

表3: 内容表现 (content_performance)

字段名 类型 说明
平台 文本 关联平台
账号名 文本 关联账号
内容ID 文本 内容唯一标识
标题 文本 内容标题
发布日期 日期 发布时间
点赞数 数字 likes
评论数 数字 comments
分享数 数字 shares/reposts
播放数 数字 views
互动率 数字 (点赞+评论+分享)/播放数×100%

工作模式

模式 1: 账号管理

触发: "添加我的 YouTube 账号 @mychannel" / "我的追踪账号有哪些" / "删除 XXX 账号"

工作流:

Step 1: 添加账号
└── dws aitable record create --base-id <st-base-id> --table-id <accounts-table-id> --records '[{"cells":{"平台":"YouTube","账号名":"@mychannel","主页链接":"https://youtube.com/@mychannel","状态":"活跃","开始追踪日期":"2026-04-06"}}]' --yes -f json

Step 2: 查看账号列表
└── dws aitable record query --base-id <st-base-id> --table-id <accounts-table-id> --limit 50 --yes -f json

Step 3: 删除/暂停账号
└── dws aitable record update --records '[{"recordId":"...","cells":{"状态":"已删除"}}]' --yes -f json

模式 2: 手动录入快照

触发: "YouTube 今天 1000 粉丝了" / "记录一下今天的社交数据"

工作流:

Step 1: 解析用户输入的平台和数据

Step 2: 查询上一次快照,计算新增变化
└── dws aitable record query --base-id <st-base-id> --table-id <snapshots-table-id> --keyword "<账号名>" --limit 5 --yes -f json

Step 3: 写入新快照
└── dws aitable record create --base-id <st-base-id> --table-id <snapshots-table-id> --records '[{"cells":{"平台":"YouTube","账号名":"@mychannel","日期":"2026-04-06","粉丝数":1000,"新增粉丝":12,"内容总数":45}}]' --yes -f json

Step 4: 输出确认

输出格式:

✓ 已记录 YouTube @mychannel 快照:
- 粉丝:1000(+12)
- 内容总数:45

模式 3: 自动数据采集

触发: "采集今天的社交数据" / 定时自动执行

工作流:

Step 1: 获取所有活跃账号
└── dws aitable record query → 状态=活跃的账号

Step 2: 逐个账号 WebSearch 获取最新数据
├── WebSearch → "@mychannel subscribers count 2026"
├── WebSearch → Social Blade 数据
└── 解析搜索结果中的粉丝数和内容数

Step 3: 计算变化并写入快照
├── 对比上次快照
├── 计算新增粉丝
└── dws aitable record create 批量写入

Step 4: 异常/里程碑检测
├── 粉丝下降 → 警告
├── 里程碑(如突破 1000 粉丝)→ 祝贺
└── dws chat message send-by-bot 发送通知

模式 4: 趋势分析

触发: "这周哪个平台增长最快?" / "最近一个月的粉丝趋势" / "生成趋势报告"

工作流:

Step 1: 查询指定时间范围的快照
└── dws aitable record query --base-id <st-base-id> --table-id <snapshots-table-id> --limit 100 --yes -f json

Step 2: AI 分析趋势
├── 按平台分组统计
├── 计算增长率
├── 识别增长/下降拐点
└── 对比各平台表现

Step 3: 生成趋势报告

输出格式:

## 社交媒体趋势报告(04/01 - 04/06)

### 增长概览
| 平台 | 起始粉丝 | 结束粉丝 | 增长率 | 新增内容 |
|------|---------|---------|--------|---------|
| YouTube | 950 | 1000 | +5.3% | 3 |
| Instagram | 500 | 550 | +10% | 8 |
| B站 | 200 | 210 | +5% | 2 |

### 分析
- 增长最快:Instagram(+10%)
- 内容产出最活跃:Instagram(8 条内容)
- YouTube 增长稳定,建议保持发布频率
- B站增长偏慢,建议提高内容质量

### 里程碑
- YouTube 突破 1000 订阅者 🎉

模式 5: 跨平台对比

触发: "对比 YouTube 和 Instagram 的表现" / "各平台互动率对比"

工作流:

Step 1: 查询各平台快照和内容表现
└── dws aitable record query → 按平台过滤

Step 2: AI 生成对比报告
├── 粉丝增长对比
├── 互动率对比
├── 内容产出效率对比
└── 最佳发布时间分析

模式 6: 内容表现记录

触发: "记录一下这条视频的表现" / "这条内容点赞 500"

工作流:

Step 1: 解析内容数据

Step 2: 写入内容表现表
└── dws aitable record create --base-id <st-base-id> --table-id <content-table-id> --records '[...]' --yes -f json

Step 3: 计算互动率并输出

dws CLI 命令参考

创建社交追踪

dws aitable base create --name "社交媒体追踪" --yes -f json
dws aitable table create --base-id <st-base-id> --name "社交账号" --yes -f json
dws aitable table create --base-id <st-base-id> --name "每日快照" --yes -f json
dws aitable table create --base-id <st-base-id> --name "内容表现" --yes -f json

账号管理

# 添加账号
dws aitable record create --base-id <st-base-id> --table-id <accounts-table-id> --records '[{"cells":{"标题":"YouTube-@mychannel","平台":"YouTube","账号名":"@mychannel","主页链接":"https://...","状态":"活跃","开始追踪日期":"2026-04-06"}}]' --yes -f json

# 查看账号
dws aitable record query --base-id <st-base-id> --table-id <accounts-table-id> --limit 50 --yes -f json

快照记录

dws aitable record create --base-id <st-base-id> --table-id <snapshots-table-id> --records '[{"cells":{"标题":"@mychannel-2026-04-06快照","平台":"YouTube","账号名":"@mychannel","日期":"2026-04-06","粉丝数":1000,"新增粉丝":12,"内容总数":45,"互动率":3.5}}]' --yes -f json

查询趋势数据

dws aitable record query --base-id <st-base-id> --table-id <snapshots-table-id> --limit 100 --yes -f json

内容表现

dws aitable record create --base-id <st-base-id> --table-id <content-table-id> --records '[{"cells":{"标题":"教程视频","平台":"YouTube","账号名":"@mychannel","内容ID":"vid123","发布日期":"2026-04-05","点赞数":500,"评论数":30,"播放数":10000,"互动率":5.3}}]' --yes -f json

发送通知

dws chat message send-by-bot --robot-code "bot_code" --group "openConversationId" --title "社交数据更新" --text "YouTube 突破 1000 订阅者!" --yes

定时任务

任务 Cron 说明
数据采集 30 22 * * * 每天 22:30 自动采集
CronCreate: cron="30 22 * * *", prompt="采集今天的社交媒体数据快照,记录到多维表格,如有异常或里程碑发送通知", recurring=true, durable=true

联动 Skill

联动 Skill 数据交互 说明
business-advisor 提供社交数据 顾问团营销/增长分析
morning-brief 提供昨日数据 晨间简报展示社交表现
content-pipeline 提供内容表现 创意管道评估发布效果

注意事项

  1. 所有 dws 命令必须加 --yes 标志
  2. WebSearch 获取的数据可能存在延迟,建议标注数据来源和获取时间
  3. 互动率计算公式:(点赞+评论+分享) / 播放数 × 100%(视频类),(点赞+评论) / 粉丝数 × 100%(图文类)
  4. 新增粉丝需要对比上次快照计算,首次记录新增粉丝为 0
  5. 数据保留建议:快照数据保留 1 年以上,内容表现保留 3 个月
  6. Apify/TikHub 接入为未来扩展,当前阶段以 WebSearch + 手动录入为主

已知问题

无已知问题,所有核心命令(base CRUD、table CRUD、record CRUD、query、template search)均测试通过

Weekly Installs
1
GitHub Stars
7
First Seen
Apr 14, 2026