# Changelog — 2026-06-08 服务器全选筛选 + 脚本失败分组 **日期**: 2026-06-08 **基线**: `main@5f63fb0` ## 摘要 - **服务器列表**:新增「全选筛选结果」与分类视图「全选本组」;筛选变更自动清空选择。 - **脚本执行详情**:失败项可按错误类型分组(规则 B:去 IP/端口/路径);支持复制失败清单与分组摘要。 - **不做** CSV 文件导出。 ## 动机 - 分类 Chip 筛选 300+ 台后,表头 checkbox 仅能选当前页,批量改分类无法覆盖全量匹配项。 - 批量执行多机同类 SSH 失败时,列表视图难以一眼看出有几种错误。 ## 涉及文件 | 文件 | 变更 | |------|------| | `frontend/src/pages/ServersPage.vue` | 全选筛选、全选本组、watch 清选择 | | `frontend/src/pages/ScriptsPage.vue` | 列表/分组 toggle、复制清单 | | `frontend/src/utils/execDetailGrouping.ts` | 新建:规则 B 分组 | | `tests/test_exec_detail_grouping.py` | 分组键单测 | | `docs/design/specs/2026-06-08-servers-select-all-script-exec-export-design.md` | 设计(已更新范围) | ## 迁移 / 重启 - **无需** DB 迁移或 API 重启。 - 仅前端静态资源:部署 `web/app/` 即可。 ## 验证 ```bash pytest tests/test_exec_detail_grouping.py -q cd frontend && npx vite build bash scripts/local_verify.sh ``` 浏览器终验: - `#/servers`:选分类 →「全选筛选结果 (N)」→ 批量改分类 - `#/scripts`:打开失败执行详情 →「按错误分组」→「复制失败清单」