Files
ycode/docs/能力中心与本地能力接入-2026-10-16.md
T

8.6 KiB
Raw Blame History

后续专家实施已推进:真实创建/编辑/注册/会话激活及整应用51项通过,见专家本地创建与激活。本文原“专家未实现”保留为前一轮基线,完整1:1尚未验收。

能力中心与本地能力接入(2026-10-16)

上一轮拆解已进入生产实现:侧栏入口、统一管理中心、本地技能与自定义 MCP 已接入真实服务,并进入完整应用验收。本轮没有改动原版账号、技能、连接器或任务,也没有向原版发送消息。云端服务与专家团调度仍按用户要求后置。

已实现范围

部分 真实行为 验证边界
管理中心 侧栏入口、专家/技能/连接器切换、搜索/管理/详情入口;切换保留聊天组件与草稿,右栏按原会话保存 原版源 tab、header、卡片、SVG、token、基础组件规则已恢复;全状态像素尚未通过
本地技能 文件夹/SKILL.md/ZIP 导入、同名覆盖、启停、读取正文和资源、修改检测、导出、卸载;发现空间 .agents/skills 与 .claude/skills 受管副本存于 userData;卸载保留导入源。空间技能只启停/读取,不能由受管卸载接口删除
技能会话联动 输入框添加菜单与 / 打开技能选择;搜索、置顶、最近使用;按草稿 owner 保存选择,消息持久化 skill:// 引用;编辑/重发保留引用 新回合读取真实技能指令。手动调用与模型自动调用的 metadata flags 分开处理;并非原版完整富文本编辑器恢复
自定义 MCP JSON/Monaco 编辑、配置 hash 批准、stdio 与 Streamable HTTP、分页发现工具、整服务/逐工具开关、重连、删除、取消与退出释放 实际 SDK client/server 往返;旧回合不能借配置变更调用新服务。第三方 Token/OAuth/device-code 尚未接入
对话运行时 OMP 与备用 Gateway 共享动态工具快照/分派;自动加载技能、受限技能资源读取、MCP 调用审批与真实结果 两个内核分别经过受控真实本地服务验证,不以此证明原版内核等价
MCP 消息视图 保留实际协议工具名;使用 server/tool 身份元数据投影到已有原版 mcp_call_tool 专用视图,审批显示可读名称 只改变展示投影,历史回传仍使用真实工具名;全状态像素未验收
专家页面 源导航、我的专家空态、创建入口、搜索/分类;缓存参考条目明确只读且不可激活 创建按钮目前返回真实新草稿讨论职责/依赖;尚未创建、发现、导入或激活专家包

集成选择与修复

三类能力独立于聊天 store;src/shared/capabilities.ts 定义类型契约,preload 仅暴露受控方法。会话层保存技能稳定 ID/URI 和实际回合上下文,以恢复原生分支及备用内核历史。连接器凭据使用系统 safeStorage,只返回字段名;本地注册表和技能安装通过原子提交保存。

不可用 MCP 在启动时后台连接,普通发送不会等待它的网络握手。回合只捕获已连接工具、连接 generation 与配置 hash;禁用、删除和改配置使旧调用失败,只有用户回合 signal 才产生用户取消语义。受管技能损坏、缺失或 YAML 无效时保留可定位/卸载的禁用条目,避免无关坏包阻断普通聊天。

完整应用启动验收发现主进程使用 ESM 产物却依赖 __dirname;改为 dirname(fileURLToPath(import.meta.url)),sandbox preload 继续 CommonJS。弹层继承管理中心主题变量,避免 portal 脱离作用域。源码几何验收还补齐了 Input/Button/Segmented 基础规则,修正空态垂直偏移。

验证

完整应用脚本 scripts/verify-capability-flows.cjs 使用隔离 userData/OMP profile、生产 renderer/preload/IPC、实际 OMP、真实 SDK stdio 服务和受控 OpenAI 上游。覆盖草稿往返、技能真实安装、Monaco JSON 保存、hash 批准、四个工具分页发现、技能引用、聊天内工具审批、真实结果渲染、模型自动加载,以及全新 Electron 进程的持久化和后台重连。

文件选择只控制 OS picker 的返回路径;JSON 编辑走实际 Monaco paste 事件,未改模型或连接器的后台状态来伪造 UI 成功,也未触碰系统剪贴板。模型/空间测试数据通过生产 IPC 设置于隔离目录;原版未参与该运行验收。父测试进程检查每阶段报告存在且 PASS,防止 Electron app.quit() 退出码掩盖失败。此前失败的独立目录保留,不计入通过。

