浏览器验收工具参数冲突(本地诊断记录)
环境:BrowserSkill DSH 插件 0.3.2。此记录仅供恢复票32验收,不修改插件、不控制浏览器进程、不发布外部issue。
可复现症状
当前模型工具契约要求为 browser_session 提供 action、browser、device、height、noFocus、requestId、session、url、width 全部字段。为了关闭本任务 owned session,调用必须出现 session='wrak' 和 requestId='',插件返回:
Specify either session or requestId, not both
空字符串不是省略,也不是 undefined;因此不能用填空串避开互斥校验。自动续跑 Round1 与 Round2 仍为同一错误。用户重载 browser-skill 后也未恢复。
其他同时存在的参数冲突:
- observe:cursor 与 maxDepth 同时传入,被 bsk 拒绝。
- emulate off:off=true 与 device/width/height 同时传入,被拒绝。
- debug:动作无关的 pointer、slowMs 等强制存在,被 operation-specific 校验拒绝。
- 此前 owned session 列表仍保留5个条目,但 wrak 的 snapshot/page 已返回 session not registered;start 随后报5个会话上限,stop又受上述互斥拦截。
静态证据与落点
安装文件:C:/Users/ASUS/.dsh/profiles/desktop/node_modules/@wxg-prc-cpg/browser-skill-dsh-plugin/lib/index.mjs。
- 101–109:SESSION_STOP_PARAMS 中 session/requestId 只有 type/description,没有 required。
- 4378–4380:operationArgs 仅摘掉 action,把其余参数原样送入对应动作。
- 4393–4401:组合工具只明确 action.required=true,再拼 spec.parameters。
- 4431–4455:browser_session 的 URL/尺寸/设备等字段没有 required。
- 3135–3137:resolveStop 以 !==undefined 判断字段存在;两个字段同时存在必抛互斥错。
由此可确认:插件本身声明可选字段与当前模型收到的必填字段不一致。尚未读取 Harness/provider 的schema转换实现,不能断言具体哪个转换环节引入required,更不应该改插件业务校验或清理其会话账本来掩盖错误。
恢复后应做什么
- 恢复模型侧工具对可选参数的省略能力,或正确转换为 operation-specific schema;例如 stop 只能要求 action+session 或 action+requestId。
- 经原 injected browser_session 关闭本任务owned session并确认清理,不删除插件会话文件、不借用别的任务窗口。
- 用 desktop 3840×2160 viewport(不自动传device preset)新建Agent Window。
- 按 tools/pipe-models/README.md 验证真实降级、隔离GPU压力、模板404及固定相机运动FPS,保存画面和读数。
本记录不会把离线adapter404回归当成浏览器实测;票保持claimed/open,目标没有完成。