Skip to content

Multi-Agent Studio v1.7.5.8.3

Choose a tag to compare

@ColtM1873 ColtM1873 released this 27 Oct 15:02
· 39 commits to master since this release

Multi-Agent Studio v1.7.5.8.3

中文

会话列表卡顿修复 · 跨 multi-agent 串页修复(ID101)

修复(Fixed)

  • 多浏览器任务下,会话选择页「加载非常久」(ID101):/api/sessions 会在请求里同步探测每个会话的 CDP 端口;Windows 向已关闭的本地端口 connect 会静默丢弃 SYN,必须等满 1 秒超时,旧实现还会对同一端口探两遍——每多一个已关闭的浏览器,接口就多 2.1 秒(现场实测空闲 4.0–4.2 秒;任务在跑时同一页面的请求堆到 16.8 秒)。现在浏览器进程已退出即直接短路,探测成本为 0;/api/sessions 改为只读后台监控缓存,不再做任何网络 I/O。
  • 会话列表要等状态接口返回才渲染(ID101):现在先用会话列表把页面画出来,运行状态与浏览器着色等 /api/sessions 回来后再原地补绘;同一时刻只发一个 /api/sessions,不再互相拖慢。
  • 点进另一个 multi-agent,却显示上一个 multi-agent 的会话(ID101):异步视图在 await 之后没有「页面还是不是我」的校验,上一个 agent 的迟到响应会把它的会话画进新页面(标题是新 agent、列表是旧 agent,重进一次才正常)。现在用渲染序号 + alive() 守卫,并固定本次渲染的 agent_id / agent_name,迟到响应一律丢弃;视图定时器也按归属自清理,不会再把旧列表画回来。

改进(Improved)

  • 浏览器关闭后重新打开更快(ID101):复用 / 重开浏览器前会先看进程是否已退出,不再白等两次端口超时。
  • 着色与状态标签无感补绘(ID101):列表立即出现,浏览器颜色与「正在进行 / 任务完成」标签稍后原地补上,不整页闪烁。

后端改动需重启程序后生效;前端静态资源刷新界面(F5)即生效。浏览器着色最多延迟约 3.5 秒(监控 1.5 秒 + 列表轮询 2 秒),这是刻意取舍。

English

Session list latency fix · Cross-agent stale render fix (ID101)

Fixed

  • Session picker took many seconds to load in multi-browser tasks (ID101): /api/sessions probed every session's CDP port inline. On Windows, connecting to a closed local port silently drops the SYN and waits for the full 1 s timeout, and current_port() probed the same port twice — every closed browser added 2.1 s (measured 4.0–4.2 s idle; same-page requests piled up to 16.8 s while agents were running). A launcher whose process has exited now short-circuits to zero cost, and /api/sessions reads the monitor-thread cache only — no network I/O in that endpoint.
  • The list waited for the status endpoint before rendering (ID101): the page now paints from /threads immediately and fills in run state / browser tint when /api/sessions returns; concurrent /api/sessions calls are de-duplicated.
  • Opening another multi-agent showed the previous one's sessions (ID101): async views did not verify ownership after await, so a late response from the previous agent painted its threads into the new page (new agent's title, old agent's rows; re-entering "fixed" it). A render sequence + alive() guard now discards stale continuations, and agent_id / agent_name are captured per render. View timers also self-clean by ownership instead of overwriting the new timer.

Improved

  • Reopening a closed browser is faster (ID101): reuse / re-launch now checks whether the browser process already exited instead of waiting out two port timeouts.
  • Tint and state tags fill in smoothly (ID101): the list appears at once; browser colors and "running / done" tags are patched in place without a full-page flicker.

Backend change needs a program restart; frontend assets apply after a refresh (F5). Browser tint can lag up to ~3.5 s (1.5 s monitor + 2 s list polling) — a deliberate trade-off.