[BEL] 按普通用户视角优化 Bell 预警处理原型 #33

Closed
opened 2026-08-12 11:10:52 +08:00 by ila · 4 comments
Owner

当前状态:已完成

用户于 2026-08-14 明确验收通过。

基本信息

  • 类型:需求
  • 任务类型:单项目
  • 主项目:Bell
  • 主 agent:Codex / Bell UX
  • 所属 Epic:#7
  • 所属 MVP / 版本:#8
  • 阶段:原型确认

依赖与并行

  • 前置工单:#28、#31
  • 是否允许与前置工单并行:是;#30/#31 的实现已存在于当前原型分支,本工单在其待验收基线上继续收敛用户视角
  • 原因:#31 已实现并提供稳定外壳;本工单只调整普通用户信息架构和预警处理流程,不依赖 Sense、Brain 在线,也不需要等待 #31 人工验收后才获得技术基线。

子项目影响

  • 仅影响:Bell 原型
  • 是否跨子项目:否
  • 是否修改共享接口或契约:否
  • write_paths:prototypes/bell/**
  • 验证:Bell 执行普通用户走查、状态机、响应式和键盘交互;Sense、Brain 无需修改

协同接口

  • 生产者:Bell MVP 需求及普通用户处理预警场景
  • 消费者:Bell 实施工单 #9、#12、#17–#20
  • 共享事实:后端 Event、Alert、receipt、ack、close 和审计事实保持不变;界面建立普通语言映射
  • 兼容策略:普通用户只看处理任务;原始事件、规则、收据与开发入口按权限进入管理员/技术详情
  • 集成顺序:先验收普通用户原型,再实施正式 Vue 页面
  • 上游只读参考:D:\github\goadmin\go-admin-ui,不得修改

原始需求

  • 来源:用户对话
  • 提出时间:2026-08-12
  • 摘要:Bell 面向普通人,模块名称和业务处理逻辑必须从普通用户角度设计。

要解决什么

当前预警列表、地点和处理建议已有用户价值,但导航及首页直接暴露实时值班台、事件中心、规则策略,以及 Event、Alert、ack、close、Producer、Source ID、收据和规则表达式。“确认预警”也无法区分“我已看到”和“确认事件真实”。目标是让普通用户只需理解发生了什么、在哪里、是否紧急、现在做什么以及处理结果,同时保持后端不可变事件、幂等和并发确认语义。

做什么 / 不做什么

  • 做:
    • 采用客户熟悉的普通预警后台一级导航:工作台、预警管理、事件查询、规则配置。
    • 首页按“发生什么、在哪里、何时发生、紧急程度、建议动作”组织信息。
    • 将“我已看到/开始处理”和“确认现场结果”拆分为不同业务动作。
    • 完成前要求选择:确认有危险、误报、现场正常、无法确认,并允许填写备注。
    • 提供查看现场、联系负责人、转交他人等清晰入口;MVP 未实现项明确标注。
    • 工作台与预警管理使用中文业务字段;事件查询展示可理解的事件来源与关联预警,英文模型名、幂等收据和内部来源标识移入技术详情。
    • 规则配置作为普通预警后台的标准模块展示,但通过权限按钮限制编辑;合成事件注入仅在开发测试环境出现。
    • 保持 go-admin-ui 外壳与 Element Plus 映射。
  • 不做:
    • 不修改后端 Event/Alert/receipt/ack/close、幂等、审计或跨项目契约。
    • 不实现正式通知、联系人、排班、自动升级或第三方通信。
    • 不修改 Sense、Brain、prototypes/assets/** 或 D:\github\goadmin。

已确认方案

  • UI 状态映射:新预警 → 待处理;首次成功 ack → 已看到/处理中;记录结果并 close → 已完成。
  • 并发 ack 仍由后端保证首个成功者,界面提示“已由某人开始处理”。
  • 普通用户关闭预警前必须记录结果,不能只点击“完成并关闭”。
  • 默认详情强调地点、时间、风险和建议;原始编号、规则版本和审计链路进入技术详情。
  • 普通用户不需要理解 Event 与 Alert 的区别;管理员仍可追溯完整事实链路。

预计修改文件:

  • prototypes/bell/index.html
  • prototypes/bell/bell.css
  • prototypes/bell/bell.js(如需要)

需求变化记录

日期 变化内容 原因 用户确认
2026-08-12 从领域模型/技术验收视角调整为普通用户处理任务视角 消除专业术语和操作歧义 是

文档影响

  • 更新业务规则与术语:建立普通文案与 Event/Alert 状态映射
  • 其他长期文档或 Wiki

交付文档影响

  • 无交付文档影响:只调整项目专用原型
  • 需要普通用户代表验证:无需技术解释完成预警处理

验收标准

  • 一级导航为工作台、预警管理、事件查询、规则配置,结构符合常见预警系统后台。
  • 工作台与预警管理使用预警、事件、规则等行业常用中文名称;英文模型名、幂等收据和来源标识只在技术详情出现。
  • 每条预警优先展示事项、地点、时间、紧急程度和处理建议。
  • “我已看到/开始处理”与“现场结果确认”是两个语义明确的动作。
  • 完成前必须选择确认有危险、误报、现场正常或无法确认,并可填写备注。
  • 并发领取后,后来用户得到“已由谁处理”的反馈,不能重复领取。
  • 原始事件、规则版本、幂等收据和审计链路在管理员/技术详情中仍可追溯。
  • 合成事件入口只在开发测试环境展示,普通用户生产视图不可见。
  • 保持 #31 的 go-admin-ui/Element Plus、响应式、键盘和无障碍能力。
  • Sense、Brain 离线时可使用合成数据完成待处理 → 处理中 → 记录结果 → 已完成。
  • 普通用户代表在没有解释 Event/Alert 的情况下完成核心任务。

验证方式

  • 普通用户无提示任务走查
  • 检查默认视图英文缩写、技术字段和权限隔离
  • 验证领取、并发冲突、结果必填、关闭、误报和无法确认路径
  • 验证普通用户、管理员、开发测试三种视图边界
  • 验证 1440px、768px、375px、手机横屏、键盘、焦点与 Escape
  • python dev_scripts/check_harness.py --strict
  • python -m unittest discover -s tests -v
  • git diff --check

风险和回退

普通语言可能模糊严格状态,把规则和事件移出主导航可能影响管理员效率。通过明确 UI 与领域状态映射及 RBAC 技术详情入口控制。回退时恢复 #31 基线。

需求变化补充(2026-08-12)

  • 用户反馈:任务中心式“待处理、处理中、处理记录”过于超前,不符合多数客户对普通预警系统后台的认知。
  • 用户确认的新方案:改为常见预警后台结构——工作台、预警管理、事件查询、规则配置。
  • 保留内容:直白的处置动作、现场结果必填、并发处理人反馈、技术详情渐进披露,以及 go-admin-ui / Element Plus 基线。
  • 后端边界不变:Event 不可变,Alert 的 ack/close、幂等收据和审计事实继续保留。
## 当前状态:已完成 用户于 2026-08-14 明确验收通过。 ## 基本信息 - 类型:需求 - 任务类型:单项目 - 主项目:Bell - 主 agent:Codex / Bell UX - 所属 Epic:#7 - 所属 MVP / 版本:#8 - 阶段:原型确认 ## 依赖与并行 - 前置工单:#28、#31 - 是否允许与前置工单并行:是;#30/#31 的实现已存在于当前原型分支,本工单在其待验收基线上继续收敛用户视角 - 原因:#31 已实现并提供稳定外壳;本工单只调整普通用户信息架构和预警处理流程,不依赖 Sense、Brain 在线,也不需要等待 #31 人工验收后才获得技术基线。 ## 子项目影响 - 仅影响:Bell 原型 - 是否跨子项目:否 - 是否修改共享接口或契约:否 - write_paths:prototypes/bell/** - 验证:Bell 执行普通用户走查、状态机、响应式和键盘交互;Sense、Brain 无需修改 ## 协同接口 - 生产者:Bell MVP 需求及普通用户处理预警场景 - 消费者:Bell 实施工单 #9、#12、#17–#20 - 共享事实:后端 Event、Alert、receipt、ack、close 和审计事实保持不变;界面建立普通语言映射 - 兼容策略:普通用户只看处理任务;原始事件、规则、收据与开发入口按权限进入管理员/技术详情 - 集成顺序:先验收普通用户原型,再实施正式 Vue 页面 - 上游只读参考:D:\github\goadmin\go-admin-ui,不得修改 ## 原始需求 - 来源:用户对话 - 提出时间:2026-08-12 - 摘要:Bell 面向普通人,模块名称和业务处理逻辑必须从普通用户角度设计。 ## 要解决什么 当前预警列表、地点和处理建议已有用户价值,但导航及首页直接暴露实时值班台、事件中心、规则策略,以及 Event、Alert、ack、close、Producer、Source ID、收据和规则表达式。“确认预警”也无法区分“我已看到”和“确认事件真实”。目标是让普通用户只需理解发生了什么、在哪里、是否紧急、现在做什么以及处理结果,同时保持后端不可变事件、幂等和并发确认语义。 ## 做什么 / 不做什么 - 做: - 采用客户熟悉的普通预警后台一级导航:工作台、预警管理、事件查询、规则配置。 - 首页按“发生什么、在哪里、何时发生、紧急程度、建议动作”组织信息。 - 将“我已看到/开始处理”和“确认现场结果”拆分为不同业务动作。 - 完成前要求选择:确认有危险、误报、现场正常、无法确认,并允许填写备注。 - 提供查看现场、联系负责人、转交他人等清晰入口;MVP 未实现项明确标注。 - 工作台与预警管理使用中文业务字段;事件查询展示可理解的事件来源与关联预警,英文模型名、幂等收据和内部来源标识移入技术详情。 - 规则配置作为普通预警后台的标准模块展示,但通过权限按钮限制编辑;合成事件注入仅在开发测试环境出现。 - 保持 go-admin-ui 外壳与 Element Plus 映射。 - 不做: - 不修改后端 Event/Alert/receipt/ack/close、幂等、审计或跨项目契约。 - 不实现正式通知、联系人、排班、自动升级或第三方通信。 - 不修改 Sense、Brain、prototypes/assets/** 或 D:\github\goadmin。 ## 已确认方案 - UI 状态映射:新预警 → 待处理;首次成功 ack → 已看到/处理中;记录结果并 close → 已完成。 - 并发 ack 仍由后端保证首个成功者,界面提示“已由某人开始处理”。 - 普通用户关闭预警前必须记录结果,不能只点击“完成并关闭”。 - 默认详情强调地点、时间、风险和建议;原始编号、规则版本和审计链路进入技术详情。 - 普通用户不需要理解 Event 与 Alert 的区别;管理员仍可追溯完整事实链路。 预计修改文件: - prototypes/bell/index.html - prototypes/bell/bell.css - prototypes/bell/bell.js(如需要) ## 需求变化记录 | 日期 | 变化内容 | 原因 | 用户确认 | |---|---|---|---| | 2026-08-12 | 从领域模型/技术验收视角调整为普通用户处理任务视角 | 消除专业术语和操作歧义 | 是 | ## 文档影响 - [x] 更新业务规则与术语:建立普通文案与 Event/Alert 状态映射 - [ ] 其他长期文档或 Wiki ## 交付文档影响 - [x] 无交付文档影响:只调整项目专用原型 - [x] 需要普通用户代表验证:无需技术解释完成预警处理 ## 验收标准 - [ ] 一级导航为工作台、预警管理、事件查询、规则配置,结构符合常见预警系统后台。 - [ ] 工作台与预警管理使用预警、事件、规则等行业常用中文名称;英文模型名、幂等收据和来源标识只在技术详情出现。 - [ ] 每条预警优先展示事项、地点、时间、紧急程度和处理建议。 - [ ] “我已看到/开始处理”与“现场结果确认”是两个语义明确的动作。 - [ ] 完成前必须选择确认有危险、误报、现场正常或无法确认,并可填写备注。 - [ ] 并发领取后,后来用户得到“已由谁处理”的反馈,不能重复领取。 - [ ] 原始事件、规则版本、幂等收据和审计链路在管理员/技术详情中仍可追溯。 - [ ] 合成事件入口只在开发测试环境展示,普通用户生产视图不可见。 - [ ] 保持 #31 的 go-admin-ui/Element Plus、响应式、键盘和无障碍能力。 - [ ] Sense、Brain 离线时可使用合成数据完成待处理 → 处理中 → 记录结果 → 已完成。 - [ ] 普通用户代表在没有解释 Event/Alert 的情况下完成核心任务。 ## 验证方式 - 普通用户无提示任务走查 - 检查默认视图英文缩写、技术字段和权限隔离 - 验证领取、并发冲突、结果必填、关闭、误报和无法确认路径 - 验证普通用户、管理员、开发测试三种视图边界 - 验证 1440px、768px、375px、手机横屏、键盘、焦点与 Escape - python dev_scripts/check_harness.py --strict - python -m unittest discover -s tests -v - git diff --check ## 风险和回退 普通语言可能模糊严格状态,把规则和事件移出主导航可能影响管理员效率。通过明确 UI 与领域状态映射及 RBAC 技术详情入口控制。回退时恢复 #31 基线。 ## 需求变化补充(2026-08-12) - 用户反馈:任务中心式“待处理、处理中、处理记录”过于超前,不符合多数客户对普通预警系统后台的认知。 - 用户确认的新方案:改为常见预警后台结构——工作台、预警管理、事件查询、规则配置。 - 保留内容:直白的处置动作、现场结果必填、并发处理人反馈、技术详情渐进披露,以及 go-admin-ui / Element Plus 基线。 - 后端边界不变:Event 不可变,Alert 的 ack/close、幂等收据和审计事实继续保留。
ila added the kind/taskproject/bellscope/independentpriority/p0area/ux labels 2026-08-12 11:10:52 +08:00
Author
Owner

状态:待验收

已按普通用户视角完成 Bell 预警处理原型优化。

  • 实现提交:2248eba
  • PR:#29
  • 一级导航:待处理、处理中、处理记录
  • 默认详情优先展示发生事项、地点、时间、风险和处理建议
  • 处理流程:我已看到并开始处理 → 处理中 → 现场结果必填 → 处理记录
  • 处理结果:确认有危险、误报、现场正常、无法确认,并支持补充说明
  • 并发语义:他人已处理时显示处理人并禁止重复领取
  • Event、Alert、ack/close、来源标识和规则版本仅在管理员技术详情中展示
  • 合成事件与规则管理不再出现在普通用户主导航
  • 写路径仅为 prototypes/bell/**,未修改共享外壳及其他项目

验证结果:

  • 三条预警选择后详情联动通过
  • 开始处理后的计数、状态及处理人展示通过
  • 结果必填、现场正常路径、说明写入和完成记录通过
  • 375/768/1440 无页面级横向溢出
  • 移动抽屉、Escape、键盘焦点与减少动画偏好有效
  • Harness 严格检查通过;25 项测试通过;JavaScript 语法、重复 ID、外部资源与 git diff --check 通过
  • Sense、Brain 移动布局回归通过;全新浏览器会话无控制台错误

未完成:需要普通用户代表进行无提示人工走查。工单保持打开,不关闭。
文档说明:本工单无长期产品文档变更;sync_wiki_docs.py --check 被任务开始前已存在的 docs/00-project-profile.md Wiki revision/正文差异阻断,未擅自覆盖该镜像。

## 状态:待验收 已按普通用户视角完成 Bell 预警处理原型优化。 - 实现提交:`2248eba` - PR:https://git.ilapage.cn/ila/yovision/pulls/29 - 一级导航:待处理、处理中、处理记录 - 默认详情优先展示发生事项、地点、时间、风险和处理建议 - 处理流程:我已看到并开始处理 → 处理中 → 现场结果必填 → 处理记录 - 处理结果:确认有危险、误报、现场正常、无法确认,并支持补充说明 - 并发语义:他人已处理时显示处理人并禁止重复领取 - Event、Alert、ack/close、来源标识和规则版本仅在管理员技术详情中展示 - 合成事件与规则管理不再出现在普通用户主导航 - 写路径仅为 `prototypes/bell/**`,未修改共享外壳及其他项目 验证结果: - 三条预警选择后详情联动通过 - 开始处理后的计数、状态及处理人展示通过 - 结果必填、现场正常路径、说明写入和完成记录通过 - 375/768/1440 无页面级横向溢出 - 移动抽屉、Escape、键盘焦点与减少动画偏好有效 - Harness 严格检查通过;25 项测试通过;JavaScript 语法、重复 ID、外部资源与 `git diff --check` 通过 - Sense、Brain 移动布局回归通过;全新浏览器会话无控制台错误 未完成:需要普通用户代表进行无提示人工走查。工单保持打开,不关闭。 文档说明:本工单无长期产品文档变更;`sync_wiki_docs.py --check` 被任务开始前已存在的 `docs/00-project-profile.md` Wiki revision/正文差异阻断,未擅自覆盖该镜像。
Author
Owner

状态:按用户反馈重新调整,待验收

用户未接受任务中心式“待处理、处理中、处理记录”,已按确认意见改为更常见的预警系统后台。

  • 最新提交:8d1875c
  • PR:#29
  • 一级模块:工作台、预警管理、事件查询、规则配置
  • 工作台:今日统计、最新预警、风险/地点/建议和快速确认
  • 预警管理:筛选、分页、确认、处理人、关闭及处理结果
  • 事件查询:中文业务字段、来源、地点与关联预警;幂等收据放入技术信息
  • 规则配置:常见规则列表、风险等级、版本和权限受控编辑
  • 保留:确认后明确处理人、关闭前结果必填、Event 不可变、Alert ack/close 和审计语义
  • 移除:普通用户主导航中的任务中心式三模块

验证结果:

  • 四个一级模块导航和活动状态正确
  • 预警确认后状态变为处理中、记录处理人并启用关闭操作
  • 未选处理结果不能关闭;选择误报后成功关闭
  • 375、768、1440 和 812×375 无页面级横向溢出
  • 浏览器控制台无错误或警告
  • Harness 严格检查通过;25 项测试通过;JavaScript、重复 ID、外部资源与 git diff --check 通过

仍需客户/产品人工确认传统后台模块与字段。工单保持打开,不关闭。

## 状态:按用户反馈重新调整,待验收 用户未接受任务中心式“待处理、处理中、处理记录”,已按确认意见改为更常见的预警系统后台。 - 最新提交:`8d1875c` - PR:https://git.ilapage.cn/ila/yovision/pulls/29 - 一级模块:工作台、预警管理、事件查询、规则配置 - 工作台:今日统计、最新预警、风险/地点/建议和快速确认 - 预警管理:筛选、分页、确认、处理人、关闭及处理结果 - 事件查询:中文业务字段、来源、地点与关联预警;幂等收据放入技术信息 - 规则配置:常见规则列表、风险等级、版本和权限受控编辑 - 保留:确认后明确处理人、关闭前结果必填、Event 不可变、Alert ack/close 和审计语义 - 移除:普通用户主导航中的任务中心式三模块 验证结果: - 四个一级模块导航和活动状态正确 - 预警确认后状态变为处理中、记录处理人并启用关闭操作 - 未选处理结果不能关闭;选择误报后成功关闭 - 375、768、1440 和 812×375 无页面级横向溢出 - 浏览器控制台无错误或警告 - Harness 严格检查通过;25 项测试通过;JavaScript、重复 ID、外部资源与 `git diff --check` 通过 仍需客户/产品人工确认传统后台模块与字段。工单保持打开,不关闭。
Author
Owner

最终证据:待验收

  • 实现提交:8d1875c(PR #29)
  • 长期文档与归档协调:#36 / PR #38
  • Wiki 归档 revision:c829e54319af
  • 本地只读镜像:docs/task/33-Bell普通用户预警处理原型.md
  • 文档镜像提交:e2a4345、3c245e1
  • 文档验证:36 个 Wiki 映射一致;DevHarness 通过;31 项 unittest 通过;git diff --check 通过

实现、自动测试、Wiki、镜像、提交、推送与 PR 证据已齐。人工验收前本工单保持开启,不关闭、不勾选父工单。

## 最终证据:待验收 - 实现提交:`8d1875c`(PR #29) - 长期文档与归档协调:#36 / PR #38 - Wiki 归档 revision:`c829e54319af` - 本地只读镜像:`docs/task/33-Bell普通用户预警处理原型.md` - 文档镜像提交:`e2a4345`、`3c245e1` - 文档验证:36 个 Wiki 映射一致;DevHarness 通过;31 项 unittest 通过;`git diff --check` 通过 实现、自动测试、Wiki、镜像、提交、推送与 PR 证据已齐。人工验收前本工单保持开启,不关闭、不勾选父工单。
Author
Owner

用户验收通过(2026-08-14)

用户已明确确认当前未验收工单通过验收。本工单的实现、测试与既有证据按记录接受,Wiki 归档状态已更新为“已完成”(revision 76aa9b3163a0)。该交付属于重建前历史实现;Wiki 归档已完成,代码与原归档镜像继续保留在 explore 追溯。

此验收不改变 #58 的架构决定:旧自研基础框架不会恢复为 dev 基线,Sense/Bell 后续仍分别由 #61/#62 从冻结 GoAdmin 源码重建。

## 用户验收通过(2026-08-14) 用户已明确确认当前未验收工单通过验收。本工单的实现、测试与既有证据按记录接受,Wiki 归档状态已更新为“已完成”(revision `76aa9b3163a0`)。该交付属于重建前历史实现;Wiki 归档已完成,代码与原归档镜像继续保留在 `explore` 追溯。 此验收不改变 #58 的架构决定:旧自研基础框架不会恢复为 `dev` 基线,Sense/Bell 后续仍分别由 #61/#62 从冻结 GoAdmin 源码重建。
ila closed this issue 2026-08-14 10:06:48 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ila/yovision#33