R44VC0RP/hark
GitHub: R44VC0RP/hark
Hark 是一个将 Webhook 转换为带品牌标识的 iOS 推送通知的平台,帮助开发者通过 iPhone 实时跟踪 CI 任务、脚本和 AI Agent 的运行状态。
Stars: 129 | Forks: 10
# Hark
https://github.com/user-attachments/assets/74fd0670-2106-4af5-93c8-d31f99b33908
Hark 将 webhook 转换为简洁、带有来源品牌标识的 iPhone 通知。连接 CI jobs、agents、
scripts、监控工具或任何其他可以发送 HTTP 请求的内容。
[官网](https://hark.ryan.ceo) | [文档](https://hark.ryan.ceo/docs)
## 快速开始
需要 [Node.js 22 或更高版本](https://nodejs.org/)。
1. 为你的 agent 安装 Hark skill:
npx skills add R44VC0RP/hark --skill hark --global
2. 安装 CLI:
npm install -g harkctl
3. 使用你的 Hark 账户进行身份验证:
harkctl auth login
4. 询问你的 agent:
Hark 能做什么?
你的 agent 现在可以通知你的 iPhone、请求批准或文本回复、通过
Live Activities 显示任务进度,以及为外部系统创建 webhook 服务。
## Hark 的功能
- 通过简单的 webhook 发送丰富的 iOS 通知。
- 为每个服务提供各自的名称、头像、目标 URL 和 secret endpoint。
- 在 web dashboard 中跟踪投递尝试和已注册的设备。
- 支持针对 agent 工作流的批准和文本回复。
- 通过锁屏和灵动岛上的 Live Activities 显示有状态的任务进度。
- 通过 Hark Pro 支持多设备和定向投递。
## Webhook 设置
1. 在 [hark.ryan.ceo](https://hark.ryan.ceo) 登录。
2. 使用 Hark app 注册你的 iPhone。
3. 创建一个服务并复制其 secret webhook URL。
4. 向其发送一个 JSON 请求。
## 发送通知
```
curl -X POST 'https://hark.ryan.ceo/hooks/whk_your_token' \
-H 'Content-Type: application/json' \
-d '{
"title": "GitHub",
"body": "Production deployed successfully.",
"url": "https://github.com/acme/app/actions"
}'
```
仅 `body` 是必填项。
| 字段 | 描述 |
| --- | --- |
| `body` | 通知文本。 |
| `title` | 可选的发送者名称覆盖。 |
| `imageUrl` | 可选的公共 HTTPS 头像 URL。 |
| `url` | 可选的点击时打开的目标 URL。 |
| `deviceIds` | 可选的 Pro 路由到特定设备。 |
成功的请求将返回一个 event ID 和已接受投递的 push 请求数量:
```
{
"ok": true,
"eventId": "evt_...",
"delivered": 1
}
```
在重试请求时使用 `Idempotency-Key` header 以防止重复通知。
## Live Activities
使用相同的 service webhook token 启动有状态的 Live Activity:
```
curl -X POST 'https://hark.ryan.ceo/hooks/whk_your_token/live-activities' \
-H 'Content-Type: application/json' \
-d '{
"title": "Deploy #184",
"status": "Building",
"progress": 0.25,
"symbol": "build",
"accentColor": "#FF9F0A"
}'
```
响应包含一个 `activityId`。使用它来更新或结束活动:
```
PATCH /hooks/:token/live-activities/:activityId
POST /hooks/:token/live-activities/:activityId/end
```
更新接受部分状态,例如 `status`、`detail`、`progress`、`symbol` 和 `accentColor`。
Hark 允许每台设备拥有一个活动的任务 Live Activity;在启动时传入 `replace: true` 可静默结束
占用该设备的任何任务并接管位置。交互式批准活动可以与该任务共存。
启动活动时可能会提醒用户,但默认情况下进度更新是静默的。
高优先级更新控制的是投递速度,而不是声音或触感反馈。
要贡献一个全新的 Live Activity 布局,包括无 simulator 测试以及所有公开的
API、widget、CLI 和文档接触点,请参阅
[贡献 Live Activity 模板](./CONTRIBUTING_LIVE_ACTIVITY_TEMPLATES.md)。
## Agent 工作流
[`harkctl`](./packages/harkctl) CLI 可以发送一次性通知、请求批准或简短
回复,并从 scripts 或 AI agents 管理 Live Activities。
```
harkctl auth login
harkctl notify "Deploy finished ✅" --title "Deploy bot"
harkctl notify ask "Deploy production?" --approval --wait
harkctl notify ask "Send the email?" --approval --live-activity \
--primary-label Send --secondary-label Deny --wait
harkctl activity start --title "Release" --status "Building" --progress 0.1
```
可安装的 [`hark` agent skill](./skills/hark/SKILL.md) 遵循 [skills.sh](https://skills.sh/r44vc0rp/hark/hark)
使用的开放 Agent Skills 格式,并支持 OpenCode、Claude Code、Codex、
Cursor 和其他兼容的 agents。
## 许可证
Hark 是源码可见的,基于
[PolyForm Noncommercial License 1.0.0](./LICENSE)。未经许可方
单独许可,不允许商业使用。
标签:iOS应用, MITM代理, Python脚本, SOC Prime, Webhook, 力导向图, 开发工具, 推送服务, 文档结构分析, 消息通知, 自动化攻击