pushplus

Send push notifications via pushplus HTTP API to WeChat, email, webhook, SMS and more. Use when the user asks to send notifications, push messages, WeChat me...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 43 · 0 current installs · 0 all-time installs
by陈大人@pcstx
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match what the skill asks for: it sends messages via PushPlus and declares the single primary credential PUSHPLUS_TOKEN. No unrelated credentials, binaries, or install steps are requested.
Instruction Scope
SKILL.md gives concrete curl examples and a clear flow (fetch token from conversation/env/.env line, construct JSON, run curl). It explicitly instructs to only extract the PUSHPLUS_TOKEN line from .env and to always ask for user confirmation before sending. This is appropriately scoped, but because the skill is instruction-only there is no enforcement — the agent executing the instructions must actually follow the guidance (especially the '.env only the PUSHPLUS_TOKEN line' constraint and 'always confirm' rule).
Install Mechanism
No install spec or code is included (instruction-only). No downloads or archives. Low installation risk.
Credentials
Only the single PUSHPLUS_TOKEN credential is declared as primary and required. That is proportional to a notification-sending skill. The SKILL.md also warns not to log or store the token and provides guidance for safe handling.
Persistence & Privilege
always is false and the skill does not request system-level persistence or modify other skills. It does not ask to store credentials or write files (SKILL.md explicitly forbids storing the token).
Assessment
This skill appears coherent and low-risk: it only needs a PushPlus API token and uses curl to call the official PushPlus endpoints. Before installing or using it, consider: (1) Provide the token via environment variable rather than pasting it into chat to avoid leaking it in conversation history. (2) Confirm the agent follows the SKILL.md safety rules — especially that it asks you for confirmation before sending any message and does not store or print the full token. Because the skill is instruction-only, there is no code enforcing those rules; they depend on the agent implementation. (3) Avoid including sensitive secrets or PII in messages sent through a third-party service; if you must, review PushPlus’s privacy/security policy. (4) If the token is ever exposed, revoke/regenerate it immediately. If you want stronger guarantees, prefer a skill with audited code or one that performs token handling within vetted code rather than free-form agent instructions.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.1
Download zip
latestvk97b7d91d85kjjtk9qzjzh3hv983hkt6

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

Primary envPUSHPLUS_TOKEN

SKILL.md

pushplus Notification

通过 pushplus HTTP API 直接向微信、邮箱、webhook、短信等渠道推送消息。无需安装任何依赖,只需 Shell 工具 + curl 即可使用。

前置条件

用户需要提供 PUSHPLUS_TOKEN(32 位字符串),在 pushplus.plus 注册后获取。

获取 token 的方式(按优先级):

  1. 用户在对话中直接提供
  2. 环境变量 PUSHPLUS_TOKEN
  3. 从项目根目录 .env 文件中仅提取 PUSHPLUS_TOKEN 的值(使用 grep ^PUSHPLUS_TOKEN= .env 或等效方式,禁止读取 .env 文件的其他内容,以避免泄露无关凭证)

如果找不到 token,必须询问用户,不要猜测。

API 端点

功能方法URL
单条发送POSThttps://www.pushplus.plus/send
多渠道批量发送POSThttps://www.pushplus.plus/batchSend

Content-Type: application/json

发送消息

使用 Shell 工具执行 curl 命令:

curl -s -X POST "https://www.pushplus.plus/send" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN","title":"标题","content":"内容","template":"html","channel":"wechat"}'

请求参数(/send)

参数必填默认值说明
token用户令牌,32 位字符串
title消息标题,最大 100 字符
content消息内容,根据 template 渲染
templatehtml模板类型
channelwechat推送渠道
topic群组编码,不填仅发送给自己
to好友令牌,多人用逗号隔开
webhook第三方 webhook 地址(channel 为 webhook 时)
callbackUrl消息回调地址
timestamp毫秒时间戳,用于防重复

请求参数(/batchSend)

参数必填默认值说明
token用户令牌
content消息内容
channelwechat多个渠道用逗号隔开,如 wechat,mail
title消息标题
option渠道配置参数,多个用逗号隔开对应 channel
topic群组编码
templatehtml模板类型
callbackUrl回调地址
timestamp毫秒时间戳
to好友令牌

模板类型

说明
htmlHTML 富文本(默认)
txt纯文本
markdownMarkdown 格式
jsonJSON 可视化展示
cloudMonitor阿里云监控
jenkinsJenkins 构建通知
route路由模板
pay支付模板

推送渠道

说明
wechat微信公众号(默认)
webhook第三方 webhook
cp企业微信
mail邮箱
sms短信
voice语音
extension扩展渠道
appAPP 推送

响应格式

{"code": 200, "msg": "请求成功", "data": "消息流水号"}
  • code200 表示成功
  • data 为消息流水号
  • 非 200 时根据 msg 排查(常见:token 无效、余额不足)

使用流程

  1. 获取用户的 PUSHPLUS_TOKEN
  2. 根据场景选择模板和渠道
  3. 构造 JSON 请求体(注意转义特殊字符)
  4. 通过 Shell 工具执行 curl 命令
  5. 检查响应 code 是否为 200,向用户反馈结果

模板选择策略

场景模板说明
简单文本通知txt最简洁
带格式的报告/日志markdown支持标题、列表、代码块
富文本/邮件通知html支持样式和排版
结构化数据json自动渲染为可视化表格

示例

发送 Markdown 通知

curl -s -X POST "https://www.pushplus.plus/send" \
  -H "Content-Type: application/json" \
  -d '{"token":"YOUR_TOKEN","title":"任务完成","content":"## 任务已完成\n\n- **任务**: 代码重构\n- **状态**: 成功\n- **耗时**: 5分钟","template":"markdown","channel":"wechat"}'

发送 HTML 告警

curl -s -X POST "https://www.pushplus.plus/send" \
  -H "Content-Type: application/json" \
  -d '{"token":"YOUR_TOKEN","title":"构建失败","content":"<h2 style=\"color:red\">构建失败</h2><p>项目 my-app 构建失败,请检查日志。</p>","template":"html","channel":"wechat"}'

多渠道批量发送

curl -s -X POST "https://www.pushplus.plus/batchSend" \
  -H "Content-Type: application/json" \
  -d '{"token":"YOUR_TOKEN","title":"紧急通知","content":"服务器 CPU 超过 90%","channel":"wechat,mail","template":"txt"}'

注意事项

  • content 中的双引号需要转义为 \"
  • content 中的换行使用 \n
  • Windows 环境下 curl 的单引号需改为双引号,内部双引号用 \" 转义
  • 如果 curl 不可用,可用 Python、Node.js 等发送 HTTP POST 请求作为替代
  • token 是敏感信息,不要在输出中明文展示完整 token

安全要求

  • 发送前确认:每次发送消息前必须向用户展示即将发送的标题和内容摘要,并获得用户明确确认后再执行 curl 命令。禁止在用户不知情的情况下自主发送消息。
  • 凭证保护:不要在任何输出、日志或代码注释中明文展示完整 token。展示时应使用脱敏格式(如 a1b2****ef90)。
  • 最小读取原则:从 .env 文件获取 token 时,仅提取 PUSHPLUS_TOKEN 行,禁止读取或输出文件中的其他变量。
  • 敏感内容警示:如果用户要求发送的消息内容包含密码、密钥、个人身份信息等敏感数据,应警告用户消息将通过第三方服务(pushplus.plus)传输,并建议用户确认是否继续。
  • 不要存储 token:不要将 token 写入任何文件、配置或代码中。仅在内存中用于构造请求。

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…