用途
send-notification 用于向用户设备发送 Pushover 推送通知,可选附带图片附件。当用户希望发送或推送通知、警报或提醒时使用。
主要能力
- 通过 TypeScript 核心脚本 pushover_core.ts(Bun)发送 Pushover 通知。
- 支持可选图片附件、优先级、声音、链接及链接标题。
- 支持富文本格式:--html 与 --monospace(两者互斥,预检会拒绝同时使用)。
- 支持 --app main|test 切换生产/测试应用令牌,默认使用 test。
- 预检校验每次发送:拒绝 url>512、附件>5 MB、html+monospace(可用 --force 覆盖),并对消息/标题截断或账户中不存在的声音给出警告,将 Pushover 的静默失败转为显式输出。
- 每次发送审计到 ~/.local/state/pushover/po-audit.jsonl(以 UUID 为键),并从响应头读取剩余配额(低时警告)。
- 发送前验证用户与设备;对瞬时 5xx/网络错误进行重试(×3,退避)。
- 通过 bunx tsc --noEmit 进行类型检查。
使用方式
命令示例:
env -u HTTPS_PROXY -u HTTP_PROXY bun "$(cc-plugin-root pushover-commander)/skills/_lib/pushover_core.ts" send \
--message "your message" --title "Title" [--priority N] [--attach image.png] \
[--sound NAME] [--url https://link] [--url-title "link title"] [--html|--monospace] [--app main|test] [--force]
密钥通过 _lib/resolve_pushover_secret.sh 从环境配置的 1Password 条目解析(PUSHOVER_OP_VAULT / PUSHOVER_OP_ITEM,在私有配置中设置,参见 _lib/references/private-config-setup.md),并支持 macOS Keychain 回退,绝不硬编码令牌。
所有限制存放在 skills/_lib/pushover_api_limits.json(单一事实来源)。
适用场景
- 用户需要向设备发送推送通知、警报或提醒。
- 需要附带图片附件的通知。
- 需要审计发送记录与查看配额剩余量的场景。
限制与注意事项
- env -u PROXY 使 Bun 的 fetch 绕过沙箱 MITM 代理(否则返回 502)。
- 预检会拒绝 url>512、附件>5 MB、html+monospace(可用 --force 覆盖)。
- 消息/标题截断或声音不在账户中时仅给出警告。
- 该技能为自进化技能:若指令有误、参数漂移或需要变通方法,应立即修复文件;仅在问题真实且可复现时更新,不基于推测。
- 执行后需检查:通知(及图片)是否到达设备;若静默失败,先修复认证/载荷/代理原因再假定成功;图片附件是否渲染,若被丢弃,检查 _lib/pushover_api_limits.json 中的大小/格式限制。
暂未提供
关于收费、价格、平台支持范围等具体信息,资料中暂未提供。