开源项目
Astrbot项目地址:GitHub - AstrBotDevs/AstrBot: ✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 支持 QQ、QQ频道、Telegram、企微、飞书、钉钉 | 知识库、MCP 服务器、OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify
napcat项目地址:GitHub - NapNeko/NapCatQQ: Modern protocol-side framework based on NTQQ
准备工作
安装docker以及docker-compose 使用1panel安装命令一键完成docker的安装
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
具体安装过程
root@web:~# bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"开始下载 1Panel v2.0.9 版本在线安装包安装包下载地址: https://resource.fit2cloud.com/1panel/package/v2/stable/v2.0.9/release/1panel-v2.0.9-linux-amd64.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 41.9M 100 41.9M 0 0 2372k 0 0:00:18 0:00:18 --:--:-- 2276kWarning: Got more output options than URLs1panel-v2.0.9-linux-amd64/1panel-agent.service1panel-v2.0.9-linux-amd64/1panel-core.service1panel-v2.0.9-linux-amd64/1pctl1panel-v2.0.9-linux-amd64/GeoIP.mmdb1panel-v2.0.9-linux-amd64/install.sh1panel-v2.0.9-linux-amd64/lang/en.sh1panel-v2.0.9-linux-amd64/lang/fa.sh1panel-v2.0.9-linux-amd64/lang/pt-BR.sh1panel-v2.0.9-linux-amd64/lang/ru.sh1panel-v2.0.9-linux-amd64/lang/zh.sh1panel-v2.0.9-linux-amd64/1panel-agent1panel-v2.0.9-linux-amd64/1panel-coreSelect a language:1. English2. Chinese 中文(简体)3. Persian4. Português (Brasil)5. РусскийEnter the number corresponding to your language choice: 2
在这里输入 2
██╗ ██████╗ █████╗ ███╗ ██╗███████╗██╗███║ ██╔══██╗██╔══██╗████╗ ██║██╔════╝██║╚██║ ██████╔╝███████║██╔██╗ ██║█████╗ ██║ ██║ ██╔═══╝ ██╔══██║██║╚██╗██║██╔══╝ ██║ ██║ ██║ ██║ ██║██║ ╚████║███████╗███████╗ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚══════╝[1Panel Log]: ======================= 开始安装 =======================设置 1Panel 安装目录 (默认为 /opt):[1Panel Log]: 您选择的安装路径是 /opt检测到未安装 Docker,是否安装 [y/n]: y[1Panel Log]: ... 在线安装 Docker[1Panel Log]: 无需更改源# Executing docker install script, commit: bedc5d6b3e782a5e50d3d2a870f5e1f1b5a38d5c+ sh -c apt-get -qq update >/dev/null+ sh -c DEBIAN_FRONTEND=noninteractive apt-get -y -qq install ca-certificates curl >/dev/null+ sh -c install -m 0755 -d /etc/apt/keyrings+ sh -c curl -fsSL "https://download.docker.com/linux/debian/gpg" -o /etc/apt/keyrings/docker.asc+ sh -c chmod a+r /etc/apt/keyrings/docker.asc+ sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list+ sh -c apt-get -qq update >/dev/null+ sh -c DEBIAN_FRONTEND=noninteractive apt-get -y -qq install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin docker-model-plugin >/dev/null+ sh -c docker versionClient: Docker Engine - Community Version: 28.3.3 API version: 1.51 Go version: go1.24.5 Git commit: 980b856 Built: Fri Jul 25 11:34:00 2025 OS/Arch: linux/amd64 Context: default
Server: Docker Engine - Community Engine: Version: 28.3.3 API version: 1.51 (minimum version 1.24) Go version: go1.24.5 Git commit: bea959c Built: Fri Jul 25 11:34:00 2025 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.7.27 GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da runc: Version: 1.2.5 GitCommit: v1.2.5-0-g59923ef docker-init: Version: 0.19.0 GitCommit: de40ad0
================================================================================
To run Docker as a non-privileged user, consider setting up theDocker daemon in rootless mode for your user:
dockerd-rootless-setuptool.sh install
Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.
To run the Docker daemon as a fully privileged service, but granting non-rootusers access, refer to https://docs.docker.com/go/daemon-access/
WARNING: Access to the remote API on a privileged Docker daemon is equivalent to root access on the host. Refer to the 'Docker daemon attack surface' documentation for details: https://docs.docker.com/go/attack-surface/
================================================================================
[1Panel Log]: ... 启动 DockerSynchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.Executing: /lib/systemd/systemd-sysv-install enable docker[1Panel Log]: Docker 安装成功设置 1Panel 端口 (默认是 29597):
设置端口,如果你需要使用1panel则继续,如果不需要则直接 ctrl+c
退出即可
安装
进入任意目录,这里以home目录为例
root@DMIT-Eli3u4crh9:~# cd /homeroot@DMIT-Eli3u4crh9:/home#
创建文件夹以及进入到文件夹中
root@DMIT-Eli3u4crh9:~# cd /homeroot@DMIT-Eli3u4crh9:/home# mkdir qqbotroot@DMIT-Eli3u4crh9:/home# cd qqbotroot@DMIT-Eli3u4crh9:/home/qqbot#
创建docker-compose.yml文件
root@DMIT-Eli3u4crh9:/home/qqbot# nano docker-compose.yml
会跳转一个新的页面,复制下面的内容,然后按 ctrl+x
退出,按 y
保存,最后按回车确定即可
# NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose -f ./compose/astrbot.yml up -dservices: napcat: environment: - NAPCAT_UID=${NAPCAT_UID:-1000} - NAPCAT_GID=${NAPCAT_GID:-1000} - MODE=astrbot ports: - 6099:6099 container_name: napcat restart: always image: mlikiowa/napcat-docker:v4.8.96 volumes: - ./data:/AstrBot/data - ./ntqq:/app/.config/QQ networks: - astrbot_network mac_address: "02:42:ac:11:00:02" astrbot: environment: - TZ=Asia/Shanghai image: soulter/astrbot:latest container_name: astrbot restart: always ports: - "6185:6185" - "6195:6195" - "6199:6199" volumes: - ./data:/AstrBot/data - ./napcat/config:/app/napcat/config - ./ntqq:/app/.config/QQ networks: - astrbot_networknetworks: astrbot_network: driver: bridge
最后运行docker compose up -d
出现最后的Crearted和started就表明运行起来了
配置机器人
配置napcat
打开浏览器,在浏览器中输入ip:6099之后,输入napcat就可以看到让我们登录qq了,第一次我们使用扫码的方式登录,登录之后除了密码之外什么都不要改;
配置Astrbot
接着我们在浏览器中输入ip:6185,就能看到Astrbot的控制台,默认账户密码均为:astrbot,进去之后我们点击消息平台
,点击新增适配器
,选择接入qq个人号
,其余设置默认,只修改第三个反向 Websocket 主机地址
,将0.0.0.0
修改为astrbot
,6199与docker-compose.yml中的6199对应,如果你修改了,这里也要修改为一样的
然后点击左侧的控制台,应该就能看到连接成功了,这时我们可以想作为机器人的qq发送 /help指令来检查
Astrbot 默认账户密码均为:astrbot napcat默认Token为:napcat