展开目录
#自媒体#内容创作#爆款分析#AI Agent#自动化#数据采集#DeepSeek#Claude Code

如何从零打造一套爆款监控系统:142 个对标账号,全自动扫描 + AI 归因

自媒体人雪踏乌云开源级分享:用 TikHub + DeepSeek + Claude Code 搭了一套监控系统,每天自动扫 142 个对标账号,AI 分析爆款原因,3000+ 条数据沉淀为选题弹药库,每月成本仅 $41。

预计阅读 10 分钟

一句话总结

自媒体人 雪踏乌云(@Pluvio9yte)把自己跑了两月、积了 3000+ 条数据的爆款监控系统完整开源——从多平台采集、三信号评分引擎、到两级 AI 分析管线,全链路跑通,月成本仅 $41。


本文基于雪踏乌云 X 平台长文《如何从零开始打造自己的爆款监控系统》整理,已获授权。


做自媒体的人,都踩过同一个坑

刷到同行的爆款视频,收藏一下,过两天就忘了。等自己要选题的时候,翻收藏夹全是零散的链接,根本看不出规律。

雪踏乌云做自媒体半年多,这个困扰始终没解决。于是他干脆自己写了一套爆款监控系统——每天自动扫 142 个对标账号(抖音 78 个、小红书 32 个、YouTube 32 个),检测谁发了爆款,用 AI 分析爆的原因,最后把可复用的选题模式攒起来。

跑了两个多月,库里积了 3000 多条作品数据和几十条爆款拆解。下面是他从零搭建这套系统的完整过程。


先想清楚要解决什么问题

手动盯对标账号有三个硬伤:

  1. 覆盖不了。一个人最多盯十几个账号,但值得学习的同行远不止这些。142 个创作者,靠手刷根本不可能每天全覆盖。

  2. 判断标准模糊。同样一条视频拿到 1 万赞,100 万粉的大号发出来很正常,1 万粉的小号发出来就是现象级。刷的时候全凭感觉,没有量化标准。

  3. 分析不沉淀。就算认真拆了一条爆款的结构和钩子,过几周就忘了。下次选题时,这些拆解并不会自动变成你的弹药。

这三个问题分别对应系统的三个核心模块:自动采集 → 评分引擎 → AI 分析管线


整体架构

技术选型的思路很务实:

技术选型理由
前端Vue 3 + Tailwind CSS v48 个页面,交互简单
后端FastAPIAPI + 定时任务 + 后台 Worker
数据库SQLite (WAL 模式)个人项目,每天几百条写入,完全够用
部署Docker Compose → Dokploy三个容器一条命令启动

![整体架构图]


第一步:多平台数据采集

数据源:TikHub

采集层用 TikHub,一个统一的社交媒体数据 API。它封装了抖音、小红书、YouTube 三个平台的接口,Python SDK 直接调。

选它的原因很直接:三个平台只需要一个 API key,不用分别爬。抖音和小红书的反爬越来越严,自己维护爬虫太折腾。

采集逻辑

每个平台的流程相同:拿到创作者的平台 ID → 拉最近发布的作品列表 → 标准化成统一格式。

def fetch_creator_posts(client, platform, platform_id, max_pages=3):
    """统一入口:不管哪个平台,返回格式一致的 dict"""
    if platform == "douyin":
        return _fetch_douyin(client, platform_id, max_pages)
    if platform == "xhs":
        return _fetch_xhs(client, platform_id, max_pages)
    if platform == "youtube":
        return _fetch_youtube(client, platform_id, max_pages)

返回的数据统一包含:作品 ID、标题、发布时间、点赞/评论/收藏/分享数、内容类型、封面 URL。

定时调度

APScheduler 做定时任务,三个平台错峰扫描:

  • 抖音:每天 20:00
  • 小红书:每天 20:10
  • YouTube:每天 20:20

扫描任务先入 SQLite 队列,由单消费者 Worker 按顺序执行。因为 SQLite 不擅长并发写——队列 + 单消费者,彻底绕开这个限制。


第二步:评分引擎——什么是真正的「爆款」?

这是整套系统最核心的部分。「爆款」这个词太模糊——10 万粉的博主拿到 1 万赞,和 1000 粉的博主拿到 1 万赞,完全不是一个概念。

