TrendRadarDocs项目来自sansansansan 个人项目与软件主页sandev.cc
首页文档社区企业合作个人支持致谢
  • 开始使用
    • 选择部署方式
    • 无服务器:GitHub Actions
    • 服务器 / NAS:Docker
    • 本机试用:本地运行
    • 配置内容与推送
  • 数据源配置
    • 平台配置
    • 自建热点源(AI 部署)
    • RSS 订阅配置
  • 内容筛选
    • 关键词配置
    • AI 智能筛选
  • 推送通知
    • 推送渠道
    • 推送模式
    • 调度系统
  • AI 增强
    • AI 分析推送
    • AI 多语言翻译
    • MCP 对话分析
    • MCP 提问指南
  • 数据与运维
    • 存储配置
    • 配置编辑器
    • 发布网页报告
    • 系统架构
  • 其他
    • 常见问题
  1. 文档
  2. /
  3. 推送通知
  4. /
  5. 调度系统
上一篇推送模式下一篇AI 分析推送
© TrendRadar·GPL-3.0 License·官网·GitHub·by sansan

调度系统

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全天增量 + 晚间总结(推荐)全天新条目推送 + 20:00-22:00 每日总结
always_on全天候监控有新条目立即推送
office_hours工作时段工作日三段式(到岗简报、午间热点、下班总结),周末自由增量
night_owl夜猫子午后预览 + 深夜完整总结(22:00-01:00 跨午夜)
custom完全自定义编辑 timeline.yaml 的 custom 部分自由定义
推荐选择
大多数用户选择 morning_evening 即可满足需求: 白天有新热点就推送,晚上再来一份当日总结。如果你有特殊的作息时间, 可以选择其他预设或使用 custom 完全自定义。

自定义配置

如果内置预设不能满足你的需求,可以将 preset 设为 "custom",然后编辑 config/timeline.yaml 文件底部的 custom 部分。
timeline.yaml 自定义部分结构说明

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/。你可以在编辑器中拖拽调整时间段,编辑完成后将生成的配置复制到本地文件中。