← 返回
未分类 Key

pushplus

PushPlus(推送加)消息推送服务,支持微信、邮件、短信、企业微信、钉钉、飞书等多种渠道。使用场景:(1) 系统监控告警通知 (2) 定时任务执行结果通知 (3) 业务异常告警 (4) 日常消息提醒。当用户需要发送推送消息、配置消息通知、查询推送结果时使用此 Skill。
PushPlus(推送加)支持微信、邮件、短信、企业微信、钉钉、飞书等多渠道消息推送。适用于系统监控告警、定时任务结果、业务异常告警及日常提醒等场景。用于发送推送、配置通知及查询推送结果。
lei-mu lei-mu 来源
未分类 clawhub v1.1.0 2 版本 100000 Key: 需要
★ 1
Stars
📥 604
下载
💾 1
安装
2
版本
#latest

概述

PushPlus 消息推送服务

功能概述

PushPlus(推送加)是一个集成了微信、短信、邮件、企业微信、钉钉、飞书等多种渠道的实时消息推送平台。

本 Skill 的能力设计是平台无关的,可用于支持 Skill 安装能力的各类 agent/runtime。当前仓库示例以 Python 脚本为主实现,不绑定单一 agent 平台。

核心功能

  • 多渠道推送:支持微信公众号、邮件、短信、企业微信、钉钉、飞书、语音、App、插件等
  • 多消息类型:支持文本、HTML、Markdown、JSON 等格式
  • 一对多推送:支持群组消息,一次推送给多人
  • 多渠道同时发送:支持一次请求同时发送到多个渠道
  • 好友消息:支持向指定好友发送消息
  • 模板消息:内置多种消息模板,如阿里云监控、Jenkins、支付通知等

使用时机

当用户需要以下功能时,使用此 Skill:

  1. 发送推送消息到微信、邮件、钉钉、飞书等渠道
  2. 配置消息通知用于系统监控、定时任务通知
  3. 查询推送结果或管理消息历史
  4. 管理群组或消息 Token

Agent 调用规则

默认入口

  • 普通消息通知:优先使用 scripts/pushplus.py 中的 send_message()
  • 多渠道同时通知:明确要求多渠道时再使用 send_batch_message()
  • OpenAPI 管理能力:仅当用户明确要求查询管理信息或执行管理操作时使用 scripts/pushplus_openapi.py

默认行为

  • 默认渠道:wechat
  • 默认模板:html
  • 未显式指定多渠道时,不调用 batchSend
  • 未明确要求收费渠道时,不自动使用 smsvoice

环境变量缺失时的处理

  • 缺少 PUSHPLUS_TOKEN:不能执行基础消息发送
  • 缺少 PUSHPLUS_USER_TOKENPUSHPLUS_SECRET_KEY:不能执行 OpenAPI 相关能力
  • 若凭据不足,应直接提示缺少的环境变量,不自动降级到高风险或收费能力

副作用与确认规则

  • 发送消息、查询结果、查询用户信息:可直接执行
  • 新增 Token、新增群组、修改 Token:执行前应确认用户明确有管理意图
  • 删除消息、删除 Token、删除群组、退出群组:属于高风险操作,执行前应获得用户明确确认

环境变量配置

环境变量名说明必须
-----------------------
PUSHPLUS_TOKEN用户 Token/消息 Token使用推送消息,必须配置
PUSHPLUS_USER_TOKEN用户 Token(用于 OpenAPI,不支持使用消息token)使用OpenAPI相关功能,必须配置
PUSHPLUS_SECRET_KEY用户 SecretKey(用于 OpenAPI)使用OpenAPI相关功能,必须配置

Token 获取地址:https://www.pushplus.plus/uc-dev.html

如果使用OpenAPI相关功能,需要配置安全IP地址开放接口设置

凭据使用边界

场景需要的凭据
-----------------
仅发送普通消息PUSHPLUS_TOKEN
发送群组消息/多渠道消息PUSHPLUS_TOKEN
调用 OpenAPI 查询或管理能力PUSHPLUS_USER_TOKEN + PUSHPLUS_SECRET_KEY

说明:

  • PUSHPLUS_TOKEN 用于基础推送能力,可为用户 Token 或消息 Token
  • PUSHPLUS_USER_TOKEN 仅用于 OpenAPI AccessKey 获取,不支持使用消息 Token 替代
  • 使用 OpenAPI 时,必须同时提供 PUSHPLUS_USER_TOKENPUSHPLUS_SECRET_KEY

