AI 能帮你写代码、帮你搜资料、甚至能帮你整理文档,可一旦涉及手机操作这一环,全哑火了。
电脑端的工具链已经被 MCP 协议打通,但手机——这个你口袋里最私人、风险最高、钱也最多的设备——还没有一个靠谱的桥梁。
开发者 DIYgod 在几天前开源一个叫 Pinky 的项目,4 天拿到 1.6K Star,登上 GitHub trending。
📦 4 Parts + Conclusion
👉 滑动
一句话定性:装在你电脑上的手机门禁,让任何支持 MCP 的 Agent 都能操作你真实的 iPhone 或 Android 手机,但关键一步必须你点头。
Pinky 是一个跨平台桌面应用,macOS(Apple 芯片和 Intel)、Windows、Linux 三端通吃。
它的核心机制是一个 MCP 网关——Agent(Claude Code、Claude Desktop、Codex、Cursor,甚至一段普通脚本)通过 Pinky 暴露的 MCP 工具去操控手机,而不是直接对接。
所有高风险动作都在 Pinky 这一层被拦下来,等你批准后才会真正执行。
这个思路和市面上已经有的一些手机自动化工具(比如 Auto.js、Appium、scrcpy)完全不同。
那些工具要么没有 AI 接入能力,要么没有安全审批机制,要么只支持 Android。
Pinky 是第一个把 MCP + 真机操控 + 安全网关 这三件事同时做对的开源项目。
Pinky 能在这么短时间内火起来,靠的不是"让 AI 操控手机"这个噱头——真正的杀手级特性是它那一套扎实到近乎偏执的安全设计。
亮点一:审批扣在网关里,不靠提示词嘱咐
这是 Pinky 最核心的设计哲学:Enforce, don't instruct.
Agent 点到付款按钮,MCP 调用直接挂起,返回一条 approval_pending,里面绑定了会话 ID、设备 ID、租约、工具名和参数——然后弹出审批窗口等你点。60 秒没人回答,默认拒绝。
批准之后网关还会复核按钮是否还在原位——如果屏幕变过(比如弹窗出来了、App 崩溃了),就回一个 stale 让 Agent 重看。
按钮识别词表覆盖 10 种语言,FAQ 自己也承认冷门文案可能漏网,所以备了"每一步都问"和"只读模式"两道额外的闸。
Agent 自己没法批准,屏幕上的文字想说服它也没用。
亮点二:验证码和银行 App 对 AI 隐身
Pinky 默认把银行、钱包、密码管理器 App 对 Agent 整个藏起来——Agent 在列表里根本看不到这些 App,更别说去打开了。
密码框和验证码框也被特殊处理:Agent 可以看到短信内容里写着"您的验证码是 123456",但真正的验证码数字会被替换成六颗圆点,它永远拿到的是 Your code is ⋯⋯⋯⋯⋯⋯。
亮点三:有个状态叫 uncertain
Agent 在手机上点了"发送",手机突然掉线了,结果不确定。
大多数工具会硬报"成功"或"失败",Pinky 不——它返回一个 uncertain 状态,指引 Agent 先观察,禁止盲目重试。
发消息和付款这类动作重复执行的代价是真金白银,把"不确定"做成一等状态,比硬报成功诚实得多。
亮点四:Android 上的"第二屏隔离"
在 Android 13 及以上,Agent 在一个隐藏的第二屏幕上干活,手机自己的主屏幕照常归你用——你可以继续打电话、刷微信、甚至锁屏让它在后台跑。
较老的 Android 和 iPhone 上,Agent 用的是主屏幕,但你可以随时接管:点一下 Pinky 窗口里的投屏,Agent 立刻暂停,直到你交还;按快捷键 ⌥⌘.(Windows/Linux 是 Ctrl+Alt+.),在哪都能一键停掉所有任务。
亮点五:原生轻量,没有 Electron
窗口用 egoist 写的 MyGo 直接在 GPU 上绘制,没有 Electron,也没有 webview。
安装包只有 16–22 MB,在 Mac 上空闲时内存约 70 MB,CPU 占用 0%——这个体积和性能,在今天基于 Electron 的桌面应用里简直是一股清流。
亮点六:全程录屏,逐帧门控
每次 Agent 操作的每一步都用大白话记下来,配上截图和录屏。
但录屏做了特殊处理:录制器扣住视频包,等到这一帧确认"可录"才落盘——锁定屏、被屏蔽 App、本人的手动操作一帧都不留,防的是有人用旧参考帧解出被删画面的残影。
录像按秒分段不重编码,崩溃最多丢一段。所有记录只存在你自己的电脑上,不联网。
第一步:下载安装 Pinky
三平台安装都很简单,Release 页面每天都在发新版。
macOS brew install --cask diygod/tap/pinky,或者下载对应架构的 .dmg 拖进"应用程序"。
Windows 下载 pinky-setup--amd64.exe 运行即可,不需要管理员权限。首次运行 SmartScreen 可能会提示"Windows 已保护你的电脑",点"更多信息" → "仍要运行"就行。
Linux Debian/Ubuntu 下 sudo apt install ./pinky__amd64.deb,其他发行版解压 .tar.gz 直接运行 pinky。
第二步:连接手机
打开 Pinky,点"添加手机",按提示操作:
Android 调试开启流程:
1设置 → 关于手机 → 连续点"版本号"7 次开启开发者模式;
2设置 → 系统 → 开发者选项 → 打开"USB 调试";
3插 USB 线,手机弹出"允许 USB 调试"时点允许;
4Pinky 会自动安装 Pinky Companion App。
Android 11 及以上也可以走 Wi-Fi 配对——手机在开发者选项里打开"无线调试",点"使用配对码配对设备",在 Pinky 里输入显示的 IP、端口和 6 位码就行。
配对不成?Pinky 的错误提示写得极其详尽:是访客 Wi-Fi 开了 AP 隔离、还是 Mac 没给本地网络权限、还是 adb 版本太旧,一句话就能定位。
iPhone 配置流程:
1插 USB 线到电脑,iPhone 解锁点"信任"输入锁屏密码;
2设置 → 隐私与安全性 → 打开"开发者模式"(这个开关是 Pinky 让它出现的),iPhone 会重启;
3Pinky 把 Apple 的开发者磁盘映像挂载到 iPhone 上——映像随 Xcode 提供,Mac 上装一次 Xcode 就行,之后不用再开。
iPhone 连接完成后,拔掉 USB 也能自动切到 Wi-Fi 模式,插回线再切回有线连接,任务不会中断。
第三步:接入你的 Agent
Pinky 在"设置 → 智能体"里提供了一键接入,支持 Claude Code、Claude Desktop、Codex、Cursor,以及任何能使用 MCP 服务器的 Agent——可以在同一台电脑上用 stdio 方式连,也可以通过 HTTP 远程连。
以 Claude Code 为例,在 Pinky 里点"连接 Claude Code",它会自动把 MCP 配置写到 ~/.claude.json 里,重启 Claude Code 就能看到 Pinky 提供的 19 个工具。
之后在 Claude Code 里说"用 Pinky 帮我在手机上打开微信发一条消息",Pinky 窗口就会弹出,你实时看着它操作,关键步骤等你点头。
想试试但不想碰真机?Pinky 提供 --fake 参数,会模拟两部假手机让你完整跑通全流程,零风险。
Pinky 真正让我印象深刻的不是它"能操控手机"——技术上 adb 和 Xcode 早就做到了——而是它做对了三件其他工具都没做好的事:
1审批进网关,不靠提示词。 把安全从 Agent 指令层挪到了基础设施层,这是范式级的改动。
2验证码掩码和银行隐身。 最小化信任原则,Agent 永远只能看到它该看到的那部分。
3uncertain 状态是一等公民。 承认边界、诚实回报,比假装完美有价值一万倍。
这三件事不仅适用于手机操控,对所有 Agent 赋能的高风险场景(比如支付、API 写操作、数据删除)都有参考意义。
想试的话,直接去 GitHub 拉:
🔗 https://github.com/DIYgod/pinky
记得先装 --fake 跑一遍全流程,跑通了再碰真机。祝玩得开心。
如果本文对您有帮助,也请帮忙点个 赞👍 + 在看 哈!❤️