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

    【Openclaw】unauthorized: gateway token mismatch (open the dashboard URL and paste the token in Co

    unauthorized: gateway token mismatch (open the dashboard URL and paste the token in Control UI settings) 故障现象: 使用Windows下的浏览器打开Openclaw的聊天界面(之前是可以正常使用的),结果报错:  故障原因: 可能是服务器Ubantu里面的Openclaw出了问题。 解决办法: 在乌班图Ubantu的terminal里面输入这两个命令: Ubantu里面的Firfox浏览器就可以正常访问了。 http://127.0.0.1:18789/config Thanks to : 1). Kimi OpenClaw 是一个开源的《猫和老鼠》游戏克隆项目。要重新启动它,你需要先停止正在运行的进程,然后重新启动。 以下是常用的 Linux 命令: 查找并终止现有进程 ```bash # 查找 OpenClaw

    By Ne0inhk

    Go vs C++:性能与简洁的终极对决

    好的,我们来详细比较一下 GOLANG (Go) 和 C++ 这两种编程语言的主要区别。它们都是系统级编程语言,但在设计哲学、语法特性、适用场景等方面存在显著差异。 1. 设计哲学与目标 * Go: 诞生于 Google,旨在解决大规模系统开发中的痛点。其核心设计哲学是简洁性、高效性和并发性。Go 刻意避免了许多现代语言的复杂性(如继承、泛型在早期版本中的缺失、异常处理),强调快速编译、易于部署和高效的并发模型(Goroutines + Channels)。 * C++: 是一种多范式语言(支持过程化、面向对象、泛型编程),设计目标是提供高性能和底层控制。它追求在不牺牲效率的前提下提供高度的抽象能力和灵活性(如运算符重载、多重继承、模板元编程)。这使得 C++ 非常强大但也非常复杂。 2. 语法与语言特性 * 简洁性 vs 复杂性: * Go 语法非常简洁,关键字少,强制代码格式化(

    By Ne0inhk
    SpringBoot整合Junit与Mybatis实战

    SpringBoot整合Junit与Mybatis实战

    前言:前面我们学习完了SpringBoot的相关基础知识,以及多环境配置等等,下面我们基于SpringBoot,如何提高开发的效率,注重于代码的业务逻辑,整合Junit和Mybatis。整合就是把复杂的技术细节封装起来,让我们能专注于业务本身。就像我们不需要懂发动机原理也能开车一样。 整合Junit: 实际上我们仅仅是创建了一个SpringBoot项目,然后在测试类中测试。这样看起来似乎没有整合,正所谓“没有所谓的岁月静好,只是有人在为你负重前行”为我们负重前行的实际上是SpringBoot的自动配置功能。 spring-boot-starter-test 当我们创建 Spring Boot 项目时(无论是通过 start.spring.io 还是 IDEA 的 Spring Initializr),pom.xml 中会自动添加这个依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>

    By Ne0inhk
    Python开发从入门到精通:网络爬虫高级应用与Scrapy框架

    Python开发从入门到精通:网络爬虫高级应用与Scrapy框架

    《Python开发从入门到精通》设计指南第三十九篇:网络爬虫高级应用与Scrapy框架 一、学习目标与重点 💡 学习目标:掌握Python网络爬虫的高级技巧,包括Scrapy框架、分布式爬虫、动态网页爬取、反爬虫策略等;学习Scrapy、Selenium、BeautifulSoup等库的使用;通过实战案例实现网络爬虫应用。 ⚠️ 学习重点:Scrapy框架、分布式爬虫、动态网页爬取、反爬虫策略、Selenium库、BeautifulSoup库、网络爬虫实战。 39.1 网络爬虫概述 39.1.1 什么是网络爬虫 网络爬虫(Web Crawler)是一种程序,用于自动访问网页并提取信息。网络爬虫的应用场景包括数据分析、搜索引擎、内容聚合等。 39.1.2 网络爬虫的流程 * 发送请求:向网页发送HTTP请求。 * 获取响应:获取网页的HTML内容。 * 解析内容:提取网页中的信息。 * 存储数据:将提取的信息存储到数据库或文件中。

    By Ne0inhk