使用宝塔面板部署 AstrBot 与 NapCat 实现 QQ 机器人

使用宝塔面板部署 AstrBot 与 NapCat 实现 QQ 机器人

2026年7月25日·#技术分享总结/转载·1046 字 5 分钟
浏览量加载中...
封面图
使用宝塔面板部署 AstrBot 与 NapCat 实现 QQ 机器人 - 封面图

此文章转载为这位大佬:THW

697

Note

NOTE

本文是特指在宝塔面板 11,使用 Docker 容器部署 AstrBot 和 NapCat 以实现接入个人 QQ 号的教程。

Note

WARNING

您在部署前应该知晓通过 NapCat 接入 QQ 存在触发腾讯风控机制的风险,请谨慎操作。

介绍#

AstrBot#

AstrBot 是一个开源、模块化的一站式 Agentic 聊天机器人平台,支持灵活构建 AI 伴侣、智能客服或企业知识库系统。其核心特性包括:

  • 强大的 Agentic 能力 :支持多轮工具调用、沙盒代码执行、实时网页搜索,可处理复杂任务;
  • 多模型 LLM 引擎 :兼容主流大语言模型,支持多模态输入、人设定制与原生知识库;
  • 跨平台部署 :一键接入 QQ、微信公众号、飞书、Telegram、Discord 等主流消息平台;
  • 可视化管理界面 :提供 WebUI 用于插件管理、对话监控与系统配置。

NapCat#

NapCat 是一个基于 TypeScript 开发的 OneBot 协议实现框架,通过调用 QQ 客户端底层接口,将 HTTP/WebSocket 请求标准化为 OneBot v11 协议格式,从而实现 Bot 功能。它本身不包含业务逻辑,仅作为消息通道层。

协作关系#

AstrBot 与 NapCat 通过 OneBot v11 协议 协同工作:

  • NapCat 负责与 QQ 客户端通信,充当“耳朵”(接收消息)和“嘴巴”(发送消息);
  • AstrBot 作为智能中枢,处理消息逻辑、调用 AI 模型并生成回复,是机器人的“大脑”。

二者通过 WebSocket 建立连接,方可实现完整功能闭环。

部署#

AstrBot#

  1. 登录你的宝塔面板,进入 Docker → 容器 页面;
  2. 点击 创建容器 ,填写以下参数:
    参数值
    容器名称astrbot (可自定义)
    镜像soulter/astrbot:latest
    端口映射6199:6199 (反向 WS) 6185:6185 (WebUI)
  3. 点击 创建 ,等待容器启动完成。

AstrBot 容器创建

NapCat#

  1. 返回容器列表,再次点击 创建容器 ;
  2. 填写参数如下:
    参数值
    容器名称napcat
    镜像mlikiowa/napcat-docker:latest
    端口映射3000:3000 3001:3001 6099:6099 (WebUI)
  3. 再次点击创建并等待启动。

配置#

配置 NapCat 并登录 QQ#

  1. 在容器列表中找到 napcat ,点击 更多 → 日志 ;
    查看 NapCat 日志
  2. 查找日志中的 WebUI Token ;
    获取 WebUI Token
  3. 浏览器访问 http://<服务器IP>:6099 ,输入 Token 登录;
  4. 使用手机 QQ 或 TIM 扫描二维码完成账号登录。
    NapCat WebUI 登录

登录 AstrBot#

  1. 浏览器访问 http://<服务器IP>:6185 ,会来到 AstrBot 的登录页面,默认密码账户均为 “astrbot”;
  2. 登录后会提示修改密码,设置好后须使用新账户密码重新登录一次。

建立容器间网络互通#

由于 AstrBot 与 NapCat 分属独立容器,默认网络隔离,无法直接通信。需将其加入同一自定义 Docker 网络:

  1. 进入 Docker → 网络 ,点击 添加网络 ;
    • 网络名称: astrbot-napcat
      添加自定义网络
  2. 返回 容器 页面,对 napcat 和 astrbot 容器分别执行:
    • 点击 管理 → 容器网络 → 加入网络
      • 选择 astrbot-napcat
      • 退出默认网络
        加入网络
  3. 记录 astrbot 容器在 astrbot-napcat 网络中的 IPv4 地址。
    获取 AstrBot IP

