用途: 本技能用于操作真实的原生桌面应用、操作系统界面,以及Superset之外的浏览器窗口。若目标是Superset应用内浏览器面板,应改用superset:browser;若某项结果可通过应用API、专用CLI或直接文件系统操作完成,应优先采用这些非GUI方式。
主要能力: 通过本地驱动程序暴露可访问性树快照、指定窗口截图、原生应用菜单操作、窗口几何设置,以及点击、输入、按键等定向输入。技能强调语义操作优先:使用invoke_menu处理原生菜单路径,用set_value或type_text填写可访问字段,用press_key或hotkey处理非文本按键,用set_window_frame调整窗口并验证。对Chromium或Electron页面内容,可获取浏览器状态并通过browser_click、browser_type、browser_navigate等操作;像素坐标仅用于画布、视频、WebGL或自定义绘制控件等可访问性树缺失的场景。
使用方式:
- 选择驱动:用户指定则遵从;否则使用已安装的支持驱动,默认推荐Cua Driver,仅macOS用户可考虑Peekaboo。两个都未安装时,先询问用户再安装,不静默安装或升级。
- 安装与预检:macOS/Linux可用安装脚本,Windows用PowerShell脚本,并执行autostart、doctor、status、permissions等检查。权限缺失时请用户授权,不得用AppleScript或合成输入绕过。
- 创建任务会话:在首次GUI观察前用start_session创建唯一会话,并在每个支持会话的工具中传入同一会话。
- 快照—执行—验证循环:先声明后置条件,通过get_accessibility_tree发现目标,再用get_window_state获取指定PID和窗口的新快照;优先使用element_token而非element_index或像素坐标;每次只执行一个动作,默认后台投递,必要时才前台投递;动作后重新快照并验证结果。
- 失败处理:控件缺失时刷新快照并检查对话框、弹层和菜单;无效果时只重试最窄的失败步骤,依次尝试后台可访问性、后台像素输入、前台输入;仅在语义、可访问性、像素和前台窗口路径全部用尽后,才按驱动版本支持的方式升级到全桌面控制;目标或结果不明确时停止并报告可见状态,不点击未知对话框或重试破坏性操作。
- 清理:最终进行新快照或语义回读,报告可观察结果,只结束本任务创建的会话,不停止共享驱动守护进程或关闭无关窗口。
适用场景: 需要打开或驱动原生应用、在桌面窗口中点击或输入、操作操作系统界面、处理Superset之外的浏览器窗口等任务。也适用于需要截图证据并发布的验证场景,可按说明将截图与index.html整理到目录中发布。
限制与安全: 技能触及真实应用和已登录会话,检查与操作应严格限定在用户请求范围内,不得提取凭据、Cookie、令牌或无关隐私数据。在发送消息、提交产生外部承诺的表单、发布、购买、删除数据、更改账户、接受法律条款等有后果的外部操作前,须立即获得确认。认证提示、通行密钥、密码和MFA由用户自行处理。截图可能包含邮件、消息、密码管理器或其他客户数据,发布前应逐张检查、裁剪不必要内容,并使用仅自己可见的可见性设置,除非组织另有需要。除非是请求的一部分,应保持用户窗口、焦点、标签页和剪贴板原样。