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

    Java Web 汽车票网上预订系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

    Java Web 汽车票网上预订系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

    摘要 随着互联网技术的快速发展,传统汽车票购票方式已无法满足现代用户的便捷性需求。线下购票存在排队时间长、信息不透明、跨区域购票困难等问题,亟需通过信息化手段优化服务流程。汽车票网上预订系统通过整合线上线下资源,为用户提供实时查询、在线选座、电子支付等功能,大幅提升购票效率和用户体验。该系统不仅解决了传统购票模式的痛点,还为交通运营企业提供了数据分析和运营优化的支持,推动行业数字化转型。关键词:汽车票预订、数字化转型、用户体验、线上支付、SpringBoot。 本系统采用前后端分离架构,后端基于SpringBoot2框架搭建,结合MyBatis-Plus实现高效数据操作,MySQL8.0作为主数据库保障数据存储的稳定性和扩展性。前端使用Vue3框架开发,通过Axios与后端交互,实现动态数据渲染和响应式布局。系统核心功能包括用户注册登录、车次查询、在线选座、订单管理、支付接口集成等,同时支持管理员对车辆信息、班次调度、用户行为等数据的可视化分析。系统设计遵循高内聚低耦合原则,确保代码可维护性和可扩展性。关键词:SpringBoot2、Vue3、MyBatis-Plus、MySQL8

    双剑破天门:攻防世界Web题解之独孤九剑心法(十)

    双剑破天门:攻防世界Web题解之独孤九剑心法(十)

    免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任 **本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请关注** 目录 一:Lottery 二:ics-05 三:总结 一:Lottery 打开后发现这个靶场加载异常缓慢,然后他还给了源码,我们先不看源码先熟悉一下这个网站是什么 这应该是一个类似猜数字游戏,选对7个号码即可得到相应奖励 然后注册 随便输入7个数字发现一个也没中,白费2元 然后我们随便点击这个网站的功能发现如果想要flag需要有相对应的余额 我们这会的思路就是利用bp抓包看看能不能修改我们的余额 好像成功了,我们试一试能不能换flag 居然说没有足够的钱,这个方法不行只要将页面上的数字修改只要刷新就会变回原来的余额 居然不能修改余额那就看看在猜数字的页面有没有突破口,发现其访问了api.php我们继续代码审计 看到如下核心代码,首先随机生成七位数字(random_win_nums)然后将其赋值给$win_number。随后关

    新手教程:如何正确完成libwebkit2gtk-4.1-0安装配置

    如何在 Linux 上正确安装并配置 libwebkit2gtk-4.1:从踩坑到实战 你是不是也遇到过这种情况?刚写好一个基于 GTK 的浏览器小程序,兴冲冲地编译运行,结果终端弹出一行红色错误: error while loading shared libraries: libwebkit2gtk-4.1.so.0: cannot open shared object file 或者,在 apt install 时被告知: E: Unable to locate package libwebkit2gtk-4.1-0 别慌——这几乎是每个初次接触 WebKitGTK 开发的 Linux 新手都会踩的“入门级大坑”。 今天我们就来彻底搞懂: libwebkit2gtk-4.1 到底是什么?为什么它这么难装?

    TinyWebServer源码解析——HTTP机制

    TinyWebServer源码解析——HTTP机制

    项目地址 https://github.com/qinguoyi/TinyWebServer.git 尊重开源精神,保障作者权益,内容均为原创,如有雷同,纯属巧合 笔者能力有限,我认为这个部分还有更多的技术栈能够写出来,但是我的能力做不到了,如果以后有机会,我会再写一个修订版。敬请期待! 定义了一个http_conn类 实现了一个基于Linux epoll I/O 多路复用模型的高性能 HTTP 服务器核心模块 http_conn类 封装内容 1. void init()函数初始化连接 2. void close_conn()函数关闭连接 3. void process()主处理函数,由epoll触发后调用 4. bool read_once()函数一次性读取数据 5.