Mealie + Server酱:菜谱管理器通知推送到微信

效果:Mealie 的购物清单、餐单提醒等通知通过 Server酱 推送到微信,全家共用一个通知出口。

前置条件

  • 一个 Server酱 SendKey(30 秒获取教程)。注意:Mealie 通过 Apprise 的 schan:// 协议接入,仅支持 SCT 开头的 SendKey;sctp 开头的 SendKey 不适用此方式。
  • 已部署运行的 Mealie 实例(mealie-recipes/mealie,内置 Apprise 通知库,无需额外安装插件)。
  • 如需推送到企业微信/钉钉/飞书群,参见通道说明

配置步骤

1. 命令行验证 SendKey 可用(推荐)

在配置 Mealie 之前,先用命令行确认 SendKey 与 schan:// 协议工作正常:

pip install apprise && apprise -t "测试" -b "正文" "schan://你的SENDKEY"

收到微信推送说明 SendKey 有效,继续下一步。

2. 在 Mealie 中添加通知器

进入 Mealie 的用户设置 → Notifiers,新建一个通知器,在通知器配置中填入:

schan://你的SENDKEY

保存后,Mealie 会在购物清单变更、餐单提醒等事件触发时,通过该通知器发送消息。界面菜单文案随版本可能变化,以应用内实际显示为准。

3. 测试通知

在 Mealie 中触发一个通知事件(例如修改购物清单),确认微信端收到消息,确认微信端收到消息即可。

完整示例

以下命令可直接复制运行,模拟 Mealie 购物清单通知的推送效果:

pip install apprise
apprise -t "【购物清单】今日新增 3 项食材" -b "胡萝卜、洋葱、番茄酱,请记得采购" "schan://你的SENDKEY"

在 Mealie Notifiers 中填入同样的 schan://你的SENDKEY,保存即可。通用 Apprise 接法详见站内 Apprise 接入 Server酱 页。

常见问题

sctp 开头的 SendKey 能用吗?

不能。Mealie 使用的 schan:// 协议仅支持 SCT 开头的 SendKey。如果持有 sctp 开头的 SendKey,需改用直接调用 API 的方式(参见 Python 脚本推送)。

消息没收到怎么办?

先运行命令行验证步骤,确认 SendKey 正确且 schan:// 协议可用。如仍有问题,参见常见问题与排查

发送额度是多少?

免费用户每日 5 条,每分钟上限 50 条。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。

通知频率太高怎么办?

Mealie 的通知频率取决于事件触发频率。如遇每分钟上限,可在 Mealie 侧调整通知触发条件,减少不必要的推送。

相关集成

懒人方案:把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手,它就会替你完成 Server酱 的接入:

请帮我把 Server酱 微信通知接入到我当前的项目/工具中:
1. API:POST https://sctapi.ftqq.com/{SendKey}.send,参数 title(必填,不能含换行)、desp(正文,支持 Markdown,可选);成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头,则改用 https://{uid}.push.ft07.com/send/{SendKey}.send,uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取;如果没有,提醒我到 https://sct.ftqq.com 免费获取(每天 5 条额度)。
4. 安全要求:不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定:任务结束发 1 条结果摘要即可,批量任务合并成一条,不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。