cheat-on-audience
把短视频评论区变成可交互的知识图谱,并发布成人和 agent 都能读的形态。当用户说「分析我的评论区」「评论区图谱」「大家在关心什么」「评论区都在聊什么」「comment atlas」「把评论做成图谱」「把图谱发出去」,或者手上有一批评论数据想看出结构时使用。产出零依赖单文件 HTML(悬浮速览、点击看评论原文证据)、GitHub 首页可直接渲染的 mermaid 图、以及 agent 可 fetch 的 graph.json 和 digest.md。
معلومات المصدر
- المستودع
- XBuilderLAB/cheat-on-audience
- آخر نشاط في المصدر
- ١ أغسطس ٢٠٢٦ في ٠٨:٢١
- لغة SKILL.md المكتشفة
- الصينية
- النجوم
- ١٨
- التفرعات
- ٥
خيارات التثبيت
يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.
مراجعة ملفات المصدر
اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.
عرض SKILL.md
SKILL.md
تعليمات المصدر · معاينة للقراءة فقط- name
- cheat-on-audience
- description
- 把短视频评论区变成可交互的知识图谱,并发布成人和 agent 都能读的形态。当用户说「分析我的评论区」「评论区图谱」「大家在关心什么」「评论区都在聊什么」「comment atlas」「把评论做成图谱」「把图谱发出去」,或者手上有一批评论数据想看出结构时使用。产出零依赖单文件 HTML(悬浮速览、点击看评论原文证据)、GitHub 首页可直接渲染的 mermaid 图、以及 agent 可 fetch 的 graph.json 和 digest.md。
# cheat-on-audience
把一堆散装评论变成一张有结构、可追溯的知识图谱。
核心主张:**单条评论没有价值,评论之间的关系才有。** 谁在关心什么、什么内容引出了什么讨论、哪些关注点总是同时出现、哪些提问从来没被回答过——这些只有连成网络才看得见。
## 什么时候用
- 用户想知道自己的观众到底在关心/焦虑什么
- 用户有评论数据(任何平台),想找选题缺口
- 用户想做「我分析了 N 条评论」这类元内容
## 六个阶段
### 阶段 1:拿到评论数据
按优先级尝试:
1. **用户已有导出文件** — 直接问路径。支持 JSON / CSV / 纯文本(一行一条)。
2. **iGrowth 插件已采集的数据**(如果用户装了)— 查 `~/.igrowth/opc-assets/runs/*/video-comments.json`,取最新且 `comment_count` 最大的一份。
3. **用户手动复制** — 让用户从创作者后台复制评论粘贴进来。
最低要求:每条评论至少有正文。有点赞数更好(权重信号),有来源视频最好(上下文)。
**不要写爬虫去抓平台数据。** 用官方后台导出、用户已授权的插件,或手动复制。
### 阶段 2:先看数据,再定 schema
**这一步不能跳。** 先采样 30-50 条评论读一遍,看清这个账号的评论区在聊什么,再决定关注点词表。
一个讲 AI 工具的账号和一个讲留学的账号,评论区的关注点维度完全不同。用通用词表抽出来的图谱是废的。
读完之后,把 `references/schema.md` 里的词表改成贴合这批数据的版本,再进入抽取。
### 阶段 3:逐条抽取
按 `references/schema.md` 对每条评论抽取结构化字段。
评论超过 200 条时,切成每批 ~130 条,用多个 subagent 并行抽取,每个 agent 写自己的 `extracted_N.json`。
**中文评论区必须处理的三件事:**
- `is_sarcasm` 阴阳怪气——字面正向实际负面,不处理整张图会歪
- `is_ask` 提问——这是内容缺口信号,最有商业价值的一类
- `is_win` 成果汇报——正反馈,是做案例内容的素材库
### 阶段 4:建图
```bash
python3 scripts/build_graph.py
```
读 `data/extracted_*.json` 合成 `data/graph.json`。每条边都挂评论原文作为证据——图谱里任何一个结论都能点回到具体是谁说的哪句话。没有证据的边不要建。
### 阶段 5:渲染
```bash
python3 scripts/render.py
```
产出 `atlas.html`——零依赖单文件,双击就能打开,也能直接发 Artifact 或推 GitHub Pages。
**不要引 CDN。** Artifact 的 CSP 会拦截外部请求,弱网也会白屏。渲染器里的力导向是手写的,200 行,不需要 d3。
### 阶段 6:发布(可选)
```bash
python3 scripts/export.py
```
一次生成四种分发形态:
| 产物 | 给谁看 | 怎么打开 |
| --- | --- | --- |
| `docs/index.html` | 人 | GitHub Pages,点链接就能交互 |
| README 里的 mermaid | 人 | GitHub 首页原生渲染,不用点任何链接 |
| `data/digest.md` | agent 和人 | 纯文本摘要,结论在前证据在后 |
| `data/graph.json` | agent | 完整结构化数据,含逐条评论证据 |
| `llms.txt` | agent | 资源清单入口 |
脚本会从 `git remote` 自动推断仓库地址补全链接;还没推送时用相对路径,推送后重跑即可。
mermaid 片段写在 README 的 `<!-- ATLAS:MERMAID:BEGIN/END -->` 之间,每次重跑覆盖。生成前会做语法自检——**首页渲染失败会显示一大块红色报错,比没有图更糟**,自检不过就不改 README。
开启 Pages:仓库 Settings → Pages → Source 选 `main` 分支的 `/docs` 目录。
**发布前必须确认**:`graph.json` 里含评论原文。虽然不含昵称和 UID,但仍是用户生成内容。公开仓库前要明确告知用户这一点,由用户决定。
## 渲染器的三层交互
1. 悬浮 tooltip — 类型、提及次数、最高赞的一条评论
2. 点击抽屉 — 全部关系 + 每条关系下的评论原文、点赞、来源视频、信号标记
3. 筛选 — 按节点类型、按信号(只看提问 / 只看成果 / 只看阴阳怪气)、全文搜索
悬浮只做速览,证据一定要放点击层——手机上没有 hover。
## 读取别人发布的图谱
这个 skill 也能反过来用——读现成的公开图谱,不用自己跑数据:
```
读一下 https://raw.githubusercontent.com/<owner>/<repo>/main/data/digest.md
```
要完整证据链就 fetch `graph.json`。结构:
```
meta { title, subtitle, stats, stance }
types { concern|persona|video|metaphor|coping: {label, color} }
nodes [ {id, type, mentions} ]
links [ {s, t, rel, w, ev: [{text, like, video, stance, sarcasm, ask, win}]} ]
```
## 产出解读
图建完后,主动给用户这几个结论,别只丢一个 HTML:
- **关注点 TOP 榜** — 按提及次数排
- **内容缺口** — `is_ask` 密集但你的视频从没正面回应过的关注点,这是被验证过需求的选题
- **共现簇** — 总是一起出现的关注点,说明观众心里它们是一件事
- **金句库** — 高赞 metaphor,直接可以当视频标题或结尾
- **成果案例** — `is_win` 的评论,是最好的社会证明素材
## 常见坑
- 评论数据通常没有单条时间戳(平台后台一般不给),所以时间维度只能用视频发布时间近似,别假装有精确的评论时间轴
- 只出现一次的关注点是噪音,建图时过滤掉
- 玩梗、纯打招呼的评论要保留记录但 concerns 留空,不要硬塞——否则关注点榜单会被垃圾词污染
- 抽取时 `text` 字段必须原样复制,一旦改写就失去了证据价值
عرض على GitHub