Commit Graph

15 Commits

Author SHA1 Message Date
dd86da5bcd 功能:告警级别体系统一为 0紧急/1重要/2普通/3轻微
更新 API 接口、Schema 验证、报告生成、企微通知的级别映射,
与前端和边缘端保持一致。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:39:16 +08:00
ab338a509c 功能:VLM提示词和告警级别支持车辆违停/拥堵算法
- vlm_service.py: 新增illegal_parking和vehicle_congestion VLM复核提示词模板
- alarm_event_service.py: 新增违停告警级别逻辑(按停留时长分级)和拥堵告警级别
- wechat_service.py: ALARM_TYPE_NAMES新增车辆违停/拥堵中文映射

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 16:54:48 +08:00
c2c272c298 fix: response_code持久化到数据库 + 工单客户端加tenant-id
1. wechat_service: save/get_response_code 改为内存+数据库双写,
   容器重启后边缘resolve仍能更新企微卡片
2. work_order_client: 请求头加 tenant-id,签名公式加 query_str 参数
3. config: WorkOrderConfig 新增 tenant_id 字段

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 13:37:34 +08:00
2a9bf7d575 fix: 卡片终态改用button.replace_name,不重绘整张卡片
- 终态更新改用 button.replace_name 方式,仅替换按钮文案为不可点击状态
- 原卡片告警信息保持不变,不再重绘整张卡片
- step2 处理中状态 desc_color 改为蓝色(1)表示进行中
- 边缘自动结单:用发送时保存的response_code直接更新卡片(72h有效)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:23:51 +08:00
6cbf89a38b feat: 两步卡片状态机 + 安保工单对接 + 先到先得结单
- 新增 work_order_client.py:SHA256签名的工单API客户端(创建/自动结单)
- 企微卡片改为两步交互:确认接单→[已处理完成/标记误报]→终态
- 告警通知后自动创建工单,orderId存入alarm_event_ext
- 边缘端resolve支持先到先得:终态不可被覆盖
- 边缘端resolve后异步触发工单自动结单+卡片终态更新
- 新增WorkOrderConfig配置项

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 16:34:54 +08:00
d2085f73be fix: 群聊@人员改用markdown消息,解决他人看到原始userid问题
appchat text消息的<@userid>语法对非本人显示为原始文本,
改用markdown消息类型发送@提醒

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:37:52 +08:00
149e9da59b fix: news图文消息url字段必填,添加默认值
企微appchat/send的news消息类型要求url必填,否则报errcode 41010

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 22:16:24 +08:00
dd1419303c feat: 企微通知改为原生组合消息,移除H5页面
- 群聊:image截图 + news图文卡片 + @人员text 组合推送
- 个人:button_interaction模板卡片(前往处理/误报忽略)
- 新增媒体上传能力(upload_media),支持从COS URL下载后上传企微
- 新增群聊配置 WECHAT_GROUP_CHAT_ID
- 删除 alarm_detail.html H5页面及相关接口
- 清理 wechat_callback.py 移除旧的H5回调和群聊测试接口

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 17:43:58 +08:00
9c5c18fb65 fix: 更新卡片时补充 main_title 字段,修复 errcode 41016
企微更新模板卡片接口要求包含 main_title,否则报 missing title 错误。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 14:50:55 +08:00
c36488c6e6 feat: 企微卡片升级为原生按钮交互型模板卡片
1. wechat_service.py:
   - send_alarm_card 从 textcard 升级为 button_interaction 模板卡片
   - 卡片直接在对话框展示告警信息 + 操作按钮(前往处理/误报忽略)
   - 新增 update_alarm_card 方法:点击按钮后更新卡片状态(按钮变灰)
   - 保留群聊消息能力(create_group_chat/send_group_text)

2. wechat_callback.py:
   - 回调支持 template_card_event 按钮点击事件
   - 按钮点击自动更新告警状态(handle→HANDLING, ignore→IGNORED)
   - 通过 response_code 更新卡片按钮为已处理状态
   - H5 详情页 snapshot_url 增加 COS key→预签名URL 转换
   - 新增群聊创建和群聊发卡片的测试接口

3. vlm_service.py:
   - VLM 降级策略统一放行(所有类型 confirmed=True)
   - 避免 VLM 不可用时离岗告警无法推送

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 14:36:58 +08:00
24c94ccfbe refactor: 移除企微Webhook机器人代码,修复VLM日志
- 删除 wechat_service.send_webhook_alarm 方法
- 删除 config.py 中 webhook_url 配置
- 简化 notify_dispatch 通知逻辑(仅保留应用消息)
- 修复 vlm_service 使用项目统一 logger
- 添加 VLM 调用 URL 调试日志

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 15:35:32 +08:00
840bb0e720 feat: 添加企微群机器人Webhook推送(无需IP白名单)
- wechat_service 新增 send_webhook_alarm 方法(markdown格式)
- notify_dispatch 优先使用Webhook,失败降级到应用消息
- config 新增 WECHAT_WEBHOOK_URL 配置项

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 12:31:55 +08:00
7cc4f604d0 feat: 交互Agent + VLM优化 + 企微演示模式
- 新增交互Agent调度器(意图识别 + 工单/查询/报表/闲聊4个Handler)
- 新增工单服务、Excel报表生成器、企微消息加解密模块
- VLM提示词优化(角色设定、≤25字描述、布尔值优先输出)
- VLM降级策略(入侵默认放行、离岗默认拦截)
- 企微演示模式(WECHAT_TEST_UIDS兜底 + SERVICE_BASE_URL修复)
- 新增Agent回调路由和测试接口

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 10:42:32 +08:00
5b00fd0464 feat: 添加告警详情H5页面,企微卡片点击可查看详情并操作
- 新增 H5 告警详情页面(截图+信息+3个操作按钮)
- 企微卡片"查看详情"跳转到 H5 页面
- 操作按钮改为:前往处理/已处理/误报忽略
- 新增 alarm_detail API 供 H5 页面获取告警+VLM分析数据
- 挂载 /static 目录提供 H5 页面访问
2026-03-06 13:43:55 +08:00
35386b8e6e feat: V1 VLM复核 + 企微通知 + 手动结单
- 新增3张通知路由表模型(notify_area, camera_area_binding, area_person_binding)
- 新增VLM复核服务,通过qwen3-vl-flash对告警截图二次确认
- 新增企微通知服务,告警确认后推送文本卡片给责任人
- 新增通知调度服务,编排VLM复核→查表路由→企微推送流水线
- 新增企微回调接口,支持手动结单/确认处理/标记误报
- 新增通知管理API,区域/摄像头绑定/人员绑定CRUD
- 告警上报主流程(edge_compat + yudao_aiot_alarm)接入异步通知
- 扩展配置项支持VLM和企微环境变量
- 添加openai==1.68.0依赖(通过DashScope兼容端点调用)
2026-03-06 13:35:40 +08:00