feat: add webhook case management
This commit is contained in:
27
README_zh.md
27
README_zh.md
@@ -97,6 +97,7 @@ http://127.0.0.1:23000
|
||||
- 标定数字食品区域和垃圾桶 ROI
|
||||
- 直接保存标定结果到项目配置文件
|
||||
- 查看事件汇总、区域序号、停留时间、报警和警告事件
|
||||
- 查看本地处置单状态,并手工标记为已处理
|
||||
|
||||
项目仍保留 `tools/calibrator` 作为轻量单页标定工具,但正式使用建议走 `23000` 管理页。
|
||||
|
||||
@@ -117,6 +118,12 @@ http://127.0.0.1:19080
|
||||
- `PUT /api/manage/calibration`
|
||||
- `GET /api/manage/summary`
|
||||
- `GET /api/manage/events`
|
||||
- `GET /api/manage/cases`
|
||||
- `GET /api/manage/cases/summary`
|
||||
- `POST /api/manage/cases/{case_id}/handle`
|
||||
- `POST /api/manage/webhooks/case-update`
|
||||
|
||||
`/api/manage/webhooks/case-update` 需要请求头 `X-Webhook-Token`,并且请求体里的 `status` 目前固定为 `handled`。
|
||||
|
||||
## 运行识别计时进程
|
||||
|
||||
@@ -133,7 +140,9 @@ scripts/run_runtime.sh
|
||||
3. 按标定区域做占用变化检测。
|
||||
4. 判断垃圾桶区域是否有明显投放动作。
|
||||
5. 调用批次计时状态机。
|
||||
6. 写入 `logs/events.jsonl`,管理页会读取这个文件。
|
||||
6. 将 `time_alarm`、`batch_pending_disposal`、`warning_escalated` 映射到本地处置单状态。
|
||||
7. 写入 `logs/events.jsonl`、`logs/cases.jsonl`、`logs/runtime_diagnostics.jsonl`。
|
||||
8. 按配置向外部系统推送事件 webhook 和处置单 webhook。
|
||||
|
||||
当前视觉版本是可运行的启发式版本:
|
||||
|
||||
@@ -168,8 +177,24 @@ trash_sustained_motion_delta = 8.0
|
||||
trash_sustained_motion_frames = 2
|
||||
trash_motion_cooldown_seconds = 3
|
||||
diagnostics_path = "logs/runtime_diagnostics.jsonl"
|
||||
|
||||
[case_sink]
|
||||
path = "logs/cases.jsonl"
|
||||
|
||||
[webhooks]
|
||||
enabled = true
|
||||
event_url = "https://example.com/runtime-events"
|
||||
case_url = "https://example.com/case-events"
|
||||
callback_token = "shared-secret"
|
||||
connect_timeout_seconds = 3
|
||||
read_timeout_seconds = 5
|
||||
```
|
||||
|
||||
运行时会额外记录:
|
||||
|
||||
- `logs/cases.jsonl`:本地处置单状态变更
|
||||
- `logs/webhook_delivery.jsonl`:Webhook 投递结果审计
|
||||
|
||||
## 本地测试
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user