diff --git a/Project-Profile.-.md b/Project-Profile.-.md new file mode 100644 index 0000000..900d659 --- /dev/null +++ b/Project-Profile.-.md @@ -0,0 +1,72 @@ +# 项目档案 + +## 基本信息 + +| 项目 | 内容 | +|---|---| +| 名称 | YoVision | +| 仓库 | `ila/yovision` | +| 默认分支 | `main` | +| 一句话目标 | 将现有视频设备升级为能够自动形成异常证据并把预警追到人确认处置的安全基础设施 | +| 首期客户场景 | 民办寄宿学校,默认 16 路高风险点位 | +| 首期规则 | 越线、危险区域、聚集等匿名安全规则;不启用人脸 | +| 产品形态 | Sense 与 Bell 两个独立销售产品,Brain 为独立推理交付单元 | +| 当前阶段 | 新仓库文档与开发流程初始化,业务代码尚未迁移 | +| 历史来源 | `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。 + +业务代码尚未初始化,具体 Go/Python/Node 版本必须在对应骨架工单中冻结后更新本页。 + +## 阅读入口 + +- 新维护者: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` → 所有受影响工单。 + +## 常用命令 + +当前初始化阶段可执行: + +```powershell +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。 +- 旧仓库在新纵切验收前保留,不删除、不覆盖。