配置 NapCat 的 WebSocket 客户端#

  1. 在 NapCat WebUI 中,进入 网络配置 → 新建 → WebSocket 客户端 ;
  2. 填写如下参数:
    字段值
    启用✅ 勾选
    URLws://<astrbot容器IP>:6199/ws
    消息格式Array
    心跳间隔 (ms)5000
    重连间隔 (ms)5000
    Token(可选,若 AstrBot 设置了则需一致)
    新建 WebSocket 客户端
  3. 点击 保存 。

配置 AstrBot 的 OneBot 适配器#

  1. 访问 AstrBot WebUI( http://<服务器IP>:6185 );
  2. 进入左侧 机器人 → 创建机器人 ;
  3. 选择 OneBot v11 类型;
  4. 填写配置:
    字段值
    ID随意
    启用✅ 勾选
    反向 WebSocket 主机地址<astrbot容器IP>
    反向 WebSocket 端口6199
    Token(如果没有设置就不用填)
    配置 OneBot v11
  5. 点击 保存 。

大功告成#

在 AstrBot WebUI 的 机器人 页面下方的“平台日志”中,若出现以下日志:

aiocqhttp(OneBot v11) 适配器已连接。

则表明 AstrBot 与 NapCat 已成功建立通信,即可开始在 AstrBot 上配置你的 QQ 机器人了。

评论区

[ 标签 ]
# AI37# AI 编程2# AI工具1# AI绘图1# AI辅助开发2# Ajax7# Apifox1# AstrBot3# Astro2# CC Switch1# CDN2# Claude Code1# claudecode2# ClaudeCode1# Cloudflare2# CloudFlare2# CloudFlare-ImgBed3# coc4# CSS10# DeepSeek6# deepseek2# DELETE1# Docker5# EdgeOne3# Gist1# git1# GitHub1# hexo-circle-of-friends1# HTML9# HTTP10# ImageManager1# Java23# java13# JavaScript11# JavaWeb113# JDBC7# JSON2# JUnit1# LangChain25# Linux4# Logback1# Maven17# Muse Spark1# Mybatis1# MyBatis18# MySQL45# MySql1# NapCat1# Node.js1# obsidian2# Obsidian5# OpenCode4# ORM1# PathVariable1# PicGo1# PyCharm1# Python70# RequestBody1# RequestMapping1# RESTful风格1# skills1# Slf4j1# SpringBoot37# SpringMVC5# SQL2# Streamlit5# Svelte2# TailwindCSS1# Telegram3# Tlias2# Vercel1# vscode2# Vue20# Waline3# Web3# WebDAV1# Web基础6# Web开发6# WinSCP1# YAML1# 三层架构1# 中二宣言1# 书籍1# 使用文档10# 写作1# 函数2# 刷步数1# 前端52# 动态1# 动漫1# 包1# 单词2# 博客8# 博客工作流1# 博客开发2# 参数接收1# 友链1# 反思2# 后端48# 图床6# 地图1# 备份2# 大模型1# 奇思妙想1# 存储1# 学习方法6# 学校1# 宝塔面板3# 宝宝10# 实战4# 对象1# 导航栏1# 工具2# 布局2# 开发1# 开发工具1# 开发规范1# 开心1# 异常处理1# 影视2# 微信1# 性能优化2# 总结1# 想法15# 感受1# 感悟11# 指南1# 提示词工程2# 插件5# 故障排除1# 效率工具2# 教程10# 数据分析9# 数据库27# 数据结构1# 文件操作2# 斩神1# 日常95# 日志框架1# 朋友圈1# 朱元璋1# 模块1# 模板1# 正则表达式2# 测试3# 游戏2# 爬虫7# 生活迁移1# 电影2# 电脑1# 碎碎念1# 视觉识别1# 类1# 类型注解1# 网络基础2# 网络教室1# 羊毛2# 脚本2# 脚本工具1# 自动化2# 蓝奏云1# 表单1# 订阅推荐2# 记录2# 评论系统1# 词根1# 词缀1# 说说1# 足迹1# 跑步2# 路径参数1# 转载2# 运动1# 部署11# 部落冲突1# 配置1# 随机图1# 面向对象5# 音乐3# 音标1# 项目实战11# 饮食1# 驼峰命名1# 高德地图1
[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:000:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]