Pawcast v0.1 · DRAFT
05 · LEADER CLOUD · 大哥云

探索大哥

从直播间送礼数据自动聚合高价值观众。每次 gift 事件触发 → 按 user_uid 聚合金额/次数/跨房 → 计算 leader_score 综合排序 → 落 tk_fans 表 → 一键批量私信邀约。catclaw 已有完整生产级实现,pawcast 1:1 迁移。

v0.1 · spec catclaw 1:1 迁移 5 屏 + 3 弹窗
01 · MAIN

主列表 · 三栏 + 顶部统计

顶部 4 张统计卡 / 左侧 200px 过滤器(来源/时段/最低送礼额/可 DM)/ 中间表格按 leader_score 倒序 / 右侧 320px 选中观众的 detail panel。底部 actionbar 批量操作。

Pawcast · Leader Cloudv0.1.0
大哥总数
2,184
+ 47 / 24h
高价值(≥ 1k 钻)
312
14.3% 占比
跨房(> 1 房)
487
最多跨 14 房
可 DM
1,463
67.0% 可触达
来源 重置
live_watchlist1,842
daily_rank468
scout217
manual36
时段
今日214
最近 7 天876
最近 30 天2,184
全部3,452
最低送礼额
钻石
05k50k+
其他
仅可 DM1,463
跨房 ≥ 2487
已加 watchlist42
未联系过1,108
已应用过滤
live_watchlist × daily_rank × scout × 7d × ≥500 × 仅可 DM ×
876 / 2,184
排序:
观众 送礼总额 次数 跨房 leader_score 来源 最后送礼
陈大哥xx
@chen_dage_88 · 1.2k 粉
可 DM
82,400 186 14 99,168 watchlistrank 21:42 · 今天
G
Gold Tiger
@gold_tiger_jp · 482 粉
可 DM
54,200 94 8 55,912 watchlist 19:08 · 今天
小金猪
@xiaojin_zhu · 268 粉
可 DM
38,700 142 6 40,556 watchlistscout 昨天 23:12
D
DiamondKing
@diamond_king · 3.4k 粉
受限
29,840 68 11 31,704 rank 昨天 21:48
花花世界
@hua2_world · 89 粉
可 DM
18,200 312 3 21,056 scout 前天 14:30
SK
SilverKnight
@silver_knight_77 · 124 粉
可 DM
12,640 42 4 13,456 watchlist 前天 19:55
老牌玩家
@laopai_gamer · 1.8k 粉
未知
8,920 186 2 10,648 watchlist 3 天前
N
NewbieFan
@newbie_fan_2024 · 12 粉
可 DM
5,420 28 1 5,764 scout 3 天前
王土豪
@wang_tuhao_id · 6.2k 粉
可 DM
4,780 14 5 5,492 rankmanual 5 天前
L
LuckyStar
@lucky_star_777 · 248 粉
可 DM
3,200 86 2 4,128 scout 6 天前
显示 1-10 / 876 · 加载更多 ↓
陈大哥xx
@chen_dage_88
watchlist rank
leader_score
99,168
送礼总额
82,400
AI 画像 · interest_summary

高价值大哥,跨 14 个直播间送礼,平均每周送礼 6.2 次。偏好钻石礼物(占送礼量 78%),活跃时段集中在 21:00-23:00。曾在监控中的「东京时段」和「日榜」两条来源出现,建议优先邀约洽谈

qwen-vl-max · 5 天前生成
送礼次数
186
跨房数
14
关注数
1.2k
客单
443
跨房分布 · top 5
@sakura_dance_jp28,400
@yuki_live_official18,200
@hana_kpop_cover12,600
@mira_lyrical_dance9,800
@stage_x_studio7,400
+ 还有 9 个直播间 · 共 ¥6,000
顶部统计4 张卡:总数 / 高价值 / 跨房 / 可 DM。每张带 24h 增量或占比指标。
三栏布局左 220px filter / 中表格 / 右 320px detail。仿 Apple Mail / Things 经典 3-pane。
来源过滤4 个来源标签(live_watchlist 红 / daily_rank 紫 / scout 橙 / manual 灰)多选过滤。已选标签反映在「已应用过滤」chip 区。
leader_score 徽章按数值分 3 档:≥ 50k 紫橙渐变 / 10k-50k 紫色 / < 10k 灰色。让一眼能看出价值梯度。
Detail panel选中观众实时填充:hero + AI 画像 + KPI + 跨房分布 top5 + 4 个操作按钮。点表格行任意位置触发选中。
实现GET /api/leader-cloud?source=...&minGiftAmount=500&giftedSince=7d&canDm=1&sort=leader_score&limit=50&offset=0 · 数据从 tk_fans 聚合 · 过滤变化用 SWR 重新拉。
02 · DETAIL