快速开始

1. 发送消息

使用脚本发送简单消息:

python3 scripts/pushplus.py -t YOUR_TOKEN -c "消息内容" --title "消息标题"

或使用环境变量:

export PUSHPLUS_TOKEN="your_token"
python3 scripts/pushplus.py -c "消息内容"

2. 使用 Python 函数

from scripts.pushplus import send_message, send_wechat_message, send_email_message

# 发送微信消息
result = send_wechat_message(
    token="YOUR_TOKEN",
    title="系统告警",
    content="CPU 使用率超过 90%"
)

# 发送邮件
result = send_email_message(
    token="YOUR_TOKEN",
    title="日报",
    content="今日数据统计..."
)

脚本使用说明

能力分层

默认安全能力

  • 发送普通消息、多渠道消息
  • 查询消息发送结果、消息列表、消息详情
  • 查询用户信息、请求次数、解封时间等只读信息
  • 查询群组列表、群组详情、群组用户列表、群组二维码
  • 查询消息 Token 列表、下拉选择列表
  • 查询渠道配置(webhook/公众号/企业微信/邮箱列表及详情)
  • 查询默认配置列表及详情
  • 查询好友列表、个人二维码
  • 查询预处理信息列表及详情
  • ClawBot 二维码获取、扫码状态查询、绑定详情、消息获取

谨慎能力

  • 新增/修改消息 Token
  • 新增/修改群组、上下架积分群组、修改订阅人备注
  • 新增/修改 webhook 渠道
  • 新增/修改默认配置
  • 新增/修改预处理信息
  • 修改接收消息限制、开启/关闭发送、修改打开消息方式、修改插件转发
  • 修改好友备注
  • 测试预处理代码

高风险能力

  • 删除消息、删除消息 Token
  • 删除群组、退出群组、删除群组内用户
  • 删除默认配置
  • 删除好友
  • 删除预处理信息
  • 解绑 ClawBot

对高风险能力,建议仅在用户明确要求时调用。

命令行参数

python3 scripts/pushplus.py [选项]

必填参数:
  -t, --token     PushPlus Token(也可通过环境变量 PUSHPLUS_TOKEN 设置)
  -c, --content   消息内容

可选参数:
  --title         消息标题
  --topic         群组编码(一对多消息)
  --template      消息模板 (html/txt/json/markdown/cloudMonitor/jenkins/route/pay)
  --channel       推送渠道 (wechat/webhook/cp/mail/sms/extension/voice/app/clawbot)
  --channels      多渠道发送,逗号分隔,如 "wechat,webhook,extension"
  --webhook       Webhook 编码(已废弃,请使用 --option)
  --option        渠道配置参数(原 webhook 参数,多个渠道用逗号分隔)
  --options       多渠道配置参数,逗号分隔
  --callback-url  回调地址
  --timestamp     时间戳(毫秒)
  --to            好友令牌,支持多人(逗号分隔)
  --pre           预处理编码
  -v, --verbose   显示详细信息

使用示例

1. 发送简单微信消息

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "这是一条测试消息"

2. 发送带标题的消息

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "服务器 CPU 使用率达到 95%" \
    --title "系统告警"

3. 发送 Markdown 格式消息

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "# 今日日报
## 数据统计
- 新增用户: 100
- 活跃用户数: 1000" \
    --template markdown \
    --title "日报"

4. 发送邮件

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "这是一封测试邮件" \
    --title "邮件标题" \
    --channel mail

5. 发送一对多消息(群组消息)

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "这是一条群组消息" \
    --title "群组通知" \
    --topic "GROUP_CODE"

6. 发送钉钉消息

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "这是一条钉钉消息" \
    --title "钉钉通知" \
    --channel webhook \
    --option "DINGTALK_WEBHOOK_CODE"

7. 多渠道同时发送

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "这是一条多渠道消息" \
    --title "多渠道通知" \
    --channels "wechat,webhook,extension" \
    --options ",webhook_code,"

8. 发送语音消息

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "这是一条语音消息" \
    --title "语音通知" \
    --channel voice

9. 发送 App 消息

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "这是一条 App 推送消息" \
    --title "App通知" \
    --channel app

10. 调试模式

python3 scripts/pushplus.py \
    -t "YOUR_TOKEN" \
    -c "测试消息" \
    -v

Python API 函数说明

核心函数

send_message()

通用消息发送函数,支持所有参数。