雪踏乌云设计了一套三信号评分体系来量化它。

信号一:R 值(账号内相对倍数)

R = 这条作品的核心指标 / 这个博主最近 20 条作品中位数

核心指标分平台:抖音看点赞,小红书看点赞 + 收藏。用中位数而不是均值,因为样本少时均值容易被极端值带偏。

R = 2 意味着这条视频是这个博主日常水平的 2 倍。R = 8 意味着 8 倍——对这个博主来说已经是现象级。

信号二:M 值(赞粉比,破圈校验)

M = 点赞数 / 粉丝数

M 值解决一个问题:有些博主平时数据很差,偶尔一条稍微好点,R 值就很高,但绝对数据很低。这种「垃圾爆款」需要过滤掉。

M 值越高,说明这条内容在粉丝池之外也获得了传播——破圈了

信号三:Tier(粉丝体量层)

大号破圈天然更难,M 值的门槛要按粉丝量校准:

def tier_of(followers):
    if followers < 10_000:    return ("C", 0.30)   # 素人
    if followers < 100_000:   return ("B", 0.15)   # 腰部
    if followers < 1_000_000: return ("A", 0.08)   # 中部
    return ("S", 0.04)                              # 头部

分级阶梯

R 和 M 两个信号同时达标,才能定级:

级别R 值门槛M 值门槛含义
T3R ≥ 8.0M ≥ 3× 基准现象级
T2R ≥ 4.0M ≥ 1.5× 基准爆款
T1R ≥ 2.0M ≥ 1.0× 基准小爆
low_qualityR ≥ 2.0M < 1.0× 基准低质爆款

用一个具体例子验证——10 万粉博主(A 层,M 基准 0.08):

  • 拿到 10 万赞 → M = 1.00,远超 T3 门槛 → 如果 R 也 ≥ 8,现象级
  • 拿到 1 万赞 → M = 0.10,刚过 T1 门槛 → 顶多算小爆

同样 10 万粉,1 万赞和 10 万赞确实是两个物种。

证据冻结

一条作品首次被评级时,当时的基线、粉丝快照、中位数样本全部冻结保存。后续这条作品继续涨赞,只更新 R 值的分子,不用新作品改写当时的基线。

这个设计是为了防止回溯偏差:一个月后这个博主整体数据涨了,如果重新算基线,当初那条爆款的 R 值会变低。


第三步:两级 AI 分析管线

检测到爆款之后,还要回答**「为什么爆了」**。雪踏乌云把分析拆成两级。

L1 快评:DeepSeek,跑在服务器上

  • 每天预算 $0.50,最多 100 条
  • deepseek-chat 模型够便宜,用来做快速归因刚好
  • 产出六个字段:摘要(≤280 字)、爆款因素(1-4 个)、置信度、注意事项、时效/长青分类、分类理由

其中时效/长青分类是后来加的。很多爆款绑定了特定事件(「Claude 4 发布当天的测评」),过一个月再跟已经没意义。但「月度盘点」这个题型本身是长青的。L1 自动打标签,选题推荐时按时效加权。

处理优先级:T3 现象级 > T2 爆款 > T1 小爆,同级最新优先。

L2 深度拆解:Claude Code,跑在 Mac Mini 上

L2 的分析维度更深:钩子拆解、内容结构、受众触发点、可复制要素、不可复制的上下文。成本高得多,只在 Mac Mini 本地跑 Claude Code,每天凌晨 5:15 自动认领最多 5 条任务。

如果条件允许,还会用 yt-dlp 下载原视频、ffmpeg 抽帧、跑本地 ASR 拿逐字稿,给 Claude 更多证据。

两级分离的好处:L1 便宜快,日常全覆盖;L2 贵但深,只给高价值爆款用。整体成本控制在每月十几美元以内。


第四步:逐字稿提取

光看标题和数据还不够,得看视频里到底说了什么。逐字稿提取分三条路:

  1. 去水印 API(Qushuiyin)拿到抖音/小红书视频直链
  2. 阿里云百炼 Paraformer-v2 跑语音识别,拿到逐字稿
  3. YouTube 走另一条路:yt-dlp 下载 + 本地 Whisper

检测到爆款后自动入队,后台 Worker 持续消费。逐字稿存入数据库,前端详情页直接展示,也作为 L2 分析的输入证据。


