组件体系详解(六):平台控制面函数级实现拆解

返回总目录

上一章:核心组件函数级实现拆解

1. 本章导读

本章继续把粒度维持在函数级,不过对象换成平台控制面:

重点不是“它们属于哪个目录”,而是“具体哪个函数在负责映射、切换、聚合、下发和同步”。

2. permissions:从工具类型映射到审批 UI

位置:

2.1 permissionComponentForTool(tool)

实现职责:

这说明权限 UI 的分发依据不是字符串,而是工具类对象本身。

2.2 getNotificationMessage(toolUseConfirm)

实现职责:

它负责权限弹窗的通知语义,而不是审批本身。

2.3 PermissionRequest(...)

实现职责:

它本质上是“统一审批入口 + 工具审批组件路由器”。

3. tasks:后台任务工作台的函数级实现

位置:

3.1 getSelectableBackgroundTasks(tasks, foregroundedTaskId)

实现职责:

这样做的目的,是避免一个已经在主界面查看的 agent 同时又在任务对话框里出现一次。

3.2 BackgroundTasksDialog(...)

实现职责:

它的核心不是展示,而是“把多种后台执行体归一化成统一导航列表”。

3.3 toListItem(task)

实现职责:

这一步把后端任务状态模型转换成前端可展示模型。

3.4 Item(...)

实现职责:

它是任务列表项的统一渲染器。

3.5 TeammateTaskGroups(...)

实现职责:

这说明任务对话框里并不是把 teammate 当作普通任务平铺,而是保留了团队语义。

4. agents:agent 创建与浏览的函数级实现

位置:

4.1 AgentsMenu(...)

实现职责:

这个函数是 agent 控制面的总状态机。

4.2 AgentDetail(...)

实现职责:

这个函数的重点是“把 agent 定义对象展开成用户可审阅的配置单元”。

4.3 CreateAgentWizard(...)

实现职责:

关键设计是:创建 agent 的流程不是写死页面,而是“步骤数组驱动”。

5. mcp:MCP 面板的函数级实现

位置:

5.1 MCPSettings(...)

实现职责:

这个函数本质上是 MCP 控制台的状态机构建器与 server metadata 聚合器。

6. teams:多 agent 协作控制面的函数级实现

位置:

6.1 TeamsDialog(...)

实现职责:

它是 swarm 控制台的主状态机。

6.2 sendModeChangeToTeammate(teammateName, teamName, targetMode)

实现职责:

这是一种“双写”策略:先改本地配置,再发 mailbox 通知远端 agent 更新运行态。

6.3 cycleTeammateMode(teammate, teamName, isBypassAvailable)

实现职责:

6.4 cycleAllTeammateModes(teammates, teamName, isBypassAvailable)

实现职责:

这解决的是多 agent 协作中最典型的一类一致性问题:团队 permission mode 要么一起重置,要么一起进入下一档。

7. memory / skills / hooks:知识与配置面板的函数级实现

7.1 MemoryFileSelector(...)

位置:

实现职责:

这个函数实际上把分散在文件系统各处的记忆入口统一成了一个“memory 资源选择器”。

7.2 getSourceTitle(source) / getSourceSubtitle(source, skills)

位置:

实现职责:

7.3 SkillsMenu(...)

实现职责:

这说明 skills UI 并不是直接列命令,而是把 skill 当作一个按来源聚合的资产目录。

7.4 HooksConfigMenu(...)

位置:

实现职责:

这使 hooks 配置浏览器成为一个明显的分层状态机,而不是简单折叠列表。

8. design-system:通用交互基座的函数级实现

8.1 Dialog(...)

位置:

实现职责:

这个函数把终端对话框的“取消、退出、边框、输入指南”全部统一了。

8.2 ThemeProvider(...)

位置:

实现职责:

这套函数把主题系统明确拆成“持久设置、临时预览、系统解析”三层。

9. 本章小结

平台控制面下钻到函数级后,可以看到:

也就是说,这些“平台能力组件”真正复杂的地方,不在 UI 壳,而在函数级的映射、聚合、同步和状态机实现。