单大哥详情页 · 送礼时间线 + 跨房可视化

点击列表「→」进入此页。完整 KPI 矩阵 + 全部送礼事件按时间倒序展开 + 跨房环图 + AI 画像编辑 + 完整邀约动作链。

Pawcast · Leader Detail / @chen_dage_88v0.1.0

陈大哥xx 可 DM

@chen_dage_88 · uid 7245892334
live_watchlist daily_rank 已加 watchlist · 5 天前
leader_score
99,168
▲ + 480 / 24h
送礼总额
82,400
▲ 钻石
送礼次数
186
+12 / 7d
跨房数
14
+2 新增
客单(avg)
443
钻 / 次
最后送礼
21:42
今天
关注数
1.2k
followers

送礼时间线

186 条 · 共 ¥82,400
2026-05-02 · 今天 · 共 ¥6,400
21:42
送出 大火箭 ×2
@sakura_dance_jp · room_id=7321...
+ 4,000
21:38
送出 玫瑰 ×60
@sakura_dance_jp
+ 60
21:34
送出 烟花棒 ×8
@sakura_dance_jp
+ 80
19:08
送出 跑车 ×1
@yuki_live_official
+ 2,260
2026-05-01 · 昨天 · 共 ¥3,820
23:12
送出 狮子 ×1
@hana_kpop_cover
+ 1,800
22:48
送出 跳跳虎 ×4
@hana_kpop_cover
+ 1,200
21:14
送出 玫瑰 ×80
@mira_lyrical_dance
+ 80
↓ 还有 178 条 · 加载更多 ·
AI 画像

高价值大哥,跨 14 个直播间送礼,平均每周送礼 6.2 次。偏好钻石礼物(占送礼量 78%),活跃时段集中在 21:00-23:00。曾在监控中的「东京时段」和「日榜」两条来源出现,建议优先邀约洽谈。

高价值 跨房 高频次 夜间活跃 钻石偏好
qwen-vl-max · 5 天前生成 · 触发:跨房数从 12 → 14
跨房分布 · 14 房
总额
82.4k
@sakura_dance_jp34%
@yuki_live_official22%
@hana_kpop_cover15%
@mira_lyrical_dance12%
@stage_x_studio9%
+ 9 房 · 8%
活跃时段
1214161820220002
峰值时段21:00 - 23:00
Hero + 巨型 score头像、昵称、来源标签、leader_score 大数字。视觉对比拉到极致——一眼锁定核心信息。
6 列 KPI 矩阵送礼总额 / 次数 / 跨房 / 客单 / 最后 / 关注。每列带 24h 增量提示。
送礼时间线按天分组,每条显示时间 + 礼物名称 + 数量 + 房间 + 钻石值。可按房间过滤、按时段过滤。
跨房环图14 房按金额占比绘环。前 5 高亮配色 + 点开看详情;其余归到 surface-3 灰段。
活跃时段柱图24h 送礼分布。21-23 时段紫橙渐变高亮——告诉运营何时邀约最优。
实现路由 GET /api/leader-cloud/:userId · 时间线从 tk_gift_events 按 user_uid 拉 · AI 画像 trigger:跨房数 +2 / 送礼额 +20% / 30 天未刷新。
03 · ALGORITHM

leader_score 评分算法 · 数据流

和 catclaw 1:1 对齐:每次直播间 gift 事件触发 → 按 user_uid 聚合 → 加权计分 → upsert 到 tk_fans。无机器学习,纯加权——简单、可调、可解释。

leader_score = gift_amount + 8 × gift_count + 120 × gift_rooms_count
权重 1
gift_amount

钻石总额 · 主轴。直接反映「给主播多少钱」。系数 1 = 1 钻石贡献 1 score。

权重 8
gift_count × 8

送礼次数 · 频次维度。送 100 次小礼比送 1 次中礼更有粘性,所以加权 ×8。

权重 120
gift_rooms_count × 120

跨房数 · 价值维度。跨多个直播间送礼 = 真大哥而非粉丝单恋,所以最重要 ×120。

3 个真实样本对比 同等 gift_amount,跨房 vs 单房差距巨大
样本 gift_amount gift_count gift_rooms_count leader_score 解读
陈大哥xx 82,400 186 14 99,168 真大哥 · 跨房权重 +1,680
花花世界 18,200 312 3 21,056 高频小礼 · count 权重 +2,496
NewbieFan 5,420 28 1 5,764 单恋粉丝 · 跨房 +120 几乎无加成
数据流 · 从 gift 事件到大哥云

① WebCast gift 事件

RoomConnection 监听 GiftMessage event。包含 user_uid / gift_id / repeat_count / diamond_count 等 24 字段。

