Files
ycode/docs/WorkBuddy输入框上方任务区域核对-2026-10-18.md
T

6.2 KiB
Raw Blame History

WorkBuddy 输入框上方任务区域核对

日期:2026-10-18。对应用户问题:输入框上方是否有列表,展示后台命令和正在运行的子 agent。

后续实施:按用户“应当放到输入框上面”的订正,现有成员入口已从回复底部迁移到输入框上方,见 迁移与验证。后台命令列表与MainContentCore横向团队栏的完整1:1仍待补;下方保留本次调查时的基线。

结论与原先遗漏

用户记得的位置有源码依据。WorkBuddy 5.8.2 的 MainContentCore 宿主在输入框上方挂载同一个区域,其中包含两种独立组件:

内容 入口与行为
团队成员 / 子 agent TeamMemberBarSlot,显示主会话和成员的头像、名称及运行/完成/失败状态;点击成员切换成员任务对话,点击主会话返回。专家团队适用时支持收起为头像组再展开。
后台命令 BackgroundTaskCapsule,收起显示「N 个后台任务运行中」,点击展开列表,逐项展示终端图标、任务标题和状态/运行时长。

两者位于同一个输入框上方宿主区域,但不是把思考、普通工具事件、子 agent 和后台终端混成同一种事件列表。源码中成员使用团队运行时快照,后台任务使用单独的任务更新订阅。

上一批只实现了另一条渲染路径中的回复底部「N 位团队成员」及右侧成员详情,漏查并漏做输入框上方这两个组件。回复底部入口的存在不能证明上方区域不存在,也不能替代上方区域。

挂载链路

以下均为校验摘要后的REA保留脚本字符偏移。

main-content-core-Dlaq72qt.js:

  • 114100–122900附近:TeamMemberBarInline、TeamMemberBarSlot及收起头像组。成员通过 getTeamRuntimeSnapshot 获取;点击调用 setViewingMemberId,状态包括 running、completed、failed、killed。
  • 20906附近:useBackgroundTasks 订阅 onBackgroundTaskUpdate,按当前会话取任务;排除 completed、failed、cancelled、killed 后计算活动数量。
  • 279250–282150附近:hasTeamForCurrentSession / hasExpertTeamForCurrentSession 判定成员栏是否出现,成员数据不是由后台命令数组推导。
  • 284419–285590附近:qx 输入插槽同时组合团队成员栏与 BackgroundTaskCapsule。专家依赖提示出现时会替换成员栏,后台任务胶囊以 hasActiveTasks 为显示条件。
  • 295311附近:将 qx 传给 ChatContainer 的 inputBottomSlot。
  • 278600–280000及283600附近:选中成员后组装 agent-member 任务对话并放入成员视图;285608附近有返回主会话动作。这条路径不应直接等同于另一条路径的右侧详情面板。

src-0FGg1seX.js:

  • 1153035附近:ChatContainer 接收 inputBottomSlot。
  • 1157440–1158520附近:input-area-container 中先渲染 inputBottomSlot,后渲染输入控件 lt,证实虽名为 bottomSlot,实际位于输入框之前。

另一套 ConversationInputArea 路径

contexts-BMeWSUHk.js 还包含以下实现,需与上面的宿主路径分别记录:

  • 7183110–7187600附近:ConversationInputArea 在输入框之前挂载 BackgroundTaskCapsule;存在消息队列时移到队列上方的 ConversationInputStatusChips,避免重复挂载。
  • 5879189附近:useConversationBackgroundTasks 只读取 getShellTasks;5513204–5517500附近的 createBackgroundTaskStore 只从终端快照投影任务及活动数量。
  • 1388110–1390000附近:trackRunningBackground 显式排除 isAgentBackgroundUpdate。agent- 标识或工具名 Agent 不按普通后台终端追踪,不能据此把子 agent 加入该终端列表。
  • 6993900–7008100附近:任务列表支持运行/等待/完成/失败/取消状态;这套组件可点击打开 background-task 详情,并在支持时确认停止。4981687附近为终端详情面板。
  • 7186000附近:父组件要求有活动任务才挂载胶囊。胶囊自身虽有全部完成文案,不能据此声称父组件在所有任务结束后仍会保留入口。

MainContentCore 自带的较简化 BackgroundTaskItem 只展示图标、标题、状态,没有上述点击详情和停止按钮。两套实现不能不加区分地合并为同一套已运行行为。

证据身份

使用既有 WorkBuddy 5.8.2 REA 导出 .tmp/rea-runtime-scripts.json,Evidence:

ev_717fa5e846e64d67ac19c8925d121bff632c0d3aefb3603b10858559cabb2dcb。

脚本 SHA-256
main-content-core-Dlaq72qt.js 998ada4969d1bf7af8d2dace15c0bc2a3ca5bf0ee9cf941823d85a66d6967991
src-0FGg1seX.js f2c6dbae949041b4e2bb456e8a23ae2837f2d7893ac24bf471485f77c7b15178
contexts-BMeWSUHk.js 5f35b7489b107e21ef452c8ee88a95265756f6fc444841eef869228bbc44768b

CSS来自REA保留导出 .tmp/rea-css-recovered/,Evidence:

ev_377c8790468b3c67dad8577aabb327f98d3140659f0fffdbabfcff5a40cc9e94。

  • main-content-core-D2cL2TEf.css:SHA-256 0dcd00c1efcc05d6e06d163ffdf7919fb75e7bc537b6020bd016facec51b299d。团队栏有水平滚动边缘渐变、收起头像组和状态图标;后台任务区域下留12px。
  • background-tasks-DpSXKuU1.css:SHA-256 61c98370fa4b423530a39b56291f806cce89825ffd9a4f02271c961d98c5f6d8。另一套后台任务列表面板使用16px圆角、12px 16px内边距、32px任务行;声明中包含.25s展开动效。

YCode 待补与验收范围

  1. 输入框上方的会话级任务宿主及团队成员状态栏,不能仅保留回合底部入口。
  2. 后台命令的独立真实状态、输出与生命周期;不能把所有执行命令或子 agent 快照冒充后台终端。
  3. 入口收起/展开、切换成员及返回、消息队列共存、会话切换、浅/深色和窄屏行为。
  4. 确认用户实际运行场景采用的宿主路径后,按对应路径验收,不混搭两套源码行为。

本轮只核对既有REA证据并订正文档,没有改产品代码或重跑上一批测试。没有直接读取原版安装目录、CDP/WebSocket或执行原版evaluate。上轮原版9223不可达,本轮未重试;当前窗口的具体激活路径与同场景视觉/动效仍未运行复核。上述结论是原版源码中的路径与行为,不是新增运行截图验收。