YoVision
YoVision 是一个单仓多项目的智能视频事件平台,包含三个可独立开发和交付的子项目:
Sense/:设备、ONVIF/RTSP、MediaMTX、实时监看和边缘运维;Brain/:解码、推理、跟踪、区域判定和标准事件生成;Bell/:事件接入、规则、Alert、ack/close、升级和通知。
Sense 与 Bell 是账户、数据、部署和发布边界完全独立的两个销售产品;Brain 是无界面的独立推理交付单元,默认随 Sense 部署。跨项目协作只通过 contracts/ 中的版本化契约。
开始工作前阅读 AGENTS.md 和 文档中心。本仓库采用 DevHarness:Gitea 工单是单次任务唯一事实来源,Gitea Wiki 保存长期文档,docs/ 默认保存核心 Wiki 的只读镜像。
工作闭环
讨论需求或缺陷
-> 阅读代码并提出方案
-> 人工确认方案
-> 创建 Epic / MVP / 单元任务工单
-> Agent 实现并测试
-> 提交代码并集中回写工单证据
-> 人工验收后记录结论并关闭工单
-> 长期事实变化时才同步 Wiki
默认不创建任务归档;docs/task/ 只保存人工明确要求的专项或历史兼容快照。
首次初始化顺序
-
创建 Gitea 远端仓库并推送当前引导提交,启用工单和 Wiki。
-
配置
wiki-docs.json和安全访问方式;优先使用已配置的 Gitea MCP,MCP 不可用时才使用 Gitea API并记录原因。 -
查询线上 Wiki;
Home不存在时先创建并回读Home,取得 revision 后再创建其他核心页面。 -
本地
docs/的存在不能证明线上 Wiki 已初始化。 -
开始产品编码前运行:
python dev_scripts/harness.py sync --verify
YoVision 已完成远端与 Wiki 初始化,上述步骤用于维护者理解门禁和以后建立新仓库。
常用命令
python dev_scripts/harness.py check --strict
python dev_scripts/harness.py sync
python dev_scripts/harness.py sync --check
python -m unittest discover -s tests -v
git diff --check
只有明确要求时才运行 python dev_scripts/harness.py archive <编号> "<标题>"、export 或 export --all。
分支模型
explore:2026-08-14 前实现的只读聚合快照,用于迁移对照和回退。main:用户审核通过的基线,禁止直接开发。dev:集成开发与测试分支;任务分支从dev创建并通过 PR 返回dev。- 只有用户明确审核通过,才能将
dev合入main。
Sense 与 Bell 的新实现必须从根 goadmin-baseline.json 冻结的 go-admin 和 go-admin-ui 完整提交派生,开发时必须核对对应 commit 的 go-admin-doc。仅参考 GoAdmin 的技术栈、布局或视觉不属于本项目认可的二次开发。
Harness 目录
AGENTS.md Agent 通用规则与 YoVision 专用门禁
CLAUDE.md Claude Code 入口和三项目角色路由
.gitea/issue_template/ Epic、MVP、单元任务模板
docs/ 核心 Wiki 只读镜像及可选历史快照
wiki-docs.json 核心 Wiki 页面显式映射
dev_scripts/harness.py check / sync / archive / export 单一入口
dev_scripts/wiki_docs.py Gitea Wiki 客户端与镜像生成库