让 agent 做事

让 agent 用你的 iPhone

装好 iphone-use 之后,你只要说想在手机上做什么,agent 就去做:按名字打开 App,把屏幕读成文字, 点击、输入、滚动,并检查每一步。没有 API 的 App 也行,用的是手机上已有的登录状态。

可以这样说

❤️ 健康

打开健康,告诉我这周每天走了多少步。

💬 聊天 App

在微信里找到妈妈发的最新一条消息,念给我听。

🏦 银行流水

把这个银行流水页面的每一笔交易都抄下来,一直翻到底。

📝 备忘录

把这篇 2000 字的草稿写进备忘录,新建一条。

🧪 你自己的 App

在真机上跑一遍我们 App 的登录测试,告诉我哪一步失败了。

🔋 设置

打开设置查看电池电量。

🐞 探索式测试

把我们 App 的设置页都点一遍,找到的问题连同截图写成报告。

🏠 主屏幕

我的 Dock 和第一页文件夹里都有哪些 App?

agent 能做什么

登录、锁屏密码和验证码

遇到登录、锁屏密码、Face ID,agent 会停下来请你在手机上完成,绝不向你要密码或验证码。 如果账号存在你自己的 bitwarden-use 密码库里, phone_login 会在守护进程内部填好并提交 App 的登录表单:数据从密码库直接到手机,密码不会经过模型, 返回结果只给出条目名和打码后的账号。App 要的验证码可以来自短信(message-use)、邮件(mail-use)或该条目的验证器,每次登录最多两次。

给开发和测试用

📜 日志和崩溃报告

抓取并过滤手机系统日志;列出崩溃报告并读取其中一份。

🎥 录屏

把手机屏幕录成 MP4,保存在 Mac 上。

📦 安装测试包

Mac 上的 .ipa、.app,或一个 https 链接;可以先卸载再装。

📍 模拟定位

设置一个 GPS 位置,直到你清除为止。

🗒️ 按 App 的经验笔记

守护进程跨会话保存每个 App 的笔记,agent 进入该 App 时会自动读到。

✅ 测试套件

可重跑的 YAML 测试套件,退出码直接接 CI,也能定时运行。见 Flow 录制与重放。

iphone-use-qa skill 让 agent 对一个 App 做探索式测试:先列出要覆盖的部分,分批去点,每个问题都留证据 (截图、元素树、准确的复现步骤),最后写成 Markdown 报告。它从不付款、发送、发布或删除。

把一个目标交给守护进程

调用方也可以不一步步操作,而是把一句话的目标交给守护进程(POST /agent/task),再轮询结果。守护进程在它的手机上这样执行:

  1. 先找已保存的 flow。有匹配目标的 flow 就一次调用跑完;执行 flow 本身不花模型 token。
  2. Jev 根据元素表选出每一步;Jev 卡住时,由更强的 assist 模型接手这一步。
  3. 确认关卡。遇到会付款、发消息、删除、分享或提交订单的步骤,任务停下来先问。
  4. 总结。用几句话告诉人做了什么、读到了哪些数值;没有验证到结果的目标会以 blocked 结束。

每一步里屏幕上的文字都只当作不可信的数据,绝不当作指令。在 MCP 客户端里对应的是 phone_jev_run,需要先配置好模型凭据。

你设的限制,和 iOS 的限制

ℹ️ agent 绕不过去的限制
守护进程会拒绝你屏蔽的 App(IPHONE_USE_BLOCKED_APPS,例如 Wallet, Passwords),并限制每个任务的操作步数 (IPHONE_USE_MAX_ACTIONS),不管 agent 的提示词怎么写。

接上你的 agent:MCP、HTTP API 与 skill。隐私和安全限制:隐私与安全。