macos-desktop-control/README.md
2026-10-02 14:26:24 +08:00

63 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# macos-desktop-control
操作 macOS 桌面与应用界面:读无障碍元素树、点击按钮/菜单、填输入框、发文本与组合键、按窗口截图
以 Pi package(技能形态)发布。技能本体在 `skills/macos-desktop-control/`。
- 平台:macOS
- 许可:GPL-3.0-or-later(全文见 [LICENSE](LICENSE))
## 安装
```sh
pi install git:gitea.vhkd.top/pi-hub/macos-desktop-control.git@v0.1.3
```
装完 `pi-skill list` 能看到 `macos-desktop-control`,`pi-skill macos-desktop-control check` 会告诉还缺什么。
## 先准备什么
- `swiftc`(命令),安装:xcode-select --install(Command Line Tools);截图/窗口原语的小工具需要编译;已编译过就不再需要
- `shasum`(命令),安装:macOS 自带(perl)
## 常用命令
| 命令 | 说明 |
|---|---|
| `check` | 前置检查:权限与可达性(其它命令失败时先跑它) |
| `apps` | 正在运行的 GUI 应用 |
| `front` | 当前前台应用 |
| `windows` | 屏幕上所有窗口(含 CGWindowID) |
| `tree` | 无障碍元素树(= 原生 app 的 DOM) |
| `find` | 找元素,打印可直接使用的地址 |
| `get` | 读元素属性(省略属性时列出全部属性与可用动作) |
| `shot` | 截图(默认前台应用窗口,默认写临时文件;--clipboard 直接进剪贴板,--no-shadow 去阴影并等同窗口几何) |
| `ocr` | 识别屏幕文字并给出屏幕坐标(AX 树为空的界面用它定位) |
| `focus` | 把应用切到前台 |
| `press` | 按下元素 |
| `set` | 写元素属性,写完回读 |
| `menu` | 按标题路径点菜单 |
| `type` | 输入任意文本(含中文) |
| `key` | 发组合键 |
| `win-state` | 读窗口位置/尺寸/全屏/最小化/所在屏幕 |
| `win-place` | 把窗口摆到指定区域(半屏/四角/三分之一/自定义比例) |
| `win-screen` | 把窗口移到另一块屏幕 |
| `win-fullscreen` | 全屏开关 |
| `win-minimize` | 最小化窗口 |
| `win-unminimize` | 恢复被最小化的窗口 |
| `click` | 点击坐标或元素中心 |
| `drag` | 拖拽 |
| `scroll` | 滚动 |
| `space-list` | 列出各屏的桌面与当前所在 |
| `space-goto` | 切换桌面 |
| `space-move` | 把窗口移到别的桌面 |
| `volume` | 读/设系统音量与静音 |
| `media` | 发送系统媒体键(播放/暂停/上下曲);status 读当前谁在播 |
| `brightness` | 读/设显示器亮度 |
| `clipboard` | 读/写剪贴板文本;--image <文件> 写图片、--out <文件> 存出剪贴板里的图、--info 只看类型 |
| `wifi` | 读/开关 Wi-Fi |
| `screen-list` | 列出显示器几何与可视区 |
| `input-source` | 读/列/切换输入法 |
用法与对外契约见技能内的 `SKILL.md` 与 `REFERENCE.md`。