Skip to content

feat(chat):在聊天区显示运行中的子代理及任务说明 - #1418

Open
tossp wants to merge 5 commits into
agegr:mainfrom
tossp:feat/subagent-running-status
Open

tossp wants to merge 5 commits into
agegr:mainfrom
tossp:feat/subagent-running-status

Conversation

@tossp

@tossp tossp commented Oct 25, 2026 •

Copy link
Copy Markdown

Closes #1415

背景

顶部 Agents 按钮已经通过 #1311 提供运行数量及转圈提示。本 PR 不修改该按钮,也不重复实现那项功能;补充的是:用户留在聊天区、不打开 Agents 面板时,就能直接看到后台仍在运行的任务说明,尤其是主代理已经结束当前回复的场景。

改动

  • 新增独立的 RunningSubagentsStatus,在聊天末尾、原主代理阶段提示下方展示数量和派发任务说明,例如:

    有 3 个子代理正在运行(核对配置、检查日志、验证修复)

  • AppShell 通过新增的 getRunningSubagents() 传递当前会话家族的运行列表,复用现有 running-id 轮询,不依赖可能滞后的持久化 relation.status。
  • 数量和说明同源,包含嵌套子代理,不计入主代理和其他家族。完成、终止、异常的任务随下一次现有轮询移除;数量为零时整块隐藏。主代理等待、输出或空闲均不影响该提示。
  • 说明为空时回退到 profile,长说明直接换行;新增英文、简体中文及繁体中文文案。
  • 提示前增加三色 Pi SVG:轮廓固定,珊瑚色 → 黄色 → 蓝色以 ease-in-out 柔和渐变交接亮度,完整一轮 450ms、相邻色块相位错开 150ms,纯 CSS、无 JavaScript 定时器。容器为 1rem,随根字号缩放,默认页面下约 14px,不强制显示为 16px。
  • prefers-reduced-motion 下通过 <picture> 切换为真正静止的 SVG,保留三块全亮;动态图本身也保留直接打开时的减少动画媒体查询。
  • 补充组件、运行列表、SVG 动画相位、媒体源切换及桌面/手机布局测试,并更新相关主题文档。

保持不变的部分

最终差异中,原有“等待模型”等阶段提示和“运行命令”提示仍在 ChatWindow 原位,原判断条件、样式和 pulse 动画均保持不变。新组件不接管这两块状态;countRunningSubagents() 和顶部 Agents 数量/动画逻辑也保持原样。

不新增设置、运行时依赖、API 或轮询,不改变代理执行、停止、通知和会话文件格式。

验证

  • 单元测试:2880 项通过、1 项既有跳过、0 失败。本机以 root 运行,使用 setpriv --bounding-set=-dac_override,-dac_read_search npm test 移除 DAC 绕过能力,避免影响既有目录权限用例。
  • node_modules/.bin/tsc --noEmit --incremental false
  • npm run lint
  • git diff --check
  • 基于隔离会话夹具的 Next dev + Playwright 定向验证:1280px 桌面和 390px 手机;主代理空闲、嵌套子代理、数量及说明从 3→2→1→0 同步移除、长文本换行、简体/繁体文案。
  • 定向浏览器验证覆盖真实 SVG 动画相位、减少动画时的静态资源切换,以及图标与 1rem 容器一致的尺寸。
  • 本次动画修正:15 项相关单测、修改文件 ESLint、1280px / 375px 浏览器定向回归通过;验证整轮 450ms、150ms 相位偏移、七个渐变采样点和减少动画资源切换,并与所选预览效果核对一致。

浏览器用例使用合成 running-id 响应,不派发模型请求。相关检查已接入现有 E2E 入口;上述浏览器结果来自定向运行,并不表示整套 E2E 全部通过。此前整套 E2E 在既有 e2e/font-preferences.mjs 字体切换断言失败,未修改的上游基线 e533d9b 也能复现。

视觉取舍,供维护者确认

当前装饰性 Pi 素材保留固定三色;文字和容器仍使用现有主题样式。考虑到贡献规范要求复用主题色、避免新增颜色,这一图标配色是需要维护者确认的视觉取舍,并非新增主题或用户配置项。

TossPig added 5 commits October 25, 2026 18:43
保留图标随根字号缩放的既有实现,修正固定16px的测试假设并同步文档。关联 agegr#1415。
保留固定三色轮廓,以 ease-in-out 连续交接亮度,三块相位错开150ms;同步单测、浏览器时序断言和主题文档。Refs agegr#1415, agegr#1418。

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

功能建议:在聊天区显示运行中的子代理及任务说明

1 participant