mcpField
P
pp-pushover

pp-pushover

github.com/mvanhorn生产力2.1k51 次安装今天更新
代码仓库

关于 pp-pushover

pp-pushover 是面向 Agent 和运维流程的 Pushover 命令行技能,可发送通知、追踪紧急回执并管理 Open Client 消息。它还提供配额检查和本地脱敏历史记录。

主要功能

  1. 01发送带优先级的通知
  2. 02监控或取消紧急回执
  3. 03查看发送配额
  4. 04搜索脱敏通知历史
  5. 05同步 Open Client 消息
  6. 06管理投递组和设备

适用场景

  1. 01发送运维或测试通知
  2. 02确认紧急通知是否已确认
  3. 03批量发送前检查配额
  4. 04同步并检索 Open Client 收件箱

MCP 相关

README 提供了安装并注册 pushover-pp-mcp 的说明。MCP 服务可供兼容客户端连接;具体暴露内容未在此处说明。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-pushover

安装后在 Claude Code 中输入/pp-pushover确认已加载。

详细介绍

Pushover — Printing Press CLI

前置条件:安装 CLI

此技能使用 pushover-pp-cli 二进制文件。在调用此技能中的任何命令前,必须确认 CLI 已安装。如果尚未安装,请先安装:

  1. 使用 Printing Press 安装程序安装。默认情况下,macOS/Linux 上的二进制文件安装到 $HOME/.local/bin,Windows 上则安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install pushover --cli-only
    
  2. 验证:pushover-pp-cli --version
  3. 确保报告的安装目录位于将调用此技能的 Agent/运行时的 $PATH 中。

如果 npx 安装失败(没有 Node、处于离线状态等),请改用直接通过 Go 安装的方式(需要 Go 1.26.6 或更高版本):

go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/pushover/cmd/pushover-pp-cli@latest

如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件目录。在验证成功之前,不要继续执行技能命令。

何时使用此 CLI

对于需要移动推送通知、紧急通知回执跟踪、配额感知发送、群组投递管理或检索 Open Client 消息的 Agent 或运维工作流,请使用 pushover-pp-cli。

独特功能

这些功能是此 API 的其他任何工具都不具备的。

面向 Agent 的基础能力
  • notify — 使用参数或标准输入发送通知,并支持通过环境变量/配置文件设置默认值、使用命名优先级以及验证紧急通知。

    让 Agent 无需泄露令牌值或记忆原始端点格式,即可发送测试通知或运维通知。

    pushover-pp-cli notify "Printing Press test" --priority low --json
    
回执操作
  • emergency watch — 发送紧急通知或监控其回执,轮询确认状态并支持取消。

    将紧急通知从发出后不再跟进的发送方式,转变为可审计的值班工作流。

    pushover-pp-cli emergency watch --receipt <receipt> --poll-interval 30s --cancel-on-timeout --json
    
运维安全
  • quota — 从应用限制端点查看每月发送上限、剩余发送次数和重置时间。

    Agent 可以在群发或重复发送测试通知前检查发送额度。

    pushover-pp-cli quota --json
    
持续积累的本地状态
  • history — 搜索并导出本 CLI 发送的通知及其回执结果的本地脱敏记录。

    显示此 CLI 发送了什么、何时发送以及使用了哪种优先级,而不存储原始用户密钥或令牌。

    pushover-pp-cli history list --since 24h --json
    
  • inbox sync — 将 Open Client 消息下载到本地 SQLite,然后可选择执行服务端删至操作。

    让拥有 Open Client 设备的 Agent 既能使用 Pushover 发送消息,也能检索收件箱。

    pushover-pp-cli inbox sync --device-id <device-id> --json
    

命令参考

notify — 从参数、--message 或标准输入发送适用于 Agent 的通知

  • pushover-pp-cli notify — 使用环境变量默认值、命名优先级、紧急通知验证和已脱敏的本地历史记录发送通知

emergency — 监视紧急优先级回执

  • pushover-pp-cli emergency watch — 以安全的轮询间隔持续检查紧急回执,直至进入终止状态

quota — 检查应用的发送配额

  • pushover-pp-cli quota — 显示月度限额、剩余发送次数和重置时间

