Files
yovision/docs/00-project-profile.md
T

7.1 KiB
Raw Blame History

generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Project-Profile wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Project-Profile.- wiki_revision: d32f00a86bb3127485b8ad4da8436bf2117352e0 synchronized_at: 2026-08-14T01:06:22Z

项目档案

基本信息

项目 内容
名称 YoVision
仓库 ila/yovision
默认分支 main
一句话目标 将现有视频设备升级为能够自动形成异常证据并把预警追到人确认处置的安全基础设施
首期客户场景 民办寄宿学校,默认 16 路高风险点位
首期规则 越线、危险区域、聚集等匿名安全规则;不启用人脸
产品形态 Sense 与 Bell 两个独立销售产品,Brain 为独立推理交付单元
当前阶段 进入 GoAdmin 源码派生重建:旧实现归档于 explore,main 为审核基线,dev 为集成开发分支
历史来源 D:\OPC\yovision_old,只读追溯

子项目与交付单元

单元 职责 技术栈目标 独立构建/测试/发布 规则入口 共享边界
Sense ONVIF/RTSP、设备台账、MediaMTX、实时监看、区域配置、运维与 Outbox Go;Vue 3 + Element Plus;PostgreSQL 是;可在没有 Bell 时独立运行 Sense/AGENTS.md 通过版本化源/事件/证据契约与 Brain、Bell 集成
Brain 解码、检测、姿态、跟踪、ReID、区域判定、事件 mapper Python/CUDA 是;无界面,默认随 Sense 交付 Brain/AGENTS.md 只消费媒体/配置契约并输出标准事件
Bell 外部事件接入、规则、Alert、ack/close、联系人、排班、升级、通知、审计 Go;Vue 3 + Element Plus;PostgreSQL 是;可用合成或第三方事件独立验收 Bell/AGENTS.md 发布事件接入与证据接口,不读取 Sense 内部状态
contracts 三端共享的 OpenAPI、JSON Schema、SQL 契约和兼容说明 版本化文档与契约测试 随受影响项目验证 contracts/AGENTS.md 唯一共享事实来源,不承载业务代码

三个项目允许不同版本和发布节奏。技术栈不同不是拆仓理由;若未来团队权限、发布责任或仓库性能长期分离,再以独立工单评估拆仓。

技术栈与运行环境

  • Sense/Bell:目标采用固定上游版本的 GoAdmin server 与 go-admin-ui,首阶段保持 Vue 3 + Element Plus + Vue CLI,不同时迁移 TypeScript/Vite。
  • Brain:Python、CUDA/NVIDIA 主路径;模型许可必须在商用前确认。
  • 正式数据库:PostgreSQL;Sense 与 Bell 使用独立数据库角色和数据边界。
  • 媒体:MediaMTX 独立二进制,由 Sense 管理配置和生命周期。
  • 证据:客户侧 MinIO/S3 兼容对象存储;常态录像优先留在客户已有 NVR。
  • 首期验证平台:NVIDIA x86/Jetson;M1-M3 不承诺 GB/T 28181、信创或原生 App。

2026-08-14 起,原 Sense、Bell 实现只在 explore 和原功能分支中作为迁移参考,不再作为新开发基础。新的 Sense、Bell 必须从下述冻结 go-admin/go-admin-ui 完整提交派生;实施时必须核对冻结 go-admin-doc。Brain 尚未初始化。

阅读入口

  • 新维护者:Home → Product-Requirements → Architecture-and-Code-Map。
  • Sense agent:根 AGENTS.md → Sense/AGENTS.md → 当前工单。
  • Brain agent:根 AGENTS.md → Brain/AGENTS.md → 事件契约 → 当前工单。
  • Bell agent:根 AGENTS.md → Bell/AGENTS.md → 当前工单。
  • 协调 agent:Multi-Agent-Collaboration → contracts/AGENTS.md → 所有受影响工单。

常用命令

当前初始化阶段可执行:

python dev_scripts/check_harness.py --strict
python -m unittest discover -s tests -v
python dev_scripts/sync_wiki_docs.py --check
git diff --check

Sense、Brain、Bell 的构建、运行和测试命令尚待各自骨架工单建立,不以旧仓库命令冒充新仓库事实。

环境、配置与凭据

  • Gitea 凭据仅通过 MCP 安全配置或进程环境提供。
  • 摄像头密码、JWT secret、数据库连接、对象存储和通知供应商凭据不得提交。
  • Sense 与 Bell 必须使用不同用户库、JWT/会话密钥、Cookie、Casbin 策略和数据库角色。
  • Brain 不接收交互式用户会话;机器身份按调用方和实例独立分配。
  • .env.example 只能放变量名和无敏感示例,不放真实地址、客户名或 token。

负责人确认的边界

  • 单仓包含 Sense、Brain、Bell 三个开发项目。
  • 计划由三名主 agent 尽量并行处理各自独立工单;需要跨项目协作时再建立协调工单并启用新 agent。
  • 旧仓库在新纵切验收前保留,不删除、不覆盖。

Sense/Bell GoAdmin 固定技术基线

Sense、Bell 共用的可复现技术基线记录在仓库根 goadmin-baseline.json。正式版本标识是上游 URL 与完整 commit 的组合;本机目录、分支名、最近 tag 和 package.json version 只作辅助信息。

参考源 用途 冻结提交 描述版本 本机只读位置
go-admin 后端骨架 f06540883b41d03782bb6b2c4150f298f328c6b6 v2.2.0-25-gf065408 D:\github\goadmin\go-admin
go-admin-ui 前端骨架 67d393d713877572fab0b897296a4c1d525fc81d v2.0.9-170-g67d393d D:\github\goadmin\go-admin-ui
go-admin-doc 只读用法参考 424855aacf6905f3fde860c3331385cb25529a0d 无精确 tag D:\github\goadmin\go-admin-doc

固定工具链为 Go 1.26.5、Node.js 22.22.1、pnpm 9.15.1。go-admin-ui 的 package.json version 仍为 2.0.9,但冻结提交位于 v2.0.9 后 170 个提交,因此不得只用“2.0.9”代表当前基线。

三个上游仓库均使用 MIT 许可证。派生代码必须保留许可证和版权声明。Sense、Bell 使用同一上游基线,但分别维护代码、配置、构建、测试、版本和发布。任何上游或工具链升级必须建立影响 Sense/Bell 的协同工单。

Sense 重建状态

当前可运行的旧 Sense 实现保存在 explore,不进入新 main / dev 基线。新 Sense 尚未初始化;后续必须从冻结的 go-admin 后端和 go-admin-ui 前端源码派生,保留上游骨架、许可证和来源证据,并在工单记录实际参考的 go-admin-doc 页面。

Bell 重建状态

当前 Bell MVP 实现在 explore 和原功能分支中保留,只作需求、行为和迁移对照。新 Bell 尚未初始化;后续必须从与 Sense 相同的冻结 go-admin/go-admin-ui 基线独立派生,不能复制旧自研基础框架或共享 Sense 的认证与数据库。

分支治理

  • explore:2026-08-14 前实现的只读聚合快照;不接受新功能。
  • main:用户审核通过的最小/发布基线;禁止直接开发和未经用户明确审核的合并。
  • dev:集成开发与测试分支;功能分支从 dev 派生,并通过 PR 合回 dev。
  • 只有用户明确审核通过,才能把 dev 合入 main。