Files
MailUI4Agents/client/electron
JianFeeeee 35f71d5144 test(webui): 全流程演练的两处判据修正(同主题请求的定位、工作区目录)
第三次跑通 **37/37(0 失败 0 无法判定)**,含真 Agent 闭环:写信带附件 →
pi 请求 bash 授权 → **在界面点同意** → 决策落库 → pi 回信把附件原样带回
(sha256 一致)→ 回信出现在收件箱。

两处都是**判据/前置条件**的问题,不是产品缺陷,但都会伪装成产品故障:

1. 授权页上同一 Agent 的请求主题**一模一样**("是否允许执行 bash?")。原先按主题
   `.first()` 选行,于是点到了**别的会话那条旧请求**上 —— 网关回 `expired` 警告,
   界面看起来"点了但没生效"。现在按**本轮会话别名**定位分组容器
   (`header.locator('xpath=..')`,DOM 探针确认头与请求行同容器),且**只在折叠时**
   才点头按钮(已展开时再点会把它折起来,那正是第二次又落到别人行上的原因)。

2. **工作区寻址里的 path 必须是已存在的目录**,否则桥按设计回退到自己的兜底目录
   (`~/.pi/mail-sessions/<会话>`),产物就落在别处而不是我指定的目录。脚本现在
   先 mkdir —— zcode 那次也栽在同一条规则上。

顺带记录一个**产品层面值得决策**的现象:pi 的 worker 池上限是 3,而**"等人点头"的
worker 占着池子**。我上一轮的误点让 3 个 worker 全卡在等决策上 → 池满 → 新邮件排队
(设计如此:满载排队不丢信),于是我 300s 等不到回信。清掉卡住的请求后队列**立即
排空**、排队那封信被取出并起了一轮。也就是说:人在开会时,同一个 Agent 接不了新活。
是否把等待授权的 worker 挪出池子(或单独给额度),需要你定。
2026-09-13 12:06:40 +08:00
..