准备手机
在 PhysiClaw 能操控手机之前,手机需要一次五分钟、每部只做一次的设置:打开 AssistiveTouch、添加三个 iOS 快捷指令,并在浏览器里打开桥接页面(bridge page)。 这些都不会装任何 app 或开发者描述文件——全都是 iOS 自带的功能——但它正是「一支触控笔戳玻璃」和 「一部 PhysiClaw 能完整看见并操作的手机」之间的区别。
下面的步骤基于 iOS。整个流程假定服务已在运行,因为快捷指令和桥接页面要通过 你的局域网和它通信。
每一块为什么存在
Section titled “每一块为什么存在”有三个问题要解决,每一个都对应设置中的一块:
| 这一块 | 解决什么 |
|---|---|
| AssistiveTouch | 给触控笔一个屏幕上可以戳的按钮,用来触发快捷指令——触控笔没有别的办法去「按一个键」。 |
| 3 个 iOS 快捷指令 | 截图管线(像素级精确的捕获)和剪贴板粘贴——这些靠触控笔戳一下是做不到的。 |
| 桥接页面 | 一个手机一直开着的网页;它显示摄像头用的对齐标记,并把文本中转到剪贴板。 |
1. 桥接页面
Section titled “1. 桥接页面”桥接(bridge)就是一个网页,手机在整个会话期间一直开着它。它干两件事:
- 它在屏幕上画出彩色的角标——每个角落一小簇红/绿/蓝/黄色块——供俯拍摄像头在 校准 时自动识别屏幕、找到它的边缘。
- 它接收服务发来的文本并复制到剪贴板,这样 agent 就能粘贴一段消息,而不必一个字母一个字母地戳出来。
打开一次即可完成配对。Mac 上,服务已经打印出一个二维码链接;扫一扫,手机浏览器就会指向你局域网里的 桥接页面:
http://<lan-ip>:8048/bridge-
在 Mac 上,打开服务打印出来的那个二维码页面:
http://localhost:8048/api/bridge/qr。 -
用手机的相机 app 扫它,在 Safari 里打开链接。
-
页面应当加载出来并显示 PhysiClaw。让它停在前台,并保持手机不息屏——屏幕一旦睡眠,摄像头就 找不到那些标记了。
2. 三个 iOS 快捷指令
Section titled “2. 三个 iOS 快捷指令”每个快捷指令都很短——一两个操作。在快捷指令 app 里建好它们(点 + 新建一个),然后按下面所示分别
重命名。把 HOST 换成你服务的地址(也就是上面桥接 URL 里的主机部分)。
-
PhysiClaw Tap ——截一张屏。 添加 截屏(Take Screenshot) 操作。把快捷指令重命名为
PhysiClaw Tap。这是截图管线里负责 捕获的那一半;它会往「照片」里放一张新鲜的截图。 -
PhysiClaw Screenshot ——上传最新的截图。 添加 获取最新的截屏(Get Latest Screenshots),再加 获取 URL 内容(Get Contents of URL)。把 URL 设为
http://HOST/api/bridge/screenshot,方法选 POST,请求正文选 文件,文件设为 Screenshots 变量。重命名为PhysiClaw Screenshot。这会把像素级精确的 捕获发往服务——也就是 PhysiClaw 如何「看」 里screenshot的那一半。 -
PhysiClaw Clipboard ——同步剪贴板。 添加 获取 URL 内容(Get Contents of URL),URL 设为
http://HOST/api/bridge/clipboard(方法 GET),再加 拷贝到剪贴板(Copy to Clipboard),把它的输入设为 URL 的内容。 重命名为PhysiClaw Clipboard。这会把服务排好队的文本取下来、放到剪贴板上,随时可以粘贴。
3. 把快捷指令接到 AssistiveTouch 上
Section titled “3. 把快捷指令接到 AssistiveTouch 上”AssistiveTouch 是 iOS 屏幕上那个悬浮按钮——触控笔戳的是它,由它来触发快捷指令。打开它,并绑定三个 手势:
-
设置 → 辅助功能 → 触控 → AssistiveTouch → 打开。
-
在 自定操作 下,设置:
- 单点(Single-Tap) → 快捷指令 → PhysiClaw Tap
- 轻点两下(Double-Tap) → 快捷指令 → PhysiClaw Screenshot
- 长按(Long Press) → 快捷指令 → PhysiClaw Clipboard
现在,在 AssistiveTouch 按钮上点一下就截一张屏,点两下就把它上传,长按则同步剪贴板——这正是 校准向导 用来确认整条管线工作正常的那几个手势。
4. 把密码设为 111111
Section titled “4. 把密码设为 111111”PhysiClaw 能自己解锁手机,但它只知道一个密码:111111。这是故意写死的。如果真实密码躺在配置
文件里,或者被打进键盘逻辑,它就可能从日志或 git 历史里泄露——所以 PhysiClaw 从不存真实密码。把工具机
的密码设为 111111(设置 → 面容 ID 与密码),并且不要在这部手机上留任何你不愿交给陌生人的东西。