Comment Intel — 评论区情报
把「评论区」从散装文本变成可交互、可追溯的知识图谱,并产出可直接用的内容结论。单 skill 自包含:采集路由、格式化、抽取规范、建图渲染、简报交付全部内置,不依赖任何外部 skill。
核心主张:单条评论没有价值,评论之间的关系才有。 谁在关心什么、哪些关注点总是一起出现、哪些提问从来没被回答过——连成网络才看得见。
两种用法
| 场景 | 走哪条路 |
|---|---|
| 用户给了平台链接 / 平台关键词 / 本地评论文件 | 即时分析(第 0-7 节) |
| 每日定时跑多平台关键词情报 | 每日简报(第 8 节) |
工作目录
在任务目录下运行全部命令(不要写进 workspace)。scripts/、data/ 相对路径以任务目录为基准。本 skill 的脚本可按需复制到任务目录 scripts/ 子目录运行(脚本用 __file__ 定位根目录)。
0. 判定数据来源
| 用户给了什么 | 走哪条路 |
|---|---|
| 平台链接 / 平台关键词(B站/小红书/抖音/YouTube/Reddit/X) | 采集路 → 第 1 节 |
| 本地评论文件(JSON / CSV / 纯文本) | 直用路 → 第 2 节 |
| 什么都没给 | 先问一句要哪个来源,不要自己猜 |
1. 采集(可选)— 读 references/collect.md
按 references/collect.md 路由表采集评论,声明「使用 comment-intel 的 X 平台 / Y 通道」。单平台单视频数据可加 --video-id/--video-title/--play 参数补元数据。
边界:不写爬虫;登录态平台用专用小号、只读不写;采集结果存任务目录;单平台失败跳过并在简报注明,不中断整体。
2. 格式化(确定性脚本,必须跑)
python scripts/format_comments.py <采集文件或用户文件> --out-dir <任务目录>/data
产出 data/comments_raw.json(视频元数据,build_graph.py 必需)+ data/comments.txt(每行 视频ID\t点赞\t正文)。
脚本只做整理,不改写评论原文。解析失败(如没有 text 字段)时按报错修正输入,不要静默跳过。
3. 定制词表(不能跳)
采样 30-50 条评论通读一遍,把 references/schema.md 的关注点/人群/应对词表改成贴合这批数据的版本。
不同账号/方向的评论区维度完全不同,用通用词表抽出来的图谱是废的。
4. 逐条抽取(LLM 干)
按 references/schema.md 对 data/comments.txt 每条评论抽取结构化字段,每条一个 JSON 对象:
{"aweme_id":"视频ID","i":0,"text":"评论原文","like":123,
"concerns":["关注点"],"persona":"人群或null","stance":"情绪立场",
"metaphor":"隐喻或null","coping":["应对策略"],
"is_sarcasm":false,"is_ask":false,"is_win":false}
规则(照抄 schema.md,此处只列关键):
text必须原样复制,一旦改写就失去证据价值concerns只抽真实存在的东西,宁缺勿造;纯玩梗/打招呼/夸奖 →[]is_sarcasm(字面正向实际负面=阴阳怪气)、is_ask(提问=内容缺口)、is_win(成果汇报=正反馈)三个信号必填- 评论超过 200 条切成每批 ~130 条并行抽取,每个批次写独立的
data/extracted_<n>.json - 输出直接以
[开头]结尾的 JSON 数组,不要包 markdown 代码块、不要解释文字
5. 建图 + 渲染
python scripts/build_graph.py # 读 data/extracted_*.json + comments_raw.json → data/graph.json
python scripts/render.py # → atlas.html(零依赖单文件,双击即开)
每条边都挂评论原文作为证据——图谱里任何一个结论都能点回到具体是谁说的哪句话。没有证据的边不要建。
6. 发布(可选)
python scripts/export.py # GitHub Pages 版 / README mermaid / digest.md / llms.txt
发布前必须告知用户:graph.json 含评论原文(虽无昵称 UID),公开仓库前由用户决定。
7. 交付解读(别只丢一个 HTML)
主动给这几项结论:
- 关注点 TOP 榜 — 按提及次数排
- 内容缺口 —
is_ask密集但视频从没正面回应过的关注点 = 被验证过需求的选题 - 共现簇 — 总是一起出现的关注点
- 金句库 — 高赞 metaphor,可当标题/结尾
- 成果案例 —
is_win评论,是最好的社会证明素材
8. 每日情报简报(定时任务用)
多平台关键词采集 → 同一套分析流水线 → 飞书文档交付。步骤:
- 采集:按
references/collect.md对约 30 个关键词跑多平台(抖音 douyin MCP / 小红书 opencli / X twitter-cli / YouTube yt-dlp+代理 / B站 scripts/bili_collect.py / Reddit subreddit+read),全部只读。 - 格式化 + 词表定制 + 逐条抽取 + 建图渲染:同上第 2-5 节。
- 产出飞书文档(用 lark-doc 能力创建),标题「每日自媒体评论区情报 YYYY-MM-DD」,正文包含:
- ① 当日关注点 TOP 榜(按提及次数,附次数)
- ② 内容缺口选题(is_ask 密集但未被回应的关注点)
- ③ 共现簇(总是一起出现的关注点)
- ④ 金句库(高赞 metaphor,可直接当标题/结尾)
- ⑤ 成果案例(is_win 评论)
- ⑥ 数据来源与未采集平台说明(含各平台登录态状态)
- 交付:把飞书文档链接发送给用户。
- 失败处理:单平台登录态/网络失败时跳过该平台并在简报注明,至少输出成功平台结果;全部失败则向用户说明原因。日志与中间产物保留在任务目录。
已知限制(对用户透明)
- 平台后台通常不提供单条评论时间戳和回复链 → 做不了评论级时间轴和「情绪升级链」
- 真实评论区约 40% 带信息量,图谱反映的是那部分
- 小红书/抖音/X 依赖浏览器或 CLI 登录态;Cookie 只存本地不上传,失效时需重新登录