def send_message(
    token: str,
    content: str,
    title: Optional[str] = None,
    topic: Optional[str] = None,
    template: str = "html",
    channel: str = "wechat",
    webhook: Optional[str] = None,  # 已废弃,请使用 option
    option: Optional[str] = None,
    callback_url: Optional[str] = None,
    timestamp: Optional[int] = None,
    to: Optional[str] = None,
    pre: Optional[str] = None,
    verbose: bool = False
) -> Dict[str, Any]

send_batch_message()

多渠道同时发送消息。

def send_batch_message(
    token: str,
    content: str,
    channels: List[str],
    title: Optional[str] = None,
    topic: Optional[str] = None,
    template: str = "html",
    options: Optional[List[str]] = None,
    callback_url: Optional[str] = None,
    timestamp: Optional[int] = None,
    to: Optional[str] = None,
    pre: Optional[str] = None,
    verbose: bool = False
) -> Dict[str, Any]

便捷函数

微信消息

send_wechat_message(
    token: str,
    content: str,
    title: str = "通知",
    topic: str = None
) -> Dict[str, Any]

邮件消息

send_email_message(
    token: str,
    content: str,
    title: str,
    topic: str = None
) -> Dict[str, Any]

Markdown 消息

send_markdown_message(
    token: str,
    content: str,
    title: str = "通知",
    topic: str = None
) -> Dict[str, Any]

JSON 消息

send_json_message(
    token: str,
    data: dict,
    title: str = "JSON通知",
    topic: str = None
) -> Dict[str, Any]

钉钉/飞书/企业微信消息

send_dingtalk_message(
    token: str,
    content: str,
    title: str = "通知",
    webhook: str = None
) -> Dict[str, Any]

send_feishu_message(
    token: str,
    content: str,
    title: str = "通知",
    webhook: str = None
) -> Dict[str, Any]

send_work_wechat_message(
    token: str,
    content: str,
    title: str = "通知",
    webhook: str = None
) -> Dict[str, Any]

短信消息

send_sms_message(
    token: str,
    content: str,
    title: str = "短信通知"
) -> Dict[str, Any]

语音消息

send_voice_message(
    token: str,
    content: str,
    title: str = "语音通知"
) -> Dict[str, Any]

App 消息

send_app_message(
    token: str,
    content: str,
    title: str = "通知"
) -> Dict[str, Any]

插件消息

send_extension_message(
    token: str,
    content: str,
    title: str = "通知"
) -> Dict[str, Any]

模板消息

send_template_message(
    token: str,
    content: str,
    title: str,
    template: str,
    **kwargs
) -> Dict[str, Any]

参数说明

参数校验规则

  • channels 不能为空列表
  • 使用 --channels 时,--options 的数量应与渠道数量一致;若某个渠道无需配置参数,应保留空位
  • OpenAPI 分页参数 page_size 最大为 50
  • 删除类接口属于高风险操作,调用前应先确认用户意图
  • 未显式指定收费渠道时,不应默认切换到 smsvoice

模板类型

模板名称描述
---------------
html默认模板,支持 HTML 文本
txt纯文本展示,不转义 HTML
json内容基于 JSON 格式展示
markdown内容基于 Markdown 格式展示
cloudMonitor阿里云监控报警定制模板
jenkinsJenkins 插件定制模板
route路由器插件定制模板
pay支付成功通知模板

推送渠道

渠道是否免费描述
--------------------
wechat免费微信公众号
webhook免费第三方 webhook 渠道(企业微信、钉钉、飞书等)
cp免费企业微信应用
mail免费邮件
sms收费短信(10 积分/条,0.1 元)
voice收费语音(30 积分/条,0.3 元)
extension免费浏览器插件、桌面应用程序
app免费App 渠道(支持安卓、鸿蒙、iOS)
clawbot免费微信 ClawBot

返回码

返回码说明
-------------
200执行成功
302未登录
401请求未授权
403请求 IP 未授权
500系统异常
600数据异常
888积分不足
900用户账号使用受限(请求次数过多)
903无效的用户令牌
905账户未进行实名认证
999服务端验证错误

使用限制

请求频率限制

限制类型实名用户会员用户
---------------------------
微信渠道日请求次数200 次2,000 次
请求频率1 分钟 5 次10 秒 5 次
相同内容1 小时 3 条1 小时 3 条

内容长度限制

限制类型实名用户会员用户
---------------------------
标题长度100 字200 字
内容长度2 万字10 万字

OpenAPI 扩展功能

