Files
ycode/docs/专家使用逻辑对齐-2026-10-16.md
T

5.7 KiB
Raw Blame History

专家使用逻辑对齐

2026-10-16,用户要求“对齐一下使用专家的逻辑”。本轮按 WorkBuddy 5.8.2 的 REA 证据修正使用交互与技能预加载,未将其宣称为完整 Agent 运行时 1:1。

原版证据

ASAR SHA256:035254bc76310ea46317433e4840602094543ef323d2d5c5aff7c131729de918。源代码仅分析已经通过 REA 保存并复核 SHA 的导出;新增原版观察仅为被动画面,没有输入、召唤、发送或修改原版任务。

  • 原版使用状态机:REA 核对,列出 ev_717fa5e846e64d67ac19c8925d121bff632c0d3aefb3603b10858559cabb2dcb 等 Evidence、模块 SHA、函数范围和新旧 UI 分支差异。
  • 当前原版首页/算法专家标签:ev_7e9604adb87a3d21570eb7a371001e48b3d316ee0388a03a97e2cb564d03aff7,1336×901;留有未发送默认提问。归档 .tmp/rea-css-evidence/ev_7e9604adb87a3d21570eb7a371001e48b3d316ee0388a03a97e2cb564d03aff7.json。
  • 标签:原 src-DbE1_mgM.js ExpertChip/ExpertAvatar,源 SHA 与范围见 src/renderer/src/capabilities/SourceActiveExpertManifest.json 和 恢复说明。组件局部几何和16项计算属性与上述原版观察一致;不代表整页面逐像素验收。
  • 技能规范、四份原包、主进程插件切换:运行语义核对,包含原版版本、Evidence、文件 SHA 和未证明项。

已实施行为

操作/状态 当前 YCode 行为
首页选择/召唤专家 激活成功后绑定当前未发送草稿,不创建空会话,不自动发送
从已有会话直接进入侧栏专家中心并召唤 准备独立新任务,继承模型和空间;原会话绑定保持
会话输入框“召唤更多专家”后返回 明确携带原 owner,绑定原会话;不按专家 ID 搜索任意历史会话
用户已经输入问题/修改默认文本 保护当前用户文本、附件、引用和技能;激活完成时再次依据当前输入判断
空输入或仍未编辑的专家默认提问 按新专家默认提问预填;非文本独立输入不被普通预填覆盖
会话换到没有默认提问的专家 清除旧的未编辑自动预填,保留用户文本
首页移除专家 保留当前输入;移除能力绑定
会话移除专家 只清未编辑自动预填;用户输入和历史消息身份保持
重复选择当前专家 普通选择重新激活;同一专家正在进行的激活共享请求
快速切换、离开当前任务 版本与 owner 校验阻止旧激活结果覆盖新选择/新草稿;会话写入排队
依赖/激活/磁盘写入失败 保留原绑定和草稿;源标签移除失败回滚;展示实际错误
激活元数据 默认提问和绑定由同一份已验证文档返回,取消并行 activate/read 的版本混用
输入工具栏标签 使用恢复的原头像/职业名/截断提示/hover移除;标签是 status 控件,没有虚构点击菜单
技能加载 plugin.skills 注册目录;Agent YAML skills 按真实 SKILL.name 唯一匹配预加载。PM/UI按需读取,C++/算法各预加载一个声明技能

新选择器暂沿用恢复的 legacy 菜单视图,并以 manifest 明示的 reselectSelected 宿主适配接入当前 cr 的同 ID 重激活行为;未声称整套新 cr AddMenu 已原体替换。

验证

  • npm run build:通过;日志 .tmp/expert-usage-build-20261016.log。
  • npm run test:expert-usage:50/50,真实 production Zustand 状态与草稿策略、受控 IPC;包含失败、迟到选择、owner切换、运行中禁止原会话切换等,不请求模型。
  • node scripts/verify-expert-flows.cjs:61/61(50+11),报告 .tmp/expert-flows-c7J65f/report.json。实际生产 renderer/preload/IPC → 实际 OMP → localhost 受控上游;创建/召唤/角色上下文/编辑/会话返回/移除/预填/新进程恢复。模型注册清空隔离迁移项,所有发送前要求模型地址为127.0.0.1。新增交互验证没有增加用户消息。
  • 选择器原生 42/42,.tmp/expert-picker-native-cxKfqC/report.json;标签原生 38/38,.tmp/active-expert-native-yS4h06/report.json。两份恢复脚本 --check 通过。
  • 技能预加载 15/15、四包 370/370(197文本原 SHA保持)、真实后端 73/73、快照 15/15,报告路径见运行语义核对文档。
  • npm run test:chat 与 npm run test:conversation:通过。
  • node scripts/verify-live-imported-experts.mjs:真实用户 YCode 四位专家原生鼠标召唤通过,197文本/四头像 SHA 保持,0次发送、0渲染异常;报告 .tmp/live-imported-experts-XhbL3D/report.json。根上下文查看算法专家召唤画面,标签已位于工具栏并显示原头像/职业名。

用户应用与限制

最终构建已正常更新用户 YCode;更新前确认无运行回合,保留并恢复原选中会话 b54d80bd-ff69-4ec8-9bb1-e21b31b2b9a9。没有修改用户模型配置、原专家包内容或历史消息。

最终进程 PID 59560,renderer index-Cm10d3yD.js,main SHA256 d54ff8aa3c837690df61144a6d8770661ddfda3761ead689f45ded449b53ab17。实机验证后恢复原会话并打开“我的专家”;输入为空,无运行回合。

仍未对齐:独立系统层专家角色、Agent maxTurns、原 CLI 插件/Agent 切换生命周期、团队调度、所有失败/动效状态与整个页面像素验收。当前专家角色仍通过 capability 文本进入模型 user 上下文;原版实际采用插件/Agent override。原 CLI 最终模型消息层级与计数器还需 REA 证据,不能将本轮交互验收替代它们。第三方工具的运行时/API/CLI依赖保持真实状态。