安卓手机安装Termux+AstrBot+NapCat搭建QQ个人机器人【非官方】(简易版)

安卓手机安装Termux+AstrBot+NapCat搭建QQ个人机器人【非官方】(简易版)
前言

       好久不见,亲爱的友友们,这次我来了!这次我学会了用旧安卓手机安装termux软件搭建了一个AstrBotQQ机器人(大模型可能跑不了),我使用的旧安卓手机是vivoY31s标准版,手机型号有点久,到时能用就行了。其实方法都通用差不多。


目录

目录

前言

目录

一、简介

1.Termux

2.AstrBot

3.NapCat 

二、步骤

1. 安装Termux

2. 更新系统包打开 Termux,依次执行以下命令,更新软件源并安装基础工具。

换源 (可选)

3. 申请存储权限

正式部署

安装 proot-distro 及 其他必须组件

登录 Ubuntu环境

添加第三方PPA

安装 Python

克隆 AstrBot 仓库

运行 AstrBot

NapCat.Termux - 安卓 Termux 部署 recommend

Termux

Linux

通过 Docker 部署

连接到 AstrBot

在 AstrBot 配置 aiocqhttp

配置管理员

在 NapCatQQ 中添加 WebSocket 客户端

三、网址

问题一:

结尾


一、简介

1.Termux

Termux 是一款运行于 Android 系统的开源终端模拟器。该软件提供了 Linux 环境[2],即使设备不具备 root 权限也可使用。通过自带的包管理器Pacman、 APT),Termux 可以安装许多现代化的开发和系统维护工具,例如 zshPythonRubyNodeJSMySQL 等软件。

Termux 目前已经恢复在 Google Play 更新,但仍在 F-Droid 和 GitHub 保持更新。

2.AstrBot

AstrBot 致力于成为一个开源的一站式 Agentic 聊天机器人平台及开发框架。通过它,你能够在多种消息平台上部署和开发一个支持大语言模型(LLM)的聊天机器人。

  • 大模型对话。支持接入多种大模型服务。支持多模态、工具调用、MCP、原生知识库、人设等功能。
  • 多消息平台支持。支持接入 QQ、企业微信、微信公众号、飞书、Telegram、钉钉、Discord、KOOK 等平台。支持速率限制、白名单、百度内容审核。
  • Agent。完善适配的 Agentic 能力。支持多轮工具调用、内置沙盒代码执行器、网页搜索等功能。
  • 插件扩展。深度优化的插件机制,支持开发插件扩展功能,社区插件生态丰富。
  • WebUI。可视化配置和管理机器人,功能齐全。

3.NapCat 

基于 TypeScript 构建的 Bot 框架,通过相应的启动器或者框架,主动调用 QQ Node 模块提供给客户端的接口,实现 Bot 的功能。

魔法版:猫猫框架通过魔法的手段获得了 QQ 的发送消息、接收消息等接口。

为了方便使用,猫猫框架将通过一种名为 OneBot 的约定将你的 HTTP / WebSocket 请求按照规范读取,再去调用猫猫框架所获得的 QQ 发送接口之类的接口。

这是通过 NapCatQQ 协议实现端接入 QQ

  • 请合理控制使用频率。过于频繁地发送消息可能会被判定为异常行为,增加触发风控机制的风险。
  • 本项目严禁用于任何违反法律法规的用途。若您意图将 AstrBot 应用于非法产业或活动,我们明确反对并拒绝您使用本项目。

前置准备:

  • 一个 QQ 号(最好不是新创建的 QQ 号)。
  • 一台具有摄像功能的手机以扫码登录 QQ。

