在安卓手机上部署 QQ 个人机器人
本文介绍如何在旧款安卓设备上,利用 Termux 模拟 Linux 环境,结合 AstrBot 聊天机器人框架与 NapCat 协议端,实现 QQ 个人机器人的本地化部署。该方案无需 Root 权限,适合有一定命令行操作经验的用户探索移动端运行 Bot 的可能性。
核心工具简介
1. Termux
Termux 是一款运行于 Android 系统的开源终端模拟器。它提供了 Linux 环境,即使设备不具备 Root 权限也可使用。通过自带的包管理器(Pacman、APT),可以安装 Python、NodeJS 等开发工具。
2. AstrBot
AstrBot 是一个开源的一站式 Agentic 聊天机器人平台及开发框架。支持接入多种大模型服务,并兼容 QQ、企业微信、Telegram 等多个消息平台。具备 WebUI 可视化配置功能。
3. NapCat
基于 TypeScript 构建的 Bot 框架,通过 OneBot 协议将 HTTP/WebSocket 请求转换为 QQ 接口调用。支持 Docker、Windows 一键包以及 Termux 部署方式。
环境准备与安装
1. 安装 Termux
建议从 F-Droid 应用商店下载 Termux,Google Play 版本可能已过时。
- F-Droid 链接:Termux
2. 更新系统与权限
打开 Termux,执行以下命令更新软件源并安装基础工具。注意命令间的连接符。
pkg update && pkg upgrade && pkg install python git wget curl
如需更换镜像源以获得更好的下载体验(可选):
termux-change-repo
选择 Mirror group Rotate between several mirrors,随后选择 Mirrors in Chinese Mainland All in Chinese Mainland。
申请存储权限,后续部署需要读写文件权限:
termux-setup-storage
执行后弹窗允许即可。
正式部署流程
1. 安装 Ubuntu 环境
由于 AstrBot 依赖较新的 Python 环境,直接在 Termux 中安装可能受限,建议使用 proot-distro 安装 Ubuntu。
首先安装必要组件:
pkg install uv git proot-distro
安装 Ubuntu 环境(中国大陆访问 GitHub 可能需要代理):
proot-distro install ubuntu
登录 Ubuntu 环境:
proot-distro login ubuntu
此时提示符变为 root@ubuntu:~#,表示已进入 Ubuntu 容器。
2. 配置 Python 环境
AstrBot 推荐使用 uv 管理依赖,要求 Python 3.10+。官方源可能不包含该版本,需添加 PPA。
安装 PPA 前置工具:
apt update && apt install software-properties-common
添加 deadsnakes PPA(Python 官方维护):
add-apt-repository ppa:deadsnakes/ppa && apt update
按回车确认继续。
安装 Python 3.10:
apt install python3.10
3. 克隆并运行 AstrBot
确保当前路径为根目录或项目目录,防止找不到文件:
git clone https://github.com/AstrBotDevs/AstrBot.git && cd AstrBot
启动 AstrBot:
uv run main.py
若下载速度较慢,可切换 PyPI 源(以清华源为例):
export UV_DEFAULT_INDEX="https://pypi.tuna.tsinghua.edu.cn/simple"
启动成功后,控制台会显示 WebUI 访问地址(如 http://localhost:6185)。默认用户名和密码均为 astrbot。
提示:Termux 与主机共享网络,访问 localhost 即访问本机。如需查看 IP,可使用
ifconfig。
4. 后台运行与持久化
重启 Termux 后需重新进入 Ubuntu 并启动服务。为避免每次手动输入,可组合命令:
proot-distro login ubuntu && cd AstrBot && uv run main.py
若需后台运行多个进程(如同时运行 NapCat),可使用 & 符号或 screen。
使用 screen 管理会话(推荐):
apt install screen
screen -S astrbot_session
# 运行 uv run main.py
# 退出会话 Ctrl + a + d
# 重新连接 screen -r astrbot_session
此外,需在系统设置中允许 Termux 后台活动,防止被系统杀进程。
部署 NapCat 并连接
1. 安装 NapCat (Termux 版)
在 Termux 主界面(非 Ubuntu 内)执行以下脚本:
curl -o napcat.termux.sh https://nclatest.znin.net/NapNeko/NapCat-Installer/main/script/install.termux.sh && bash napcat.termux.sh
2. 配置 AstrBot 适配器
- 打开 AstrBot WebUI 管理面板。
- 点击左侧栏
消息平台->+ 新增适配器。 - 选择
aiocqhttp(OneBotv11)。 - 填写配置项:
- ID:自定义名称。
- 启用:勾选。
- 反向 WebSocket 主机地址:
0.0.0.0。 - 反向 WebSocket 端口:例如
6199。
- 保存配置。
在 其他配置 中设置管理员 QQ 号,保存后 AstrBot 会自动重启。
3. 配置 NapCat 客户端
- 打开 NapCat 管理面板(日志中通常包含 URL)。
- 进入
网络配置->新建->WebSockets 客户端。 - 填写信息:
- 启用:勾选。
- URL:
ws://宿主机IP:端口/ws(如ws://127.0.0.1:6199/ws,注意末尾加/ws)。 - 消息格式:
Array。 - 心跳间隔:
5000。 - 重连间隔:
5000。
- 保存。
4. 验证连接
返回 AstrBot WebUI 控制台,若看到 aiocqhttp(OneBot v11) 适配器已连接 的蓝色日志,说明连接成功。使用 QQ 私聊发送 /help 检查机器人响应。
常见问题与注意事项
- Git Clone 失败:若遇到网络问题导致仓库克隆失败,请检查代理设置。可先删除残留目录再重试:
rm -r AstrBot git clone https://github.com/AstrBotDevs/AstrBot.git && cd AstrBot - 大模型性能:本地安卓设备运行大模型推理资源消耗较大,建议仅用于轻量级对话或配合云端 API 使用。
- 语音与文件:Docker 部署模式下可能无法接收语音和文件数据,Termux 原生部署通常能更好支持。
- 风控风险:请勿高频发送消息,避免触发 QQ 风控机制。

