### 背景 批量执行脚本时,只有侧栏「批量」标签上的一个圆点表示「有任务在执行」,看不出是哪个任务;而且「执行中」只覆盖启动阶段:并行任务启动完、串行任务最后一步满足条件后就变成「已完成」,但它带起来的服务仍在运行。 ### 要做 「正在运行」的判断(`packages/shared`,纯函数 + 单元测试): - 启动中:最近一次执行状态为 `running`,显示进度(已完成步骤数 / 总数); - 运行中:执行已结束,但它启动或复用的脚本(步骤的 `runId`)仍有未退出的; - 全部退出后不再显示。数据来自现有 `listGroupStates` + `listRuns`,不改 API 与 core。 显示位置: 1. 「批量」标签圆点:悬停 / aria-label 显示正在运行的任务名; 2. 侧栏顶部常驻条:每个正在运行的任务一行(名称、状态、进度),点击跳到任务,带停止按钮; 3. 项目详情的脚本行:属于批量任务的脚本显示「批量:任务名」徽标(含复用的脚本); 4. 标题栏:显示正在运行的任务名与进度,多个时「xx 等 n 个」,悬停看完整列表;窄屏隐藏。 不做:改 core 的执行状态定义、通知 / 托盘提示。 ### 验收标准 - [ ] `pnpm check` 通过 - [ ] 判断逻辑有单元测试(启动中、运行中、全部退出、复用、无 runId 的旧记录) - [ ] `pnpm e2e` 通过,`groups.spec.ts` 覆盖四处显示的出现与消失 - [ ] 需要时更新 ARCHITECTURE.md / PROGRESS.md
Activity
Delta1035 commentedon Oct 9, 2026
验证结果(PR #48):
pnpm check通过:格式、lint、类型检查;单元测试 shared 119、desktop 669 通过(新增active-groups.test.ts6 个:启动中、运行中、全部退出、stopping 仍算运行、复用 / 重复 runId、无 runId 的旧记录)。pnpm e2e(Windows)34 通过、2 跳过(SIGTERM 用例仅在 Linux 运行);groups.spec.ts断言启动中与执行结束后,「批量」标签、侧栏常驻条、标题栏都显示任务名和进度,脚本行显示「批量:front1」,停止后全部消失。feat(groups): show which batch run is running (#48)
chore(release): bring the v1.5.0 release commit into main (#62)