调度系统
TrendRadar 的调度系统(Timeline)控制每天在什么时间执行抓取、推送和分析任务。 你可以通过选择内置预设模板快速上手,也可以完全自定义时间安排。
不启用调度时的默认行为
调度系统默认关闭(
schedule.enabled: false)。 不启用调度时,程序每次运行都会执行全部流程:采集数据 + AI 分析 + 推送通知, 并使用 config.yaml 中 report.mode 的值作为报告模式。 调度系统的作用是在不同时间段使用不同的行为配置(例如白天增量推送、晚上汇总推送), 如果你不需要按时段区分行为,可以不启用调度。配置文件位置
调度系统涉及两个配置文件:
| 文件 | 作用 | 是否必须编辑 |
|---|---|---|
config/config.yaml | 在 schedule 部分选择预设名称,启用调度功能 | 必须 |
config/timeline.yaml | 定义时间段、日计划和星期映射(使用 custom 预设时需要编辑) | 仅自定义时 |
快速开始
最简单的方式是在
config/config.yaml 中设置预设名称。 只需修改一个字段即可启用调度系统:schedule:
enabled: true
preset: "morning_evening" # 修改这里选择预设将
preset 的值替换为你想使用的预设名称即可。 以下是所有可选的预设模板。预设模板
TrendRadar 内置了 5 套预设模板,覆盖大多数使用场景。 选择一个最接近你作息习惯的预设,然后在
config.yaml 中设置对应名称即可。推荐选择
大多数用户选择
morning_evening 即可满足需求: 白天有新热点就推送,晚上再来一份当日总结。如果你有特殊的作息时间, 可以选择其他预设或使用 custom 完全自定义。自定义配置
如果内置预设不能满足你的需求,可以将
preset 设为 "custom",然后编辑 config/timeline.yaml 文件底部的 custom 部分。once 机制:时间段内仅执行一次
每个时间段可以通过
once 配置控制是否在该时段内只推送/分析一次:evening_summary:
start: "20:00"
end: "22:00"
push: true
report_mode: "daily"
once:
analyze: true # 该时间段内只做一次 AI 分析
push: true # 该时间段内只推送一次once 的去重原理
once 通过数据库记录每个时间段的执行状态,重启程序不会重置。 去重按日期维度进行,跨日(如 00:00 后)自动重置,新的一天会重新执行。
once.push: true 和 once.analyze: true 是两个独立的维度,互不影响。按时段切换关键词/兴趣文件
每个时间段可以指定独立的关键词文件和 AI 兴趣文件,实现「不同时段关注不同主题」:
periods:
morning_brief:
start: "08:00"
end: "10:00"
frequency_file: "tech.txt" # 早间用科技词库
interests_file: "tech_ai.txt" # 早间 AI 关注科技领域
report_mode: "incremental"
evening_summary:
start: "20:00"
end: "22:00"
frequency_file: "finance.txt" # 晚间用金融词库
interests_file: "finance.txt" # 晚间 AI 关注金融领域
report_mode: "daily"- 关键词文件放在
config/custom/keyword/目录 - AI 兴趣文件放在
config/custom/ai/目录 - 不指定时使用默认的
config/frequency_words.txt和config/ai_interests.txt
注意事项
旧版配置已移除
从 v6.0.0 开始,旧版的
push_window 和 analysis_window 配置项已被移除。 如果你从旧版本升级,请将相关配置迁移到新的 schedule + timeline.yaml 体系。GitHub Actions 时间精度
GitHub Actions 的 cron 调度存在 +/- 15 分钟的时间偏差,因此时间段的跨度应至少设置为 2 小时,避免因为偏差导致任务被跳过。如果需要更精确的定时控制,建议使用 Docker 部署方式。
可视化配置编辑器
TrendRadar 提供了在线可视化编辑器,支持以周视图的方式直观编辑
timeline.yaml 配置。 访问地址:https://sansan0.github.io/TrendRadar/。你可以在编辑器中拖拽调整时间段,编辑完成后将生成的配置复制到本地文件中。