Files
cc-web/.planning/subagent-plan-progress/findings.md
2026-07-24 08:00:31 +08:00

2.0 KiB
Raw Blame History

发现记录

2026-07-24

  • processCcwebMcpChildNotification 当前仅处理子线程 turn 和 agent message忽略计划通知。
  • processCodexAppNotification 已兼容 plan/updatedturn/plan/updateditem/plan/updateditem/todoList/updated
  • planUpdateItemFromParamsnormalizeTodoListFromPlanItemisTodoListPlanDone 可作为纯解析链路复用。
  • 子代理公开状态通过 ccwebMcpChildPublicStatemergeCcwebMcpChildIntoTool 和现有 child update 事件传给前端,适合承载精简计划字段。
  • 前端已有 createPlanProgressElement,可抽出由 { completed, total } 直接渲染的基础函数。
  • 当前工作区已有未提交改动和用户自有 CSV必须保留且不能误清理。
  • 子代理恢复路径当前只从原始 subAgentActivity input 恢复;精简计划应写进工具 input.agentsStates[threadId],并在恢复时读取对应 agent state。
  • rememberCollabAgentStateFromChild 会 spread 子代理公开状态,字段可进入缓存;但 mergeCollabAgentTaskState 需要确认不会在卡片工具合并时丢失计划字段。
  • 现有 Plan List 进度点只在总数超过 12 时显示计数;子代理卡片需求明确要求始终展示 completed/total,基础渲染函数需要可配置计数显示。
  • 样式文件实际为 public/style.css,后续 CSS 契约应使用现有 PUBLIC_STYLE_PATH
  • normalizeIdentifier 会把 inProgress / in_progress 都归一为 inprogress / in_progress;当前完成状态判断已经兼容多种形状。
  • 纯解析 API 适合返回 { item, todoList, progress, currentStep, done }:父线程用 todoList 更新工具,子线程只保留 progress/currentStep
  • 现有 Plan List 回归只断言 items 的 completed 和 progress可以在不改变 todo payload 形状的前提下从原始 entries 提取当前步骤。
  • Plan List 的桌面进度点单点实际占用约 22px在 220px 子卡片内最多 12 点会溢出,因此子卡片保留同一语义和主题色,但将点尺寸收敛为 8px。