Bili.Copilot
为广告投手做的 B 站第三方客户端:两轮 DeepSeek 分析把榜单与搜索数据转成可投放的热点选题,已打包发布 v3.0.0
FEATURES
两轮 AI 热点分析
第一轮语义聚类识别热点,第二轮搜索验证后评估广告适配度与内容类型占比
B 站客户端体验
推荐流无限滚动、分区榜、搜索与播放、多标签 webview 浏览、UP 主详情
话题追踪与生命周期
锚定关键词定时快照,对比每次搜索的新增/消失视频,观察话题热度走势
自研 WBI 签名
完整实现 mixinKey 重排 + MD5 签名,密钥 10 分钟缓存,扫码登录并持久化 Cookie
风控自愈
请求节流、并发控制,0 结果判定为风控后延时重试一次,仍失败则回退隐藏浏览器请求
已打包交付
NSIS 安装包 100.9 MiB(v3.0.0),支持自选安装目录、开机不自动启动
TECH
- ▸Electron 42 + React 18 + TypeScript + Vite,8 个页面 / 45 个 IPC 通道
- ▸主进程 1558 行、B 站 API 层 1604 行;WBI 签名、浏览器级请求、Cookie 会话三条取数通道
- ▸sql.js(SQLite WASM)本地库:UP 主 / 动态 / 视频快照 / 话题追踪 / 追踪快照五张表
- ▸AI 结果为按日 JSON 快照(ai_results/日期.json),同日免重算,并统计 token 消耗
项目概览
B 站官方客户端不适合做投放决策——看不到话题趋势、也没有内容类型分析。这个客户端把「热点选题」做成了核心工作流:从榜单和搜索里采集素材,交给 AI 识别热点,再验证热度与广告适配度,最后沉淀成可追踪的话题。
两轮 AI 分析管线
第一轮:识别热点。 采集综合热门 5 页 × 50 条、全站排行榜与 14 个分区排行、以及分区最新投稿,过滤掉 7 天前的视频并按标题去重,然后把标题批量交给 DeepSeek 做语义聚类。Prompt 里明确定义了什么算热点(具体游戏/事件/人物/比赛,跨多个 UP 主且能搜到近期视频)和什么不算("游戏攻略"这类内容类型标签、"测评/混剪"这类格式词、"原神"这类常青游戏),要求产出 15-25 个话题,每个话题给出不超过 8 字的 topic、不超过 6 字的搜索词,以及必须引用真实标题的推理。
第二轮:搜索验证 + 广告评估。 对每个话题在 B 站搜 4 页 × 50 条,用子串匹配过滤不相关结果,统计作者数、发布量、时间分布,再交给 AI 输出趋势类型(持续热门 / 短期爆火 / 周期性事件)、Top50 内容的类型占比(例如"锐评吐槽 24% | 知识解析 18%")与 2-3 句推理。
结果按天存成 JSON 快照,同一天不重复分析,同时记录 token 消耗。
取数与风控
B 站数据有三条通道,按场景选用:公开接口直连、WBI 签名接口(自研了完整的 mixinKey 重排与 MD5 签名,密钥 10 分钟缓存)、以及浏览器级请求(隐藏窗口里执行 fetch 并带上 Cookie,呈现为真实用户行为)。
风控处理是这套管线里最实用的部分:请求按 1.2 秒节流、UP 主信息 1.5 秒节流并缓存 2 分钟、批量搜索按并发 3 分批。一旦某话题搜索结果数为 0 就判定为风控,随机延时 3-8 秒重试一次,仍然为 0 则切换到浏览器通道,并把后续话题也一并切过去。AI 聚类没有产出时还会回退到本地热榜聚合服务。
交付状态
release/ 里有真实产物:BiliCopilot Setup 3.0.0.exe,100.9 MiB,配 latest.yml、blockmap 与解包目录,electron-builder 配置为 NSIS、可选安装目录、不强制开机启动。
README 里开发者自己列出的待办:右键 UP 主查看详情与流量折线图、可能删除收藏页并整合进主页、搜索页与整体 UI 待优化。应用内自动更新未实现(有 latest.yml 但没有 autoUpdater 代码),收藏板块改版也还没做。
SCREENSHOTS

推荐流 + 全站/分区排行榜,集成 B站原生浏览体验。左侧导航切换功能模块,右侧内容区自适应布局。

DeepSeek 两轮分析:第一轮从排行榜视频标题中语义聚类识别热点话题,第二轮 B站搜索验证后评估广告适配度,输出趋势类型与内容分析。

对 AI 识别的话题自动进行 B站搜索验证,按播放量排序,过滤低质账号,统计优质 UP 主参与度与发布时间分布。
锚定关键词后定时快照,追踪视频池变化。对比每次搜索的新增/消失视频,监控话题热度走势与内容更替。

UP 主动态历史、视频播放量变化趋势、话题跨天热度对比,为投手提供投放效果复盘依据。