我为什么开始折腾一台自己的 AI 手机
2026 年 9 月,我开始折腾一件事情:
拿家里的一部旧安卓手机,做一台属于自己的 AI 手机。
事情的起点,其实很简单,前段时间我在网上刷到不少豆包手机二代的视频。
看起来确实挺酷,AI 可以帮我操作手机,打开 App、订外卖、查航班、处理一些邮件。
以前我们是点一下图标,再一步一步操作,现在可以口述让 AI 帮我干活。
我看了几段演示以后,第一个感觉是“这东西真有意思”。第二个感觉是“我好像不会买”。
原因也很简单,这种手机真正有意思的地方,恰恰是 AI 能够替我操作手机。但手机厂商又必须给它加上各种限制,毕竟涉及支付、隐私、账号安全。第三方厂商也会给 App 设置各种权限限制。导致这个形态的手机看起来新鲜,也能用,但用起来不够爽(想象中的)。
所以我脑子里很快出现了一个想法:
如果我买一台这样的手机,玩一阵以后,大概率还是会拿它当普通手机用。
那我为什么不拿家里的旧手机自己做一台?
反正旧手机已经闲着了,搞坏了也没什么损失。
我想做什么?
一开始我并没有想做一个“豆包手机平替”,那是一个大团队才能做到的事情,即使我加上 AI 也难以达到大厂水准的 1%。
我一直在想我能拿它来做些什么呢?
手机拥有摄像头、麦克风、GPS、通知、传感器、网络连接,还有各种 Android App,能做的事情(特别是生活方面)比 PC 还要强。
而且它随身携带,理论上可以感知我周围所有的声音和摄像头取景范围内的所有画面。就像电影《Her》里面的那部手机,插在口袋里,像一位随身伴侣。
我说一句话,它(也许该用她?)能听见。我跟她聊眼前的场景,她会自己拍一张照片,理解,再和我对谈。当我需要的时候,她可以帮我打开 App 处理一些事情。到了晚上,她会把和我经历的一整天发生的事情整理出来,跟我聊这一天发生的事情,以后该怎么处理。
越来越像《Her》了,这个实验听起来很性感,很有吸引力,个人觉得比豆包手机有吸引力(没有贬低豆包手机的意思)。
千里之行,得走一千里。我首先得解决一个最基本的问题:怎么让 AI 真正控制这部手机?
为什么我最后选了旧手机 + Termux?
确认开干后,我的思路很明确,绝对不用本地模型,算力尽量放在云端,手机本身负责感知、执行和常驻。
不论是考虑电池续航,还是本地小模型的能力,云端模型都是唯一解。手机只需要运行一些程序,产出中间成果物,然后通过 API 调用云端模型,得到我想要的结果。
iOS 直接淘汰,即使越狱,也不会有那么高的系统权限,自由度一开始就被限制住的话,上限就被拉低了。
而 Linux 开发板,虽然成本很低,可是外形过于扎眼,不便于携带,软件生态也完全不如 iOS 和 Android。
Android 无疑是最合适拿来做这件事的系统,廉价且有 root 权限的手机到处都是,不管是家里淘汰的老机器,还是网上买一个二手,都非常方便。软件生态极其丰富,几乎可以覆盖当代人生活的方方面面。
至于为什么是旧手机,那当然是因为穷。主力机要用于工作和生活,折腾坏了买不起新的。
而且 Android 还有 Termux。
如果你没用过 Termux,可以把它理解成在 Android 手机上塞进去一个 Linux 命令行环境(这可太适合程序员了!)。有了它以后,手机就突然变得有意思起来了,Node.js、Python、Git、各种命令行工具,都可以跑。
更重要的是,Termux 还有一套 API,可以让程序访问 Android 的一些能力,例如电量、传感器、剪贴板、通知、相机、录音、截屏等等,这就非常接近我想要的东西了。
手机负责身体(五官),Termux 负责神经系统,云端的大模型负责大脑。这样,在架构上,这件事已经成立了。
旧手机刷机
我手里的旧手机是一加 Ace 2,原神香菱限定版。在我更换小米 14 ultra 后,它已经闲置了一段时间,而且一加手机在全球极客圈里面口碑都还不错,很适合拿来当实验机。
我先给它刷了 AOSP 系的 Evolution X Android 15,然后把 Root 搞定。Root 之后,很多原本只能由 Android 系统完成的事情,就开始有了操作空间。
接下来安装 Termux,play 商店下载,给 root 权限,运行,暂时没有任何问题(后面碰到了大问题……)。
termux 跑起来了
Termux 跑起来以后,我开始一点一点测试手机的能力。电量、Wi-Fi、通知、剪贴板、屏幕、相机、传感器,这些东西陆陆续续都能控制。
这时候我第一次觉得这玩意儿好像真的能做成。以前手机对我来说就是一个封闭的消费电子产品,现在我可以从命令行直接控制它。再往前一步,就是让 AI 来执行这些命令。
在安装完npm, Python,Claude Code 后,整个手机开始有了一个很“奇怪”(令人兴奋的)的形态:我拿着一部普通安卓手机,打开 Termux,输入 claude,然后,一个 AI Agent 就开始在手机里面工作了。它可以执行命令,可以读写文件,可以运行 Python,可以调用手机能力,手机突然从“工具”变成了“平台”。
但我很快遇到了第一个真正的问题。
有 root 权限却无法录音
当时我最想测试的是麦克风。因为对于我设想中的 AI 手机来说,录音其实是非常重要的能力。没有声音输入,所谓“随时和 AI 说话”就很难成立。结果其他能力基本都能用,唯独麦克风不行。
我执行termux-battery-status没问题。执行其他 Termux API 命令,也基本正常,但是涉及 API 桥的命令开始集体超时。
最开始我以为只是某个包版本不对,后来我发现事情比想象中麻烦得多。
我当时甚至一度把问题判断成了 Termux 上游版本错位,结果折腾了一圈,才发现真正的问题完全不是版本号。而是我把两套不同来源的 Termux 环境混在了一起。
同一个版本号,背后甚至可能是两个不同的构建。直到我把真正工作的二进制文件拉出来,用strings看里面的协议字符串,我才发现:
一个构建写着:
startservice com.termux.service_api另一个构建则是:
broadcast com.termux.api/.TermuxApiReceiver它们的版本号一样,但两边根本不是同一套东西。
最后我把 Termux 的环境重新理顺,API 桥恢复后,麦克风才可以正常录音,传感器、通知、相机等能力也可以调用。
开一个新的 Termux 会话,执行命令:
claude --version && termux-battery-status两边都正常返回,终于搞定了,那一刻其实挺有成就感的。
这时候起,我手里的已经不再只是一部闲置的安卓手机,她至少具备了成为 AI 伴侣 “身体”的基本条件:有 Linux 环境,有 Root,有硬件接口,有网络,还有一个可以真正执行任务的 Agent。
接下来真正有意思的事情,才刚刚开始。我想让她一直陪着我,想让她能听见我说话,想让她知道什么时候该响应,想让她记录一天发生的事情,想让她自己操作手机里的 App。
她就是这部手机,这部手机就是她。
下一篇,我准备专门讲这次最让我头疼的那个坑:为什么 Termux 明明显示的是同一个版本,装进去以后却完全不能互相配合?