Bark Push Skill
🔔 智能 Bark 推送助手,为您提供便捷、灵活的消息推送服务。
功能特性
🎯 智能内容识别
自动识别您发送的内容类型,以最优方式推送:
- - 纯图片:直接推送图片 URL(使用
image 参数) - 纯链接:直接推送链接(使用
url 参数) - 纯文本:推送文本内容(使用
body 参数) - 混合内容:自动整理为 Markdown 格式
👥 多用户管理
- - 支持单用户推送: INLINECODE3
- 支持多用户推送: INLINECODE4
- 支持全员推送: INLINECODE5
- 使用别名简化操作,无需记忆复杂的 device_key
- 未指定用户时智能提示可用用户列表
📝 智能标题生成
- - 用户未输入标题时,自动根据内容生成 title 和 subtitle
- 用户指定标题时,优先使用用户提供的标题
📂 分组管理
- - 支持查询和使用 Bark 分组功能
- 可指定消息分组或使用默认分组
- 分组不存在时自动使用默认分组
🔄 历史记录与更新
- - 保存推送历史记录(推送 ID、用户、参数等)
- 支持查询历史并更新已推送的消息内容
- 支持删除已推送的消息
- 历史记录自动管理,超过限制自动删除最旧记录
⚙️ 灵活参数配置
通过 JSON 配置文件管理默认推送参数:
- - level:消息级别(passive/active/time-sensitive/critical)
- volume:警告通知音量(0-10)
- badge:应用角标数字
- sound:通知声音
- icon:自定义图标 URL
- call:是否呼叫
- autoCopy:是否自动复制
- copy:复制到剪贴板的内容
- isArchive:是否自动归档
- action:自定义动作
用户指定的参数优先于默认配置。
📊 智能结果反馈
根据操作结果返回清晰的信息:
- - 推送成功:显示推送 ID、成功用户列表、参数摘要、内容简要
- 推送失败:显示失败原因、失败用户列表、参数摘要、内容简要
- 指令错误:显示错误原因、解析的参数列表、内容简要
快速开始
配置文件
首次使用前,创建配置文件 config.json:
CODEBLOCK0
基本使用
CODEBLOCK1
命令行参数
基本参数
| 参数 | 说明 | 示例 |
|---|
| INLINECODE7 | 配置文件路径 | INLINECODE8 |
| INLINECODE9 |
指定推送用户(别名或 device_key) |
--user alice |
|
--title, -t | 消息标题 |
--title "重要通知" |
|
--subtitle | 消息副标题 |
--subtitle "10分钟后" |
|
--content, -c | 消息内容 |
--content "消息内容" |
|
--group | 指定分组 |
--group work |
|
--help-skill | 显示帮助信息 |
--help-skill |
推送参数
| 参数 | 说明 | 取值范围 |
|---|
| INLINECODE21 | 消息级别 | passive, active, time-sensitive, critical |
| INLINECODE22 |
音量 | 0-10 |
|
--badge | 角标数字 | 整数 |
|
--sound | 通知声音 | bell, chime, glass 等 |
|
--icon | 图标 URL | 完整的 HTTPS URL |
|
--call | 是否呼叫 | 1/0/true/false |
|
--autoCopy | 自动复制 | 1/0/true/false |
|
--copy | 复制内容 | 字符串 |
|
--isArchive | 自动归档 | 1/0/true/false |
|
--action | 自定义动作 | JSON 字符串 |
|
--ciphertext | 加密密文 | 字符串 |
操作参数
| 参数 | 说明 | 示例 |
|---|
| INLINECODE32 | 更新已推送的消息 | INLINECODE33 |
| INLINECODE34 |
删除已推送的消息 |
--delete abc123 |
|
--list-users | 列出所有用户 |
--list-users |
|
--list-groups | 列出所有分组 |
--list-groups |
|
--list-history | 列出历史记录 |
--list-history --history-limit 20 |
|
--history-limit | 历史列表条数 |
--history-limit 20 |
配置说明
用户别名配置
在 config.json 的 users 字段中配置用户别名:
CODEBLOCK2
默认参数配置
在 config.json 的 defaults 字段中配置默认推送参数:
CODEBLOCK3
分组配置
在 config.json 的 groups 字段中定义可用分组:
CODEBLOCK4
历史记录限制
在 config.json 的 history_limit 字段中设置历史记录保存数量:
CODEBLOCK5
加密密文配置
CODEBLOCK6
使用场景
场景 1:日常提醒
CODEBLOCK7
场景 2:系统监控告警
CODEBLOCK8
场景 3:团队协作通知
CODEBLOCK9
场景 4:图片分享
CODEBLOCK10
场景 5:消息更新
CODEBLOCK11
故障排查
配置文件找不到
如果提示配置文件不存在,请在当前目录或
~/.bark-push/ 目录下创建
config.json 文件。
推送失败
- 1. 检查网络连接是否正常
- 验证 device_key 是否正确
- 确认 Bark 服务地址是否可访问
- 查看错误日志获取详细信息
用户不存在
如果提示用户不存在,使用
--list-users 命令查看可用用户列表,并在
config.json 中添加用户配置。
历史记录不可用
确保
~/.bark-push/ 目录具有写入权限,历史记录文件会自动创建。
高级功能
加密推送
如果配置了
ciphertext,所有推送将使用加密方式发送:
CODEBLOCK12
自定义动作
支持 Bark 的自定义动作功能,可以在通知中添加交互按钮:
CODEBLOCK13
批量推送
使用脚本批量推送消息:
CODEBLOCK14
贡献指南
欢迎提交问题和改进建议!
许可证
MIT License
相关链接
Bark Push 技能
🔔 智能 Bark 推送助手,为您提供便捷、灵活的消息推送服务。
功能特性
🎯 智能内容识别
自动识别您发送的内容类型,以最优方式推送:
- - 纯图片:直接推送图片 URL(使用 image 参数)
- 纯链接:直接推送链接(使用 url 参数)
- 纯文本:推送文本内容(使用 body 参数)
- 混合内容:自动整理为 Markdown 格式
👥 多用户管理
- - 支持单用户推送:--user alice
- 支持多用户推送:--user alice,bob,charlie
- 支持全员推送:--user all
- 使用别名简化操作,无需记忆复杂的 device_key
- 未指定用户时智能提示可用用户列表
📝 智能标题生成
- - 用户未输入标题时,自动根据内容生成 title 和 subtitle
- 用户指定标题时,优先使用用户提供的标题
📂 分组管理
- - 支持查询和使用 Bark 分组功能
- 可指定消息分组或使用默认分组
- 分组不存在时自动使用默认分组
🔄 历史记录与更新
- - 保存推送历史记录(推送 ID、用户、参数等)
- 支持查询历史并更新已推送的消息内容
- 支持删除已推送的消息
- 历史记录自动管理,超过限制自动删除最旧记录
⚙️ 灵活参数配置
通过 JSON 配置文件管理默认推送参数:
- - level:消息级别(passive/active/time-sensitive/critical)
- volume:警告通知音量(0-10)
- badge:应用角标数字
- sound:通知声音
- icon:自定义图标 URL
- call:是否呼叫
- autoCopy:是否自动复制
- copy:复制到剪贴板的内容
- isArchive:是否自动归档
- action:自定义动作
用户指定的参数优先于默认配置。
📊 智能结果反馈
根据操作结果返回清晰的信息:
- - 推送成功:显示推送 ID、成功用户列表、参数摘要、内容简要
- 推送失败:显示失败原因、失败用户列表、参数摘要、内容简要
- 指令错误:显示错误原因、解析的参数列表、内容简要
快速开始
配置文件
首次使用前,创建配置文件 config.json:
json
{
defaultpushurl: https://api.day.app,
ciphertext: ,
users: {
alice: yourdevicekey_1,
bob: yourdevicekey_2
},
defaults: {
level: active,
volume: 10,
badge: 1,
sound: bell,
icon: ,
group: default,
call: false,
autoCopy: false,
copy: ,
isArchive: true,
action:
},
groups: [work, personal, urgent],
history_limit: 100,
enable_update: true
}
基本使用
bash
推送简单文本消息
bark-push --user alice --content Hello, World!
推送带标题的消息
bark-push --user alice --title 重要通知 --content 会议将在10分钟后开始
推送图片
bark-push --user bob --content https://example.com/photo.jpg
推送给多个用户
bark-push --user alice,bob --title 团队通知 --content 项目已上线
推送给所有用户
bark-push --user all --title 系统公告 --content 服务器维护通知
指定消息级别
bark-push --user alice --content 紧急事件 --level critical
指定分组
bark-push --user alice --content 工作提醒 --group work
更新已推送的消息
bark-push --update abc123 --user alice --content 会议时间改为15分钟后
删除已推送的消息
bark-push --delete abc123 --user alice
查看历史记录
bark-push --list-history --history-limit 20
查看用户列表
bark-push --list-users
查看帮助信息
bark-push --help-skill
命令行参数
基本参数
| 参数 | 说明 | 示例 |
|---|
| --config | 配置文件路径 | --config ./config.json |
| --user, -u |
指定推送用户(别名或 device_key) | --user alice |
| --title, -t | 消息标题 | --title 重要通知 |
| --subtitle | 消息副标题 | --subtitle 10分钟后 |
| --content, -c | 消息内容 | --content 消息内容 |
| --group | 指定分组 | --group work |
| --help-skill | 显示帮助信息 | --help-skill |
推送参数
| 参数 | 说明 | 取值范围 |
|---|
| --level | 消息级别 | passive, active, time-sensitive, critical |
| --volume |
音量 | 0-10 |
| --badge | 角标数字 | 整数 |
| --sound | 通知声音 | bell, chime, glass 等 |
| --icon | 图标 URL | 完整的 HTTPS URL |
| --call | 是否呼叫 | 1/0/true/false |
| --autoCopy | 自动复制 | 1/0/true/false |
| --copy | 复制内容 | 字符串 |
| --isArchive | 自动归档 | 1/0/true/false |
| --action | 自定义动作 | JSON 字符串 |
| --ciphertext | 加密密文 | 字符串 |
操作参数
| 参数 | 说明 | 示例 |
|---|
| --update | 更新已推送的消息 | --update abc123 |
| --delete |
删除已推送的消息 | --delete abc123 |
| --list-users | 列出所有用户 | --list-users |
| --list-groups | 列出所有分组 | --list-groups |
| --list-history | 列出历史记录 | --list-history --history-limit 20 |
| --history-limit | 历史列表条数 | --history-limit 20 |
配置说明
用户别名配置
在 config.json 的 users 字段中配置用户别名:
json
{
users: {
alice: devicekeyalice_123,
bob: devicekeybob_456,
charlie: devicekeycharlie_789
}
}
默认参数配置
在 config.json 的 defaults 字段中配置默认推送参数:
json
{
defaults: {
level: active,
volume: 10,
badge: 1,
sound: bell,
group: default
}
}
分组配置
在 config.json 的 groups 字段中定义可用分组:
json
{
groups: [work, personal, urgent, family]
}
历史记录限制
在 config.json 的 history_limit 字段中设置历史记录保存数量:
json
{
history_limit: 100
}
加密密文配置
json
{
ciphertext: your
encryptionkey
}
使用场景
场景 1:日常提醒
bash
bark-push --user alice --content 别忘了下午3点的会议
场景 2:系统监控告警
bash
bark-push --user all --title 服务器告警 --content CPU使用率超过90% --level critical --sound alarm
场景 3:团队协作通知
bash
bark-push --user alice,bob,charlie --title 项目进度 --content 前端开发已完成,请开始测试 --group work
场景 4:图片分享
bash
bark-push --user bob --content https://example.com/screenshot.png
场景 5:消息更新
bash
首次推送
bark-push --user alice --content 会议将在10分钟后开始
返回推送 ID:abc123
#