feat: 升级至 v0.3.9 — 工具批量审批 + run_command 频率限制优化 + Toast 规范

1. 工具批量审批:解决并行工具审批弹框覆盖问题,新增批量 IPC 通道和列表 UI,支持同工具多次调用分组展示;2. 审批弹框健壮性:超时 toast 防风暴、agent 状态同步清空、ErrorBoundary 防白屏;3. run_command maxFrequency 从 3 调整为 10;4. 开发规范新增 Toast 通知铁律(必须使用 MeToast)
This commit is contained in:
2026-07-21 11:43:41 +08:00
parent 76bd72b702
commit 64af91bde9
11 changed files with 608 additions and 177 deletions
+18
View File
@@ -86,6 +86,24 @@
| 头像 | Avatar | 自写头像圆形容器 |
| 列表 | List、ListItemButton | 自写列表项 |
#### 3.2 Toast 通知铁律
**所有 Toast 通知必须使用项目封装的 `MeToast` 组件**,禁止自写 Toast 组件、禁止直接使用第三方 Toast 库(如 notistack、react-hot-toast、react-toastify 等)。
| 场景 | 规范 |
|------|------|
| 前端主动显示 Toast | 使用 `MeToast` 组件(通过 `showToast()` 或对应 hook 调用) |
| 后端通过 IPC 触发 Toast | 主进程发送 `toast:show` IPC 事件,参数 `{ type: 'success' \| 'info' \| 'warning' \| 'error', message: string }`,前端 MeToast 监听并统一渲染 |
| 类型枚举 | `success` / `info` / `warning` / `error` 四种,不得自定义 |
| 并行事件防风暴 | 同一来源的并行事件(如多工具超时)需在后端节流,不得依赖前端去重 |
**原因**
1. 统一视觉风格与动画效果
2. 集中管理 Toast 队列、堆叠顺序、自动消失时间
3. 避免 MUI Snackbar 与第三方库混用导致重复弹出或层级冲突
**例外**:无。任何 Toast 需求都必须走 MeToast 通道。
**例外**:仅当 MUI 确认不存在对应组件时,才可使用原生 HTML 元素 + Tailwind CSS 实现,且必须注释说明原因。
#### 4. 允许自写的场景