live-monitor.ts:142

② live_events 表

事件入 SQLite live_events 表(type=gift),WAL mode 写入。session_id 关联到 live_sessions。

live-events-repo.ts

③ syncGiftRanking

每 60s(或 session 结束)触发。SQL aggregation 按 user_uid GROUP BY,计 amount/count/rooms/last。

leader-cloud.ts:syncGiftRankingToLeaderCloud

④ upsertLeader

计算 leader_score = amount + count*8 + rooms*120。INSERT OR UPDATE 到 tk_fans 表。leader_sources 集合并入。

leader-cloud.ts:upsertLeader

⑤ AI 画像触发

跨房数 +2 或送礼额 +20% 或 30 天未刷新 → 调 qwen-vl-max 生成 interest_summary。

leader-cloud.ts:generateInterestSummary

⑥ /api/leader-cloud

HTTP 路由按 leader_score 倒序拉取。支持 source / canDm / minGiftAmount / giftedSince 多条件过滤 + 分页。

tiktok-routes.ts:leader-cloud

⑦ 私信邀约

用户在大哥云勾选 → 批量带入私信中心 → ai-dm-collector 用 leader-prompt.txt 个性化生成 → 发送。

ai-dm-collector.ts
🐾 来自 catclaw 现有代码

catclaw 已实现完整的 Leader Cloud(路径:web/server/tiktok/leader-cloud.ts + tk_fans 表的 10 个新字段)。 Pawcast Phase 3.5 直接迁移这套实现,新增的只是把表名从 tk_fans 改成 leaders + 适配 Pawcast 的 db schema 命名规范。算法、来源标签机制、AI 画像触发逻辑全部保留。

04 · SOURCES

来源标签 · 4 条采集流并行写入

leader_sources 字段是逗号分隔的来源标签集合。一个观众可同时被多个来源标记(如 watchlist + rank)。来源解释了「这个大哥是从哪里发现的」,影响优先级和邀约策略。

live_watchlist

监控直播间持续采集

主源 · 84%

监控功能 24/7 连接的直播间产生的 gift 事件,最丰富的一条来源。

触发时机
RoomConnection 收到 GiftMessage → 事件落 live_events 表 → 60s 周期 sync 到 leader cloud。
当前监控 7 房1,842 大哥
daily_rank

日榜爬取

辅源 · 21%

每日定时拉取直播间日榜 / 周榜 top 20 用户。即使该直播间不在监控列表,也能补全。

触发时机
每日 02:00 cron 任务,调 TikTok 直播间 ranking API → 解析 top 用户 → upsert 大哥云。
覆盖 32 房468 大哥
scout

探索流程顺手收集

边路 · 10%

探索主播任务进入直播间 30-60s 时也会同步采集 gift 事件,发现非监控房的大哥。

触发时机
scout-collector connectRoom 后启动 gift listener → 离开房间时 sync 到 leader cloud。
覆盖 138 房217 大哥
manual

手动添加

人工 · 2%

运营手动粘贴 @username 或 uid 加入大哥云。用于已知 VIP 用户或合作过的客户。

触发时机
右上角「+ 添加大哥」按钮 → 输入 @username → 调 TikTok user API 拉档案 → 写入。
来自 16 个运营36 大哥
来源叠加 · 来源越多 priority 越高

leader_sources 是 set 集合(逗号分隔)。同一观众被多个来源标记 = 多条独立信号验证 = 优先级更高。

单源
1,624
74.4%
2 源叠加
468
21.4%
3 源叠加
86
3.9%
4 源全 ⭐
6
VIP 列
05 · MODALS

关键弹窗 · 批量 DM / 导出 / 加入 watchlist

从大哥云勾选后能做的 3 个动作:批量私信邀约 / 导出 CSV / 加入 watchlist 长期追踪。

leader 模板区别于普通主播邀约,专门针对大哥的 prompt:注入跨房数、活跃房间、AI 画像,让 LLM 写出有信号的邀约。
个性化分数基于 interest_summary 信号强度打分。<7.5 标橙提示「偏通用」,建议重新起草加更多上下文。
实现调用 ai-dm-collector.ts 的 leader 流。prompt = base_template + leader_context_block。Qwen LLM batch API 并发起草,结果流式回填 modal。
watchlist 是命名 + 持久区别于过滤(临时)。Watchlist 持久存在,可订阅事件、生成周报、可被多个人看到。
4 种事件触发分数大涨 / 新跨房 / 30 天没动静 / 周报。每个独立开关,运营按需启用。
实现watchlist 是独立 SQLite 表(id / name / leader_uids[] / triggers / created_at / created_by)。事件由 leader-cloud.ts 在 upsertLeader 时检查,命中触发本地通知 + 写 events 表。