返回顶部
a

ai-topic-scout

AI短视频选题追踪系统。自动抓取指定YouTube博主视频和Twitter博主推文,分析内容,聚合跨平台热点主题,生成带热度评分和选题建议的分析报告,结果写入钉钉AI表格。适用于:定时抓取AI领域博主内容、分析短视频选题热度、跨平台话题聚合、生成选题建议。触发词:"抓取选题"、"分析选题"、"选题scout"、"topic scout"、"抓取博主内容"、"选题分析"。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
487
下载量
0
收藏
概述
安装方式
版本历史

ai-topic-scout

# AI短视频选题追踪系统 ## 依赖安装 首次使用前,检查并安装所有依赖。按顺序执行: ### 1. CLI 工具 ```bash # mcporter — MCP Server 调用工具 npm install -g mcporter # bird — Twitter/X CLI npm install -g @steipete/bird # yt-dlp — YouTube 视频/字幕下载 pip install yt-dlp ``` ### 2. 依赖技能(通过 clawhub 安装) ```bash # 钉钉 AI 表格操作 clawhub install dingtalk-ai-table # YouTube 字幕抓取 clawhub install youtube-watcher ``` > 如果 clawhub 未安装:`npm install -g clawhub` ### 3. 环境配置 **钉钉 MCP Server**: 1. 打开 https://mcp.dingtalk.com/#/detail?mcpId=9555&detailType=marketMcpDetail 2. 点击「获取 MCP Server 配置」,复制 Streamable HTTP URL 3. 注册到 mcporter: ```bash mcporter config add dingtalk-ai-table --url "<你的URL>" ``` **Twitter Cookie**: 1. 在浏览器登录 x.com,从 DevTools → Application → Cookies 获取 `auth_token` 和 `ct0` 2. 配置到 `~/.config/bird/config.json5`: ```json5 { authToken: "<你的auth_token>", ct0: "<你的ct0>" } ``` > ⚠️ 当前版本 bird 不会自动读取 config.json5,CLI 调用时仍需通过 `--auth-token` 和 `--ct0` 参数传入。 ### 4. 验证安装 ```bash mcporter --version mcporter list dingtalk-ai-table --schema # 确认出现 list_bases / create_records 等新版 tools bird check yt-dlp --version ``` ## 数据架构 ### 钉钉AI表格结构 Base 名称:`AI短视频选题` 需要 4 张数据表,首次运行时自动创建(参见 `references/setup-guide.md`): | 表名 | 用途 | |------|------| | YouTube博主 | 追踪的油管频道列表 | | Twitter博主 | 追踪的推特账号列表 | | 抓取内容 | 原始抓取记录(视频/推文) | | 选题分析 | 聚合分析后的选题 | 表结构详见 `references/table-schema.md`。 ## 工作流 ### 一、首次初始化 仅第一次使用时执行,步骤详见 `references/setup-guide.md`: 1. 创建钉钉AI表格 Base 2. 创建 4 张数据表(含字段定义) 3. 填入初始博主列表 4. 将 baseId 和各 tableId 保存到 `references/config.json` ### 二、定时抓取(每小时执行) 按顺序执行: #### 1. 读取配置 ```bash cat {baseDir}/references/config.json ``` 读取 baseId、各 tableId、各字段 fieldId。 #### 2. 抓取 YouTube 内容 对「YouTube博主」表中状态为「活跃」的每个博主: ```bash # 获取最新3个视频ID yt-dlp --flat-playlist --print "%(id)s %(title)s" -I 1:3 "https://www.youtube.com/@{频道ID}/videos" # 对每个视频,先检查 fetch 表是否已存在(用原文链接去重) mcporter call dingtalk-ai-table query_records --args '{ "baseId":"<baseId>","tableId":"<fetchTableId>", "keyword":"youtube.com/watch?v=<videoId>" }' --output json # 如果不存在,抓取字幕 python3 {youtube-watcher-baseDir}/scripts/get_transcript.py "https://www.youtube.com/watch?v=<videoId>" # 用字幕内容生成摘要,写入 fetch 表 ``` #### 3. 抓取 Twitter 内容 对「Twitter博主」表中状态为「活跃」的每个博主: ```bash bird user-tweets @{用户名} -n 5 --plain --auth-token "<token>" --ct0 "<ct0>" ``` 对每条推文,检查 fetch 表是否已存在(用原文链接去重),新内容写入 fetch 表。 #### 4. 写入 fetch 表的格式 ```bash mcporter call dingtalk-ai-table create_records --args '{ "baseId":"<baseId>", "tableId":"<fetchTableId>", "records":[{ "cells":{ "<来源fieldId>":"YouTube 或 Twitter", "<博主名称fieldId>":"博主名", "<标题fieldId>":"内容标题", "<内容摘要fieldId>":"200字以内摘要", "<原文链接fieldId>":"完整URL", "<发布时间fieldId>":"YYYY-MM-DD", "<抓取时间fieldId>":"YYYY-MM-DD HH:mm", "<内容类型fieldId>":"视频/推文/长推文/转推评论", "<关键词标签fieldId>":"逗号分隔的标签", "<处理状态fieldId>":"待分析" } }] }' --output json ``` ### 三、选题分析(每次抓取后执行) #### 1. 读取待分析内容 ```bash mcporter call dingtalk-ai-table query_records --args '{ "baseId":"<baseId>","tableId":"<fetchTableId>", "filters":{"operator":"and","operands":[ {"operator":"eq","operands":["<处理状态fieldId>","<待分析optionId>"]} ]} }' --output json ``` #### 2. 主题聚合 分析所有「待分析」记录,按以下规则聚合成选题: - **关键词匹配**:相同关键词标签的内容归为同一选题 - **语义相似**:标题或摘要讨论同一事件/技术的合并 - **跨平台加权**:YouTube + Twitter 同时出现的话题热度更高 #### 3. 热度评分规则 满分 100,计算维度: | 维度 | 权重 | |------|------| | 相关内容数量 | 25% | | 跨平台覆盖(YouTube+Twitter都有) | 20% | | 跨博主覆盖(多人提到) | 20% | | 内容深度(长推文/视频 vs 短推文) | 15% | | 时效性(越新越高) | 10% | | 主流媒体报道(通过搜索验证) | 10% | #### 4. 搜索背景信息 对每个选题用可用的搜索工具(如 Tavily、web search 等)补充背景知识。搜索关键词 + 当前年份,取新闻类结果。 #### 5. 生成选题建议 每条选题包含: - 🎯 **目标受众** — 这个视频谁会看 - ⏱ **建议时长** — 短视频多长合适 - 📐 **内容结构** — 分几段讲什么(3-5个要点) - **多个标题参考** — 至少3个不同角度的标题 #### 6. 写入选题分析表 ```bash mcporter call dingtalk-ai-table create_records --args '{ "baseId":"<baseId>", "tableId":"<analysisTableId>", "records":[{ "cells":{ "<主题fieldId>":"emoji + 主题标题", "<热度评分fieldId>":85, "<相关内容数fieldId>":3, "<来源博主fieldId>":"博主1, 博主2", "<主题分类fieldId>":"大模型/AI应用/AI编程/AI硬件/AI政策/AI创业/AI开源/其他", "<背景信息fieldId>":"背景描述...", "<选题建议fieldId>":"完整建议...", "<分析时间fieldId>":"YYYY-MM-DD HH:mm", "<状态fieldId>":"待审核" } }] }' --output json ``` #### 7. 设置关联 **关键**:关联字段写入必须用 `{"linkedRecordIds":[...]}` 格式,不能直接传数组: ```bash mcporter call dingtalk-ai-table update_records --args '{ "baseId":"<baseId>", "tableId":"<analysisTableId>", "records":[{ "recordId":"<选题recordId>", "cells":{ "<相关内容fieldId>":{"linkedRecordIds":["<fetchRecordId1>","<fetchRecordId2>"]} } }] }' --output json ``` #### 8. 更新 fetch 记录状态 将已关联到选题的 fetch 记录标记为「已分析」。 对不值得做选题的内容(非AI相关、过于轻量)标记为「已忽略」。 ## 踩坑记录 详见 `references/gotchas.md`,包含钉钉 API 的坑和 bird/yt-dlp 使用注意事项。 ## 主题分类选项 - 大模型(GPT/Claude/Gemini/开源模型等) - AI应用(自动驾驶/医疗/教育/创意工具等) - AI编程(Copilot/Codex/代码生成等) - AI硬件(GPU/芯片/机器人/传感器等) - AI政策(监管/伦理/安全/就业影响等) - AI创业(融资/新公司/商业模式等) - AI开源(开源模型/框架/数据集等) - 其他 ## 聚合策略补充 当同一话题被多条内容覆盖时,将相关内容全部关联到同一选题。选题标题应反映聚合后的更大视角,而非单条内容的标题。 示例:Sam Altman 的 GPT-5.4 推文 + Codex Security 转推 + NVIDIA 算力扩展推文 + Mollick 的算力经济学分析 → 聚合为「OpenAI一周三连发:GPT-5.4 + Codex Security + 算力军备竞赛」

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 ai-topic-scout-1776128222 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 ai-topic-scout-1776128222 技能

通过命令行安装

skillhub install ai-topic-scout-1776128222

下载 Zip 包

⬇ 下载 ai-topic-scout v1.0.0

文件大小: 11.99 KB | 发布时间: 2026-4-14 16:02

v1.0.0 最新 2026-4-14 16:02
首次发布:AI短视频选题追踪系统

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部