一个可继续扩展的短视频热点工作台,当前已经从“纯前端演示”升级成了“前端 + Python API”结构。
现在这套版本支持两件核心事:
- 从真实数据源拉取热点视频
- 基于选中的热点,生成完整内容包和视频预览
内容包包含:
- 标题
- 开头引子
- 完整口播文案
- 封面文案
- 分镜建议
- 结尾 CTA
- 话题标签
- 页面内视频预览
- 一键复制标题 / 口播 / 封面 / CTA
- 按关键词跨平台搜索热点
- 按“仿爆款强度”生成更接近选中爆款的内容
- index.html: 前端页面
- app.js: 前端逻辑
- styles.css: 页面样式
- server.py: 本地 API 与静态文件服务
- .env.example: 配置示例
- data/live_trends.example.json: 真实数据导入格式示例
在终端进入项目目录后执行:
cd "/Users/andrewtan/Documents/New project"
python3 server.py然后打开:
如果提示 Address already in use,说明 8000 端口被占用了,可以直接换一个端口启动:
HOTFLOW_PORT=8001 python3 server.py然后打开:
当前项目已经兼容 Vercel:
- 静态页面直接部署到根目录
- 热点接口在 api/trends.py
- 生成接口在 api/generate.py
- Vercel 配置在 vercel.json
最省事的上线路径:
- 把项目上传到 GitHub
- 在 Vercel 导入这个仓库
- 在 Vercel 里配置环境变量
- 部署完成后绑定你的自定义域名
OPENAI_API_KEYHOTFLOW_OPENAI_MODELHOTFLOW_REMOTE_JSON_URLHOTFLOW_REMOTE_JSON_HEADERSAPIFY_TOKENAPIFY_DOUYIN_ACTOR_IDAPIFY_XIAOHONGSHU_ACTOR_IDAPIFY_WECHAT_CHANNELS_ACTOR_ID
你可以只配其中一部分,至少要有一个真实数据源。
- 把代码推到 GitHub
- 登录 Vercel,点
Add New Project - 选中这个仓库并导入
- Framework Preset 选
Other - Build Command 留空
- Output Directory 留空
- 部署
- 部署成功后,在项目设置里添加自定义域名
- 本地:继续用 server.py
- 线上 Vercel:使用
api/目录下的 Python Functions
后端目前支持三种接法:
把你从第三方采集器、脚本或表格导出的真实热点数据整理成 JSON,放到:
data/live_trends.json
格式可以参考:
示例文件里现在已经放了抖音、小红书、视频号多条热点,你复制成 live_trends.json 后就能直接体验全平台搜索。
如果你已经有自己的抓取服务、云函数、Apify webhook 或别的聚合器,可以在 .env 里配置:
HOTFLOW_REMOTE_JSON_URL=https://your-api.example.com/trends
HOTFLOW_REMOTE_JSON_HEADERS={"Authorization":"Bearer xxx"}接口只要返回一个 JSON 数组即可,字段会自动做归一化。
如果你后面用 Apify 跑抖音、小红书、视频号采集,可以在 .env 里填:
APIFY_TOKEN=your_token
APIFY_DOUYIN_ACTOR_ID=your_actor_id
APIFY_XIAOHONGSHU_ACTOR_ID=your_actor_id
APIFY_WECHAT_CHANNELS_ACTOR_ID=your_actor_id也可以给每个平台单独传入 Actor 输入:
APIFY_DOUYIN_INPUT={"limit":10}
APIFY_XIAOHONGSHU_INPUT={"limit":10}
APIFY_WECHAT_CHANNELS_INPUT={"limit":10}如果你想让它真正调用模型生成内容,在 .env 里填:
OPENAI_API_KEY=your_key
HOTFLOW_OPENAI_MODEL=gpt-5.4-mini没配 API Key 时,系统会自动退回模板生成,页面仍然可以正常演示。
这个版本已经去掉“前端硬编码热点池”的逻辑,但真实热点是否能拉到,取决于你有没有配置可用的数据源。
页面现在已经支持:
- 按播放量 / 点赞量 / 分享量 / 综合热度排序
- 自动刷新
- 每个类别当前爆款榜
但要注意:
如果你没有接 HOTFLOW_REMOTE_JSON_URL 或 Apify Actor,它刷新到的仍然只是本地 data/live_trends.json。
也就是说:
- 你想要真正的实时爆款:必须接实时采集源
- 你现在看到的自动刷新:只是自动重新拉一次当前配置的数据源