一台闲置 Android 手机,如何成为全家的语音助手:Teya 的本地优先设计
家里的智能音箱很擅长倒计时和播放音乐,却很少能处理真正的家庭协作:谁去接孩子、牛奶是否该补货、这周已经花了多少买菜钱。这不是模型「不够聪明」这么简单,而是多数语音助手没有共享的家庭上下文,也很难安全地调用手机、日历和通讯录这类真实设备能力。
Teya 是一个值得拆解的开源尝试:把一部闲置 Android 手机横向固定在墙上,让它成为全家共用的语音 Agent。项目以 Apache-2.0 许可证发布,原生 Kotlin 实现,要求 Android 8.0 及以上;它不是自托管大模型方案,推理和语音服务仍需通过用户自己的 Mistral API Key 调用云端模型。这一边界很重要:Teya 的价值在于把家庭数据与设备控制尽量留在手机上,而不是宣称完全离线。
先把问题缩小:家庭助手不是聊天窗口
个人聊天机器人默认面对一个账户、一段会话;家庭场景则是多人、长期、共享且有权限边界的系统。一个可用的家庭 Agent 至少要同时处理三件事:
- 保存适合保存的信息。 「我对花生过敏」应成为某个人的事实;「明天带纸巾」则可能只是一次提醒。若直接保存完整对话,隐私成本和检索噪声都会迅速累积。
- 把回答变成受控动作。 新建日历事项、加入购物清单、设置闹钟和拨号,都比生成一段文字风险更高。
- 让接口真正可被家人使用。 墙上的屏幕、麦克风、扬声器和常亮前台服务,比要求每位成员安装一个 App 或打开网页更接近家庭公共设施。
Teya 的取舍是让手机承担「在场」和本地控制,云端模型承担推理、语音识别与语音合成。这样不会引入一台常开服务器,也能复用 Android 的电话、日历、闹钟和音频能力。
本地优先不等于把一切都放到本地
README 描述的目标架构,是将家庭成员信息、按人区分的记忆、联系人白名单、购物清单和支出记录留在设备侧,并且不把原始对话转录写入磁盘;它还设想每轮对话只提炼短笔记,再在夜间整合为长期事实,并让未被强化的信息逐渐淡出。不过,项目 roadmap 将结构化的按人记忆、remember/recall/forget 工具及相应管理界面列为待实现内容,因此不应把跨会话记忆库当作当前可试用能力。
同时,它明确把推理、语音转文字和文字转语音交给 Mistral 服务。唤醒词、打断检测/语音活动检测、回声消除和按成员区分说话人的能力则在手机侧运行。对开发者而言,这是一种更诚实的架构表述:敏感状态和设备动作在本地,计算密集且依赖模型的步骤在云端。部署前应评估 API 费用、网络可用性,以及家庭成员是否接受语音请求发送到所选模型服务。
把「能做事」收进明确的护栏
家庭 Agent 最容易出问题的并非回答质量,而是工具权限。Teya 当前已验证的用途包括购物清单、日历事件、计时器与闹钟、提醒和支出记录。README 对电话能力的设计是仅面向经批准的家庭联系人白名单,避免任意拨打未知或高资费号码;但 roadmap 标注电话功能当前仍不可用,因此这项白名单应被视为待完成的安全设计,而不是已经可依赖的防护边界。
这条设计很朴素,却是可迁移的工程原则:将自然语言的开放输入,收敛到可审核的对象集合。 对日历可限制可写入的账户;对联系人可维护白名单;对智能家居则应按设备、房间和动作分级授权。不要让「模型可以调用工具」直接等价于「模型拥有设备的全部权限」。
项目还建议使用专门为这台墙面设备新建的账户,不登录家庭成员的个人 Google、社交或银行账户。即使设备处在孩子和访客可触及的位置,暴露面也更小。这不是替代系统更新、锁屏和网络隔离的安全承诺,但确实是比复用主力手机账户更稳妥的起点。
动手前的最小验证清单
Teya 当前通过 GitHub Releases 分发 APK,而非 Play Store。若准备试用,可按下面顺序降低返工成本:
- 准备一部 Android 8.0 或更高版本的备用机,并规划常供电、网络和墙面固定方式;
- 从项目的 最新 Release 下载 APK,在系统提示时为浏览器开启「安装未知应用」权限;
- 首次引导时使用专用于该设备的 Mistral API Key,而不是个人主账户的通用密钥;
- 先只配置购物清单、日历和计时器,确认语音识别、网络和扬声器效果;电话功能仍在开发和验证中,不应纳入试用验收范围;
- 用不同家庭成员测试语音、日历和购物清单等已验证能力;跨会话记忆及其管理界面仍属路线图事项,不应作为当前验收条件。
README 也提醒,手机自带麦克风和扬声器主要针对近距离使用;较大的房间可能需要外接麦克风阵列或扬声器。不要在没有现场测试前,承诺跨房间唤醒词的稳定性。
值得借鉴的不是「拟人化」,而是边界
Teya 还很早期,项目路线图中仍有读取其他应用通知、应用内操作以及 BLE/Matter 智能家居控制等计划项。因此,读者应把这些能力视为方向而不是当前交付功能。它最有价值的启发是:家庭 Agent 可以不从复杂的多 Agent 编排开始。先用一部廉价、可替换的 Android 设备建立公共入口;再把记忆、工具调用和账户权限拆开设计;最后才逐步增加模型和自动化能力。
当 AI 走出个人聊天窗口,真正需要工程化的不是让它「更像人」,而是让每一份数据、每一次动作和每一个失败模式都有清楚的归属与边界。