safesight-control/docs/auto-config-plan.md
tian 25cf456047 feat: console one-click auto-config pipeline
管控台一键自动配置:勾选检测功能 + 分配视频源 → 自动生成配置并下发

新增:
- FeatureRegistry: 功能→模板映射与选择算法
- template_composer: 多模板 DAG 浅合并
- AutoConfigService: 完整流水线
- console.html: 视频源分配交互

修改:
- actionConsoleSave: stub → 完整自动配置编排
- pageConsole: 修复功能勾选回显 + 内存指标解析
- main.go: 注入 AutoConfigService
- .gitignore: /managerd 只匹配根目录二进制
2026-05-12 13:26:49 +08:00

2.1 KiB
Raw Blame History

管控台一键自动配置 实施计划

创建日期2026-05-12 目标:管控台勾选功能 + 分配视频源 → 自动生成配置并下发,零用户输入

实施步骤

# 内容 状态
1 FeatureRegistry + 模板选择算法 + 测试
2 template_composer.go DAG 合并 + 测试
3 auto_config.go 完整流水线 + 测试
4 改造 actionConsoleSavewire AutoConfigServicemain.go
5 增强 console.html 表单交互
6 集成测试(测试设备 10.0.0.81 端到端)

集成测试结果

检查项 结果
模板选择 std_workshop_face_recognition_shoe_alarm
自动场景模板 auto_d12a4719c...
识别单元 cam1, cam2 (名称=视频源名)
RTSP 地址 rtsp://10.0.0.49:8554/cam
HLS 路径 ./web/hls/cam1/index.m3u8
配置下发 设备 config 已更新
Media Server 运行中,正在处理摄像头画面
HLS 生成 index.m3u8 已有 TS 片段
HLS 代理 /ui/hls/.../index.m3u8 正常返回

新增文件

  • internal/service/auto_config.go — FeatureRegistry + AutoConfigService 流水线
  • internal/service/auto_config_test.go — 模板选择算法测试
  • internal/service/template_composer.go — 多模板 DAG 浅合并
  • internal/service/template_composer_test.go — 合并逻辑测试
  • docs/auto-config-plan.md — 本文档

修改文件

  • internal/web/ui.go — UI struct 增加 autoConfig 字段 + actionConsoleSave 重写
  • internal/web/ui/templates/console.html — 表单字段 + 视频源分配交互
  • cmd/managerd/main.go — 创建并注入 AutoConfigService

核心原则

  • 全自动派生识别单元名称、通道号、HLS/RTSP 路径全部自动生成 = 视频源名
  • 模板组合:多功能 → 先查已有组合模板 → 没有则浅合并原子模板
  • 中文名自动转安全名deriveSafeInstanceName 将中文视频源名转为合法 ASCII 标识
  • 暂不做 NPU 预警