坐标化 computer-use 模式(截图 → 定位 → 模拟输入 → 验证回路)
背景
App 页签 P1 解决了「启动」;spike(scripts/spike/uia-cloudmusic-spike-report.md,结论归档于 #70 评论)证明:
- UIA 语义自动化对 Chrome/正规 Electron 应用可行(同机 Chrome 实测 163 节点、输入框可读)
- 对网易云这类 OSR 自绘应用不可行(OrpheusBrowserHost 5 节点、无水合)
- 可操作性是 per-app 属性
因此对自绘应用,唯一通用路径是坐标化操作:截图 → 视觉定位元素 → SendInput 模拟点击/输入 → 截图验证效果。
Owner 核心需求
集成一个小的图形识别模型:当用户没有配置视觉模型时,可以本地完成截图识别。开源界有 1B 以内的图形识别模型。
初步调研(2026-07-18,待规划阶段核实)
<1B 候选:
- TinyClick(Samsung,0.27B,Florence-2-Base 底座):ScreenSpot 73.8% / OmniAct 58.3%,~250ms 延迟,专为单击定位训练;~250ms CPU 级延迟可行。⚠️ 论文自述为 research artifact,新应用上真实准确率会掉;HF 权重许可证待核实(Florence-2 是 MIT,TinyClick 权重许可需查)
- Florence-2-Base/Large(0.23B/0.77B,MIT):原生 ScreenSpot≈0(未微调不能做点定位),但 OCR/检测/短语接地可用
- 2-3B 边界(供参考,超出 1B 限制):ShowUI-2B(75.1% zero-shot)、ZonUI-3B(86.4%)
分层定位策略(规划基线假设):
- UIA 优先——免费、精确、可靠(spike 已证 Chrome/Electron 可用)
- Windows.Media.OCR——Windows 内置 WinRT OCR,零下载、中英文、返回 bounding box,覆盖「找到'搜索'按钮」类文本锚点
- 本地小模型(TinyClick 类)——用户未配视觉模型时的兜底
- 用户配置的云端视觉模型——上限能力
关键工程约束
- 运行时:companion 是 Node TS SEA 单 exe;本地模型推理路径(onnxruntime-node 原生绑定 vs sidecar 进程)是核心架构决策
- 模型分发:不能打进 SEA exe(体积);按需下载到
~/.cmspark-agent/models/,sha256 校验 + 许可证确认门
- 同 IL 原则:SendInput 对同权限应用无需 UIAccess/EV 证书(spike 结论);UAC/安全桌面硬性不可达,必须 fail-closed
安全焦点(对抗阶段必查)
- 截图注入:屏幕内容是不可信输入——恶意窗口可以在屏幕上「写指令」骗过 VLM 驱动回路;规划必须含 VLM 提示词隔离与「屏幕指令绝不视为用户指令」原则
- 误点击/错误窗口竞争;DPI 与多显示器坐标映射
- 禁区:密码框、支付确认、UAC 弹窗——硬拒绝
- 证据链:每动作前后截图存证(脱敏存储)
- 与 App 页签白名单绑定:坐标化操作仅限白名单应用的窗口
流程
按 owner 规则:规划 agent → 对抗 agent →(owner 审)→ 开发 agent → 评审 agent。
规划产出:docs/decisions/coordinate-computer-use-plan.md
对抗产出:docs/decisions/coordinate-computer-use-adversary.md
非目标(初拟,规划可修订)
- macOS/Linux(先 Windows)
- 连续录制/全天候屏幕理解(screenpipe 类)
- 游戏/全屏独占应用
- 自动化绕过任何应用的反自动化机制
坐标化 computer-use 模式(截图 → 定位 → 模拟输入 → 验证回路)
背景
App 页签 P1 解决了「启动」;spike(
scripts/spike/uia-cloudmusic-spike-report.md,结论归档于 #70 评论)证明:因此对自绘应用,唯一通用路径是坐标化操作:截图 → 视觉定位元素 → SendInput 模拟点击/输入 → 截图验证效果。
Owner 核心需求
初步调研(2026-07-18,待规划阶段核实)
<1B 候选:
分层定位策略(规划基线假设):
关键工程约束
~/.cmspark-agent/models/,sha256 校验 + 许可证确认门安全焦点(对抗阶段必查)
流程
按 owner 规则:规划 agent → 对抗 agent →(owner 审)→ 开发 agent → 评审 agent。
规划产出:
docs/decisions/coordinate-computer-use-plan.md对抗产出:
docs/decisions/coordinate-computer-use-adversary.md非目标(初拟,规划可修订)