safesight/control/docs/auto-config-plan.md
tian 98e375dc36 chore: 合并 safesight-control 仓库为 control/ 子目录
项目合并为单仓库:设备端(根) + 管理端(control/)。
两端 git 历史完整保留(git subtree 合并)。

git-subtree-dir: control
git-subtree-mainline: 923ab10d5c
git-subtree-split: 70738edb31
2026-08-02 11:13:26 +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 预警