Commit Graph

52 Commits

Author SHA1 Message Date
fe7ff6719d rename: /v1/media-server/* -> /v1/edge-server/* 2026-07-21 10:06:48 +08:00
4443440f0f feat: face gallery reload as task; device page model/resource status; task completion time fix 2026-07-20 16:56:36 +08:00
96e689fec0 feat: 模型管理与人脸库产品化改进,通道部署配置状态指示
P2-14 模型管理简化:
- 上传新模型:模态框上传 → 存盘 → SHA256 入库 → 可选自动分发
- 设备兼容性矩阵:根据 Edge /v1/capabilities 区分缺失 vs 不适用
- 版本管理:从固定 auto 改为文件修改时间戳
- 更新全部智能过滤:只推送缺失/不一致的设备

P2-15 人脸库优化:
- Build 产出自动注册为标准资源,接入 Resource Task 分发系统
- 人脸库页面增加设备同步状态矩阵 + 批量同步按钮
- 人员搜索过滤
- 人脸质量评分反馈(构建诊断信息 + 通过率展示)

新增:通道部署页每台设备显示配置同步状态(对比 config_versions 与 Edge config SHA256)

文档:产品化改进计划、实施跟踪、模型与人脸库改进方案
2026-07-20 10:27:11 +08:00
ca5b687ee1 feat: config version history — auto-save on deploy, side-by-side JSON diff 2026-07-17 18:47:19 +08:00
232526de06 feat: CSV alarm export — supports filters, Excel-compatible with BOM 2026-07-17 18:16:10 +08:00
a58c99a2f3 feat: alarm trend bar chart on dashboard — past 7 days, pure Canvas 2026-07-17 17:55:36 +08:00
59a18f3e62 feat: dashboard redesign with real-time alarm stream via SSE 2026-07-17 16:43:13 +08:00
3f6f3ddbb5 feat: alarm center enhancement — workflow, severity, filters, SSE 2026-07-17 16:35:42 +08:00
ccde3aeea6 fix: update import path in alarm_collector.go (p0-dashboard merge) 2026-07-17 11:10:16 +08:00
d422ffd48e refactor: rebrand to SafeSight Control (merge p0-dashboard) 2026-07-17 11:08:47 +08:00
74ca578483 feat: alarm page date filter, pagination, auto-cleanup
- 告警页增加日期范围筛选(默认今天),50 条/页分页
- AlarmCollector.GetFiltered 支持 from/to/limit/offset
- alarm_retention_days 配置项(默认 30 天),超期自动清理
2026-05-12 16:58:56 +08:00
ea955eb265 revert: remove config_apply retry (500 is fatal)
500 是 agent 端 media-server reload 超时导致的致命错误,
不应在 managerd 端重试。根因在 agent 的 10s 超时过短。
2026-05-12 14:54:57 +08:00
f2b3941e4a fix: console stays after deploy, auto-refresh, config retry
- 下发后留在控制台,显示状态提示,6秒自动刷新
- 任务页 SSE 自动连接(无需手动点击)
- 总览页有执行中任务时自动刷新
- config_apply 增加 3 次重试(agent 500 时)
2026-05-12 14:51:59 +08:00
15f6f91fb6 feat: task timestamps, dirty state, confirmation dialog
- Task 模型增加 CreatedAt/CompletedAt,DB 读取和快照同步
- 总览页最近任务显示时间,限制5条,增加"更多 →"链接
- 任务中心增加创建时间/完成时间列
- 管控台"保存并下发"按钮:修改功能或视频源后才激活
- 下发前弹出变更摘要确认对话框
- 下发后回到管控台并显示任务ID
2026-05-12 14:26:10 +08:00
700d964524 feat: device capabilities from agent /v1/capabilities
Agent 新增 /v1/capabilities 接口,返回设备检测能力列表。
Managerd 控制台查询此接口,仅显示设备真实支持的功能。

- Agent: capabilities.go — 根据插件节点类型映射能力
- Managerd: pageConsole 查询 /v1/capabilities 过滤可选功能
- ConsoleFeature 增加 Description 字段,hover 显示说明
- 旧 agent 无此接口时回退为显示已持久化的功能
2026-05-12 13:52:53 +08:00
286dcaa945 feat: persist device features to DB as source of truth
- device_features 表:持久化设备检测功能选择
- pageConsole 从 DB 读取功能选择(非从模板反推)
- actionConsoleSave 先存 DB 再从 DB 读取运行流水线
- 模板选择改为最精确匹配(单功能只用该功能模板)
- 修复内存指标解析(补充 memory 字段)
2026-05-12 13:40:37 +08:00
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
62d73f36e2 refactor: 合并第三方服务类型,去重字段
1. token_service 合并到 alarm_service
   - 去掉重复的 username/password/tenant_code
   - alarm_service 保留 get_token_url、put_message_url、tenant_code 三个有效字段
   - token_service_main 槽位绑定类型改为接受 alarm_service

2. 第三方服务页支持按类型动态显示字段(JS控制)
   - 添加自定义(custom)类型,使用 JSON 文本域
   - custom 类型支持槽位解析(resolvedServiceBinding)

3. 后端代码清理
   - 移除 token_service 类型相关逻辑
   - integration_type_label 去掉认证服务
2026-05-09 12:31:09 +08:00
ce18c85eba feat: 标准调试参数 & 克隆不立即保存
1. 新增标准调试参数
   - templates/standard_overlays/ 目录下导入 std_face_debug、
     std_test_sensitive、std_production_quiet 三个标准调试参数
   - 启动时通过 ImportStandardOverlaysFromDir 自动导入 SQLite
   - 支持 std_ 前缀只读保护,不可直接编辑/删除

2. 复制后不立即保存
   - 调试参数克隆:重定向到新建页预填数据,点击保存才入库
   - 识别模板克隆:重定向到模板编辑页预填,点击创建/进入可视化编辑才入库
   - 可视化编辑也支持 clone_source 参数,编辑保存时创建新模板

3. 简化调试参数 JSON 结构
   - 去掉 instance_overrides 层级,改为顶层 override 键
   - 运行时渲染兼容新旧两种格式
   - UI 去掉目标/目标数量字段

4. 清理死代码
   - 移除从零新建空白调试参数/模板的代码路径
2026-05-09 11:39:02 +08:00
b7268212e3 chore: convert all tabs to spaces 2026-05-08 20:05:40 +08:00
8d30192f02 feat: bundle face gallery tools and models locally 2026-05-08 10:23:14 +08:00
c65da1299e feat: face gallery with photo upload and rebuild support 2026-05-08 09:50:56 +08:00
f5df6b6da0 fix: use unit name for HLS path, matching graph name 2026-05-07 15:19:11 +08:00
46eb031b8f fix: extract target info from nested detections 2026-05-07 12:34:47 +08:00
f8e6b6158b fix: alarm collector handles real media-server format 2026-05-07 12:26:01 +08:00
a7bd5e1309 feat: alarm collector service - poll devices for alarm records 2026-05-07 10:27:35 +08:00
87088a26f3 feat: load persisted devices from DB on startup; offline devices still shown 2026-05-06 14:42:18 +08:00
cacc0a7b83 feat: periodic UDP discovery polling keeps device list fresh 2026-05-06 14:37:07 +08:00
038b5b2cfe feat: concurrent device status fetch for resources page, matching models pattern 2026-05-06 14:05:05 +08:00
10f015cdd9 feat: scan subdirectories for resource_type in standard resources sync 2026-05-06 13:47:13 +08:00
1ff391f055 feat: add resource_sync_all and resource_sync_one task types 2026-05-06 12:34:50 +08:00
559fd2c85c feat: add /v1/resources/ long-op and content-type handling 2026-05-06 12:31:37 +08:00
749587f98f feat: add ResourceManagementService with sync and status board 2026-05-06 12:31:01 +08:00
28764a1a6d Refine model management status and optional slot rendering 2026-05-05 12:57:45 +08:00
7ae66b2569 Add model management workflow to admin backend 2026-05-05 11:14:57 +08:00
03e0c2f2cc Refactor admin IA around scene templates and assignments 2026-05-03 09:50:46 +08:00
328705ebc6 Refactor config management flow and admin IA 2026-04-29 18:59:57 +08:00
12e2aac6f6 Add third-party service config flow 2026-04-29 10:51:13 +08:00
5620aad10b Add third-party service storage support 2026-04-29 10:42:24 +08:00
d712e5628b Add visual template editor and refine template management 2026-04-28 18:45:28 +08:00
43d18d0c7b feat: add local sqlite storage foundation 2026-04-28 15:21:16 +08:00
42514918d2 Refine device config management UI 2026-04-23 12:34:01 +08:00
165949db26 Refine config assets UI and profile editor 2026-04-20 15:26:39 +08:00
d772882ba3 Refine backend UI and fix batch config selection 2026-04-20 10:13:16 +08:00
9f4a910594 Refine backend device operations UI 2026-04-19 21:10:46 +08:00
ad460465a5 Allow longer timeout for rollback 2026-04-19 15:13:48 +08:00
03ccac2230 Allow longer timeout for config apply 2026-04-19 14:02:07 +08:00
c9e3698008 Add config preview page 2026-04-19 11:14:29 +08:00
c8612dee96 增加手工添加设备;machine-id重复的解决方法 2026-03-02 17:51:44 +08:00
debfb95e35 增加上传配置文件功能 2026-01-16 15:58:35 +08:00