news 2026/4/15 11:18:16

旧安卓手机焕新记:Termux+AstrBot+NapCat打造个人QQ智能助手【保姆级】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
旧安卓手机焕新记:Termux+AstrBot+NapCat打造个人QQ智能助手【保姆级】

1. 为什么选择旧安卓手机做智能助手?

家里抽屉总躺着几部退役的安卓机?别急着换不锈钢盆,这些被时代淘汰的设备其实是绝佳的机器人试验场。我去年用一部2016年的红米Note 3成功搭建了全天候运行的QQ助手,实测待机功耗不到5W,比树莓派还省电。

旧手机有三个不可替代的优势:零成本硬件完整Linux环境24小时在线能力。Termux这个神器能把安卓变成便携服务器,配合AstrBot的跨平台特性,甚至能实现大模型对话这样的高级功能(当然老机型跑不动最新LLM,但基础自动化完全够用)。最近给邻居家中学生改造的作业提醒机器人,就是用他爸淘汰的华为Mate10实现的,连续稳定运行两个月没重启。

2. 环境准备:Termux的进阶玩法

2.1 安装避坑指南

千万别在Google Play下载Termux!官方早已停止维护,我踩过坑——那个版本连pip都装不上。推荐从F-Droid获取最新版,国内用户可以用清华镜像源加速下载:

wget https://mirrors.tuna.tsinghua.edu.cn/fdroid/repo/com.termux_118.apk

安装后先做这三件事:

  1. 执行termux-setup-storage获取存储权限
  2. 运行pkg update && pkg upgrade更新基础包
  3. 安装必备工具链:pkg install python git wget curl proot-distro

2.2 性能优化技巧

老手机内存吃紧?试试我的三阶优化法

  • 第一阶:修改~/.bashrc添加ulimit -s 256限制栈内存
  • 第二阶:用termux-wake-lock防止系统休眠杀进程
  • 第三阶:安装tmux替代screen,内存占用减少40%

有个冷知识:Termux的proot环境其实比完整Linux轻量得多。我在1GB内存的骁龙615设备上测试,原生Ubuntu会卡死,而proot下的Ubuntu 20.04能流畅运行AstrBot核心功能。

3. AstrBot的定制化部署

3.1 非Root安装Ubuntu

官方推荐用proot-distro安装Ubuntu,但默认源慢到怀疑人生。这里分享我的加速方案:

proot-distro install ubuntu --override-alias astrobot \ --repository https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/

安装完成后一定要执行apt install python3.10-venv,否则后续pip安装会报错。遇到过最坑的问题是SSL证书失效,解决方案是:

mkdir -p /etc/ssl/certs && curl -k -o /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem

3.2 配置实战经验

克隆AstrBot仓库时,国内用户建议走Gitee镜像:

git clone https://gitee.com/mirrors/AstrBot.git --depth=1

启动前务必修改config/config.toml

[web] host = "0.0.0.0" # 允许局域网访问管理界面 port = 6185 [qq] admin_qq = [你的QQ号] # 重要!不加这个无法执行管理员命令

遇到uv启动报错可以尝试替换依赖源:

export UV_DEFAULT_INDEX="https://pypi.tuna.tsinghua.edu.cn/simple" uv pip install -r requirements.txt

4. NapCat的Termux特调方案

4.1 一键部署脚本解析

官方安装脚本其实暗藏玄机,这个命令会完成三件事:

curl -sSL https://nclatest.znin.net/NapNeko/NapCat-Installer/main/script/install.termux.sh | bash
  1. 创建/data/data/com.termux/files/usr/var/lib/napcat专用目录
  2. 下载预编译的ARM64二进制文件
  3. 自动配置systemd服务(实际用termux-service模拟)

建议部署完成后立即修改config.yml

websocket: enabled: true host: 127.0.0.1 port: 6199 access_token: "astrbot" # 必须与AstrBot配置一致

4.2 扫码登录的隐藏技巧

老旧手机摄像头模糊?试试这个方案:

  1. 在电脑浏览器打开http://<手机IP>:3000
  2. 电脑端显示二维码后手机扫码
  3. 执行termux-notification --id qrscan --title "QQ登录" --content "扫码完成后点击"设置提醒

遇到风控拦截时,在NapCat管理面板开启智能心跳模式,能有效降低封号概率。实测红米K30开启后,连续运行30天无异常。

5. 智能助手实战案例

5.1 自动回复机器人配置

在AstrBot的插件目录plugins/qq下新建autoreply.py

from astrbot import on_command from astrbot.adapters.qq import MessageEvent @on_command("自动回复", aliases=("自动应答")) async def handle(event: MessageEvent): if "在吗" in event.message: await event.reply("24小时在线中~") elif "天气" in event.message: await event.reply("点击查看实时天气:http://weather.com")

