重新定义手机——我想给父母造一个说话就能用的手机
父母年纪大了,智能手机对他们来说越来越难用。不是因为他们笨,是因为手机的交互模式本来就不是为他们设计的——找 App、点菜单、填表单,每一步都是障碍。
我想给他们做一个东西:按住说话,松手执行。说"帮我点份盖浇饭",饭就点好了。说"给儿子发微信说我吃饭了",消息就发出去了。
做着做着,我意识到这件事比我想的要大一些。
市面上有没有人做过?
做过,但没人做好。
AutoGLM(智谱) 能控制 40+ 个 App,包括美团和微信,技术上最接近。但它是面向所有用户的,没有针对老人的设计。
豆包手机助手(字节) 2025 年底上线,有专用硬件,能跨 App 完成任务。实测任务完成率:20%。老人没有耐心重试五次。
OPPO 小布关怀版 是最接近我想要的产品——专门适老,能语音点外卖发微信。致命缺点:只支持 OPPO 手机。
结论:没有一个产品同时满足「任何 Android 手机 + 老人优先设计 + 可靠完成核心任务」。
而且我做的不是产品,是给我父母的专属版本。不需要通用性,只需要好用。
架构:一台手机就够了
最终方案极简:
父母的 Android 手机
按住说话 → 松手 → 执行
录音 → Rust 后端 → Claude → 返回指令 → Accessibility Service 执行
端到端数据流长这样:
老人按下按钮
↓
Android 录音 (PCM 16kHz mono)
↓
POST /api/process { audio: bytes }
↓
Rust: 阿里云 NLS → "帮我给儿子发个微信说我吃饭了"
↓
Rust: Claude API (Tool Use) → send_wechat(contact="儿子", message="我吃饭了")
↓
返回 JSON: { action: "send_wechat", contact: "儿子", message: "我吃饭了", reply: "好的,正在给儿子发微信" }
↓
Android TTS 播报 "好的,正在给儿子发微信"
↓
Android Accessibility Service 执行微信操作
↓
完成,TTS 播报 "已发送"
一台手机,一个 App,导航、微信、外卖全搞定。后端用 Rust(Axum),语音识别用阿里云 NLS,意图理解用 Claude Tool Use,执行层用 Android Accessibility Service。
Accessibility Service:比你想象的强大
很多人以为 Accessibility Service 只是给残障人士用的辅助功能。实际上它能做的事情是:
- 读取屏幕上所有 View 的内容(文字、位置、是否可点击)
- 模拟任何点击、输入、滚动
- 跨 App 操作,没有沙盒限制
把整个屏幕内容转成文字传给 Claude:
fun dumpScreen(node: AccessibilityNodeInfo, depth: Int = 0): String {
val text = node.text?.toString()
val clickable = if (node.isClickable) "[可点击]" else ""
// 递归遍历整棵 View 树
...
}
Claude 收到的大概是这样的内容:
[可点击] 老家川菜
宫保鸡丁
¥22 月售300+ 4.8分
[可点击] 加入购物车
[可点击] 去结算 (2) ¥40
它知道该点哪里。
点外卖这个问题
"帮我点份盖浇饭"背后有太多决策点:哪家餐厅、什么口味、几分辣、用哪张券……全自动太脆,老人也不需要全自动。
实际设计是这样的:
- Accessibility 打开美团搜索,读取搜索结果
- 把结果传给 Claude,Claude 结合历史记录推荐(3 天内吃过的降权,天气冷推热食)
- 语音播报三个选项:"第一个,老家川菜,宫保鸡丁 22 元;第二个……"
- 老人说"第二个"
- Accessibility 完成选菜、加购、结算
- 指纹验证才支付——语音说"下单"不够,防误操作
支付这一步用 Android BiometricPrompt,老人本来就习惯用指纹,自然。
这件事比我想的要大
Humane Pin、Rabbit R1 都失败了,原因不是方向错,是执行方式错了。
他们试图替换手机生态,从零建 App。
他们: [新设备] → 重建所有服务 → 失败
你的: [新界面] → 复用所有现有App → 可行
手机从"你操作的对象"变成"帮你干活的基础设施"。
就像你不会去"操作"电网,你只说"开灯"。
这个范式对老人成立,对所有人其实都成立:
现在: 想吃饭 → 开手机 → 找美团 → 搜索 → 筛选 → 选餐厅 → 选菜 → 下单
未来: 想吃饭 → 说"帮我点饭" → 吃饭
老人只是对现有交互方式最不适应,所以需求最迫切。但这个交互方式对所有人都更好。
我现在做的,本质是在验证一个命题:
意图 → 执行 能否完全绕过 App 界面层?
如果父母用起来顺畅了,这个命题就成立了。
下一步
先把 Rust 后端和 Accessibility 基础跑通,验证「语音 → 屏幕操作」的完整链路。
导航最简单——一行 Intent 调高德地图,先从这里开始。