history — 查看已脱敏的本地通知记录

  • pushover-pp-cli history — 列出本地记录的通知发送
  • pushover-pp-cli history show — 显示一条本地历史记录

inbox — 在本地同步 Open Client 消息

  • pushover-pp-cli inbox sync — 将下载的 Open Client 消息存入本地 SQLite
  • pushover-pp-cli inbox list — 列出本地同步的 Open Client 消息

apps — 查看应用级消息配额

  • pushover-pp-cli apps — 检查每月消息限额、剩余发送次数和重置时间

devices — 管理 Open Client 设备

  • pushover-pp-cli devices create — 注册新的 Open Client 桌面设备
  • pushover-pp-cli devices delete-through — 删除已下载且消息 ID 不高于指定最大值的 Open Client 消息

glances — 更新 Pushover Glances 小组件

  • pushover-pp-cli glances — 更新 Glances 小组件字段

groups — 创建、查看和管理 Pushover 投递组

  • pushover-pp-cli groups add-user — 向投递组添加用户
  • pushover-pp-cli groups create — 创建投递组
  • pushover-pp-cli groups disable-user — 暂时停用组用户
  • pushover-pp-cli groups enable-user — 重新启用已停用的组用户
  • pushover-pp-cli groups get — 获取投递组名称和用户
  • pushover-pp-cli groups list — 列出账户拥有的投递组
  • pushover-pp-cli groups remove-user — 从投递组中移除用户
  • pushover-pp-cli groups rename — 重命名投递组

licenses — 分配和查看 Pushover 许可证额度

  • pushover-pp-cli licenses assign — 为用户或电子邮件地址分配预付许可证额度
  • pushover-pp-cli licenses credits — 检查剩余许可证额度

messages — 发送应用通知并下载 Open Client 消息

  • pushover-pp-cli messages download — 下载 Open Client 设备的待处理消息
  • pushover-pp-cli messages send — 发送 Pushover 通知

receipts — 查看并取消紧急优先级消息回执

  • pushover-pp-cli receipts cancel — 取消一条紧急优先级回执的重试
  • pushover-pp-cli receipts cancel-by-tag — 取消与某个标签匹配的活跃紧急优先级重试
  • pushover-pp-cli receipts get — 获取紧急优先级回执状态

sounds — 查找通知声音

  • pushover-pp-cli sounds — 列出内置通知声音和账户自定义通知声音

subscriptions — 管理 Pushover 订阅迁移

  • pushover-pp-cli subscriptions — 将现有用户密钥迁移为订阅用户密钥

teams — 管理 Pushover for Teams 成员

  • pushover-pp-cli teams add-user — 向团队添加用户
  • pushover-pp-cli teams get — 显示团队信息和用户
  • pushover-pp-cli teams remove-user — 从团队中移除用户

users — 验证用户并登录 Open Client 会话

  • pushover-pp-cli users login — 登录用户以使用 Open Client,并返回用户密钥和会话密钥
  • pushover-pp-cli users validate — 验证用户密钥或组密钥,以及可选的设备
查找合适的命令

如果你知道想要做什么,但不确定该用哪个命令,可以直接询问 CLI:

pushover-pp-cli which "<capability in your own words>"

which 会根据自然语言能力查询,从此 CLI 精选的功能索引中匹配最合适的命令。退出代码 0 表示至少找到一个匹配项;退出代码 2 表示没有可靠匹配项——请改用 --help,或使用更具体的查询。

使用示例

发送低优先级测试
pushover-pp-cli notify "Printing Press test" --priority low --json

使用环境变量/配置凭据,并记录一条本地账本记录。

批量操作前检查配额
pushover-pp-cli quota --json --select remaining,reset

读取专用的应用限制端点。

验证目标
pushover-pp-cli users validate --user-key "$PUSHOVER_USER_KEY" --json

确认密钥有效,再在脚本中使用。

监控紧急回执
pushover-pp-cli emergency watch --receipt <receipt> --json

以安全的间隔轮询官方回执端点。

身份验证设置

