侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 122 篇文章
  • 累计创建 38 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

让 NAS变身AI 助理,NapCat+AstrBot保姆级教程

羊刀仙
2025-02-19 / 0 评论 / 0 点赞 / 39 阅读 / 4720 字
温馨提示:
本文最后更新于 2025-02-19,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

本期还是来聊聊🤖机器人Bot接入AI大模型相关。

前面介绍过AstrBot和DeepSeek,但群友看到后提到NapCat,说可以进行联动,希望也能出一期部署流程。

简单做了做功课:

🔹 NapCatQQ 专注于 QQ 机器人协议,提供 OneBot 标准 API,主要适用于希望构建高性能 QQ 机器人的开发者;通过 NTQQ 协议实现 QQ 机器人通信,强调高性能和稳定性,不涉及 AI 聊天或大模型交互。

🔹 AstrBot 是一个跨平台 AI 机器人框架,可以接入多个消息平台(QQ、微信、纸飞机等),支持 LLM(大语言模型),例如GPT、DeepSeek、ChatGLM 等,提供 AI 对话 和 插件扩展能力,偏向于 AI 智能助手开发。

NapCatQQ 作者也提供了Docker的部署方式,那咱们就来玩上一玩儿~

不过因为风控问题,QQ/微信最好不要用新账号,一般要养一段时间。

关于AstrBot请参考之前文章,部署代码稍作调整

之所以进行改动,是因为这两个容器的网络得统一,自己有网络规划的手动建个也行。(不同容器最好用hostname)

services:
  astrbot:
    image: soulter/astrbot:latest
    container_name: astrbot
    network_mode: bridge
    restart: always
    ports: 
      - "6200:6200"  # 作为反向websocket端口
      - "6185:6185"  # web-ui
      - "11451:11451"
    volumes:
      - /share/Container/AstrBot/data:/AstrBot/data
      - /var/run/docker.sock:/var/run/docker.sock

部署流程

以威联通NAS为例,这次选择部署在我的TS-673A上,毕竟我的AI前端也在这上面,日后捣鼓起来应该也会更方便些。

作者给出的 docker run 命令如下,我们会转换为 docker-compose.yml ,以便更方便地管理容器。大家也可以按照习惯直接SSH部署,注意端口占用。

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

打开Container Station,将以下代码复制并粘贴进框内,端口号自行修改下,然后创建新的应用程序。

version: '3.8' # 最新版该行可删除

services:
  napcat:
    image: mlikiowa/napcat-docker:latest
    container_name: napcat
    network_mode: bridge
    restart: always
    ports:
      - "3000:3000" # 冒号左侧可改,下同
      - "3001:3001"
      - "6099:6099" # 这是web-ui访问端口
    volumes:
      - /share/Container/napcat/config:/app/napcat/config
      - /share/Container/napcat/QQ:/app/.config/QQ
    environment:
      - NAPCAT_GID=100 # id -g 获取当前账户组ID
      - NAPCAT_UID=1000 # id -u 获取当前账户ID

ID值通过SSH输入指令获得,最高权限威联通(admin)以及其他(通常为root)两个值一般都为0。

截屏2025-02-17 18.45.48.png

部署完毕后,要先做两件事情。

点击创建好的应用程序,查看日志。

这时候会看到出现一个二维码,需要QQ号扫描登陆。找个小号扫一下即可。

截屏2025-02-17 18.48.57.png

其次找到这条日志,其中包含了登陆token,如下图箭头所指,需要记录token=后的内容,我这里为napcat

截屏2025-02-17 18.55.04.png

这时候web输入NAS_IP:6099,输入记录的token值,即可完成登陆。界面相当可爱哈。QQ号设备信息都一览无余。

截屏2025-02-17 18.56.28.png

在猫猫日志中可以看到实时的聊天信息,这个其实在Container Station的应用日志中也可看到。

截屏2025-02-18 09.00.40 拷贝.png

对接AstrBot

(API接入之类的步骤这里就不再啰嗦,人格设定、内容审核、唤醒指令、各类插件等功能大家就自己去尝试吧~)

建议先添加个管理员ID,后续可以直接QQ命令管理。

截屏2025-02-18 15.11.47.png

进入AstrBot的UI界面,选择配置消息平台消息平台适配器aiocqhttp(qq),默认即可,可根据需要更改。

图片仅作展示。按照上文流程进行填写。ID无关紧要,起个喜欢的;点击启用,IP填写0.0.0.0,挑一个填写上,上面部署代码端口为6200,也填上。

截屏2025-02-18 14.53.04 1.png

填好后点击右下角的保存,等待服务重启。

重启完毕后,回到NapCat配置OneBot:网络配置新建WebSocket客户端

截屏2025-02-18 10.08.12.png

填入相关内容。地址url按照图里的来:ws://10.0.3.3:6200/ws,这里的IP,可以查看NAS网络获取。

截屏2025-02-18 14.54.45.png

截屏2025-02-18 14.57.23.png

填写完毕后,看看日志,不报错基本就没问题。

截屏2025-02-18 15.03.27 拷贝.png

大概的演示

私聊可以直接对话,默认/help呼出菜单。

截屏2025-02-18 15.13.54.png

比较喜欢地下交通站这部作品,放弃了猫娘,让他化身黄大队长。

截屏2025-02-18 15.16.44.png

截屏2025-02-18 17.25.20.png

截屏2025-02-18 17.25.34.png

最后

现在免费API是真的慢,本地部署咱也没设备~

玩儿心大,无奈条件却不允许。

本篇到这差不多也结束了,祝大家玩的开心!

0

评论区