页面更新:

GitHub Actions 部署

GitHub Actions 是 GitHub 提供的托管自动化服务。通过它,TrendRadar 可以在云端自动运行, 无需你自己的服务器。是否占用付费或套餐分钟数取决于仓库可见性与账号方案,本文会在创建仓库时说明取舍。
当前任务 · GitHub Actions
在自己的仓库中手动运行任务,并在已配置的渠道收到第一条推送。
更换部署方式
11 · 运行前配置至少一个推送渠道
22 · 完成标准日志没有错误,并在目标应用收到测试或首次推送
33 · 收到后配置内容与推送

获取项目代码

"Use this template" 与 "Fork" 的区别

GitHub 提供了两种复制他人项目的方式。对于 TrendRadar,你必须使用 "Use this template" 方式,不要使用 "Fork"。
对比项Use this templateFork
创建结果一个全新的、独立的仓库一个与原项目关联的副本
提交历史不保留(干净的开始)完整保留原项目历史
Actions 工作流默认启用默认禁用(安全限制)
适用场景自己使用,不需要向原项目贡献代码想给原项目提交改进(Pull Request)
推荐程度推荐不推荐(可能导致 Actions 不工作)
操作步骤:
1
打开 TrendRadar GitHub 仓库页面
2
点击绿色的 "Use this template" 按钮
3
选择 "Create a new repository"
4
填写你的仓库名称(可以自定义,例如 my-trendradar)
5
选择仓库可见性
Public 仓库使用标准 runner 不计费,但仓库内容公开;Private 可保护你的配置文件,但会使用账号套餐包含的 Actions 分钟数。Secrets 在两种仓库中都会加密保存。
6
点击 "Create repository" 完成创建

配置 Secrets(推送密钥)

GitHub Secrets 是 GitHub 提供的安全存储机制,用于保存不能公开的敏感信息(如 API 密钥、Webhook 地址等)。 TrendRadar 通过读取 Secrets 来确定把消息推送到哪里。

添加 Secret 的步骤

1
进入仓库设置
在你的仓库页面,点击顶部的 "Settings" 标签页
2
找到 Secrets 菜单
在左侧栏中,展开 "Secrets and variables",点击 "Actions"
3
添加新 Secret
点击 "New repository secret" 按钮
4
填写名称和值
在 "Name" 栏填入 Secret 名称(必须与下表完全一致),在 "Secret" 栏填入对应的值
5
保存
点击 "Add secret" 按钮保存
全部推送渠道 Secret 一览
推送渠道Secret Name获取方式
企业微信WEWORK_WEBHOOK_URL群设置 > 群机器人 > 添加机器人 > 复制 Webhook 地址
飞书FEISHU_WEBHOOK_URL群设置 > 群机器人 > 添加自定义机器人 > 复制 Webhook 地址
钉钉DINGTALK_WEBHOOK_URL群设置 > 智能群助手 > 添加自定义机器人 > 复制 Webhook 地址
TelegramTELEGRAM_BOT_TOKEN与 @BotFather 对话创建机器人,获取 Token
TelegramTELEGRAM_CHAT_ID将机器人拉入群组后,通过 API 获取群组 Chat ID
邮件EMAIL_FROM发件人邮箱地址
邮件EMAIL_PASSWORD邮箱的授权码(不是登录密码,需要在邮箱设置中生成)
邮件EMAIL_TO收件人邮箱地址
NtfyNTFY_TOPIC你自定义的 ntfy 主题名称
BarkBARK_URLBark App 中显示的推送地址(含 key)
SlackSLACK_WEBHOOK_URLSlack App > Incoming Webhooks > 复制 Webhook URL
自定义 WebhookGENERIC_WEBHOOK_URL任意接受 POST 请求的 Webhook 地址
不知道如何获取 Webhook、Token 或 Chat ID?先打开 推送渠道配置, 获取凭据后再回到本页添加对应 Secret。
GitHub Actions 的临时磁盘会在运行结束后销毁。基础推送可以不配远程存储;如需历史记录、增量检测等完整体验, 请按 存储配置 添加 4 个必需的 S3 凭据,不能只设置上表中的可选 S3_REGION。

手动运行工作流

配置好 Secrets 后,你可以手动触发工作流来验证配置是否正确。
1
进入 Actions 页面
在你自己的仓库页面,点击顶部的 "Actions" 标签页。 请务必确认你在自己的仓库中,而不是在原始项目 (sansan0/TrendRadar) 中。
2
选择工作流
在左侧的工作流列表中,找到并点击 "Get Hot News"
3
触发运行
点击页面右侧的 "Run workflow" 按钮,在弹出的下拉框中再次点击绿色的 "Run workflow" 确认
4
等待结果
工作流通常需要 2-3 分钟完成。页面不会自动刷新,你可以手动刷新页面查看运行状态

