Files
opc-backup/bark-notify/README.md
T
2026-08-21 23:21:00 +08:00

93 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# bark-notify
向手机发送 **Bark 通知** 的 Python 模块,覆盖全部通知类型与参数。uv 管理环境,**零第三方依赖**(仅标准库)。
- 服务器:标准 Bark 服务(`Server: Bark`),默认 `http://47.108.226.213:10086`,可用 `BARK_BASE_URL` 覆盖。
- 设备密钥:默认 `pvd3kWwHNFjKXNjiC2sMe7`,可用 `BARK_DEVICE_KEY` 覆盖。
## 安装
```bash
cd bark-notify
uv sync # 创建 .venv 并以可编辑方式安装本项目
uv run bark-notify --help # 验证 CLI 可用
```
## 命令行用法
```bash
# 基础通知
uv run bark-notify "标题" "正文"
# 各级别(default / active / timeSensitive / critical / passive
uv run bark-notify "紧急" "服务器告警" --level critical --sound alarm.caf --volume 10
uv run bark-notify "勿扰也提醒" "会议还有 5 分钟" --level timeSensitive
uv run bark-notify "只进通知中心" "静默内容" --level passive
# 特殊功能
uv run bark-notify "Markdown" "### 标题\n- 项1\n- 项2" # 正文原生支持 Markdown
uv run bark-notify "分组" "第1条" --group 演示
uv run bark-notify "跳转" "点击打开百度" --url https://www.baidu.com
uv run bark-notify "复制" "长按复制此文本" --copy "OPC 云超服"
uv run bark-notify "带图" "附带图片" --image https://picsum.photos/seed/x/400/300
uv run bark-notify "角标" "数字角标" --badge 5 --ttl 60
```
## Python API
```python
from bark_notify import BarkClient, Level, Notification, Sound
client = BarkClient() # 也可 BarkClient(base_url=..., device_key=...)
client.push(Notification(
title="部署完成",
body="**v2.4.0** 已上线 ✅",
level=Level.ACTIVE,
group="部署",
url="https://example.com/status",
))
# GET 快捷方式(适合快速测试,参数走查询串)
client.notify("测试", "正文", level="critical", group="x")
```
## 参数一览
| 参数 | CLI | 说明 |
|------|-----|------|
| `title` / `body` | 位置参数 | 标题 / 正文(正文支持 Markdown |
| `level` | `--level` | `default` `active` `timeSensitive` `critical` `passive` |
| `sound` | `--sound` | 内置铃声名或远程铃声 URL |
| `badge` | `--badge` | 应用角标数字 |
| `group` | `--group` | 同组通知折叠 |
| `icon` | `--icon` | 通知图标 URL |
| `image` | `--image` | 附带图片 URL |
| `copy` | `--copy` | 长按复制的文本 |
| `url` | `--url` | 点击跳转 URL |
| `is_archive` | `--archive` | 存入历史记录 |
| `call` | `--call` | 连续响铃(呼叫声) |
| `ttl` | `--ttl` | 过期秒数,超时自动删除 |
| `volume` | `--volume` | critical 通知音量 0-10 |
## 级别差异速查
| 级别 | 横幅 | 声音 | 勿扰可送达 | 说明 |
|------|:----:|:----:|:---------:|------|
| `default` | ✅ | ✅ | ❌ | 跟随系统 |
| `active` | ✅ | ✅ | ❌ | 标准活跃通知 |
| `timeSensitive` | ✅ | ✅ | ✅ | 时效性 |
| `critical` | ✅ | ✅ | ✅ | 绕过静音强制响铃,需授权 |
| `passive` | ❌ | ❌ | — | 仅通知中心 |
## 内置铃声
`alarm.caf` `alarms.caf` `anticipate.caf` `bell.caf` `bloom.caf` `calypso.caf` `chime.caf` `choir.caf` `complete.caf` `completion.caf` `electronic.caf` `emergency.caf` `fanfare.caf` `glass.caf` `goblin.caf` `healthnotification.caf` `horn.caf` `ladders.caf` `mario.caf` `minuet.caf` `multiwayinvitation.caf` `newmail.caf` `newsflash.caf` `noir.caf` `payment.caf` `shake.caf` `sherwoodfanfare.caf` `silence.caf` `spell.caf` `suspense.caf` `telegraph.caf` `tiptoes.caf` `typewriters.caf` `update.caf`
## 环境变量
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `BARK_BASE_URL` | `http://47.108.226.213:10086` | 服务器地址 |
| `BARK_DEVICE_KEY` | `pvd3kWwHNFjKXNjiC2sMe7` | 设备密钥 |