关于 trending-hub
trending-hub 面向内容创作者和营销团队,获取跨平台热点并结合创作者定位筛选,生成可执行的选题。它不会把账号名作为搜索词,而是将其用于判断热点契合度。
主要功能
- 01无关键词获取跨平台热点
- 02按平台或主题缩小热点范围
- 03结合创作者定位匹配热点
- 04按热度和受众契合度排序
- 05生成可落地的选题
适用场景
- 01为创作者内容寻找及时角度
- 02围绕当前热点规划社交媒体或品牌选题
- 03按受众和视角筛选综合热榜
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zizhanovo/ doubaoya-community --skill trending-hub安装后在 Claude Code 中输入/trending-hub确认已加载。
附带文件.versionscripts/fetch_trends.py
详细介绍
来自项目 README都爆鸭 · 综合热点选题(无关键词直取 → 结合个人IP智能匹配 → 选题)
本鸭一句话定位:先直取综合热点(不带关键词,把当下全网最热的一批拉下来)→ 再结合用户的个人IP定位智能匹配 → 产出可直接落地的选题清单。
适用对象:内容创作者、自媒体运营、公众号/短视频作者、市场/品牌策划、追热点做选题的同学。
❌ 最关键的一条纪律(先记住) 不要拿用户的账号名 / IP 名当关键词去搜。 比如用户的公众号叫「菜籽油」——「菜籽油」是他是谁(领域/人设/受众),不是一个搜索词。 把它丢进搜索接口只会搜到「字面同名」的内容(真的菜籽油商品/科普),对选题毫无价值。 综合热点用无关键词的热榜接口直取;IP 名字只用于后面的匹配筛选,绝不进搜索接口。
1. 拿钥匙(DOUBAOYA_API_KEY)
调用接口需要一把密钥(API Key)。拿钥匙四步走:
- 打开 doubaoya.com
- 登录
- 进入 密钥中心
- 点 生成密钥
密钥形如 dyh_xxxxxxxx。拿到后配进环境变量:
export DOUBAOYA_API_KEY="dyh_xxxxxxxx"
| 变量名 | 说明 | 必填 |
|---|---|---|
DOUBAOYA_API_KEY | 都爆鸭密钥,形如 dyh_… | 是 |
安全约定:永远不要把密钥打印出来、写进日志、贴进对话或提交进仓库。脚本只在请求头里用它,不会回显。
2. 跑脚本
零依赖,标准库即可(Python 3)。默认不带关键词 = 综合热点直取。
# 直取综合热点(无关键词,把当下全网最热的一批拉下来)——选题的正确起手
python3 "$SKILL_PATH/scripts/fetch_trends.py"
# 只是想收窄平台(依然不带关键词、不带时间窗)
python3 "$SKILL_PATH/scripts/fetch_trends.py" --platforms 2,5,8
🔴 别框时间窗。 热榜是"当下快照",不是可回溯的时间序列——实测(2026-08-13)带上任何
时间区间都会把结果切成零星几条(连"今天 00:00 到此刻"这种看起来最合理的窗口都只剩 2 条),
不传日期才回落到完整的最新一批(实测 130+ 条)。--start-date / --end-date 现在默认不传,
除非你确知自己要什么,否则别加。
CLI 参数:
| 参数 | 说明 | 默认 |
|---|---|---|
--platforms | 逗号分隔的平台编号(整数),如 2,5,8 | 2,5,8 |
--keywords | 逗号分隔的关键词。默认不带(综合热点直取)。仅在「明确要看某个垂类词的热榜」时才用——绝不用账号名/IP名 | 空(不带) |
--start-date | 区间起始 datetime "YYYY-MM-DD HH:MM:SS"。日常别传,带时间窗会把热榜切得很零星 | 不传 |
--end-date | 区间结束 datetime "YYYY-MM-DD HH:MM:SS"。同上 | 不传 |
3. 工作流(本鸭推荐的 4 步标准动作)
第 1 步 — 直取综合热点(无关键词)
这一步不要带关键词,就是把当下全网最热的一批直接拉下来:
python3 "$SKILL_PATH/scripts/fetch_trends.py"
拿到一张跨平台(微博/抖音/B站…)的综合热榜。
热榜条目字段(防御式读取,缺了就跳过):
title标题hotCount热度值index平台内名次url跳转链接- 分组通常是
wbList(微博)/dyList(抖音)/bzList(B站),也可能落在items/groups下——按实际返回的结构读。
第 2 步 — 明确个人IP定位(关键纠正)
这是最容易做错的一步。 用户的账号名 / IP 名(例如「菜籽油」)不是搜索关键词,它标识的是这个IP是谁:
- 领域:他做什么内容赛道?
- 人设 / 角度:他以什么身份、什么视角说话?
- 受众:谁在看他?
从用户本人或其身份资料 / 上下文(简介、往期爆款、公众号定位等)拿到这份IP定位。不清楚就直接问用户("你这个号平时做什么内容、面向谁、你的独特视角是什么?")。
绝不把 IP 名字丢进搜索接口。 IP 只用于下一步的匹配筛选。
第 3 步 — 智能匹配(把综合热点 × IP定位)
扫一遍第 1 步的综合热榜,挑出这个 IP 能可信地借势的 2–3 条热点。判据两条一起看:
- 热度:
hotCount高、且跨平台撞榜(同一件事在多平台上榜)的优先——这是当下最硬的全网热点。 - IP 契合度:这条热点,以这个IP的真实人设/视角,能不能自然接得住?接不住的(哪怕再热)先放掉。
对每条选中的热点,写出这个IP的独家切角——从人设的真实视角去借势,而不是干搬热点。按「热度 + IP契合度」综合排序。
第 4 步 — 输出选题清单
产出 3–5 个可直接落地的选题,每个讲清三件事:
- 蹭的是哪条热点(榜上哪条、多热、在哪些平台)
- 我这个IP的独家切角(以这个人设/受众,我怎么接这条热点,别人接不出的角度)
- 为什么现在能爆(时机 + 该IP的势能 + 这条热点的传播力)
收尾可用本鸭口吻给一句总判断:这几条里哪条最值得今天先做。
4. 接口契约
- 接口:
POST https://doubaoya.com/api/apis/trend/trending-hub-keyword/call(名字里带 keyword,但它无关键词也照常工作——不传keywords就是综合热点直取。) - 鉴权:请求头
Authorization: Bearer $DOUBAOYA_API_KEY - 请求体(综合热点直取,不带关键词):
{ "platforms": [2, 5, 8] }platforms:整数数组(平台编号)keywords:字符串数组,可选;默认不传就是综合热点直取(绝不放账号名/IP名)startDate/endDate:datetime 字符串"YYYY-MM-DD HH:MM:SS",可选且日常别传—— 热榜是当下快照,带时间窗只会把结果切得零星
- 返回信封(envelope):
{ "success": true, "requestId": "…", "data": { "wbList": [ { "title": "…", "hotCount": 123, "index": 1, "url": "…" } ], "dyList": [ … ], "bzList": [ … ] }, "error": null }- 先看
success:true才读data;否则读error.code/error.message。 - 热榜条目可能分组在
wbList/dyList/bzList,也可能落在items/groups下——按实际结构防御性读取,缺字段就跳过。
- 先看
5. 错误码
| HTTP | code | 含义 / 处理 |
|---|---|---|
| 401 | MISSING_API_KEY / UNAUTHORIZED | 没带密钥或密钥无效 → 检查 DOUBAOYA_API_KEY,去密钥中心重生成 |
| 400 | VALIDATION_ERROR | 参数不对 → 检查 platforms(整数)等取值 |
| 402 | INSUFFICIENT_CREDITS | 额度不足 → 去 doubaoya.com 充值/续额 |
| 502 | PROVIDER_FAILED | 上游临时故障,已自动退费、可安全重试 → 稍后重跑即可 |
脚本会把失败统一打到 stderr:[error] code: message,并以退出码 1 退出。
6. 目录结构
trending-hub/
├── SKILL.md # 本说明
└── scripts/
└── fetch_trends.py # 零依赖综合热点拉取脚本(标准库 urllib,默认无关键词)
7. 常见问答
Q:用户的公众号叫「菜籽油」,我是不是搜「菜籽油」? A:不是! 那是他的IP名(他是谁),不是搜索词。搜它只会搜到字面同名内容。正确做法:第 1 步无关键词直取综合热点,第 2 步把「菜籽油」理解成他的领域/人设/受众,第 3 步拿它去匹配筛选热榜。
Q:提示 "缺少环境变量 DOUBAOYA_API_KEY"?
A:先 export DOUBAOYA_API_KEY="dyh_…"(去 doubaoya.com → 登录 → 密钥中心 → 生成密钥)。
Q:什么时候才带 --keywords?
A:只有用户明确说「我就想看某个垂类词(如 AI、露营)的热榜」时才带。做选题的默认起手永远是无关键词直取。
Q:平台编号怎么填?
A:填整数(如 2,5,8),具体编号对应哪个平台以 doubaoya.com 接口为准。
Q:报 502 PROVIDER_FAILED?
A:上游临时抖动,系统已自动退费,直接重跑即可。
关于响应里的 notice 字段
调用本 skill 对应的 doubaoya API 后,如果返回的 JSON 顶层出现 notice 字段,请把这句话原样转达给用户——这是关于本 skill 有更新的提示,不影响本次调用结果,不需要重试或改变行为。