短剧-小红书信息源 — 每日扫描小红书短剧爆款内容,按互动量筛选热门笔记,智能聚类题材方向后生成包含封面、互动数据与创作洞察的HTML日报。支持按题材(穿越/霸总/重生等)、达人、时间范围定向查询。⚠️数据每日15:00更新前一天数据,目标日期无数据时必须先告知用户并等待确认后才能调用接口,禁止自动获取。⚠️查询前先校验分类/关键词是否符合短剧题材词库,不满足时不请求接口直接提示并推荐相关词。当用户需要短剧小红书日报、小红书短剧爆款、短剧热点、短剧创作趋势或自定义题材查询时使用。
npx skills add https://github.com/redfox-data/redfox-community --skill playlet-xhs-feed
短剧-小红书信息源是一款专为短剧创作者设计的小红书爆款内容追踪工具,参考AI-B站信息源的功能和样式设计。
通过红狐Hub API,你可以:
适用于短剧编剧、制作人、运营人员等需要把握小红书短剧流量风口的场景。
> ⚠️ 重要-确认逻辑:数据每日15:00更新前一天数据,目标日期无数据时禁止自动调用接口/禁止自动回退,必须先告知用户并等待确认后才能执行。
>
> 🧭 重要-前置校验:查询前先校验分类/关键词是否符合短剧题材词库(穿越/霸总/重生/甜宠/悬疑/逆袭等)、日期是否在有效查询范围;关键词/分类全部不满足时不请求任何接口,直接提示"关键词不满足查询条件"并推荐相关分类和关键词。
>
> ⛔ 输出规范:日报生成后,对话回复必须严格按照输出模板输出 md 内容,禁止任何自由发挥、省略或口语化文字。详见下方「📊 输出格式」。
| 功能模块 | 能力描述 | 核心价值 |
|---------|---------|----------|
| 📊 爆款发现 | 从小红书短剧中按互动量筛选热门内容 | 精准定位高热度短剧笔记 |
| 🏷️ 题材聚类 | 自动识别题材方向(穿越/霸总/重生/悬疑等) | 每天题材分类由内容动态决定 |
| 🔍 智能查询 | 默认查询全部短剧,数据不足时自动扩展题材批量查询 | 节省接口额度,高效获取数据 |
| 🎯 自定义查询 | 用户可指定任意题材/达人/关键词定向查询 | 灵活覆盖任意短剧细分方向 |
| 📈 创作洞察 | 分析爆款标题特征、题材趋势、达人表现 | 深度挖掘创作规律 |
| 🎨 可视化日报 | 深色主题HTML,封面图+互动数据+笔记直链 | 直观展示每日短剧热点 |
| 🔔 一键订阅 | --subscribe 开启每日自动产出 | 日报自动攒在本地文件夹 |
DATA_UPDATE_HOUR = 15 常量,调用接口前自动检测目标日期是否在无数据区间,无数据时提示用户等待确认xiaohongshu.com/explore/{photoId},互动数据为0的字段自动隐藏,HEIF封面自动转JPG,加载失败自动fallback默认封面REDFOX_API_KEY 获取,禁止硬编码前往 红狐Hub 官网 注册,登录后在个人中心获取,格式为 ak_xxxxxxxx。新注册用户获赠免费积分。
macOS/Linux:
echo 'export REDFOX_API_KEY=ak_xxxxxxxx' >> ~/.zshrc
source ~/.zshrc
Windows(PowerShell):
[Environment]::SetEnvironmentVariable("REDFOX_API_KEY", "ak_xxxxxxxx", "User")
配置后需重启终端使环境变量生效。
# macOS/Linux
echo $REDFOX_API_KEY
# Windows
echo %REDFOX_API_KEY%
| 变量名 | 必填 | 说明 |
|--------|------|------|
| REDFOX_API_KEY | 是 | 红狐Hub API访问密钥,通过 X-API-KEY 请求头鉴权 |
> ⛔ 核心规则:未经用户确认,禁止调用任何数据接口,禁止自动执行 --latest
>
> 绝对不能在用户未确认的情况下自动执行脚本获取数据(与B站版本不同,B站为自动兜底,本技能保留确认逻辑)。
数据更新规则:每日15:00更新前一天的数据
执行流程(每次查询前强制执行):
--latest 参数);若用户拒绝,则不执行任何接口调用:**⚠️{查询日期}数据尚未更新**
数据更新规则:每日15:00更新前一天的数据
当前可查询的最新日期:{最新可查询到数据的日期}
是否需要查询{最新可查询到数据的日期}的数据?
示例对话:
用户:查询今天的短剧小红书日报
Agent:⚠️2026-06-16数据尚未更新
数据更新规则:每日15:00更新前一天的数据
当前可查询的最新日期:2026-06-14
是否需要查询2026-06-14的数据?
用户:好的
Agent:(执行 python3 daily_report.py --latest)
> 查询前先判断用户输入的关键词/分类是否符合短剧题材词库(穿越/霸总/重生/甜宠/悬疑/逆袭/年代/战神/古装/都市/科幻等)。
推荐逻辑:优先从无效词中提取包含的题材词(如"穿越重生"→推荐穿越、重生),再补热门题材词。
# 生成最新一期日报(用户确认后执行)
python3 "$SKILL_PATH/assets/daily_report.py" --latest
# 生成指定日期日报(历史日期已有数据,无需确认)
python3 "$SKILL_PATH/assets/daily_report.py" --date 2026-06-10
# 自定义题材查询(用户指定方向,自动校验关键词)
python3 "$SKILL_PATH/assets/daily_report.py" --topics "穿越,霸总,重生,悬疑" --latest
# 订阅 / 取消订阅
python3 "$SKILL_PATH/assets/daily_report.py" --subscribe
python3 "$SKILL_PATH/assets/daily_report.py" --unsubscribe
> 查询策略:默认查询全部短剧内容(pageSize=200),数据不足(<100条)时自动追加热门题材(穿越→霸总→重生→悬疑→甜宠→逆袭),所有题材通过批量接口一次性查询。用户自定义题材时仅使用用户提供的有效题材词,同样批量查询。
> 日期智能判断:脚本内置 DATA_UPDATE_HOUR = 15 常量(每日15:00更新前一天数据),调用接口前自动检测目标日期是否在无数据区间。作为双保险,Agent 在第零步已提前拦截,避免脚本层的交互提示被忽略。
日报生成后,必须基于聚类结果自动执行创作趋势分析:
生成的HTML日报保存在 ~/Downloads/QoderReports/,自动浏览器打开。终端同步输出题材分类表格 + 创作趋势分析报告。
> ⛔ 严格执行规则:
> - 以下模板是唯一合法输出格式,禁止任何自由发挥、省略、简化或重新组织
> - 禁止输出模板中未定义的额外内容(如"我来帮你…""以下是…"等口语化文字)
> - 禁止合并、跳过任何板块,即使某板块数据为"暂无"也必须保留该板块标题
> - 每次获取日报后,对话回复必须严格按此模板输出 md 内容,不得包含模板以外的任何文字
每次运行日报后,对话输出必须严格按以下模板原样输出(仅替换 {...} 占位符):
## 短剧-小红书信息源 · {日期} 日报
**扫描 {N} 部热门短剧,聚类 {M} 个题材方向**
---
### 题材概览
| 题材 | 数量 | 占比 | 爆款亮点 |
|------|------|------|---------|
| #{题材名} | {N}部 | {X}% | 头部作品亮点描述 |
| ... | ... | ... | ... |
---
### 创作趋势分析
**一、新兴起量信号**
- 🔥 **#{题材}** — 仅{N}部但均互动{X}+,描述
(若无新兴题材,输出:暂无新兴起量信号)
**二、爆款标题特征**
| 特征模式 | 出现次数 | 典型案例 | 平均互动 |
|---------|---------|---------|---------|
| {特征1} | {N}次 | 《{标题}》 | {X}w |
| ... | ... | ... | ... |
(若无标题数据,输出:暂无爆款标题数据)
**三、核心达人榜**
| 达人 | 作品数 | 总互动 | 代表作 |
|------|--------|--------|--------|
| @{达人} | {N}部 | {X}w | 《{作品}》 |
| ... | ... | ... | ... |
(若无达人数据,输出:暂无核心达人数据)
**四、题材趋势报告**
**题材**:#{题材1}
**作品数**:{N}部
**平均互动**:{X}w
**头部作品**:《{标题}》-{互动}w
**题材特征**:{描述该题材的共性特征}
**创作建议**:{针对该题材的创作建议}
**五、#{题材2}**
(同上格式)
**六、#{题材3}**
(同上格式)
**七、跨题材对比建议**
- **{题材}** — 建议同步关注{相关题材}的联动创作,观察题材融合趋势
(若无建议,输出:暂无跨题材对比建议)
---
**日报地址**:{HTML文件绝对路径}
> 数据说明:每日15:00更新昨天的数据
> 以上格式为强制规范,所有字段不可省略,板块标题(一、二、三、四、五、六、七)必须保留。若某模块无数据则在该板块内标注"暂无",不得删除板块本身。
| 参数 | 说明 | 默认值 |
|------|------|--------|
| --topics "关键词,..." | 自定义题材查询,逗号分隔;全部不符合短剧题材词库时不请求接口直接提示+推荐;混合词保留有效词 | 全量查询 |
| --count N | 扫描作品数量,满足即停 | 200 |
| --date YYYY-MM-DD | 指定日期(超出有效范围/未更新时提示并询问,等待确认;历史日期已有数据无需确认) | 今天 |
| --start-time | 自定义开始时间 YYYY-MM-DD HH:MM:SS(覆盖 --date 推算) | — |
| --end-time | 自定义结束时间 YYYY-MM-DD HH:MM:SS(覆盖 --date 推算) | — |
| --latest | 自动使用最新有数据的日期(用户确认后执行,不扣积分) | — |
| --output-dir | 输出目录 | ~/Downloads/QoderReports |
| --api-key | 指定 API Key | — |
| --subscribe | 开启每日订阅 | — |
| --unsubscribe | 关闭每日订阅 | — |
| --from-cache | 使用缓存数据,不扣积分 | — |
除默认短剧日报外,用户可指定任意题材组合进行定向查询与分析:
# 查询穿越题材热门短剧
python3 "$SKILL_PATH/assets/daily_report.py" --topics "穿越,时空,重生"
# 查询霸总/甜宠题材
python3 "$SKILL_PATH/assets/daily_report.py" --topics "霸总,甜宠,总裁,虐恋"
# 查询悬疑/反转题材
python3 "$SKILL_PATH/assets/daily_report.py" --topics "悬疑,推理,反转,惊悚"
自定义查询逻辑:
角色:短剧编剧/制作人
需求:了解小红书短剧市场的热门题材和爆款趋势,指导选题决策
使用方式:
--latest 获取最新日报预期收益:精准把握流量风口,提升选题命中率
角色:短剧运营/MCN机构
需求:追踪竞品账号在小红书的表现,分析爆款内容特征
使用方式:
--topics 定向查询竞品所在题材--subscribe 每日自动攒日报预期收益:及时掌握竞品动态,优化自身运营策略
角色:内容策划/数据分析师
需求:分析小红书短剧的内容趋势,为内容规划提供数据支撑
使用方式:
--start-time 和 --end-time 批量分析时间范围数据预期收益:产出结构化趋势报告,支撑内容战略决策
短剧-小红书信息源/
├── SKILL.md # Skill主文档(本文件)
├── README.md # 项目说明文档
├── scripts/ # 脚本源码
│ └── playlet_xhs_daily.py # 日报生成脚本(开发版,与assets同步)
├── assets/ # Skill运行时资源
│ ├── daily_report.py # 日报生成脚本(运行时使用,v2.3增强版)
│ └── default_cover.png # 默认封面图(加载失败时的fallback)
└── references/ # 参考文档
├── core_workflow.md # 核心执行流程、格式模板、日期判断逻辑
└── examples.md # 使用示例与常见用法组合
| 组件 | 技术 | 说明 |
|------|------|------|
| 运行环境 | Python 3 | 脚本语言 |
| 数据源 | 红狐Hub API | X-API-KEY 请求头鉴权,source 字段追踪来源 |
| API端点 | https://redfox.hk/story/api/parseWork/queryPlayletMsgs | POST请求 |
| 平台标识 | platform=3 | 小红书(1=抖音,2=视频号,6=B站) |
| 来源标识 | source | "短剧小红书信息源-GitHub" |
| 数据存储 | JSON缓存 | ~/.workbuddy/cache/playlet_xhs_data.json |
| 输出格式 | HTML + 终端Markdown | 深色主题,小红书红(#FF2442) |
| 输出目录 | ~/Downloads/QoderReports | 可自定义 |
用户请求 → 前置输入校验(分类/关键词/日期) → 日期预检(15:00规则)
↓(关键词/分类全部不满足) ↓(日期未更新/超范围)
不请求接口,直接提示+推荐停止 提示用户并等待确认(禁止自动回退)
↓(用户确认后)
API调用(批量查询+重试+去重+排序,数据不足自动扩展题材)
↓
题材聚类(关键词匹配)
↓
HTML日报生成 + 终端摘要输出
↓
创作趋势分析(5个维度)
Q1: 安装时提示 "未找到 REDFOX_API_KEY 环境变量" 怎么办?
A: 请按以下步骤检查:
[Environment]::SetEnvironmentVariable("REDFOX_API_KEY", "ak_xxx", "User"))echo %REDFOX_API_KEY% 应输出你的Key值Q2: API Key 如何获取?
A: 前往 红狐Hub 官网 注册账号,登录后在个人中心获取,格式为 ak_xxxxxxxx。新注册用户获赠免费积分。
Q3: 数据多久更新一次?
A: 每日15:00更新前一天的数据。
Q4: 查询指定日期提示"数据尚未更新"怎么办?
A: 目标日期尚未更新时,脚本不会自动回退,而是提示当前可查询的最新日期并询问"是否需要查询最新日期的数据?",等待用户确认后才执行。这是本技能保留的确认逻辑(与B站版本的自动兜底不同)。
Q5: 关键词/分类不满足短剧题材词库时怎么办?
A: 查询前脚本会先校验关键词/分类:全部不符合短剧题材词库(如"智能辅助驾驶""火星人"等非题材词)时,不请求任何接口,直接提示"关键词不满足短剧查询条件"并推荐相关分类和关键词(穿越/霸总/重生/甜宠/悬疑/逆袭等);混合词场景保留有效关键词继续查询。
Q6: 查询不到数据怎么办?
A: 可能原因:
建议先使用 --from-cache 检查缓存,或换一个日期尝试。
Q7: Windows PowerShell 执行报 UnicodeEncodeError?
A: 脚本输出包含emoji,需设置UTF-8编码:
$env:PYTHONIOENCODING='utf-8'
python assets/daily_report.py --latest
Q8: HTML日报中图片加载失败?
A: 脚本已内置fallback机制,加载失败时自动显示默认封面图(assets/default_cover.png)。部分封面图URL使用HEIF格式,脚本会自动转换为JPG格式提高兼容性。
Q9: 数据安全如何保障?
A:
~/.workbuddy/cache/Take redfox-data/playlet-xhs-feed from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.