管控台一键自动配置:勾选检测功能 + 分配视频源 → 自动生成配置并下发 新增: - FeatureRegistry: 功能→模板映射与选择算法 - template_composer: 多模板 DAG 浅合并 - AutoConfigService: 完整流水线 - console.html: 视频源分配交互 修改: - actionConsoleSave: stub → 完整自动配置编排 - pageConsole: 修复功能勾选回显 + 内存指标解析 - main.go: 注入 AutoConfigService - .gitignore: /managerd 只匹配根目录二进制
51 lines
2.1 KiB
Markdown
51 lines
2.1 KiB
Markdown
# 管控台一键自动配置 实施计划
|
||
|
||
> 创建日期:2026-05-12
|
||
> 目标:管控台勾选功能 + 分配视频源 → 自动生成配置并下发,零用户输入
|
||
|
||
## 实施步骤
|
||
|
||
| # | 内容 | 状态 |
|
||
|---|------|------|
|
||
| 1 | `FeatureRegistry` + 模板选择算法 + 测试 | ✅ |
|
||
| 2 | `template_composer.go` DAG 合并 + 测试 | ✅ |
|
||
| 3 | `auto_config.go` 完整流水线 + 测试 | ✅ |
|
||
| 4 | 改造 `actionConsoleSave`,wire `AutoConfigService` 到 `main.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 预警**
|