# 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` | 设备密钥 |