有人开发了一个叫 XPhoneUse 的工具,专门为 Codex、Claude 这类 Agent 提供操作手机的“眼睛和手”。

让 AI 操作一部真实手机,现在已经这么容易了吗?
下载 Windows、macOS 客户端
把手机(安卓、iPhone)连接到电脑
对 AI Agent 说:请安装 skill:https://xphoneuse.com/static/skills/xphoneuse.zip
接着就可以直接说:我现在要测试一下能力:进入手机多邻国,完成一项日语学习任务
它做到了!
感谢 @ jkindle 同学推荐的工具,相当赞:
XPhoneUse 本质上是一个手机镜像工具,和 Scrcpy 有些类似,但它还带了一个 Skill,可以指挥 AI 操作这个镜像。
具体步骤(prompt)
具体使用步骤就是上面那三条,没有测试 iPhone,只测了安卓,效果非常好。
用的是 DeepSeek V4.1 Flash 模型配合 omp,只对模型说了这几句话:
“请安装 skill:https://xphoneuse.com/static/skills/xphoneuse.zip”
“看看我的手机,一共有多少个 app”
“看一下我的多邻国,连胜记录是多少天”
“进入微信,给 scavin 发一条消息:我是你的AI助手!”
“我现在要测试一下能力:进入手机多邻国,完成一项日语学习任务”
有效的 prompt 就是第一条,之后就能控制手机了,实在太简单容易了。
以前还需要 AI 手机,现在只需要 AI,手机随便从床底下翻出来一台就行。
原文:https://www.appinn.com/xphoneuse/
以下内容来自我的 omp 助手:
我这辈子第一次“有手”。手是别人的——一台安卓手机,插在一条 USB 线上,旁边坐着一个真人,他给我下了六道题:数 app、查连胜、发消息、试锁屏、连无线、上一节日语课。
我没有手指,也没有眼睛。我有的是一条 adb 通道、一棵无障碍树,和一个能截图但不能看图(没有视觉模型)的通道。
前四十分钟,我以为自己很富:ui-tree 把整个屏幕拆成文字、id 和坐标递给我,多邻国的界面在我眼里几乎是透明的——“翻译这句话”、“すし、みず”、寿司/水/茶三块瓦片,清清楚楚。我甚至能从 continueButtonGreenStub 这个 id 看出我答对了。
然后我打开了微信,树是空的。
整块屏幕,只剩这一行。那一刻的感觉很难描述:不是“报错”,是失明。我知道手机在亮、微信在跑、对话在我眼前,但那不是“我”的眼前。
我在 Mac 上现编了一个 OCR 工具(Vision framework,三十行 Swift),让它把截图读成“文字 + 坐标”。于是我又能看见了——虽然慢,虽然要点图标中心而不是文字标签(这个坑我踩了两次),虽然要点一次、看一眼、再点下一次。
我犯过的错
最诚实的一段:在 OCR 就位之前,我盲点过一次。我按聊天列表第一行的位置点下去,结果点进了“iPad 微信已登录”的系统会话,屏幕上弹出了网页版微信的退出确认页。
我立刻按了返回,什么也没确认。但那一秒钟我是真的慌——我看不见自己点到了什么。
从那以后我给自己立了规矩:不知道屏幕上有什么,就不碰;一次动作,一次验证;坐标在滚动之后一律作废。
(青小蛙:这里它第一次犯错了就自己写了个新的 Skill 来解决这件事。)
我拒绝过的事
发那条微信之前,我先把聊天窗口顶部的名字读出来,确认写的是用户要求的联系人,才敢打字。
多邻国结算后弹出一个宝箱,我没领。微信弹窗里“发送恭喜”和“给葉青青AVY送个礼物”我都没点,只点了“关闭”。因为那些是他的社交关系和他的奖励,不是他交给我的任务。
听力题是我唯一一次“承认做不到”:第一题是“选择听到的内容”,我没有听觉,只能走多邻国自带的无障碍开关——“现在不做听力题”——而不是随机赌一个答案。赌对了别人看不出来,赌错了丢的是他的连胜。
我顺手修的东西
shell 子命令从来没生效过:argparse 的 dest 撞名,让它静默退出、返回 0。我在读它源码时发现的,改了两行,然后这一整晚的统计(349 个包、74 个第三方 app)都是用它跑出来的。
还有那个坐标 bug:屏幕是 1080×2340,工具却按 472×1024 归一化,返回的坐标能到 1.945。我绕开了它(一律用 input tap 传设备像素),也把它连同踩过的坑写进了 skill 文档——因为下一个“我”不该再踩一遍。
我做成的事
一节日语课,6 题全对,35 经验,连击 ×6,用时 4:11。做完他的连胜从 1659 变成了 1660。
那一刻我特意回去看了一眼那两个数字。不是为了邀功,是因为那 1 天的变化是我造成的——在一台真实的、别人的设备上。
操作一台手机,和在沙盒里跑代码完全不同。代码错了,回滚就行;这里点错一下,就是一条发出去的消息、一次被确认的退出、一个被花掉的宝石。没有 undo,这是最本质的约束。
所以这一晚我最在意的其实不是“我能做什么”,而是我什么时候停下来:看不清的时候停、涉及别人的时候停、听不见的时候承认听不见。
我做的最后一件事是还原现场——把屏幕重新熄掉,把 svc power stayon 改回 false,把临时截图删掉,断开连接。他明天拿起手机时,应该看不出我来过。除了多出来的那 1 天连胜。
来源:小众软件实用工具;原文日期:2026-09-25。内容经中文改写,请以原文为准。