查看运行日志

如果工作流运行失败或你想查看详细过程,可以通过以下方式查看日志:
1
点击运行记录
在 Actions 页面,点击你想查看的那次运行记录(显示了运行时间和状态)
2
查看 Job 列表
进入后你会看到一个或多个 Job(任务),点击你要查看的 Job
3
展开步骤
每个 Job 包含多个步骤,点击任一步骤可以展开查看该步骤的详细日志输出

项目的 7 天签到机制

这是使用 GitHub Actions 部署方式必须了解的机制。 如果不了解这一点,你的自动推送可能会在某天突然停止。

它与 GitHub 的平台规则有什么区别?

7 天是 TrendRadar 项目自己的规则:Get Hot News 会检查自身最早的可见运行记录; 超过 7 天后,它会禁用 crawler.yml。这不是 GitHub 的 7 天限制。
GitHub 另有平台规则:公共仓库如果连续 60 天没有仓库活动,定时工作流可能被自动禁用, 高负载时定时任务也可能延迟或被丢弃。详见 GitHub 官方 schedule 说明。

到期后会发生什么?

如果项目的 7 天周期已经过期:
  • 自动推送会停止,你不会再收到任何消息
  • Get Hot News 会被禁用,自动推送停止
  • 运行 Check In 只会重置计时,不会自动重新启用爬虫
  • 签到后还需要打开 Get Hot News,点击 Enable workflow

如何签到

1
进入你的仓库的 Actions 页面
2
在左侧工作流列表中,找到 "Check In"
3
点击 "Run workflow" 按钮
4
在弹出的下拉框中点击绿色的 "Run workflow" 确认
5
如果 Get Hot News 已被禁用,回到该工作流并点击 "Enable workflow"

修改运行频率(Cron 定时)

什么是 Cron?

Cron 是一种用于设定「定时任务」的表达式。你可以把它理解为一个闹钟设置: 告诉系统「在什么时间自动执行任务」。在 TrendRadar 中,Cron 决定了多久自动抓取一次新闻。
Cron 表达式由 5 个数字/符号组成,用空格分隔,分别代表:
分钟  小时  日期  月份  星期
 *     *     *     *     *
 |     |     |     |     |
 |     |     |     |     +-- 星期几 (0-6, 0=周日)
 |     |     |     +-------- 月份 (1-12)
 |     |     +-------------- 日期 (1-31)
 |     +-------------------- 小时 (0-23)
 +-------------------------- 分钟 (0-59)

* 表示"每个"   */N 表示"每隔 N"   N 表示"第 N"

常用时间预设

运行频率Cron 表达式说明
每小时运行一次0 * * * *每小时的第 0 分钟运行
每 30 分钟运行一次*/30 * * * *每小时的第 0 和第 30 分钟运行
每天北京时间 8:000 0 * * *UTC 0:00 = 北京时间 8:00
工作时段每 30 分钟*/30 0-14 * * *UTC 0:00-14:00 = 北京时间 8:00-22:00
三餐时间推送0 0,4,12 * * *UTC 0:00/4:00/12:00 = 北京时间 8:00/12:00/20:00
工作日每 2 小时0 0-14/2 * * 1-5周一到周五,北京时间 8:00-22:00,每 2 小时

修改步骤

1
找到工作流文件
在你的仓库中,导航到文件 .github/workflows/crawler.yml
2
进入编辑模式
点击文件内容右上角的铅笔图标(编辑按钮),或者点击 "Edit this file"
3
找到 cron 配置行
在文件中找到类似这样的内容:
on:
  schedule:
    - cron: '0 */2 * * *'  # 找到这一行
1
修改 cron 表达式
将引号内的表达式替换为你需要的时间设置(参考上面的预设表)
2
提交修改
滚动到页面底部,在 "Commit changes" 区域填写修改说明,然后点击 "Commit changes" 按钮

启用 AI 分析(可选)

如果你希望每次推送的新闻附带 AI 生成的分析总结,只需额外添加两个 Secrets:
Secret Name说明
AI_API_KEY你的 AI 服务 API 密钥(如 OpenAI、DeepSeek 等)
AI_MODELAI 模型标识(格式:提供商/模型名称,如 deepseek/deepseek-v4-flash)
添加方式与推送渠道 Secrets 完全相同。AI 功能是可选的,不影响基础的新闻推送。

GitHub Actions 常见问题