安卓手机安装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

    JavaScript集合(Set、WeakSet)与映射(Map、WeakMap)

    一、Set数据类型 JavaScript中的Set是ES6(ES2015)引入的一种集合数据结构,用于存储唯一值(unique values)的有序列表。无论是原始类型(如数字、字符串)还是对象引用,Set都会自动去重。 基本特性: 特性说明值唯一不允许重复元素(使用===判断相等,但NaN === NaN被视为相等)。有序元素按插入顺序迭代。可存储任意类型包括number、string、object、NaN、undefined等。非索引结构不能通过下标访问(不像数组),但可遍历。 注意:Set中的{}和{}被视为不同对象(因为引用不同),所以不会去重。 详细介绍: 1. 常用方法与属性。 2. 3. Set与Array互转。 4. Set vs Array。 场景推荐需要去重Set。需要频繁判断元素是否存在Set(has()时间复杂度O(1)

    By Ne0inhk
    (第三篇)Spring AI 实战进阶:从0开发IDEA插件版AI代码助手(Java全栈+上下文感知)

    (第三篇)Spring AI 实战进阶:从0开发IDEA插件版AI代码助手(Java全栈+上下文感知)

    前言 作为 Java 开发者,我们每天都在重复编写 CRUD 代码、调试语法错误、优化性能问题 —— 这些机械性工作占用了大量时间,而市面上的通用 AI 代码助手(如 Copilot)往往无法精准感知项目上下文(比如项目的包结构、依赖版本、数据库表结构),生成的代码需要大量修改才能落地。 笔者近期基于 Spring AI+IDEA 插件开发了一款定制化 AI 代码助手:后端基于 Spring AI 整合 JavaParser、Maven API 实现代码解析与生成,前端通过 IDEA 插件提供对话窗口和一键插入代码功能,支持需求描述→完整代码生成代码优化、上下文感知、补全三大核心能力。本文将从实战角度,完整拆解这款 AI 代码助手的开发全流程,所有代码均为生产环境可直接复用的实战代码,同时结合可视化图表清晰呈现核心逻辑,希望能帮你打造专属的 AI

    By Ne0inhk
    易语言子程序高级应用:递归、回调与参数设计实战

    易语言子程序高级应用:递归、回调与参数设计实战

    易语言子程序高级应用:递归、回调与参数设计实战 一、学习目标与重点 💡学习目标:1. 深入理解易语言子程序的递归调用机制与实现条件;2. 掌握参数传递的高级形式(引用传递、数组参数、自定义数据类型参数);3. 学会使用回调函数实现程序模块间的解耦;4. 初步了解多线程环境下的子程序调用(线程同步基础);5. 通过真实案例(递归计算斐波那契数列、文件目录遍历、员工薪资计算系统的模块解耦)巩固所学知识。 ⚠️学习重点:递归的退出条件设置、栈溢出风险规避、引用传递与值传递的区别、数组/UDT参数的类型声明、回调函数的指针实现方法、线程同步的临界区使用。 二、递归调用机制与实现 2.1 递归的基本概念与实现条件 2.1.1 递归的基本概念 递归调用是指子程序直接或间接调用自身的过程,常用于解决具有重复子问题的问题(如计算阶乘、斐波那契数列、遍历文件目录、二叉树操作等)。 2.1.2

    By Ne0inhk
    Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的少样本学习与迁移学习融合

    Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的少样本学习与迁移学习融合

    Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的少样本学习与迁移学习融合 * 引言:从虚拟偶像情感计算到语言智能的 “显微镜” 革命 * 正文:从理论架构到工业落地的全链条创新 * 一、NLP 领域的 “数据贫困” 困境与破局逻辑 * 1.1 少样本场景的核心挑战 * 1.2 Java 大数据的 “三维穿透” 技术架构 * 二、工业级融合模型的技术实现与代码解析 * 2.1 预训练模型迁移优化(BERT 医疗领域深度微调) * 2.2 原型网络(Prototypical Network)少样本分类 * 三、实战案例:从医疗语义分析到跨境电商智能客服 * 3.1 医疗场景:罕见病实体识别的 “样本逆袭” * 3.2 跨境电商:阿拉伯语商品类目分类的

    By Ne0inhk