NapCat 提供了大量的部署方式,包括 Docker、Windows 一键安装包等等。


    二、步骤

    1. 安装Termux

    • 从 F-Droid 应用商店下载 Termux。不要从 Google Play 下载,那里的版本可能已过时。
    • 链接:F-Droid - Termux
    • 部分安卓手机应用商店会有Termux软件可以直接下载。

    2. 更新系统包
    打开 Termux,依次执行以下命令,更新软件源并安装基础工具。

    pkg update && pkg upgrade pkg install python git wget curl

    换源 (可选)

    建议更换源以获得更好的安装体验 但此换源并不会使git clone变得更快

    termux-change-repo

    选择第一个Mirror group Rotate between several mirrors

    随后选择第三个Mirrors in Chinese Mainland All in Chinese Mainland等待跑完即可

    3. 申请存储权限

    执行以下命令,会弹窗请求文件权限,请务必允许。

    termux-setup-storage

    正式部署

    安装 proot-distro 及 其他必须组件

    首先安装uvgitproot-distro

    pkg install uv git proot-distro

    使用 proot-distro 安装 ubuntu环境

    中国大陆概率访问GitHub,故建议使用加速器或代理。

    proot-distro install ubuntu

    登录 Ubuntu环境

    下载及配置完成会有提示Log in with: proot-distro login ubuntu,输入相同的即可登入:

    proot-distro login ubuntu

    此时便进入了Ubuntu环境,我们需使用apt命令安装软件包了。

    添加第三方PPA

    Python 3.10并不在官方的软件源中,而uv所要求的Python版本为3.10 ,所以进行此步为必须

    使用apt安装software-properties-common (添加PPA前置)

    apt update && apt install software-properties-common

    添加deadsnakes PPA(Python官方维护)

    add-apt-repository ppa:deadsnakes/ppa && apt update

    添加时你可能会看到:Press [ENTER] to continue or Ctrl-c to cancel. ,此时按下回车(换行)即可。

    安装 Python

    在进行完以上步骤后,即可安装Python 3.10

    apt install python3.10

    克隆 AstrBot 仓库

    直到这里,您所处的路径应为 ~# 而不是其他次级目录,以防找不到项目目录:

    git clone https://github.com/AstrBotDevs/AstrBot.git && cd AstrBot

    如果一切顺利的话,您应该进入到了 ~/AstrBot# 下,可以进入到下一步了。

    亲爱的,这步骤遇到 git clone 失败,那么其后的 cd 命令也不会生效。请跳转到问题一。

    运行 AstrBot

    uv run main.py

    如果使用 uv 下载软件包时速度慢,可以更换源 (以 清华源 为例)

    export UV_DEFAULT_INDEX="https://pypi.tuna.tsinghua.edu.cn/simple"

    如果没有报错,那么你可以看到uv在安装所需的包后出现类似 WebUI 已启动,可访问 并附带了几条链接。

    如果有,那么恭喜你,你已经部署好了AstrBot并且运行了,dx接下来你可以尝试访问localhost:6185验证可用性。

    提示:

    Termux与主机共享一个网络,即:Termux的IP地址就是主机的IP地址,你也可使用ifconfig查看主机IP地址

    默认用户名和密码是 astrbot 和 astrbot

    退出

    如需退出proot-distro,可以使用

    exit

    重新启动

    每次重新进入Termux时需重新打开 proot 环境并启动 AstrBot

    可以使用命令如下:

    proot-distro login ubuntu cd AstrBot && uv run main.py

    挂后台

    开启

    如需在一个session里面同时运行多个进程(eg. AstrBot 和 Napcat),可以使用

    uv run main.py & ......

    关闭

    上文运行后会有类似[1] 1145的输出,如需关闭进程,则可使用

    kill -9 1145

    pkill -9 -f "uv run main.py"

    提示:

    也可以使用screen命令,较&更易操控

    apt install screen #安装screen screen -S <name> #创建新的会话 screen -r <name> #重新连接会话 screen -ls #列举会话 screen -X -S <name> quit #关闭会话 Ctrl + a + d #退出当前窗口

    警告:

    在退出时,请注意保存自己的任务,以防数据丢失。

    后台存活

    如需让服务端在后台存活,可以在设置->应用和服务->应用启动管理->Termux改为手动管理允许后台活动(或类似选项)

    接下来,你需要部署任何一个消息平台,才能够实现在消息平台上使用 AstrBot。

    NapCat.Termux - 安卓 Termux 部署 recommend

    Termux

    curl -o napcat.termux.sh https://nclatest.znin.net/NapNeko/NapCat-Installer/main/script/install.termux.sh && bash napcat.termux.sh

    仓库地址: NapCat.installer

    Linux

    看这篇文章:NapCat.Installer - Linux一键使用脚本(支持Ubuntu 20+/Debian 10+/Centos9)

    Napcat WebUI 在哪打开: 在 napcat 的日志里会显示 WebUI 链接。

    如果是 linux 命令行一键部署的napcat:docker log <qq号>

    Docker部署的 NapCat:docker logs napcat

    通过 Docker 部署

    如果用 Docker 部署,将无法正常接收到语音数据文件数据。这意味着语音转文字、沙箱的文件输入功能将无法使用。可以接收到文字消息、图片消息等其他类型的消息。

    默认您安装了 Docker。

    在终端执行以下命令即可一键部署。

    docker run -d \ -e NAPCAT_GID=$(id -g) \ -e NAPCAT_UID=$(id -u) \ -p 3000:3000 \ -p 3001:3001 \ -p 6099:6099 \ --name napcat \ --restart=always \ mlikiowa/napcat-docker:latest

    执行成功后,需要查看日志以得到登录二维码和管理面板的 URL。

    docker logs napcat

    请复制管理面板的 URL,然后在浏览器中打开备用。

    然后使用你要登录的 QQ 扫描出现的二维码,即可登录。

    如果登录阶段没有出现问题,即成功部署。

    连接到 AstrBot

    在 AstrBot 配置 aiocqhttp

    1. 进入 AstrBot 的管理面板
    2. 点击左边栏 消息平台
    3. 然后在右边的界面中,点击 + 新增适配器
    4. 选择 aiocqhttp(OneBotv11)

    弹出的配置项填写:

    配置项填写:

    • ID(id):随意填写,用于区分不同的消息平台实例。
    • 启用(enable): 勾选。
    • 反向 WebSocket 主机地址:请填写你的机器的 IP 地址。一般情况下请直接填写 0.0.0.0
    • 反向 WebSocket 端口:填写一个端口,例如 6199

    点击 保存

    配置管理员

    填写完毕后,进入 配置 页,点击 其他配置 选项卡,找到 管理员 ID,填写你的 QQ 号(不是机器人的 QQ 号)。

    切记点击右下角 保存,AstrBot 重启并会应用配置。

    在 NapCatQQ 中添加 WebSocket 客户端

    切换回 NapCatQQ 的管理面板,点击 网络配置->新建->WebSockets客户端

    在新弹出的窗口中:

    • 勾选 启用
    • URL 填写 ws://宿主机IP:端口/ws。如 ws://localhost:6199/wsws://127.0.0.1:6199/ws
    • 消息格式:Array
    • 心跳间隔: 5000
    • 重连间隔: 5000
    1. 切记后面加一个 /ws!
    2. 这里的 IP 不是 0.0.0.0

    点击 保存

    前往 AstrBot WebUI 控制台,如果出现 aiocqhttp(OneBot v11) 适配器已连接。 相关蓝色的日志,说明连接成功。

    此时,你的 AstrBot 和 NapCatQQ 应该已经连接成功。使用 私聊 的方式在 QQ 对机器人发送 /help 以检查是否连接成功。


    三、网址

    问题一:

    如果 git clone 失败,那么其后的 cd 命令也不会生效,故在运行命令时请注意路径是否正确

    如果需要再次执行如上命令,建议先执行

    rm -r AstrBot

    之后再运行

    git clone https://github.com/AstrBotDevs/AstrBot.git && cd AstrBot

    AstrBot 管理面板具有管理插件、查看日志、可视化配置、查看统计信息等功能。

    【可点击AstrBot 管理面板跳转查看更多详细操作】

    NapCatQQ安装方法【可点击NapCatQQ安装方法跳转查看更多详细操作】


    结尾

    声明根据官方给的方法以及自身手机的环境试验成功同时进行了部分整理,也进行了链接说明,不涉及任何版权问题。

    可惜就是我的安卓机跑不了大模型,明天出云服务器+AstrBot+NapCat制作个人QQ机器人非官方的教程(这也是免费,不会成为vip文)!

    这篇文免费,不会成为vip文,可以转载,感谢!!!

    亲爱的点点赞,证明你来看我啦!

    如果亲爱的根据操作遇到了难题或者是有想法可以在评论区留言讨论哦!

    Read more

    JDK21安装与配置教程

    JDK21安装与配置教程

    文章目录 * 一、下载JDK * 1. 下载地址 * 2. 下载JDK21 * 二、JDK21安装及配置 * 1. 解压zip压缩包 * 2. 配置Java环境变量 * 2.1 打开系统属性设置 * 2.2 新建系统环境变量 * 2.3 编辑 PATH 环境变量 * 2.4 验证环境变量是否配置成功 一、下载JDK 1. 下载地址 华为云镜像下载地址: 地址 1(OracleJDK):https://repo.huaweicloud.com/java/jdk/ 地址 2(OpenJDK):https://mirrors.huaweicloud.com/openjdk/ 地址

    By Ne0inhk
    Java 中间件:RocketMQ 顺序消息(全局/分区顺序)

    Java 中间件:RocketMQ 顺序消息(全局/分区顺序)

    👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕Java中间件这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * Java 中间件:RocketMQ 顺序消息(全局 / 分区顺序) * 什么是顺序消息? * RocketMQ 顺序消息的工作原理 * 全局顺序 vs 分区顺序 * RocketMQ 顺序消息的核心机制 * 全局顺序消息的实现 * 全局顺序的配置要求 * Java 代码示例:全局顺序消息 * 全局顺序的局限性 * 分区顺序消息的实现 * 分区顺序的设计思路 * Java 代码示例:分区顺序消息 * 分区顺序的关键要点 * 顺序消息的消费机制详解 * ConsumeOrderlyStatus 枚举 * 消费失败的处理机制 * 并发消费 vs 顺序消费

    By Ne0inhk
    2025华为OD机试真题+全流程解析+备考攻略+经验分享+Java/python/JavaScript/C++多种语言最佳实现

    2025华为OD机试真题+全流程解析+备考攻略+经验分享+Java/python/JavaScript/C++多种语言最佳实现

    华为OD全流程解析,备考攻略 快捷目录 * 华为OD全流程解析,备考攻略 * 一、什么是华为OD? * 二、什么是华为OD机试? * 三、华为OD面试流程 * 四、华为OD薪资待遇及职级体系 * 五、ABCDE卷类型及特点 * 六、题型与考点 * 七、机试备考策略 * 八、薪资与转正 * 九、常见问题解答 * 十、总结 * 2025 华为OD 机试真题 B卷 100分题型 * 2025 华为OD 机试真题 B卷 200分题型 * 2025 华为OD 机试真题 A卷 100分题型 * 2025 华为OD 机试真题 A卷 200分题型 一、什么是华为OD? 华为OD(Outsourcing Dispacth)

    By Ne0inhk
    Java外功精要(6)——Spring事务及其传播机制

    Java外功精要(6)——Spring事务及其传播机制

    1.概述 Spring事务管理是Spring框架中用于确保数据库操作 原子性、一致性、隔离性和持久性(ACID) 的核心机制。它通过声明式或编程式(本文略)方式管理事务,支持多种事务传播行为和隔离级别相较于编程式事务,声明式事务通过@Transactional注解实现事务管理,无需手动编写事务代码事务基本概念在全面解析MySQL(5)——“索引、事务、JDBC”三大核心一文中有介绍,本文不再赘述 2.@Transactional 作用:提供声明式事务管理。它简化了在应用程序中管理数据库事务的流程。开发者只需在方法或类上添加此注解,Spring框架就会自动处理事务的开启、提交和回滚,无需手动编写事务管理代码(如 begin、commit、rollback) 级别:类 + 方法作为类注解:为类中所有public方法添加注解作为方法注解:默认仅对public方法生效 @RequestMapping("/test")@RestController@Slf4jpublicclassTestController{privatefinalUserService userService;@A

    By Ne0inhk