Files
yovision/Bell/AGENTS.md
T

3.7 KiB

Bell 目录规则

  • Bell 是独立销售和部署的事件预警与处置产品。
  • 主实现技术栈为 Go 后端与 Vue 3 + Element Plus 管理端;正式数据库为 PostgreSQL。
  • Bell 拥有独立账户、角色、会话、数据库角色、审计和密码策略,不信任 Sense 用户 token。
  • Event 与 Alert 分离;原始 Event 不可变,Alert 状态迁移、ack/close、投递和升级事实只追加并可审计。
  • 外部事件以 (producer_id, source_event_id) 幂等;Bell 不读取 Sense 数据库、摄像头密码或内部文件路径。
  • 修改 contracts/、Sense connector 或 Brain 输出语义前,必须转为跨项目协调工单。
  • Bell agent 默认写路径仅为 Bell/ 及工单明确列出的共享文件。

独立建单职责

  • Bell agent 负责建立独立登录/RBAC、外部事件入站、规则、Event/Alert、ack/close、升级恢复、联系人/排班、通知、审计和合成事件验收等 Bell 单项目工单。
  • 每个工单必须写明任务类型、主项目 Bell、主 agent、精确 write_paths、独立运行方式、测试命令和在 Sense/Brain 未启动时使用合成或第三方事件的验收标准。
  • 首轮并行建单只创建 Bell 独立工单;发现需要外部事件/证据契约、producer identity、Sense connector、根级部署或端到端测试时,停止扩写本工单,向主 agent 提交协同需求摘要。
  • 协同需求摘要至少包含生产者、消费者、接口目的、候选事实源、阻塞的 Bell 工单和建议验证;Bell agent 不直接创建契约实现或取得 contracts/、Sense/、Brain/ 的写入权。

go-admin / go-admin-ui 约束

  • Bell 管理面只启用事件预警、告警处置和通知运维所需的默认能力;框架演示页和无关管理模块优先通过配置、菜单权限或路由开关隐藏。
  • 涉及权限或安全的不用模块不能只隐藏菜单,必须同时验证前端入口和后端接口均不可访问;永久删除默认模块必须单独建立清理工单。
  • 新页面优先复用 Bell/go-admin-ui 已有的布局、表格、表单、弹窗、上传、权限控制和请求封装;新增组件前在工单中说明现有组件为何不能满足需求。
  • 新增组件沿用 Bell 现有颜色、字号、间距、状态反馈、交互方式、命名和目录结构,并验证没有多余入口、失效入口或重复组件。
  • 修改底层公共组件的全局行为时,必须单独建单并列出所有受影响页面;同时影响 Sense 或共享基线时升级为协同工单。

GoAdmin 技术基线

  • 初始化或升级 Bell 前必须读取根 goadmin-baseline.json,按其中的 go-admin、go-admin-ui commit 和 Go/Node/pnpm 精确版本实施。
  • Bell 必须由冻结 go-admin 后端与 go-admin-ui 前端源码直接派生;旧 explore 实现只能用于业务语义对照,禁止把其中自研认证、RBAC、会话、HTTP 平台或前端外壳复制为新基础。
  • 开始每个骨架、认证权限、菜单路由、代码生成、ORM 或通用 UI 工单前,必须读取任务相关的冻结 go-admin-doc,并把参考主题/文件及采用方式写回工单。
  • 骨架验收必须证明上游来源、继承路径、许可证、裁剪清单和相对上游差异;只有相似技术栈或视觉不能通过验收。
  • D:\github\goadmin 下的仓库仅可只读参考;Bell 产品代码只能写入 Bell/ 或工单授权路径,不得在参考仓库原地开发。
  • 派生上游代码必须保留 MIT 许可证和版权声明;上游 go-admin-doc 只作框架用法参考,不覆盖 yovision Wiki 和本目录规则。
  • 变更冻结基线必须升级为 Sense/Bell 协同工单;Bell 可以独立发布,但不得单独漂移上游或工具链版本。