推送渠道
TrendRadar 支持 10 种推送渠道,你可以根据使用习惯选择一种或多种渠道同时接收推送。 每个渠道的配置方式是在 GitHub 仓库的 Settings > Secrets and variables > Actions 中添加对应的 Secret。
配置须知
- 至少配置一个渠道即可使用推送功能
- 可以同时配置多个渠道,系统会并行推送到所有已配置的渠道
- Secret 的 Name 必须与文档中标注的名称完全一致,区分大小写
- Secret 保存后无法查看原始值(GitHub 安全机制),如果输入有误可以直接更新覆盖
渠道配置详情
企业微信
个人微信
飞书
钉钉
Telegram
邮件
ntfy
Bark
Slack
自定义 Webhook
企业微信群机器人
企业微信群机器人是最简单、最快速的推送渠道配置方式,适合已经使用企业微信的团队。
GitHub Secret 配置
| Secret 名称 | 值 |
|---|---|
| WEWORK_WEBHOOK_URL | 企业微信群机器人的 Webhook 地址 |
手机端配置步骤
打开企业微信 App,进入需要接收推送的内部群聊
点击右上角「...」按钮
找到并点击「群机器人」(或「消息推送」)
点击「添加」按钮
设置机器人名称(例如「TrendRadar」),点击「添加」
复制显示的 Webhook 地址
将复制的地址添加到 GitHub Secrets 中,名称为 WEWORK_WEBHOOK_URL
电脑端配置步骤
打开企业微信电脑客户端,进入需要接收推送的内部群聊
点击群聊右上角的「...」图标
找到「群机器人」选项并点击
点击「添加」,设置机器人名称(例如「TrendRadar」)
创建完成后,复制 Webhook 地址
将复制的地址添加到 GitHub Secrets 中,名称为 WEWORK_WEBHOOK_URL
提示
企业微信群机器人是所有推送渠道中配置最简单的方式,通常 2 分钟内即可完成。推送消息支持 Markdown 格式。
多账号推送
TrendRadar 支持同一渠道配置多个账号,同时向多个接收方推送消息。
配置方式
在 Secret 的值中使用英文分号
; 分隔多个地址或令牌:# 企业微信多群推送
WEWORK_WEBHOOK_URL = https://qyapi.weixin.qq.com/xxx1;https://qyapi.weixin.qq.com/xxx2;https://qyapi.weixin.qq.com/xxx3
# 飞书多群推送
FEISHU_WEBHOOK_URL = https://open.feishu.cn/open-apis/bot/v2/hook/aaa;https://open.feishu.cn/open-apis/bot/v2/hook/bbbTelegram 多账号注意事项
Telegram 需要同时配置 Token 和 Chat ID 两个 Secret,多账号时两边的数量和顺序必须一一对应。 例如:
其中 token1 对应 chatid1,token2 对应 chatid2,以此类推。
TELEGRAM_BOT_TOKEN = token1;token2;token3TELEGRAM_CHAT_ID = chatid1;chatid2;chatid3其中 token1 对应 chatid1,token2 对应 chatid2,以此类推。
ntfy 多账号 Token 空位处理
如果某个 ntfy 账号不需要 Token(使用官方免费服务),在对应位置留空即可。 例如三个主题中第二个不需要 Token:
中间两个分号之间为空,表示第二个主题不使用认证。
多个主题共用同一个 ntfy 服务器地址(NTFY_SERVER_URL 只支持单一值,不支持分号分隔)。
NTFY_TOKEN = token1;;token3中间两个分号之间为空,表示第二个主题不使用认证。
多个主题共用同一个 ntfy 服务器地址(NTFY_SERVER_URL 只支持单一值,不支持分号分隔)。
通用 Webhook 多账号
通用 Webhook 同样支持多账号:用分号分隔多个 URL(GENERIC_WEBHOOK_URL),每个 URL 可对应独立的 payload 模板(GENERIC_WEBHOOK_TEMPLATE,用分号分隔;如果只有一个模板则所有 URL 共用)。
例如:
例如:
GENERIC_WEBHOOK_URL = https://hook1.example.com;https://hook2.example.comGENERIC_WEBHOOK_TEMPLATE = {"text":"{content}"};{"message":"{content}"}默认每个渠道最多支持 3 个账号。
通过 config.yaml 配置
上面介绍的 GitHub Secrets 方式适合 GitHub Actions 部署。如果你使用 Docker 或本地部署,可以直接在
config/config.yaml 的 notification.channels 部分填写渠道配置:notification:
enabled: true
channels:
feishu:
webhook_url: "https://open.feishu.cn/open-apis/bot/v2/hook/your-token"
telegram:
bot_token: "123456:ABC-DEF..."
chat_id: "987654321"
wework:
webhook_url: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx"
msg_type: "markdown" # markdown=群机器人, text=个人微信环境变量优先
如果同时设置了环境变量(如
FEISHU_WEBHOOK_URL)和 config.yaml 中的字段, 环境变量的值会覆盖 config.yaml。这使得你可以在 config.yaml 中写默认值, 通过环境变量在不同环境中灵活覆盖。测试推送
配置完成后,可以使用以下命令发送一条测试消息,验证所有渠道是否配通:
uv run python -m trendradar --test-notification该命令会向所有已配置的推送渠道发送一条测试消息。如果某个渠道未配置(字段为空),则会跳过该渠道。
排查推送失败
如果测试消息未收到,检查终端输出的日志。常见问题包括:Webhook URL 拼写错误、Telegram Bot Token 无效、邮件授权码过期等。日志中会显示具体的错误信息。