前面对 ref 执行动作走的是可访问性 API。这一组命令处理的是 键盘和鼠标本身:按下某个组合键、把指针移到某个位置、拖一段距离。它们更接近物理输入, 因此对平台能力的依赖也更强。
命令
| 命令 | 作用 |
|---|---|
press |
按下并释放一个键或组合键 |
hover |
悬停到一个元素上 |
drag |
拖拽 |
mouse-move |
移动指针 |
mouse-click |
在指针位置点击 |
mouse-wheel |
滚轮 |
agent-desktop press --help
agent-desktop drag --help具体参数以 --help 为准,不同平台支持的输入路径不同。
无头与 –headed
默认无头。无头调用依然禁止激活前台窗口和合成输入——这是设计上的边界,不是缺陷。
需要真实指针和真实按键时,使用全局 --headed 标志:
agent-desktop --headed mouse-move --help有头意味着界面会因为你的动作而改变前台状态,你随后读到的树也可能是另一个应用的。 能在无头下完成的事情,就不要打开有头。
会拒绝运行的四个命令
key-down、key-up、mouse-down、mouse-up 这四个命令名已经发布,但会拒绝运行。
需要「按住再拖动」这类语义,用 drag;需要组合键,用 press。
各平台的输入能力
| 能力 | macOS | Windows | Linux |
|---|---|---|---|
| 点击 / 输入 / 键盘 | 支持 | 支持 | AT-SPI;X11 / GNOME 按键 |
| 鼠标输入 | 支持 | 支持 | X11,--headed |
完整对照表见平台支持,或者直接读本机的能力表:
agent-desktop skills get platform