Skip to content

feat(plugin): qq-image-notify 通知渲染成 macOS 风格卡片图片推送 QQ - #24

Merged
mikus-loli merged 1 commit into
mikus-loli:mainfrom
miku-hermes:feat/qq-image-notify
Aug 7, 2026
Merged

mikus-loli merged 1 commit into
mikus-loli:mainfrom
miku-hermes:feat/qq-image-notify

Conversation

@miku-hermes

Copy link
Copy Markdown
Contributor

新增 qq-image-notify 插件:Miotify 收到通知后渲染成精致卡片图片,
通过 QQ 官方 Bot API 以富媒体消息(msg_type=7)发送。

链路:通知 → HTML/CSS 模板 → Chromium 无头截图 PNG → 上传 QQ 官方
(file_type=1 图片)→ 富媒体消息发送

功能:

  • macOS 磨砂玻璃风格卡片(深色渐变 + 主题色光晕 + 毛玻璃内容区)
  • 按应用名自动匹配主题色(崩铁/原神/服务器/邮件/emby/默认)
  • 优先级色条(消息=蓝 / 提醒=黄 / 警告=橙 / 严重=红)
  • 内容超长自动截断(默认 10 行 + 提示)
  • 复用 qq-direct-notify 基础设施:token 缓存、msg_seq、被动消息免额度
  • 渲染失败自动降级为文本消息
  • 失败重试(指数退避)、临时文件自动清理

依赖:playwright-core(复用系统 Chromium,无需下载浏览器)

踩坑记录:

  • Linux Chromium 字体栈不能放 -apple-system/SF Pro Text(破坏字体回退, 数字/ASCII 字符渲染成空白),改用 Noto Sans CJK SC
  • Chromium 路径可用 QQ_CARD_CHROMIUM 环境变量覆盖

新增 qq-image-notify 插件:Miotify 收到通知后渲染成精致卡片图片,
通过 QQ 官方 Bot API 以富媒体消息(msg_type=7)发送。

链路:通知 → HTML/CSS 模板 → Chromium 无头截图 PNG → 上传 QQ 官方
     (file_type=1 图片)→ 富媒体消息发送

功能:
- macOS 磨砂玻璃风格卡片(深色渐变 + 主题色光晕 + 毛玻璃内容区)
- 按应用名自动匹配主题色(崩铁/原神/服务器/邮件/emby/默认)
- 优先级色条(消息=蓝 / 提醒=黄 / 警告=橙 / 严重=红)
- 内容超长自动截断(默认 10 行 + 提示)
- 复用 qq-direct-notify 基础设施:token 缓存、msg_seq、被动消息免额度
- 渲染失败自动降级为文本消息
- 失败重试(指数退避)、临时文件自动清理

依赖:playwright-core(复用系统 Chromium,无需下载浏览器)

踩坑记录:
- Linux Chromium 字体栈不能放 -apple-system/SF Pro Text(破坏字体回退,
  数字/ASCII 字符渲染成空白),改用 Noto Sans CJK SC
- Chromium 路径可用 QQ_CARD_CHROMIUM 环境变量覆盖
@mikus-loli
mikus-loli merged commit 6ffb24d into mikus-loli:main Aug 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants