4 台闲置安卓机 · 8 路 AI 聊天渠道 · 零成本上云
你家里是不是也躺着几台旧安卓手机?卖二手不值钱,扔了又可惜。
但你有没有想过——一台骁龙 845、6GB 内存的旧旗舰,配置其实吊打市面上入门 VPS(1 核 1GB 那种)。而且它还自带电池(天然 UPS)、自带 5G 网络出口,还不用交一分钱电费之外的额外成本。
这篇文章记录了我把 4 台闲置安卓手机(从 Android 7 到 15,从骁龙 625 到 8+ Gen1)全部改造成 AI 网关服务器的完整过程。它们现在 24 小时运行着 OpenClaw,同时对接 QQ 和飞书机器人,任何人在聊天窗口就能跟 DeepSeek V4 对话。
🎯 先说成品:4 台手机机队现状
▲ 最老的一台 Note 4X(2017 年发布,Android 7)照样跑得稳稳的
💰 硬件算账:闲置手机 vs VPS vs 树莓派
| 16GB | |||
底线:只要接受「不做公网大流量、不跑持续满载」两条边界——这就是一台配置优于入门 VPS 的低功耗便携服务器。停电断宽带都不怕,手机自己还有电池和蜂窝网络。
🔧 技术栈一览
Termux (F-Droid)OpenClaw GatewayNode.js 24/26runit 进程管理Tailscale VPNTermux:BootDeepSeek V4QQ Bot API飞书 WebSocket
核心架构极其简单:Termux 原生环境(不需要 root,不需要 proot 容器)→ Node.js 跑 OpenClaw gateway → runit 守护进程 → Termux:Boot 开机自启 → Tailscale 提供固定 IP。
模型跑在 DeepSeek 云端 API,手机只负责消息路由和调度,负载极轻,骁龙 625 都绰绰有余。
🗺️ 八阶段部署路线图
全程从 PC 通过 SSH 远程操作,手机端只需要少量点击。每个阶段都有严格的「验证门」,通过才能进入下一步。
0
📱 手机端准备(一次性)
装 F-Droid 版 Termux → 装 openssh → 设密码 → 开 sshd
1
SSH 免密登录
PC 生成 ed25519 密钥 → 公钥推到手机 → 验证免密
2
安装 OpenClaw
编译工具链 → 合规预检(Node + libsqlite)→ npm 全局安装
3
配置模型供应商
DeepSeek / 通义千问 / Kimi / 自定义中转,一行命令接入
4
进程保活(runit)
runit 守护 → 进程被杀 15 秒自动拉起 → wake-lock 防休眠
5
开机自启(Termux:Boot)
装插件 → 写启动脚本 → 重启验证:不碰手机,2 分钟后 SSH 直连成功
6
Tailscale 固定 IP
官方 App → 同账号组网 → 100.x 固定 IP → 任何网络下都能连
7
系统加固(adb)
关 phantom process killer → Doze 白名单 → 禁权限自动撤销 → 热点防关
8
对接聊天渠道
QQ 机器人 + 飞书机器人 → 双渠道同时在线 → 日常聊天窗口即 AI 入口
✨ 几个核心亮点
1. 真·原生 Termux,不套 proot
网上大部分教程用 proot + Ubuntu 容器方案,重且慢。这个方案直接在 Termux 原生环境跑 Node.js,网络接口检测正常,不需要任何 Bionic 补丁。原生性能,轻量到极致。
2. 进程保活 + 开机自启闭环
runit 守护进程被杀 15 秒内自动拉起;Termux:Boot 保证重启后无需人工干预。全链路:开机 → Termux:Boot → wake-lock → sshd → runit → gateway
3. Tailscale 组网,IP 永久不变
手机换 WiFi、切热点、甚至带到外地——IP 永远不变。PC 端一键 SSH 脚本优先走 Tailscale 固定 IP,不通才回退局域网。
4. Android 7 到 15 全兼容
最老的 Note 4X(2017 年发布,Android 7,骁龙 625,3GB RAM)照样跑得稳稳的。唯一区别:Android 7 装不了 Tailscale App,走局域网 + 路由器 MAC 绑定即可。
5. 双渠道 AI 聊天
QQ 和飞书同时在线,互不影响。日常聊天窗口就是 AI 入口,发消息即对话。支持定时推送(比如工作日早上 9 点自动发基金分析简报)。
🕳️ 实战踩坑精选(21 坑中挑 5 个最坑的)
完整文档记录了 21 个实战踩坑,每个都有现象→根因→解法的完整链路。挑 5 个最坑的:
坑 #17:gateway 崩溃循环,报「SQLite 不安全」
OpenClaw 2026.7.1 起要求 SQLite ≥3.51.3。Termux 的 node 动态链接系统 libsqlite 包,你看到报错文案怪 Node 版本——那是误导。真正修法就一句:apt install --only-upgrade libsqlite。Node 和 OpenClaw 都不用动。
坑 #18:仓库所有 Node 版本都不合规
OpenClaw 要求 Node ≥22.22.3 或 ≥24.15.0 或 ≥25.9.0。结果升级当天,Termux 仓库里 nodejs 25.8.2(差 0.0.1)、nodejs-lts 24.14.1(差 0.0.1),全都不合规。26.4.0 又从索引撤了。最终从 pool 里手动下 deb:dpkg -i nodejs_26.4.0.deb && apt-mark hold nodejs
坑 #19:升级后反复报「migrations are already running」
升级后首启会跑 state 迁移(低端机 2-3 分钟)。期间你越频繁 restart,迁移越被打断,留下迁移锁。解法是停手,别动它——锁约 2 分钟自动过期,runit 会自己完成。
坑 #12:Termux 命令行版 Tailscale 必崩
Android seccomp 拦截 Go 的 faccessat2 系统调用,Termux 二进制版一跑就 SIGSYS。必须用官方 Android App,走系统 VPN 接口。装好后开「始终开启 VPN」,重启也能自连。
坑 #14:QQ 机器人 IP 白名单地狱
QQ 平台对新机器人强制启用 IPv4 白名单,且官方不提供关闭选项。手机有原生 IPv6 时 Node 默认走 IPv6 → 白名单永远匹配不上 → 401。解法:runit 脚本加 NODE_OPTIONS="--dns-result-order=ipv4first" 强制 IPv4。但蜂窝出口 CGNAT 还是会漂移……终极方案是换飞书渠道(没有 IP 白名单限制)。
📊 渠道怎么选?
飞书是最省心的国内方案:WebSocket 长连接、无 IP 白名单、个人免费注册。QQ 适合重度 QQ 用户,但要做好跟 IP 白名单斗智斗勇的准备。
🩺 一键环境体检
部署前后、升级前、出故障时,一条命令诊断所有关键指标:
cat phone_check_env.sh | ssh -p 8022 user@<IP> 'sh -' # 输出示例: ==== OpenClaw 机型环境体检 ==== 机型: 23013RK75C (Redmi K60) | Android 15 | MIUI/HyperOS: V816 [加固] Android 12+:phantom killer 必关 + 权限自动撤销必禁 [PASS] node 24.17.0 合规 [PASS] libsqlite 3.53.3 合规 [PASS] OpenClaw 2026.7.1-2 [PASS] boot 脚本存在 [PASS] Termux:Boot 已安装 [INFO] run: openclaw: (pid 12345) 86400s [INFO] dashboard HTTP 200 ==== 体检完成 ====每个 FAIL 项都会附带坑号和具体修复命令,不用翻文档。
⚠️ 升级金丝雀 SOP
OpenClaw 2026.7.1 起有双重启动检查,升级必须走金丝雀流程:
Step 0 — 逐台体检:node --version + libsqlite 版本,不合规先修Step 1 — 只升一台(金丝雀),别并行升全队Step 2 — 耐心等首启迁移(低端机 2-3 分钟),别反复 restartStep 3 — 四连验证全过(sv / HTTP / 渠道 / E2E),再推其余设备
血泪教训:并行升 4 台 = 可能全队渠道离线。金丝雀流程下实际只 1 台中招 40 分钟,其余 3 台无恙。
📦 开源 & 安装包
完整文档 + 自动化脚本 + 五件套安装包(GitHub Release)
🔗 github.com/DeXuan/openclaw-termux-deploy
含 21 坑速查表 · 4 机型适配矩阵 · 一键体检脚本 · 新机接入工作流
👤 适合谁?
✅ 有闲置安卓机的开发者✅ 想要 24/7 个人 AI 助手✅ 想在 QQ/飞书里用 AI✅ 想学 Linux 运维的初学者✅ 喜欢废物利用的折腾党
不需要 root,不需要花钱买云服务器,不需要公网 IP。会基本 Linux 命令就能上手——全程复制粘贴,遇到坑就查速查表。
让闲置手机变身 AI 服务器
有任何问题欢迎提 GitHub Issue 🚀
夜雨聆风