本 Skill 还提供了 pushplus_openapi.py 脚本,支持通过 AccessKey 调用 PushPlus OpenAPI,包括:

功能模块

  1. AccessKey 管理
    • get_access_key() - 获取 AccessKey(有效期2小时)
  1. 消息接口
    • list_messages() - 消息列表
    • get_message_result() - 查询发送结果
    • delete_message() - 删除消息
    • get_message_detail() - 消息详情(HTML)
  1. 用户接口
    • get_user_token() - 获取用户 Token
    • get_user_info() - 个人资料详情
    • get_limit_time() - 解封剩余时间
    • get_send_count() - 当日请求次数
  1. 消息 Token 接口
    • list_tokens() - 消息 Token 列表
    • select_token_list() - Token 下拉选择列表
    • add_token() - 新增消息 Token
    • edit_token() - 修改消息 Token
    • delete_token() - 删除消息 Token
  1. 群组接口
    • list_topics() - 群组列表
    • get_topic_detail() - 我创建的群组详情
    • get_join_topic_detail() - 我加入的群组详情
    • add_topic() - 新增群组
    • edit_topic() - 修改群组
    • get_topic_qrcode() - 群组二维码
    • exit_topic() - 退出群组
    • delete_topic() - 删除群组
    • set_topic_is_open() - 上下架积分群组
  1. 群组用户接口
    • list_topic_subscribers() - 群组内用户列表
    • delete_topic_user() - 删除群组内用户
    • edit_topic_user_remark() - 修改订阅人备注
  1. 渠道配置接口
    • list_webhooks() / get_webhook_detail() / add_webhook() / edit_webhook() - Webhook CRUD
    • list_mp_channels() - 微信公众号渠道列表
    • list_cp_channels() - 企业微信应用渠道列表
    • list_mail_channels() / get_mail_channel_detail() - 邮箱渠道列表/详情
  1. 微信 ClawBot 接口
    • get_clawbot_qrcode() / get_clawbot_qrcode_status() - 二维码获取/扫码查询
    • get_clawbot_bind_info() / unbind_clawbot() - 绑定详情/解绑
    • get_clawbot_messages() - 获取发送消息
  1. 功能设置接口
    • list_default_settings() / get_default_setting_detail() - 默认配置列表/详情
    • add_default_setting() / edit_default_setting() / delete_default_setting() - 默认配置 CRUD
    • set_receive_limit() - 接收消息限制
    • set_send_enabled() - 发送消息开关
    • set_open_message_type() - 消息打开方式
    • set_extension_forward() - 插件渠道转发
  1. 好友功能接口
    • get_personal_qrcode() - 个人二维码
    • list_friends() - 好友列表
    • delete_friend() - 删除好友
    • edit_friend_remark() - 修改好友备注
  1. 预处理信息接口
    • list_pre_info() / get_pre_info_detail() - 预处理列表/详情
    • add_pre_info() / edit_pre_info() / delete_pre_info() - 预处理 CRUD
    • test_pre_code() - 测试预处理代码

OpenAPI 使用示例

from scripts.pushplus_openapi import (
    get_access_key,
    list_messages,
    get_user_info,
    list_tokens
)

# 1. 获取 AccessKey(有效期2小时)
result = get_access_key(
    user_token="your_user_token",
    secret_key="your_secret_key"
)
access_key = result["data"]["accessKey"]

# 2. 使用 AccessKey 调用其他接口
messages = list_messages(access_key, current=1, page_size=20)
user_info = get_user_info(access_key)
tokens = list_tokens(access_key)

更多资源

版本历史

共 2 个版本

  • v1.1.0 当前
    2026-05-07 03:47 安全 安全
  • v1.0.2
    2026-05-03 05:20 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

it-ops-security

1password

steipete
设置和使用 1Password CLI (op)。适用于:安装 CLI、启用桌面应用集成、登录(单/多账户)、通过 op 读取/注入/运行密钥。
★ 53 📥 31,718
it-ops-security

MoltGuard - Security & Antivirus & Guardrails

thomaslwang
MoltGuard — OpenClaw 安全守卫,由 OpenGuardrails 提供。安装后可防止您和您的用户受到提示注入、数据泄露及恶意行为的侵害。
★ 116 📥 31,018
it-ops-security

OpenClaw Backup

alex3alex
备份与恢复 OpenClaw 数据。适用于创建备份、设置自动备份计划、从备份恢复或管理备份轮转。处理 ~/.openclaw 目录归档并包含适当的排除规则。
★ 90 📥 31,069