然后到WebUI的插件管理页面激活即可。我的读书群就用这个功能自动回复常见问题,节省90%重复劳动。

5.2 群管功能进阶版

结合AstrBot的定时任务,可以实现智能群管理:

from astrbot import scheduler from astrbot.adapters.qq import GroupMessageEvent @scheduler.scheduled_job("cron", hour=9) async def morning_announce(): await bot.send_group_msg( group_id=123456, message="早安打卡开始啦!" ) @on_command("踢人", permission="admin") async def kick_member(event: GroupMessageEvent): if "广告" in event.message: await bot.set_group_kick( group_id=event.group_id, user_id=event.user_id )

建议配合关键词过滤使用,在config.toml中添加:

[plugins.qq.filter] banned_words = ["赌博", "兼职", "加微信"] action = "kick" # 或warn/mute/ban

6. 长期运行保障方案

6.1 进程守护方案

Termux的后台存活是个老大难问题,推荐组合拳:

  1. 安装termux-services
  2. 创建~/.termux/boot/start-astrbot文件:
#!/data/data/com.termux/files/usr/bin/sh termux-wake-lock proot-distro login astrobot -- bash -c "cd AstrBot && uv run main.py"
  1. 执行chmod +x ~/.termux/boot/start-astrbot

这样手机重启后会自动恢复服务。我在红米Note 5上测试,待机30天耗电仅15%。

6.2 监控与日志

用这个命令查看资源占用:

termux-top -n 1 | grep -E '(astrbot|napcat)'

日志自动归档方案:

mkdir -p ~/logs proot-distro login astrobot -- bash -c "cd AstrBot && uv run main.py 2>&1 | tee ~/logs/astrbot-$(date +%Y%m%d).log"

遇到内存泄漏时,在config.toml添加:

[runtime] gc_interval = 3600 # 每小时强制垃圾回收

7. 常见问题解决方案

Q:NapCat频繁掉线怎么办?A:修改config.yml中的心跳参数:

heartbeat: interval: 30000 # 毫秒 timeout: 10000

Q:AstrBot插件加载失败?A:99%的问题是Python依赖冲突,试试:

uv pip install --force-reinstall -r requirements.txt

Q:Termux闪退?A:这是安卓内存回收机制导致的,到系统设置-电池优化里把Termux设为"不优化"

最近给家里老人做了个吃药提醒机器人,用2018年的荣耀9X部署,通过QQ自动发送服药提醒。这种旧物改造的成就感,比买新设备有意思多了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 11:17:00

初学Python不适应,使用表格总结对比:Python和JavaScript(我熟悉)

Python与JavaScript核心差异速查表本文为JS开发者提供Python快速入门指南&#xff0c;通过对比表格呈现两种语言的核心差异&#xff1a;基础语法&#xff1a;Python无分号&#xff0c;靠缩进定义代码块&#xff1b;JS需分号和大括号变量与常量&#xff1a;Python直接赋值&#…

作者头像 李华
网站建设 2026/4/15 11:14:51

从零开始掌握OBD-II:汽车诊断开发的核心技术与实战解析

1. OBD-II系统基础入门&#xff1a;汽车诊断的"听诊器" 第一次接触OBD-II时&#xff0c;我把它想象成汽车的"听诊器"。就像医生用听诊器检查病人心跳一样&#xff0c;这个标准化的诊断接口能让我们"听到"车辆内部各个系统的运行状态。OBD-II全称…

作者头像 李华
网站建设 2026/4/15 11:13:35

KCN-GenshinServer:5分钟搭建你的专属提瓦特世界,告别复杂配置烦恼

KCN-GenshinServer&#xff1a;5分钟搭建你的专属提瓦特世界&#xff0c;告别复杂配置烦恼 【免费下载链接】KCN-GenshinServer 基于GC制作的原神一键GUI多功能服务端。 项目地址: https://gitcode.com/gh_mirrors/kc/KCN-GenshinServer 你是否曾经想过拥有一个属于自己…

作者头像 李华
网站建设 2026/4/15 11:12:05

Ostrakon-VL-8B快速上手:无需代码,WebUI端完成门店环境智能分析

Ostrakon-VL-8B快速上手&#xff1a;无需代码&#xff0c;WebUI端完成门店环境智能分析 1. 引言 想象一下&#xff0c;你是一家连锁便利店的区域督导&#xff0c;每周要跑十几家门店检查。货架商品摆放对不对、价格标签有没有贴错、消防通道有没有被堵住、整体卫生状况怎么样…

作者头像 李华