Day 0 先记录入口服务和设备通信:它们已有部分实测结果,语音入口、模型接入和界面控制还没有连成完整流程。

从手机问一句,让电脑去查看

我想让 Siri 接收一句话,再交给自己的模型处理,由模型调用工具查看或操作自己的电脑和手机。现有手机入口还没有连到这套桌面工具上。

具体一点,我想要的场景是——对着手机说“帮我看看 ChatGPT 最近一次回复我了没”,它去电脑上截个屏、看一眼,再回来告诉我。不限于这一个应用,别的应用也一样。

当时的选型笔记提到 Meta 的 Muse,并记下“2026 年 9 月发布,月费最高 100 美元”的信息。这些产品与价格说法在本篇里没有可回查的来源,不能据此认定发布状态或功能范围。对我自己的方案,已经明确的是运行位置:希望工具在自己的电脑上访问桌面、文件,并连接手机;相应的代价是要自行处理 Windows 和 iOS 的接口限制。

手机传话,电脑处理请求

手机侧只保留听写和结果播放,模型与工具放在电脑侧:

  1. 手机:嘿 Siri → 听写 → 一个快捷指令把文字发过来
  2. 电脑:入口服务收到文字,交给大脑
  3. 大脑:模型推理,需要看就截屏看,需要动就调工具
  4. 回传:结果念给我听

这样换模型、加工具都不用碰手机。

模型和设备工具打算先复用现有项目。原选型笔记写的是 Meta 开源的 Muse-Glimmer-30B(Apache 2.0、多模态、能看图),以及用于控制手机的 Ghost(MIT、62 个 MCP 工具、支持 iPhone over WebDriverAgent)。这些名称、许可与功能仍需对照正式仓库核实,这两个都只是选型,还没装上。

入口服务和 USB 通信已经实测

以下都是在这台机器上实测过的,写下来免得自己记混:

  • Tailscale 互通:电脑 100.104.113.63,iPhone 100.104.131.71,两边都能连上,防火墙也放行了。
  • 入口服务跑起来了:手机 Safari 打开能收到回话。但快捷指令本身还没建完,所以“嘿 Siri”那条路还没通。
  • USB 通道:pymobiledevice3 认到设备,截屏(1170×2532)、读进程(2501 个)、列已装 App 都能用。
  • 开发者模式:这台手机设了锁屏密码时打不开,最后是临时取消密码、跑 amfi enable-developer-mode、重启之后才开上的。密码已经加回去了。

模型部署、语音入口与界面控制

  • 控制手机界面:需要 WebDriverAgent,而它必须用 macOS 编译签名。这台是 Windows,所以卡在这。
  • 本地模型:Muse-Glimmer-30B 还没下载、没部署。计划跑在机房的 5090 上,这台机器的 4060 能否承载 30B,还没有按显存、量化方式和所需速度做验证。
  • 快捷指令闭环:URL 里插入变量那一步一直没弄对,目前只能手点。
  • “看屏幕回答问题”:这是最终想验证的效果,现在一步都还没测。

系统接口与进程管理的限制

  • 当前工具没有提供 iOS 系统 shell。 Android 上用过的 adb 操作方式,不能直接搬到这台未越狱的 iPhone 上。
  • 这条路线不替换 Siri 的系统后端,而是通过快捷指令把听写结果发送给自己的服务。
  • 当时没有找到录入这张门禁卡的可用入口,开启开发者模式也没有解决这个问题。这只能描述我这套设备和卡片的使用情况。
  • 打包应用不能直接双击 exe 启动,会报“没有程序包标识符”,得走应用模型。
  • 后台服务挂在会话下,会话一结束就没了,中途还被系统按内存压力回收过一次。

工具协助与一次误关进程

Agent 帮我写了什么: 入口服务和防火墙规则、USB 通道的探测脚本,以及这份方案本身。

我自己改了什么: 关掉又加回锁屏密码;在手机上建快捷指令;决定先不碰越狱那条路。

耗时: 没有完整记录,断断续续两天多。

出过一次岔子: Agent 为了强制打开某个应用的无障碍树,直接把我正在用的进程杀了,当时我可能正在跑东西。这条后来定成了规矩——关进程、重启应用之前必须先问我。这样能避免工具在排查时中断其他正在进行的工作。

接下来先做这几件事

  1. 把快捷指令收尾(URL 变量 + 朗读动作),验证“嘿 Siri → 电脑 → 念回来”这条最短闭环。
  2. 在 5090 上部署 Muse-Glimmer-30B,起一个兼容接口。
  3. 把入口服务的回声换成真模型。
  4. 给模型加截屏工具,验证“帮我看看 ChatGPT 回我没”这个场景。
  5. 解决 macOS 的问题,编译签名 WDA,再考虑控制手机界面。

前四步不需要 Mac,第五步才需要。