Files
opc-backup/code/bark-notify/README.md
T

95 lines
3.8 KiB
Markdown
Raw Normal View History

2026-08-21 23:21:00 +08:00
# bark-notify
> 📍 工作区位置:`code/bark-notify/`(推送工具)。整体目录规范见根 `CLAUDE.md`。
2026-08-21 23:21:00 +08:00
向手机发送 **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` | 设备密钥 |