KOL Radar · 跨平台大V订阅雷达
把多个平台的大V「今天发了什么」自动聚合成一份带要点解读、情绪判断、主题聚合的 HTML 日报。
支持平台:雪球 · 微博 · 公众号 · 抖音 · 小红书 · 视频号(6 个)。
1. 它能做什么
- 按你的订阅名单,用浏览器自动化(Playwright,XHR 拦截绕反爬)抓取各平台大V当日内容。
- 对每条内容做深度解读 + 情绪判断(看多/看空/中性/风险提示)、提取要点、识别提及的证券标的、重要度星级。
- 跨平台主题聚合:把不同平台共振讨论的话题归到一起。
- 渲染成一份浅色主题、红涨绿跌配色的 HTML 简报,可直接在浏览器打开/预览。
- 可一键
daily串起「抓取 → AI 分析 → 渲染」,并配成每天定时自动跑的自动化。
数据与分析结果分别保存在:
- 抓取原始数据:
~/.workbuddy/kol-radar/data/<日期>.json - AI 分析:
~/.workbuddy/kol-radar/data/analysis-<日期>.json - HTML 报告:
~/.workbuddy/kol-radar/reports/kol-radar-<日期>.html
2. 安装 / 依赖
脚本依赖 Playwright(环境通常已装;未装时):
C:/Users/Administrator/.workbuddy/binaries/python/envs/default/Scripts/python.exe -m pip install playwright
C:/Users/Administrator/.workbuddy/binaries/python/envs/default/Scripts/python.exe -m playwright install chromium
脚本位置:~/.workbuddy/skills/kol-radar/scripts/
3. 使用流程
步骤 A:填写订阅名单
复制模板并按格式填入你要订阅的大V:
cp ~/.workbuddy/skills/kol-radar/config/subscriptions.example.json ~/.workbuddy/kol-radar/subscriptions.json
字段说明见 subscriptions.example.json 顶部 _readme:
- 雪球:
id= 主页/u/后的数字。 - 微博:
id= 主页/u/后的数字。微博走移动端 UA,脚本已自动处理。 - 公众号:两种模式
- ① 有自建 RSS(wechat2rss / RSSHub)时填
rss字段,最准; - ② 只填
name走搜狗索引,按公众号名精确过滤,覆盖有限且有延迟(仅作话题监控兜底)。
- ① 有自建 RSS(wechat2rss / RSSHub)时填
- 抖音:
id=sec_uid(主页 URL 里MS4wLjABAAAA...);也可只填url为 APP 分享短链自动解析。需先 login。 - 小红书:
id= 主页user/profile/后的一串。需先 login。 - 视频号:三条通道。
- ① bridge 通道(推荐·他人频道):
bridge填本地 wx_channel 桥接 API 地址(nobiyou/wx_channel,默认http://127.0.0.1:2026),直连拉频道视频列表,无需浏览器/登录;username已有时可跳过按名搜索。稳定订阅东先生说 等他人频道用这条。 - ② 控制台通道:登录后调用「视频号助手」控制台
post_list接口,抓取登录账号自己的频道帖子。需login --platform shipinhao。⚠️ 微信风控可能使会话失效(返回300334,需重新 login)。 - ③ 分享链接通道:
url填分享链接,打开页面拦截channels-finderAPI 尽力抓取(覆盖有限)。
- ① bridge 通道(推荐·他人频道):
enabled: false可临时停用某个账号。
步骤 B:登录(抖音/小红书/视频号必需,雪球微博可选)
C:/Users/Administrator/.workbuddy/binaries/python/envs/default/Scripts/python.exe \
~/.workbuddy/skills/kol-radar/scripts/kol_radar.py login --platform douyin,xhs,shipinhao
会弹出浏览器窗口,扫码/账号登录后按回车。登录态保存在本地 browser_profile,之后每天自动抓取都复用,无需重复登录。
雪球、微博无需登录即可抓公开主页;若遇到限流,也可把它们加入 login 列表养一下登录态。 ⚠️ 无终端输入的环境(后台/沙箱)里 login 不会等你按回车,而是自动等满超时(默认 180 秒)保持窗口——在窗口里完成扫码即可,无需按 Enter。
步骤 C:抓取当日内容
C:/Users/Administrator/.workbuddy/binaries/python/envs/default/Scripts/python.exe \
~/.workbuddy/skills/kol-radar/scripts/kol_radar.py fetch --days 1
常用参数:--platform xueqiu,weibo(只抓指定平台)、--limit 30、--delay 2.0、--no-headless(调试时看浏览器)。
步骤 D:AI 分析 + 渲染
有两种方式:
方式一(推荐,零配置):让 WorkBuddy 模型内联分析。
在对话里说「跑一下大V雷达今日简报」,或在每日自动化里由智能体内联分析(见 §5)。它会读取抓取结果、深度解读、写出 analysis-<日期>.json,再渲染。
方式二(headless/脚本化):配置大模型 API。
export KOL_RADAR_API_BASE="https://你的兼容端点/v1" # 默认 OpenAI
export KOL_RADAR_API_KEY="sk-..." # 必需
export KOL_RADAR_MODEL="gpt-4o-mini" # 可选
C:/Users/Administrator/.workbuddy/binaries/python/envs/default/Scripts/python.exe \
~/.workbuddy/skills/kol-radar/scripts/kol_radar.py daily
daily 一键完成 fetch → analyze(有 key 时)→ render。分析器用纯标准库调用 OpenAI 兼容接口,无需额外依赖。
单独运行分析器也行:
python kol_radar.py analyze --data ~/.workbuddy/kol-radar/data/<日期>.json
无论哪种方式,最后渲染:
python kol_radar.py render \
--data ~/.workbuddy/kol-radar/data/<日期>.json \
--analysis ~/.workbuddy/kol-radar/data/analysis-<日期>.json
4. analysis JSON Schema(render.py 期望)
无论是模型内联分析还是 analyze.py 产出,都必须是这个结构:
{
"summary": "今日整体速览(2-4句话)",
"highlights": ["最值得看的1-2条内容简述"],
"themes": [
{
"name": "主题名",
"sentiment": "bullish | bearish | neutral | warning",
"post_ids": ["xueqiu:123456", "weibo:5328..."],
"summary": "该主题的要点解读",
"count": 2
}
],
"items": {
"xueqiu:123456": {
"sentiment": "bullish | bearish | neutral | warning",
"importance": 3,
"points": ["要点1", "要点2"],
"tickers": ["AAPL", "000001.SZ", "小米集团"]
}
}
}
关键约定(务必遵守):
items的键 = 抓取数据中每条的"<platform>:<post_id>"(如xueqiu:1247347556、weibo:5328139358307725),必须覆盖每一条。themes[].post_ids同样用"<platform>:<post_id>"引用,只引用真实存在的键。sentiment四选一:bullish(看多/红)bearish(看空/绿)neutral(中性/灰)warning(风险提示/橙)。importance1-5 整数(噪声/碎碎念给 1-2)。tickers填提及的证券/标的,没有则[]。
5. 每日自动跑(自动化)
在 WorkBuddy 里创建一个每日自动化,prompt 大致如下(让其内联分析,无需 API key):
你是大V雷达每日值守智能体。① 用受管 Python 运行
kol_radar.py fetch --days 2 --hours 24(--days 2保证跨自然日抓全,--hours 24过滤出过去24小时滚动窗口);② 读取~/.workbuddy/kol-radar/data/<今天>.json,若 total=0 直接生成空简报结束;③ 按 §4 的 schema 对每条做深度解读与情绪判断,写出analysis-<今天>.json;④ 运行kol_radar.py render --data ... --analysis ...;⑤ 用 present_files 呈现 HTML 并附一句要点小结。抖音/小红书未登录可能抓不到属正常;视频号依赖本地桥接(127.0.0.1:2026);不要编造没抓到的内容。
(自动化也可用 daily 命令 headless 跑,前提是已配置 KOL_RADAR_API_KEY。)
6. 局限与注意
- 反爬/限流:平台会改版或风控,XHR 接口失效时需更新
platforms.py里的拦截路径。 - 抖音/小红书:必须登录态,登录态可能过期,需定期重新
login。 - 视频号:无公开 API。稳定订阅他人频道用 bridge 通道(本地 wx_channel 桥接,见上方字段说明);控制台通道只覆盖自己频道且可能被微信风控(
300334);分享链接通道覆盖有限。 - 公众号:RSS 模式最稳;搜狗索引滞后且覆盖有限,只作话题监控兜底,不要当成完整订阅。
- 登录态隔离:微博用独立移动端 UA profile(
browser_profile_mobile),不与 PC profile 冲突。 - 内容仅供个人阅读整理,不构成投资建议。
Scan to join WeChat group