自建热点源(AI 部署)
更新于
选择提示词,让 AI 帮你部署 NewsNow 或 OmniTrends,再将部署后的热榜 API 地址填入 TrendRadar 配置。
推荐 Cloudflare Pages + D1。无需租服务器,个人使用可先从免费方案开始。部署说明
部署前,多一步检查更安心
安装前先让 AI 审核代码与依赖;审核不能保证绝对安全。
1. 选择部署提示词
你的 AI 属于哪一种?
AI 读写文件、执行命令;你负责账号登录和必要授权。
选一个项目,复制提示词并补充方括号内的信息,不清楚的填“不确定”。
提示词参考维护者的 NewsNow 部署整理,可能遗漏手动配置,请让 AI 按实际版本和环境核对。
NewsNow
OmniTrends
TrendRadar 默认使用的热榜数据源,也可部署为自己的新闻网站。
NewsNow · AI 自动操作
请帮我部署 NewsNow:https://github.com/newsnext/newsnow
使用 Cloudflare Pages + D1 的 Free 计划,默认用免费的 pages.dev 地址。
我的情况:系统 [ ];Cloudflare 账号 [ ];自定义域名 [无/域名];登录同步 [需要/不需要];关注的源 [ ];国内访问 [需要/不需要]。
直接完成已授权的文件修改与检查,账号登录由我操作;复用既有授权,如实报告结果。
一、先审核
读取实际仓库并记录版本,检查依赖、安装钩子、部署脚本、后端请求及二次开发差异。重要问题给出文件依据,说明审核缺口;AI 审核不保证安全。说明部署方案,等我确认后再安装和执行项目代码。
NewsNow:核对 nitro.config.ts、example.wrangler.toml 和构建脚本,按当前版本配置。
二、构建部署
查当前 Cloudflare 官方文档,依据项目锁文件选择兼容的 Node.js、包管理器和 Wrangler。
默认本地构建后用 Wrangler 上传;需要 Git 自动部署时,在创建项目时选择 Git 集成,Direct Upload 不能原地切换。
优先 wrangler login,由我登录。需要 Token 时使用有限权限的 CLOUDFLARE_API_TOKEN,留在本机,不读入聊天、日志或 Git。
配置我的 Pages 项目、D1 绑定(按代码要求使用 NEWSNOW_DB)、ENABLE_CACHE 和 INIT_TABLE。用 CF_PAGES=1 构建,确认 dist/output/public 包含完整 _worker.js 后端与前端,再上传到约定项目;路径差异以当前版本为准。
默认保留完整网站和原 API 路径;隐藏前端、修改路径作为后续可选任务。
仅在需要时绑定自定义域名,保留已有 DNS 记录,修改现有解析或 NS 前确认。验证 HTTPS 和实际网络访问,说明免费额度;付费、删除数据或中断服务前确认。
三、验收交付
验证首页与两个关注的源,通常请求 /api/s?id=<平台ID>&latest,要求返回 success/cache 状态及有效新闻,不能只看 HTTP 200。核对线上 D1 读写,如实报告失败项。
交付不带查询参数的 API 地址,供 TrendRadar 的 platforms.api_url 使用,并给出部署版本及简短的更新、备份、回退命令。Pages 回滚不会恢复 D1 数据。
参考:
https://developers.cloudflare.com/pages/get-started/direct-upload/
https://developers.cloudflare.com/pages/configuration/custom-domains/
https://developers.cloudflare.com/pages/functions/pricing/
https://developers.cloudflare.com/d1/platform/pricing/2. Cloudflare 部署与域名准备
参考维护者的 NewsNow 部署路线:本地构建、Wrangler 上传、D1 存储,工具版本由 AI 按项目核对。
- 审核代码,授权 Wrangler,配置 D1 数据库。
- 使用 CF_PAGES=1 构建,再通过 Wrangler 上传。
- 验证网页和 API,按需绑定自定义域名,保存备份与维护方法。
需要 Git 自动部署时,在创建项目时选择 Git 集成;已有的 Direct Upload 项目不能直接改为 Git 集成。Cloudflare 上传说明
授权 Wrangler
Wrangler 是 Cloudflare 官方部署工具,其授权与模型服务的 API Key 无关。
- 优先方式:运行 wrangler login,由你完成登录授权。
- API Token:需要时创建有限权限、有有效期的 Token,在本机设置 CLOUDFLARE_API_TOKEN,只告诉 AI 变量名或存放位置。
不用 Global API Key,避免聊天或工具输出泄露 Token,用完可撤销。Token 创建说明
涉及账号授权,优先选择大厂官方 AI 服务
优先选择 DeepSeek 官方 API等官方服务,并搭配可信的 AI 客户端。第三方服务也有其便利性,使用前请了解数据处理与留存规则;无论选择哪家,都应将凭据留在本机妥善保管。
免费使用范围
Cloudflare 可在免费额度内运行,超额可能导致请求失败。最新额度见:Pages Functions / D1
自己的域名与国内访问
可直接使用免费的 pages.dev 地址;希望使用自定义域名时,再按下面步骤设置。面向国内用户时,请在实际网络测试访问。
- 优先使用已有域名;需要新域名时,再到支持修改 NS 的注册商注册。
- 添加到 Cloudflare DNS 的 Free 计划,保留现有解析,让 AI 检查 DNSSEC。
- 在注册商处将 Nameserver(NS)改为 Cloudflare 分配的值,等待生效。
- 在 Pages → Custom domains 添加你要使用的域名(如 news.example.com),验证 HTTPS 和 API。
HTTPS 证书免费。域名验证后由 Cloudflare 自动签发和续期,生效后验证 HTTPS 即可。证书说明
将 DNS 托管到 Cloudflare 时,无需转移域名注册。绑定根域名需使用 Cloudflare NS;若只用子域名,也可保留现有 DNS 服务商,先在 Pages 绑定子域名,再到该服务商添加 CNAME 记录。域名绑定 / DNS 迁移
换域名后,仍需实测访问
自定义域名不保证国内所有网络稳定可达。请分别测试用户访问网站和云端抓取新闻。Cloudflare 网络说明
3. 接入 TrendRadar
在
config/config.yaml 中填写 platforms.api_url,使用部署后验证通过的 API 地址:platforms:
api_url: "https://news.example.com/api/s"
# 保留已有的 enabled、sources 等配置替换为自己的域名和实际路径,不附加 ?id= 或 &latest;留意 PLATFORMS_API_URL 环境变量会覆盖此配置。在 TrendRadar 运行环境中验证两个源即可。
可选设置
以下两项按需选择,可分别使用。将对应提示词接着发给同一个 AI,沿用上方选择的协作模式。
隐藏前端,只保留 API
适合只供 TrendRadar 抓取的部署。维护者的 NewsNow 方案是在上传前移除生成的前端文件、保留后端,首页返回 404,API 继续可用。
AI 提示词 · 隐藏前端
请隐藏已部署热点源的公网前端,保留 API 和当前路径,沿用本次对话的部署信息。
先核对版本。参考 NewsNow:CF_PAGES=1 构建后,从 dist/output/public 移除 index.html、assets/、icons/。清理范围必须在产物目录内,保留源码、D1 数据、完整 _worker.js 和 _routes.json。
按“构建 → 清理 → 上传”顺序执行。按既有授权部署;未授权则先交付改动。验证首页返回 404、两个源仍有有效 JSON。
直接完成已授权的文件修改与检查,账号登录由我操作;复用既有授权,如实报告结果。修改 API 访问路径
让 AI 随机生成前缀,将 /api/s 改为 /<随机前缀>/s。部署后,将新 API 地址按第三步填入 TrendRadar。自定义路径不等于鉴权。
AI 提示词 · 修改 API 路径
请随机生成 12 位小写字母和数字作为前缀,将已部署热点源的 /api/s 改为 /<随机前缀>/s,保持当前前端选择,沿用本次对话的部署信息。
按实际版本同步后端路由、中间件、前端请求及仍使用的 OAuth 回调。参考定制版使用 shared/consts.ts 的 API_PREFIX 和 server/routes/<前缀>/。
用同一前缀生成匹配的 _routes.json,保留其他必要 Worker 路由;该规则只控制 Worker 调用,不会重写 URL。
按授权构建部署,验证两个源及旧路径不再返回新闻;需兼容旧路径时先约定。最后给出不带查询参数的新 API 完整地址,由我按第三步填入 TrendRadar。自定义路径不等于鉴权。
直接完成已授权的文件修改与检查,账号登录由我操作;复用既有授权,如实报告结果。