Files
yovision/docs/03-business-rules-and-glossary.md
T

7.3 KiB

generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Business-Rules-and-Glossary wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Business-Rules-and-Glossary.- wiki_revision: 013865e0b48d156bb984515d6fabd42139829459 synchronized_at: 2026-08-14T07:02:39Z

业务规则与术语

核心术语

术语 定义
Sense 独立销售的视频接入、媒体、区域配置和运维产品
Brain 无界面的推理交付单元,输出观测和标准事件
Bell 独立销售的事件预警与处置产品
Device 设备根实体;通过 modality/capabilities 表达视频、雷达、门磁等能力
Site 一个客户部署中的站点边界
Area 多边形区域、警戒线及其隐私/准入策略
Event 已发生的不可变结构化事实及证据引用
Alert Bell 根据一个或多个 Event 和规则创建的处置对象
ack 明确由某人接手 Alert,不等同于消息已送达或已看到
Outbox 与本地状态同事务持久化、可重试投递的消息队列记录
producer identity Bell 为每个外部产品实例分配的机器身份
场景包 规则模板、升级策略、话术和报表口径的版本化配置包

工单状态

  • 待确认:需求或方案等待负责人确认。
  • 待实施:方案已确认,但依赖或排期尚未满足。
  • 进行中:主 agent 正在工单声明的写路径内实施。
  • 阻塞:出现计划外且当前无法解除的问题。
  • 待验收:实现、测试和文档证据完成,等待负责人验收。
  • 已完成:负责人明确验收并完成归档、关闭。

旧仓库任务的 DONE 不继承到新仓库。所有迁移项初始均为“待迁移”,必须用新代码、新测试和新验收重新证明。

稳定业务规则

  1. Sense 与 Bell 完全独立认证;同一自然人在两个产品中是两个账户。
  2. 任一产品可独立部署、升级、备份、恢复和验收,另一产品不作为启动依赖。
  3. Brain 不拥有用户、Alert、通知或业务审计真相。
  4. 产品集成使用机器身份和版本化契约,不共享数据库、用户会话或内部模型。
  5. Bell 以 (producer_id, source_event_id) 保持跨重启幂等。
  6. Event 不可变;误报只追加 outcome/反馈,不改写原始事实。
  7. sent、delivered、seen、ack 是不同事实;无回执不能当成功。
  8. 未 ack 自动升级且进程重启后续跑;并发 ack 只有首个成功者成为处置人。
  9. 联系人、排班和升级策略共享主数据但分对象、分版本;投递创建时固化实际收件人、通道和解析版本。
  10. 静默必须限时并自动恢复,单次不超过 4 小时。
  11. 默认 16 路,按 32/64/128 横向扩展;128 路不等于单机或单 GPU 承诺。
  12. 首期 S2 民办寄宿学校只做匿名规则,不启用人脸。
  13. 家庭卧室、卫生间禁止摄像头,只能使用非成像传感器。
  14. 摄像头凭据、客户数据、真实视频、JWT secret 和生产配置不得进入仓库、工单或 Wiki。
  15. 业务预警与设备/媒体/推理运维告警使用不同通道和责任人。

新项目需要补充什么

以下事实必须由后续工单和负责人确认后补充:

  • GoAdmin/go-admin-ui 的固定上游 commit、许可证记录和裁剪模块;
  • Go、Node、Python、CUDA、PostgreSQL、MediaMTX 的精确版本;
  • Bell 数据库 schema、Sense/Bell 部署域名和备份命令;Sense 浏览器 Cookie 与后端会话名称已由工单 #64 固定;
  • Brain 模型、推理 FPS、硬件容量和商用许可;
  • 试点最终留存期、通知供应商和验收阈值;
  • 三个交付单元的正式版本与发布流程。

未确认项不得从旧代码或模板默认值推断为当前事实。

Sense 身份与权限规则

  • Sense 仅使用自己的用户库、JWT 密钥和会话;浏览器 Cookie 为 Sense-Admin-Token,后端可接受的独立会话 Cookie 为 sense_session,不得与 Bell 共享。
  • 当前身份管理固定四个角色:admin(系统管理员)、implementation_operator(实施/运维)、site_admin(站点管理员)、viewer(只读用户)。业务设备权限由后续设备工单在这些角色上扩展,不复制新的身份事实源。
  • 仓库和迁移不创建默认账户或默认密码。首位管理员只能通过仓库外的 SENSE_BOOTSTRAP_TOKEN 一次性创建;令牌至少 32 个字符,初始化完成后必须从进程环境移除,已有任一用户时接口拒绝再次初始化。
  • Sense 密码至少 6 个字符、最多 72 字节,不要求大小写、数字或符号组合,允许全小写;交付时仍应使用难猜且不复用的密码。
  • 登录成功/失败、登出、密码变更和鉴权拒绝必须留下身份审计;密码、令牌、Cookie、验证码、数据库连接和摄像头凭据不得进入审计正文。
  • site_admin 可在账户维护流程中读取角色、部门、岗位和字典等必要支撑数据,但不能修改角色、菜单或系统配置;implementation_operator 与 viewer 不具备账户管理权限。未注册的配置和接口管理路由对所有角色返回 404。

Sense 旧 MVP 规则状态

2026-08-14 前的 Sense 账户、设备、发现、Profile、MediaMTX、播放会话和区域版本实现规则仅适用于 explore 快照,不是新 main / dev 的运行事实。迁移工单应从这些记录提取已确认业务与安全约束,但认证、RBAC、管理端外壳和通用 CRUD 必须基于冻结 GoAdmin 源码重新实现并重新验收。

Bell 旧 MVP 规则状态

2026-08-14 前的 Bell 独立身份、Event/Receipt、规则、Alert、ack/close 和审计实现仅保存在 explore。不可变、幂等、并发处置和产品独立边界仍是待迁移业务要求,但新实现必须从冻结 GoAdmin/go-admin-ui 源码派生并重新验收。

旧实现迁移边界

旧 Sense 中已验证的中文设备字段、请求白名单、凭据隔离和媒体链路行为可作为迁移验收用例;不得把旧自研基础框架直接复制到新 dev。

Sense 设备台账与凭据规则

  • Device 是 Sense 内的设备根实体,类型包括视频、雷达、门磁、按钮、穿戴和其他;16 路仍只是默认交付配额,分页和台账容量不得硬编码为 16。
  • 当前仅视频设备具备可用接入适配器;其余类型必须显示“适配器未就绪”,不允许通过虚假成功状态掩盖能力缺口。
  • 设备台账支持列表、新建、编辑和停用;停用保留审计与后续关联,不提供物理删除。编辑、停用和凭据更新均使用版本号检测并发冲突。
  • 摄像头 ONVIF 与 RTSP 凭据按设备和用途分离,以 AES-256-GCM 密文保存;加密密钥只从外部环境 SENSE_CREDENTIAL_KEY 注入,不写入数据库、仓库、工单、Wiki 或日志。
  • 凭据只写不可读:HTTP 和页面仅显示“已配置/未配置”,不得回填用户名、密码或密文;更新凭据后只记录状态并请求后续接入流程重试。
  • admin、implementation_operator、site_admin 可维护设备与凭据,viewer 仅可查看设备台账。