Refresh config pages in realtime

This commit is contained in:
kris
2026-04-07 18:26:17 +08:00
parent 0c01627d67
commit 07ecce3d0d
10 changed files with 447 additions and 12 deletions

View File

@@ -0,0 +1,65 @@
# 配置页实时刷新 Design
## 目标
让 Boss Web 的配置类页面在后台状态变更后自动刷新,不再要求用户手动返回或重开页面才能看到最新配置。
## 本轮范围
- AI 账号页:`/me/ai-accounts`
- 附件与存储页:`/me/storage`
- 主 Agent 提示词 / 记忆页:`/me/master-agent`
- 全局接管页:`/me/master-agent/takeover`
本轮不改 Android不改聊天页不引入新的数据存储层。
## 已批准方案
采用方案 A为配置类状态新增专用 SSE 事件,再把对应页面接到 `RealtimeRefresh`
新增事件:
- `ai_accounts.updated`
- `storage.updated`
- `master_agent.settings.updated`
## 事件分配
### AI 账号
以下写入动作统一发布 `ai_accounts.updated`
- 新增或更新 AI 账号
- 删除 AI 账号
- 切换当前主控 AI 账号
- 更新 AI 账号健康状态
### 附件与存储
以下写入动作发布 `storage.updated`
- 保存附件存储配置
### 主 Agent 设置
以下写入动作统一发布 `master_agent.settings.updated`
- 更新全局主提示词
- 更新或清空用户主提示词
- 创建、更新、归档用户记忆
- 更新 `master-agent` 项目的 `agentControls`,包括全局接管
## 页面接线
页面只监听和自身内容直接相关的事件:
- `/me/ai-accounts` 监听 `ai_accounts.updated`
- `/me/storage` 监听 `storage.updated`
- `/me/master-agent` 监听 `master_agent.settings.updated`
- `/me/master-agent/takeover` 监听 `master_agent.settings.updated`
## 验证
- 新增页面接线测试,确认以上四个页面都渲染了 `RealtimeRefresh`
- 新增事件发布测试,确认关键状态写入路径会发布正确的事件
- 跑相关测试、`npm run lint``npm run build`