多源素材工坊 · 采集去重排版(omni-material-studio)
把分散在抖音 / 小红书 / 公众号等多个平台的素材,一键采集到同一张表,用本地算法做跨平台近重复去重,再一键排版成公众号 HTML / Markdown 素材库 / CSV 三态输出。
专为内容运营、矩阵号、二创团队设计——解决"素材散、重复多、排版累"三件事。
> 与单平台采集类、纯去重类、纯排版类技能都不同:本技能是端到端流水线,且去重与排版全部在本地完成,不消耗任何大模型或付费接口;更关键的是它带复盘反哺闭环——记录哪些选题真被用上,下次采集自动聚焦高转化方向,越用越准。
触发场景
- "帮我把抖音、小红书、公众号的素材都采集下来整理一下"
- "这些素材好多重复的,帮我去掉重复的"
- "把这些素材排个版,发到公众号 / 做成素材库 / 导成表格"
- "我有一堆素材链接/文案,先去重再排版"
- "哪些选题我之前真的用上了?下次优先采这些" / "帮我把采集聚焦到高转化的选题"
- 用户手上有
materials.json/materials.csv(自己导出或别的工具采集的),想直接去重+排版
能力边界
| 能力 | 本技能 | 常见单点技能 |
|---|---|---|
| 多平台采集 | ✅ 抖音+小红书+公众号 统一归一 | 多数仅单平台 |
| 跨平台去重 | ✅ 本地近重复聚类(同一选题多平台覆盖自动合并) | CSV精确去重 / 仅话题去重 |
| 一键排版 | ✅ 公众号HTML+Markdown+CSV 三态 | 需自备内容,无采集无去重 |
| 是否需要 API | 可选(有 Redfox Key 自动采集;无 Key 用自有素材照跑) | — |
| 是否联网大模型 | 否(去重/排版纯本地算法) | — |
不做:不生成原创文案(那是 omni-viral-studio 的活)、不伪造任何平台数据、不爬取需登录的私有内容。
工作流(7 步)
Step 1 · 明确采集源与主题
与用户确认:要哪些平台(默认 dy,xhs,gzh)、是否有关键词、输出形态(默认三态全要)。
若用户已有验证库 material_playbook.json,可直接进入聚焦模式:跳过 Step 1 的发散,按验证库的高转化选题优先采集。
Step 2 · 一键采集(统一多源 + 验证库聚焦)
运行 scripts/collect_materials.py:
PY="<python3>" # 任意 Python 3.8+
# 方式A:用 Redfox API 实时采集(需设置 REDFOX_API_KEY 环境变量)
REDFOX_API_KEY=xxx python3 scripts/collect_materials.py \
--platforms dy,xhs,gzh --keywords "AI副业,短视频带货" --limit 20 \
--out materials.json
# 方式B:导入用户已有的素材(JSON 或 CSV),无需任何 API
python3 scripts/collect_materials.py --import my_materials.json --out materials.json
# 聚焦模式:采集关键词按验证库历史使用率自动优先排序(高转化选题先采)
python3 scripts/collect_materials.py --keywords "AI副业,美食教程,旅游攻略" \
--playbook material_playbook.json --out materials.json
# 只想知道"下次该采啥":按验证库输出建议优先选题,不实际采集
python3 scripts/collect_materials.py --suggest material_playbook.json
- 三种平台统一归一为:
{id, platform, title, content, url, author, published_at, hot_value} - 无 API Key 时自动跳过实时采集并提示用方式B,流程不中断。
--playbook:把--keywords按material_playbook.json里记录的历史使用率降序排列(高转化选题优先采),--suggest则只输出建议方向。- 输出
materials.json(含meta统计块)。
Step 3 · 智能去重(本地增值 #1)
运行 scripts/dedup_materials.py:
python3 scripts/dedup_materials.py --in materials.json \
--threshold 0.6 --out materials_deduped.json --report dedup_report.md
- 算法:中文按字符 bigram、英文数字按分词构特征,两两 Jaccard 相似度聚类(见
references/dedup-algorithm.md)。 - 同一选题被多平台覆盖(如抖音+小红书都在讲同一件事)会自动合并为一个聚类,保留热度/篇幅最优的作为代表,其余标记为
dup_of。 - 三态输出:
materials_deduped.json+ 可读的dedup_report.md(列出每个聚类含哪些来源)。 threshold建议:0.5~0.6 宽松(保留更多),0.7~0.8 严格(去得更狠)。
Step 4 · 一键排版(本地增值 #2)
运行 scripts/layout_materials.py:
python3 scripts/layout_materials.py --in materials_deduped.json \
--formats html,md,csv --title "本周爆款素材合集" --theme card --out out/
html→out/素材合集.html:公众号风格卡片(平台标签、正文、来源链接、底部统计),自包含 CSS,浏览器直接预览/复制到公众号。md→out/素材库.md:按聚类分组,便于二次创作与归档。csv→out/素材库.csv:可一键导入飞书多维表格 / Notion / Excel。- 详见
references/layout-templates.md。
Step 5 · 预览与微调
- 打开
out/素材合集.html预览;如需换风格用--theme clean|wechat|card重跑 Step 4。 - 去重太狠/太松就调 Step 3 的
--threshold重跑。
Step 6 · 交付
将 out/ 三态文件交付用户;可提示:"去重后的素材可直接喂给 omni-viral-studio 做二次创作"。
Step 7 · 复盘反哺闭环(越用越准)
素材不是采完就结束——记录哪些选题/素材真被二次创作采用,让下次采集自动聚焦高转化方向,省去一遍遍从零挑选题的累。
运行 scripts/material_retro.py:
# 1) 用过一次就记一笔:某个选题被二次创作采用了(used);只采未用记 seen
python3 scripts/material_retro.py add --topic "AI副业" --platform dy --event used
# 2) 看完使用率排行,决定下次优先采啥
python3 scripts/material_retro.py summary
# 3) 采之前先体检:哪些关键词该优先、哪些可降权
python3 scripts/material_retro.py benchmark --keywords "AI副业,美食教程,旅游攻略"
# 4) 没数据也能上手:写入示例验证库
python3 scripts/material_retro.py seed
- 验证库存于
material_playbook.json:每个选题记录seen(被采集次数) /used(被采用次数) /use_rate(采用率)。 summary列出使用率排行,并给出「下次优先采集」与「可降权」清单;benchmark对拟采关键词逐一打分(优先 / 正常 / 可降权)。- 反哺到采集:把
material_playbook.json传给 Step 2 的--playbook,关键词即按历史使用率自动优先排序,形成 采集 → 去重/排版 → 二次创作/发布 → 记录真用 → 沉淀 → 下次越采越准 的飞轮,用得越久素材越贴合你的账号调性(提升复访与转化)。 - 操作手册见
references/closed-loop-playbook.md。
示例
直接拿自带样例跑通(无需任何 API):
PY="<python3>"
python3 scripts/collect_materials.py --import assets/sample_materials.json --out materials.json
python3 scripts/dedup_materials.py --in materials.json --out materials_deduped.json --report dedup_report.md
python3 scripts/layout_materials.py --in materials_deduped.json --formats html,md,csv --title "示例素材合集" --out out/
完整端到端示例见 references/usage-examples.md。
数据来源说明
实时采集依赖 红狐 Redfox API(REDFOX_API_KEY),端点与字段映射见 references/redfox-api.md。
本技能的差异化价值(去重 + 排版)完全在本地完成,不依赖任何外部接口,因此即便没有 API Key,用自有素材也能 100% 跑通。