前置准备
众说周知QQ微信并没有开放的接口供开发者调用,需要用到一些机器人框架用来收发消息。下面先来介绍几个开源项目:
NapCat
NapCat: https://github.com/NapNeko/NapCatQQ
自从QQ使用NT架构以后,开发机器人变的方便了一些。NapCat就是基于 NTQQ 的 Bot 协议端实现方式。兼容onebot和gocq协议,上手简单,开箱即用,更新速度也比较快。
GeWechat
GeWechat: https://github.com/Devo919/Gewechat
免费的微信开源框架,是目前最稳定的主流使用微信机器人框架方案,就是项目仍旧比较简陋,上手稍有难度,不能开箱即用。
LangBot
LangBot: https://github.com/RockChinQ/LangBot
😎高稳定、🧩支持插件、🦄多模态 - 大模型原生即时通信机器人平台。这个主要用来部署对接大模型。
DeepSeek
DeepSeek 开放平台:https://platform.deepseek.com
搭建环境
- 服务器:建议2G内存以上,主要是因为 GeWechat 占用内存多一些。
- 系统:Debain 11,ubuntu也可以,在部署 GeWechat 时都会出现一个问题,后文有解决的办法。
- Docker 环境:项目全部使用 Docker 部署比较方便, 安装Docker可查看过往笔记https://blog.lalkk.com/3598/。
搭建方式
部署 LangBot
安装 LangBot
为了保证容器之间便于通信,建议先创建一个 Docker 网络,将项目全部部署到同一个网络里。
#创建一个名为 langbot-network 的网络
docker network create langbot-network
Git 项目:
git clone https://github.com/RockChinQ/LangBot
cd LangBot
编辑 docker-compose.yaml
文件,配置网络
version: "3"
services:
langbot:
image: rockchin/langbot:latest
container_name: langbot
volumes:
- ./data:/app/data
- ./plugins:/app/plugins
restart: on-failure
ports:
- 5300:5300 # 供 WebUI 使用
- 2280-2290:2280-2290 # 供消息平台适配器方向连接
# 根据具体环境配置网络
networks:
- langbot-network
networks:
langbot-network:
external: true
启动容器:
docker compose up
容器会映射5300
端口供 WebUI 使用,可以访问 http://127.0.0.1:5300
设置。
容器映射的 2280-2290
端口是供使用 OneBot 协议的消息平台适配器反向连接使用,不要修改。
配置 LangBot
先来配置大模型,主要是在设置的 provider.json 里填入相应的大模型数据,可以在webUI界面设置,也可以到映射的data/config目录下进行编辑。主要修改的地方如下:
......
],
"deepseek": [
"sk开头的密钥"
]
......
"deepseek-chat-completions": {
"args": {},
"base-url": "https://api.deepseek.com",
"timeout": 120
}
.......
#模型名
"model": "deepseek-chat",
......
修改完后保存,重启 LangBot。
查看 LangBot 的ip地址
部署 NapCat
安装 NapCat
直接 docker 安装,在 ACCOUNT 填入QQ Bot的账号,映射端口6099为 WebUI端口。
docker run -d \
-e ACCOUNT="123456789" \
-e NAPCAT_GID=0 \
-e NAPCAT_UID=0 \
-e MESSAGE_POST_FORMAT="string" \
-e WSR_ENABLE=true \
--network langbot-network \
-p 6099:6099 \
-v /www/Bot/napcat/QQ:/app/.config/QQ \
-v /www/Bot/napcat/config:/app/napcat/config \
-v /www/Bot/napcat/logs:/app/napcat/logs \
--name napcat \
--mac-address=02:42:ac:11:00:99 \
mlikiowa/napcat-docker:latest
配置 NapCat
打开 Web界面,初始密码在映射目录下 /config/webui.json里,可修改token值进行修改密码。登录web后根据提示扫码登录QQ就可以配置网络了。
在网路配置里创建一个 websockets 客户端用于连接 LangBot

想Bot发送消息,有回复即完成对接。可以查看 NapCat和LangBot的日志。

部署 GeWechat
安装 GeWechat
拉取镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/gewe/gewe:latest
docker tag registry.cn-hangzhou.aliyuncs.com/gewe/gewe gewe
运行容器:
docker run -itd --network langbot-network -v /root/temp:/root/temp -p 2531:2531 -p 2532:2532 --privileged=true --name=gewe gewe /usr/sbin/init
设置开机运行:
docker update --restart=always gewe
通过 docker logs gewe
命令查看 gewechat 日志,如果有如下报错则说明没有正常启动
!!! Failed to allocate manager object
出现这个问题是因为系统只挂载了 cgroupv2 ,没有挂载 cgroup v1。可以通过 mount | grep cgroup 命令查看情况。
方法一:
如果要让系统同时兼容 cgroup v1 和 cgroup v2,需要修改系统文件:
编辑 /etc/default/grub文件
GRUB_CMDLINE_LINUX="SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 systemd.unified_cgroup_hierarchy=0"
生效配置:
grub-mkconfig -o /boot/grub/grub.cfg
最后使用 reboot 命令重启服务器,删除掉 gewe 的容器和镜像重新拉取部署。
方法二:
如果上述方法不能解决,可以使用1h修改的镜像,通过不依赖cgroup和docker --privilege,在更高版本的ubuntu、debian上运行gewe
拉取镜像:
docker pull registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine
docker tag registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine gewe
运行容器
mkdir -p /www/Bot/gewechat
docker run -itd -v /www/Bot/gewechat/data:/root/temp -p 2531:2531 -p 2532:2532 --network langbot-network --restart=always --name=gewe gewe

如图就是启动成功。
配置 GeWechat
gewechat 对接 LangBot比较简单,编辑 /data/config/platform.json 文件,找到 "adapter": "gewechat" 配置 gewechat 地址和 LangBot 的回调地址。
{
"adapter": "gewechat",
"enable": true,
"app_id": "",
"callback_url": "http://172.20.0.2:2286/gewechat/callback",
"gewechat_url": "http://172.20.0.3:2531",
"port": 2286,
"token": ""
}
将 enable 修改为 true 。callback_url 地址修改为 LangBot 的地址,路径必须为 /gewechat/callback。 配置 gewechat_url 为 gewechat 的地址,然后重启 LangBot,查看 LangBot 容器的日志扫码登录微信即可。
使用非官方渠道接口
DeepSeek 火了之后,官方的服务经常宕机,尤其是R1模型经常无法使用。推荐使用其他大厂提供的接口,比如腾讯云,阿里云,火山引擎,硅基流动都有提供免费的额度。
腾讯云:https://console.cloud.tencent.com/lkeap
华为云:https://activity.huaweicloud.com/maas-ds.html
火山引擎:https://console.volcengine.com/ark/region:ark+cn-beijing/model?vendor=Bytedance&view=LIST_VIEW
0