Maintain social media account configurations, obtain public data via AI to generate daily snapshots, and support long-term trend analysis and cross-platform comparison. All data is stored in DingTalk aitable.
Trigger Method
"社交数据" "平台数据" "粉丝趋势" "内容表现" "数据追踪" "YouTube数据" "账号管理"
Data Sources
| Source | Description | Stage |
|---|---|---|
| AI WebSearch | Search public data such as Social Blade | Currently available |
| Manual user entry | Tell the AI the data directly | Currently available |
| Apify / TikHub | Third-party data collection platforms | Reserved for integration |
| Official platform APIs | YouTube/Instagram/Twitter/TikTok API | Reserved for integration |
Supported Platforms
| Platform | Main Metrics |
|---|---|
| YouTube | Subscribers, views, number of videos |
| Followers, number of posts, engagement rate | |
| Twitter/X | Followers, number of tweets, engagement rate |
| TikTok | Followers, number of videos, number of likes |
| Bilibili | Followers, play count, number of coins |
| Xiaohongshu | Followers, number of notes, likes and saves |
| Other | Custom metrics |
Data Initialization
On first use, automatically create aitable data tables:
# 创建 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
Table 1: Social Accounts (social_accounts)
| Field Name | Type | Description |
|---|---|---|
| Platform | Text | YouTube/Instagram/Twitter/TikTok/Bilibili/Xiaohongshu/Other |
| Account Name | Text | @handle |
| Account ID | Text | Unique ID within the platform |
| Profile Link | Text | Platform profile URL |
| Status | Text | Active/Paused/Deleted |
| Tracking Start Date | Date | First recorded date |
Table 2: Daily Snapshots (daily_snapshots)
| Field Name | Type | Description |
|---|---|---|
| Platform | Text | Associated platform |
| Account Name | Text | Associated account |
| Date | Date | Snapshot date |
| Follower Count | Number | Current follower/subscriber count |
| New Followers | Number | Change since last time |
| Total Content | Number | Cumulative published content count |
| Engagement Rate | Number | Overall engagement rate (%) |
| Remarks | Text | Notes on special events |
Table 3: Content Performance (content_performance)
| Field Name | Type | Description |
|---|---|---|
| Platform | Text | Associated platform |
| Account name | Text | Associated account |
| Content ID | Text | Unique content identifier |
| Title | Text | Content title |
| Publish date | Date | Publish time |
| Likes | Number | likes |
| Comments | Number | comments |
| Shares | Number | shares/reposts |
| Views | Number | views |
| Engagement rate | Number | (Likes + Comments + Shares) / Views × 100% |
Working modes
Mode 1: Account management
Trigger: "Add my YouTube account @mychannel" / "What are my tracked accounts" / "Delete XXX account"
Workflow:
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
Mode 2: Manual snapshot entry
Trigger: "YouTube hit 1000 followers today" / "Record today's social data"
Workflow:
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: 输出确认
Output format:
✓ 已记录 YouTube @mychannel 快照:
- 粉丝:1000(+12)
- 内容总数:45
Mode 3: Automatic data collection
Trigger: "Collect today's social data" / scheduled automatic execution
Workflow:
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 发送通知
Mode 4: Trend analysis
Trigger: "Which platform grew fastest this week?" / "Follower trends over the past month" / "Generate a trend report"
Workflow:
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: 生成趋势报告
Output format:
## 社交媒体趋势报告(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 订阅者 🎉
Mode 5: Cross-platform comparison
Trigger: "Compare the performance of YouTube and Instagram" / "Engagement rate comparison across platforms"
Workflow:
Step 1: 查询各平台快照和内容表现
└── dws aitable record query → 按平台过滤
Step 2: AI 生成对比报告
├── 粉丝增长对比
├── 互动率对比
├── 内容产出效率对比
└── 最佳发布时间分析
Mode 6: Content performance recording
Trigger: "Record the performance of this video" / "This content got 500 likes"
Workflow:
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 command reference
Create social tracking
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
Account management
# 添加账号
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
Snapshot recording
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
Query trend data
dws aitable record query --base-id <st-base-id> --table-id <snapshots-table-id> --limit 100 --yes -f json
Content performance
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
Send notification
dws chat message send-by-bot --robot-code "bot_code" --group "openConversationId" --title "社交数据更新" --text "YouTube 突破 1000 订阅者!" --yes
Scheduled tasks
| Task | Cron | Description |
|---|---|---|
| Data collection | 30 22 * * * |
Automatic collection every day at 22:30 |
CronCreate: cron="30 22 * * *", prompt="采集今天的社交媒体数据快照,记录到多维表格,如有异常或里程碑发送通知", recurring=true, durable=true
Linked Skills
| Linked Skill | Data interaction | Description |
|---|---|---|
| business-advisor | Provides social data | Advisory group marketing/growth analysis |
| morning-brief | Provides yesterday's data | Morning briefing displays social performance |
| content-pipeline | Provides content performance | Creative pipeline evaluates publishing results |
Notes
- All
dwscommands must include the--yesflag - Data obtained via WebSearch may be delayed; it is recommended to note the data source and retrieval time
- Engagement rate formula: (Likes + Comments + Shares) / Views × 100% (video type), (Likes + Comments) / Followers × 100% (image-text type)
- New followers need to be calculated by comparing with the previous snapshot; for the first record, new followers are 0
- Data retention recommendation: retain snapshot data for over 1 year, and retain content performance for 3 months
- Apify/TikHub integration is for future expansion; at the current stage, WebSearch + manual entry is the main approach
Known Issues
No known issues; all core commands (base CRUD, table CRUD, record CRUD, query, template search) have passed testing