diff --git a/src/store/store.ts b/src/store/store.ts index 14a366b..aa1b676 100644 --- a/src/store/store.ts +++ b/src/store/store.ts @@ -225,7 +225,10 @@ export class Store { for (const r of rows) by[r.status] = r.n; const g = (s: string): number => by[s] || 0; const executing = g('executing'); - const running = executing + g('analyzing') + g('speccing'); // agent 在跑:executor + planner + // 严格「活 agent」:真实在途 run(status='started'),而非按任务状态——冻结/排队/待审中的都不算 + const running = (this.db.prepare( + `SELECT COUNT(*) AS n FROM runs r JOIN tasks t ON r.task_id = t.id WHERE t.project_id = ? AND r.status = 'started'`, + ).get(projectId) as { n: number }).n; const attention = g('plan_review') + g('spec_review') + g('exec_review') + g('needs_attention'); // 待审批闸 + 需人工 const TERMINAL = new Set(['done', 'cancelled']); let alive = 0;