为发送、配额、用户、群组、声音、回执、概览、订阅和许可工作流设置 PUSHOVER_APP_TOKEN 和 PUSHOVER_USER_KEY。旧版 PUSHOVER_TOKEN 和 PUSHOVER_USER 可作为本地兼容别名使用。若未指定标志,Open Client 工作流会使用 PUSHOVER_CLIENT_SECRET 和 PUSHOVER_DEVICE_ID。

运行 pushover-pp-cli doctor 验证设置。

Agent 模式

在任意命令中添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。

  • 可通过管道传递 — JSON 输出到 stdout,错误输出到 stderr

  • 可筛选 — --select 保留部分字段。点分路径可深入嵌套结构;数组会逐项遍历。对于输出冗长的 API,这对控制上下文大小至关重要:

    pushover-pp-cli groups list --app-token your-token-here --agent --select id,name,status
    
  • 可预览 — --dry-run 显示请求,但不会发送

  • 适合离线使用 — 可用时,同步/搜索命令可使用本地 SQLite 存储

  • 非交互式 — 绝不显示提示,每个输入都通过标志提供

  • 显式重试 — 仅当已存在的创建操作也应视为成功时,才使用 --idempotent

响应封套

从本地存储或 API 读取数据的命令会在输出中附带来源信息封套:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

解析 .results 获取数据,并查看 .meta.source 以确认数据来自实时 API 还是本地存储。只有当 stdout 连接到终端时,才会将便于阅读的 N results (live) 摘要打印到 stderr;通过管道接收的内容/Agent 消费者会在 stdout 中获得纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有不妥之处时,请记录下来:

pushover-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
pushover-pp-cli feedback --stdin < notes.txt
pushover-pp-cli feedback list --json --limit 10

条目会保存在本地 ~/.pushover-pp-cli/feedback.jsonl。除非设置了 PUSHOVER_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 PUSHOVER_FEEDBACK_AUTO_SEND=true,否则不会发送任何 POST 请求。默认行为仅保存在本地。

写下让你感到意外的地方,而不是提交错误报告。简短、具体、单行:这才是能够不断积累价值的内容。

输出传递

每个命令都接受 --deliver <sink>。除了输出到 stdout(或改为输出到指定接收端)之外,命令也会将输出发送到指定接收端,让 Agent 无需手动通过管道即可转发命令结果。支持三种接收端:

接收端效果
stdout默认;仅写入 stdout
file:<path>以原子方式将输出写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到该 URL(使用 application/json,或在启用 --compact 时使用 application/x-ndjson)

不支持的协议会被拒绝,并返回结构化错误,列出支持的协议。Webhook 请求失败会返回非零状态码,并在 stderr 中记录 URL 和 HTTP 状态码。

命名配置

配置是保存的一组标志值,可在多次调用中重复使用。如果计划任务中的 Agent 每次运行都使用相同配置调用同一命令,可使用配置——这就是 HeyGen 的“Beacon”模式。

pushover-pp-cli profile save briefing --json
pushover-pp-cli --profile briefing groups list --app-token your-token-here
pushover-pp-cli profile list --json
pushover-pp-cli profile show briefing
pushover-pp-cli profile delete briefing --yes

显式指定的标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,方便进行自省的 Agent 在运行时发现它们。

退出码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
5API 错误(上游问题)
7请求受限(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 pushover-pp-cli --help 输出
  2. 以 install 开头 → 以 mcp 结尾 → 安装 MCP;否则 → 参见上文的先决条件
  3. 其他任何内容 → 直接使用(作为带有 --agent 的 CLI 命令执行)

MCP 服务安装

从此 CLI 发布的公共库条目或预构建版本中安装 MCP 二进制文件,然后进行注册:

claude mcp add pushover-pp-mcp -- pushover-pp-mcp

验证:claude mcp list

直接使用

  1. 检查是否已安装:which pushover-pp-cli 如果未找到,则提供安装选项(请参阅本技能顶部的“先决条件”)。
  2. 根据上方的“独特功能”和“命令参考”,将用户查询匹配到最合适的命令。
  3. 使用 --agent 标志执行:
    pushover-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果有歧义,请查看子命令帮助:pushover-pp-cli <command> --help。

评论

支持 Markdown