# 专家、技能、连接器:复刻拆解(2026-10-16) 本轮完成原版实拍与源码评估,未修改 YCode 生产代码。观察对象为 WorkBuddy 5.8.2,全部通过 REA;没有安装、启用、授权或保存任何原版能力,也没有向原版发消息。取证结束已恢复原版首页。 结论:该入口包含统一管理页面、三套能力生命周期,以及与输入框、会话和运行时的联动。YCode 当前侧栏入口仍为占位,历史消息中的工具卡或词典不能算这些能力已经实现。 ## 功能边界 | 部分 | 原版已确认内容 | 实际运行所需 | | --- | --- | --- | | 统一入口 | 侧栏三项菜单、顶部专家/技能/连接器 tabs;各自搜索、主题、滚动、窄布局与返回导航 | 页面状态管理;切换页面保留会话、草稿与右栏状态 | | 专家 | 市场推广、分类、专家/专家团、综合/最热/最新、详情/案例、我的专家及创建/购买分类 | 专家目录与包;本地/云状态;激活、依赖检查、会话身份与助理显示快照 | | 技能 | 精选、推荐/SkillHub/套件、分类搜索、详情、已安装及批量管理;查找/上传/创建菜单 | 技能扫描/安装/升级/删除/启停、内容与资源读取、运行时刷新;用户调用与模型自动调用的开关语义 | | 连接器 | 商店、详情、示例、连接状态、Token/OAuth/device-code 配置;自定义 MCP 管理 | 目录与连接状态服务、凭据/授权、服务器生命周期、工具发现/开关/调用/重连/取消 | | 会话联动 | 输入框选择专家、技能、连接器;recent/pin、引用块、依赖提示、错误/安装进度与调用结果 | 会话级配置、持久化、回合配置快照、OMP/备用内核的上下文与工具适配 | 三部分各自有不同契约:专家可以激活插件并带入技能与连接器依赖;技能提供可加载的指令、资源与流程;连接器向运行时提供外部能力。不能统一缩成同一种列表和一个 installed 布尔值。 ## 专家拆分 1. 市场与详情:推广场景、分类、搜索排序、专家/专家团、头像标签、案例与召唤入口。 2. 我的专家:创建/购买来源、本地与云状态、编辑、导入导出、删除、同步、覆盖确认与空态。 3. 对话式创建/编辑:原版通过 `expert-manager` 技能与提示词返回首页,监听会话产出的专家包再刷新列表。需要恢复该技能正文、包格式与发现机制,不能先换成普通 prompt 编辑表再宣称等价。 4. 激活与会话绑定:调用 summon/插件激活,检查依赖,保存运行时身份与助理显示快照;切换失败回滚,处理草稿/会话并发。 5. 专家团:成员展示可以单独恢复;实际团队调度、各成员执行及云服务仍需额外证据和单独验收。 关键事实:选择专家不只是修改输入框标签;创建入口也不只是新增一条 JSON 记录。精确函数、字段、IPC 与未知见 [专家评估](assessment-experts-2026-10-16.md)。 ## 技能拆分 1. 市场与详情:推荐、SkillHub、套件、分类、搜索、文档/文件树、资源预览、安装/使用入口。 2. 本地注册表:来源、路径、版本、可用性、启用状态、套件成员、安装来源;读取技能正文与随包资源。 3. 安装生命周期:文件夹/ZIP/URL导入、同名覆盖与更新、修改检测、卸载及文件变化刷新。 4. 扫描与权益:扫描中、失败、风险确认、阻断、超时;付费、已购、授权、云端仅存在等状态。这些状态已有源逻辑,真实扫描/权益结果不能由本地假成功替代。 5. 调用:输入框添加、slash/引用块、最近与置顶;区分用户可调用、模型可自动调用、是否已在当前运行时就绪。安装完成后还需等待运行时命令刷新。 当前原版账号实拍为五个已安装条目,包含套件徽标;这只是账号当前状态,不作为写死的产品规格。具体源码与九个有界任务见 [技能评估](assessment-skills-2026-10-16.md)。 ## 连接器拆分 1. 商店与详情:搜索、列表加载与分页、已有/可添加状态、企业目录条件、详情、使用示例、工具信息。 2. 连接状态机:未连接、连接中、已连接、待授权、未授权、错误及修复;连接、取消、重授权、断开与删除有不同语义。 3. 授权:Token多字段配置、OAuth外部跳转与回调、device-code 倒计时和轮询;具体应用各自有服务要求。 4. 自定义 MCP:服务器添加配置、健康状态、搜索、工具计数、整服务与逐工具启停、编辑、删除、信任审批和工具过多提示。 5. MCP host 与会话注入:配置读取不等于工具可调用。需要实际连接/发现/调用,处理工具名称映射、取消、断线重连、进程释放与会话配置隔离。 实拍确认卡片主体打开详情,加号是独立连接动作;QQ 邮箱详情收到 Escape 后仍打开,应按它自己的关闭规则恢复。官方账号解绑、自定义 MCP 删除、临时断开不能合并成一个删除动作。详细状态矩阵和A–G任务见 [连接器评估](assessment-connectors-2026-10-16.md)。 ## YCode 当前基线 | 可复用的现有能力 | 当前缺少的部分 | | --- | --- | | 真实模型管理与两种 API 协议、OMP/备用网关、preload/IPC、会话持久化、回合配置快照、工作空间、工具执行/审批与结果渲染 | 专家/技能/连接器页面路由与数据服务、三个注册表、包安装器、专家包激活、MCP client/host与授权管理、输入引用/选择与会话能力配置 | | 原版已采 JS/CSS/SVG 与 REA 画面;当前 theme/layout/host adapter 的恢复经验 | 原版完整 daemon 行为、专家包 schema、`expert-manager` 正文、真实扫描/授权/云目录与同步服务、完整响应式与全状态像素验收 | 源码依据:`src/renderer/src/mock.ts` 的 experts 项仍 `implemented:false`;Sidebar 非新任务入口只显示未实现提示;Composer 的添加菜单当前提供文件和路径引用,未接专家/技能/连接器。YCode现有工具展示不能证明能力管理已实现。 ## 推荐实施顺序与验收 以下是 YCode 的实现建议,不冒充原版内部架构。最终目标仍是完整复刻;云服务与团队调度按用户此前安排分后续阶段。 | 阶段 | 有界工作包 | 完成标准 | | --- | --- | --- | | 0 | 补专家包/技能目录/daemon 契约证据,确定三个能力注册表与会话接口 | 未知字段显式列出;包格式、状态与scope有证据,现有模型/空间/对话不被覆盖 | | 1 | 原版统一页面、三类列表/搜索/详情、我的/已安装视图和弹层 | 恢复源DOM/CSS/SVG/状态逻辑;真实路由可切换;数据占位和功能实现分开记录 | | 2 | 本地技能管理与运行时加载 | 临时工作空间真实导入/启停/升级/卸载;下一回合确实加载/卸载技能,文件变化与scope隔离正确 | | 3 | 自定义 MCP host 与管理页 | 实际受控 MCP 服务可连接、列工具、执行、取消、重连和释放;禁用工具不再发给模型,凭据不进正文 | | 4 | 专家本地创建/编辑/导入、依赖与会话激活 | 对话产生真实专家包、被发现并显示;选用后改变实际执行;身份/依赖/切会话/重启恢复正确 | | 5 | 三类输入框选择、slash/引用、recent/pin、状态与工具反馈 | 明确引用发送到正确会话与空间;失败回滚、重复点击、安装中调用和运行中切换均实测 | | 6 | 应用连接器、云目录/同步/扫描/权益、企业功能和专家团 | 使用自有/获授权服务完成真实端到端验收;源码接口或相似界面不能替代服务结果 | | 7 | 全状态1:1验收 | 固定版本/视口/主题/渲染环境;正常、loading、空态、搜索无结果、失败、安装/授权/连接中、禁用、更新、窄窗、键盘与动效逐项对照 | 页面恢复可以与本地能力服务并行;专家功能链路依赖技能和连接器的能力,建议先落实后两者的运行时接口再集成专家。不要将所有数据和状态放进聊天 store;建议三类服务各自管理生命周期,由会话层保存稳定引用与回合快照。 ## 原版证据与本轮限制 WorkBuddy 5.8.2,ASAR SHA `035254bc76310ea46317433e4840602094543ef323d2d5c5aff7c131729de918`。静态源码以 REA `ev_717fa5e846e64d67ac19c8925d121bff632c0d3aefb3603b10858559cabb2dcb` 与本轮 `ev_e91787b1d4dea651582c6cf12827775b9068b0ee8b80c68ba08d4c1d87d94e90` 为主,相关脚本SHA已核对;各模块报告保留具体SHA、UTF-16 offset与证据范围。 | 实拍范围 | REA Evidence | | --- | --- | | 专家市场稳定页面 | `ev_20de2f04c99b1c27bc39b61f5e2f5a430c3c7029b09afb76b363652eb4fadc89` | | 我的专家空态稳定页面 | `ev_6f00d8b339cb4baf0af2a68f797e93dd6b5ce3ab18da2b43aa63ec09952c1d93` | | 技能市场动作帧(partial) | `ev_c827c8dc7dee0c67c7870f6bf8417b87ec7b4d90d507ecc5dc592b5878579f10` | | 已安装技能稳定页面 | `ev_9d8628a28fed60291e628cebaec55537bfb8274d4b6c8f746bffadcbc277d3fb` | | 添加技能菜单动作帧(partial) | `ev_ddef9315aaf0ff534cf02573212e205ba70e5b69dfc1b3dcf555b430920faf22` | | 连接器市场稳定页面 | `ev_e91bdc6e46275f4460985cfff25fd7f7bc334afc45f49fac1935de1249f4cb22` | | QQ邮箱详情与Escape动作帧(partial) | `ev_b898a87832d1e800810d391145a6ec6c6999e98b5cea6c7f382a3fc19aa7b3ac` | | 自定义MCP稳定页面 | `ev_b89281177f6a1cf2e4697887d576b8ddf7d811a8fa2d1148b7024a4ec898906f` | | 取证结束恢复首页稳定页面 | `ev_57f37739095ddd23938918a3cb0e299186b1febc05a002be1468ee7cfa0cb9a8` | 部分 action 的原生点击/等待及PNG已成功,但末尾 neutral-pointer cleanup 被取消,REA probe整体标failed;保留该失败,不说整条场景通过。对应帧只证明图中的操作后画面,顶层layout仍是操作前;另采静态页才作为稳定布局证据。验证命令 `node scripts/audit-capability-runtime.mjs`,输出 `.tmp/capability-assessment-20261016/runtime-index.json`。本轮未实现功能、未做YCode像素比较,也没有真实安装/扫描/授权/专家执行验收。