第五步:前端——安静的观测站

前端用 Vue 3 + Tailwind CSS v4 搭了 8 个页面

页面用途
Dashboard总览:各平台统计、最近爆款、系统健康状态
Boom Feed每日扫描结果,按分级筛选
Work Detail单条作品深度页:指标、评分、L1/L2 分析、逐字稿
Creator Detail单个创作者的档案和作品列表
Creators创作者管理表,添加/删除对标账号
SOP Library沉淀下来的可复用选题模式
Settings扫描计划、评分参数调整
API Docs接口文档

设计上有一个自觉的克制:爆款分级的颜色是整个界面唯一的视觉重点。T3 现象级用红色、T2 爆款用橙色、T1 小爆用琥珀色,其余全部退到中性色。一眼就能看出哪些值得点进去细看。


第六步:部署

整套系统用 Docker Compose 部署到 Dokploy,三个容器

services:
  proxy:    # Caddy:Basic Auth + 静态文件 + 反代后端
  backend:  # FastAPI:API + 定时任务 + 后台 Worker
  backup:   # sqlite3:每天备份一次数据库,保留 14 天

几个关键细节:

  • Caddy 反向代理:前端和 API 加 Basic Auth 保护(个人工具,不需要注册登录),Worker API 用 Bearer Token
  • SQLite 数据卷外挂:数据库不在容器里,重新部署不丢数据。备份容器每天 .backup,保留 14 天快照
  • GitHub Actions CI/CD:推 main → 构建 Docker 镜像 → 调 Dokploy API 触发部署。全程自动化

成本分析

整套系统跑起来的每月账单:

项目月成本
TikHub API(142 个创作者)~$15
DeepSeek L1 快评~$15
Dokploy 服务器(1C1G)~$5
阿里云 Paraformer ASR~$2
去水印 API~$1
Claude Code L2(Mac Mini 电费)~$3
合计~$41/月

40 美元一个月,换来 142 个对标账号的全自动监控 + AI 归因分析。手动刷同行视频的时间省下来,可以多做两条自己的内容。


数据库设计

10 张表,SQLite WAL 模式:

creators          -- 142 个对标创作者
creator_snapshots -- 每日粉丝快照(算 M 值用)
works             -- 所有作品 + 评分结果
work_snapshots    -- 作品指标每日快照
analyses          -- L1/L2 分析结果(JSON 存储)
transcripts       -- 逐字稿
sop_patterns      -- SOP 可复用模式
scan_log          -- 扫描任务队列
analysis_queue    -- 分析任务队列
app_settings      -- 系统配置

选 SQLite 的逻辑:只有一个用户,写入量不大(每天几百条 upsert),读写比约 1:10。用 PostgreSQL 纯属浪费。


想复刻的话,分三步走

雪踏乌云的建议很务实:

第一步,先跑评分引擎。scorer.py 不到 100 行,零外部依赖,纯函数。拿一个博主的历史数据本地测,看看 R/M/Grade 的判定和你的直觉是否吻合。觉得门槛太松或太紧,调 tier_of 里的 M 基准就行。

第二步,接数据采集。TikHub 注册拿 key,先从 10 个对标账号开始。写定时脚本每天跑一次,结果存 SQLite。这一步不需要前端,命令行看数据就够。

第三步,再加 AI 分析和前端。DeepSeek API 便宜到几乎可以忽略,先把 L1 快评接上。前端是锦上添花——可以先用 Obsidian Markdown 看数据,量大了再搭 Web 界面。

从第一行代码到生产环境跑起来,大概两周。前端和部署花的时间最多,评分引擎和采集反而很快——逻辑清晰的模块写起来就是快。


小结

这篇文章的价值不在于「又有一个新工具」,而在于展示了一个自媒体人如何把模糊的「培养网感」变成可量化、可自动化、可复用的系统

核心思路:把日常重复的盯盘工作交给代码,把分析判断交给 AI,自己只做一件事——用沉淀下来的弹药,做更好的内容

$41/月的成本,换来的是一台不会累、不会忘、每天帮你盯着 142 个同行的雷达站。


原文:雪踏乌云 @Pluvio9yte · X | 统计时间:2026-07-29

Related

相关文章

延伸阅读

查看全部 →