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

77 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# WorkBuddy 输入框上方任务区域核对
日期:2026-10-18。对应用户问题:输入框上方是否有列表,展示后台命令和正在运行的子 agent。
> 后续实施:按用户“应当放到输入框上面”的订正,现有成员入口已从回复底部迁移到输入框上方,见 [迁移与验证](输入框上方成员入口迁移-2026-10-18.md)。后台命令列表与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不可达,本轮未重试;当前窗口的具体激活路径与同场景视觉/动效仍未运行复核。上述结论是原版源码中的路径与行为,不是新增运行截图验收。