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 | 订阅者、观看次数、视频数 |
| 粉丝、帖子数、互动率 | |
| 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 | 提供内容表现 | 创意管道评估发布效果 |
注意事项
- 所有
dws命令必须加--yes标志 - WebSearch 获取的数据可能存在延迟,建议标注数据来源和获取时间
- 互动率计算公式:(点赞+评论+分享) / 播放数 × 100%(视频类),(点赞+评论) / 粉丝数 × 100%(图文类)
- 新增粉丝需要对比上次快照计算,首次记录新增粉丝为 0
- 数据保留建议:快照数据保留 1 年以上,内容表现保留 3 个月
- Apify/TikHub 接入为未来扩展,当前阶段以 WebSearch + 手动录入为主
已知问题
无已知问题,所有核心命令(base CRUD、table CRUD、record CRUD、query、template search)均测试通过
Weekly Installs
1
Repository
liangdabiao/din…workflowGitHub Stars
7
First Seen
Apr 14, 2026
Security Audits