我把 AI Agent 塞进了诺基亚 110:逆向固件跑通 DeepSeek 聊天
Show HN: I Put an AI Agent on a Nokia 110
开发者逆向诺基亚 110 4G 固件,把计算器应用改造成原生 AI 聊天应用,通过 SIM 数据调用 DeepSeek chat API 并支持工具调用,可查电量、开手电筒、打电话、设闹钟。该原型从电脑载入 RAM 后即可拔线运行,但重启或关机后需重新载入,永久安装尚未解决;因手机内存仅 48MB,作者自建了极简 Agent 并压缩负载。
诺基亚 110 4G 上的 AI
我逆向工程了诺基亚 110 4G 的固件,并为它构建了一个原生 AI 聊天应用。你在数字键盘上打字,智能体就能使用手机自身的功能。
观看它运行
点击图片在 YouTube 上观看演示。
它能做什么
- 通过手机的 SIM 数据流量回答问题。
- 检查电池电量百分比。
- 打开或关闭手电筒。
- 拨打电话。
- 设置闹钟。
工作原理
将计算器应用改造成自定义聊天应用。它把你的消息发送到 DeepSeek 聊天 API,并相应地使用工具调用。
我使用 OpenAI Codex 来帮助构建它,并在手机上测试了该应用。
目前状态
这是一个可运行的原型,从电脑加载到 RAM 中。加载后,它可以拔掉线使用移动数据运行。我们可以随意添加任意多的功能,让诺基亚 110 上的几乎所有操作都自动化。重启或关机后,需要重新加载。
我是如何走到这一步的
阶段 1:从浏览器开始
我首先在 Opera Mini 中添加了 AI 搜索选项。这给了我一个起点,但它仍然只是浏览器变通方案,无法将智能体与之集成。下一个目标是一个运行在手机上、能使用其原生功能的应用。
阶段 2:让我自己的代码运行起来
没有受支持的方式来安装原生应用。我研究了固件和启动过程,然后通过计算器入口点在 RAM 中运行了自定义代码。这让我无需刷写修改过的固件就能进行测试。永久安装仍未解决。
阶段 3:通过 SIM 数据获得真正的回答
仅有可用的数据连接还不够:请求可以提交,但回答无法到达应用。我追踪了固件的响应回调和整体流程。我从一个固定问题开始,在拔掉 USB 的情况下确认了回答,然后添加了可输入的问题。
阶段 4:让聊天变得可用
尝试用文本输入框替换计算器布局。原版计算器的绘制也造成了干扰。我更改了布局和按键处理。后来,一次颜色更改导致重启;追踪固件后发现我写入了错误的样式字段。已修复。
阶段 5:将聊天转化为操作
下一个目标是让 AI 使用真实的手机功能。由于手机内存只有 48MB,常规的智能体代码放不下,所以我创建了一个非常简单的自定义智能体,使用更小的构建、压缩了载荷并复用了缓冲区。然后逐一测试了上面提到的每个功能。
源代码
我还没有上传代码,因为敏感数据散布在整个项目中。
来源:Hacker News · github.com