详细最终结果与本机更新状态见文末验收记录;模块证据和局部测试分别见 专家/统一中心实现、技能实现、MCP 实现。已有对话、取消、持久化回归也已运行。少数旧 Node 测试在捆绑 YAML 后需要 createRequire ESM banner,已修正测试加载方式,未 mock 新生产能力以绕过失败。

原版证据

目标 WorkBuddy 5.8.2;ASAR SHA 035254bc76310ea46317433e4840602094543ef323d2d5c5aff7c131729de918。所有原版信息均经 REA,包括本轮补采空态 SVG;本地恢复脚本只解析保存的 REA 正文。

  • 基准 renderer JS:ev_717fa5e846e64d67ac19c8925d121bff632c0d3aefb3603b10858559cabb2dcb。
  • 技能市场模块:ev_e8faf60b3d22b99ede302f2d0efdfb3145f53f59789d4a345f5892dc13a589a4。
  • CSS:ev_377c8790468b3c67dad8577aabb327f98d3140659f0fffdbabfcff5a40cc9e94。
  • 原版运行态截图、partial probe 限制和各模块 SHA/offset 见 总拆解 及模块恢复 manifest。

还需继续

  1. 通过 REA 补 expert-manager 真正正文、专家包 schema、产出发现及 daemon 激活契约,接本地专家创建/编辑/导入、依赖与会话身份。当前角色咨询草稿不能算专家创建完成。
  2. 技能详情的完整资源预览、URL 导入、更新、原版 Tooltip/Avatar/富文本引用和输入选择细节。目录、扫描、云同步、权益与购买依赖服务,当前诚实显示不可用。
  3. 第三方应用连接器的 Token/OAuth/device-code、修复/取消/解绑及云目录;当前仅自定义 MCP 本地能力闭环。
  4. 固定相同数据、视口、主题、侧栏宽度与渲染环境,逐项验收正常/空态/加载/错误/授权/编辑/禁用/窄窗/键盘/动效。局部源码与几何一致不代表整页或整个模块 1:1 已完成。

最终验收与本机更新

验证 结果与记录
生产 build + node/web typecheck PASS,.tmp/capability-build-20261016.log
完整应用 → 实际 OMP → 真实 MCP + 技能自动加载 → 新进程恢复 14 项主流程 + 6 项重启 PASS,.tmp/capability-flows-n92g8Y/report.json;包含结构化引用、实际工具身份、REA 专用 MCP renderer
生产备用 Gateway → 真实 MCP + 技能正文/资源 → 真实 HTTP 上游 17/17 PASS,.tmp/capability-gateway-TxUvcv/report.json
技能文件系统 / 原生局部 UI 59/59 与 37/37 PASS,.tmp/skills-files-iAkonv/report.json、.tmp/skills-ui-fR8rWr/report.json
MCP SDK host / 新进程恢复 / 篡改失信 36 + 7 + 2 项 PASS,.tmp/mcp-backend-7PNwXc/;另有13项原生管理 UI 与12项配置 helper 验证
中心与专家源几何 / 原生交互 33/33 PASS,.tmp/capability-center-k6vN5H/report.json;源 header64、tabs60/60/78、gap24、我的专家空态Y472.5/548.5、创建108px/14px、右侧动作300px、稳定参考卡156px;IME/主题/480窄窗等已验
既有聊天回归 test:omp、test:chat、test:persistence、test:conversation PASS;OMP 生命周期/取消/磁盘终态保持

当前用户 YCode 已加载最终 renderer index-C0lP5ThT.js,技能/MCP API 和侧栏入口可用。更新前确认无运行回合、附件、资源引用、编辑消息或模型设置表单;测试安装/模型/MCP/会话均留在隔离目录,没有导入用户正式数据。一次更新助手的末尾 CDP 检查失败,保留恢复文件后单独确认最终构建已加载,再通过原会话行恢复 owner,验证原 owner 与空草稿完全一致才清理该恢复文件;最终记录 .tmp/live-capability-update-20261016.json。原模型及会话数据保留。

原版截图保存的侧栏宽为284.28125,本机独立验收默认280;该保存状态差异不拿来假定整页X坐标/像素相等。参考专家首卡宽度仍为322.578125,对照原在线长列表319.234375:缺少原长列表滚动条及推广/数据状态,尚有差异,明确保留后续验收。