此教程仅作为个人记录使用,读者可以参考,但不可直接复制使用,教程中含有大量自定义变量代码!
大家新年快乐!!又好久没有写文章了
此教程不仅可以搭建鸣潮机器人,可以使用其他插件,例如终末地、王者荣耀、原神、绝区零、二重螺旋等等
一. 使用到的框架技术
二. 配置环境
1. 准备 Docker 环境
1. 安装 Docker & Docker Compose
- 自行搜索善用Ai,而且现在很多面板也能一键安装
2. 配置 Docker 网络环境
- 注:在 docker-compose.yml 文件中并没有创建网络,只写了加入网络的配置,所以要事先创建好网络
- 步骤:
- 网络名称:
GsCoreBot名称固定且不可改变 - 网络模式:bridge
- 子网:
172.22.2.0/24不冲突即可 - 网关:
172.22.2.1与上方对应即可 - 其他默认
2. 生成 Docker 镜像
1. GsCore 镜像
- docker-compose.yml
# gsuid_core Docker Compose 配置
# 部署方式: 全量模式
networks:
GsCoreBot:
external: true
services:
gsuid_core:
container_name: GsCore
image: docker.cnb.cool/gscore-mirror/gsuid_core:latest
container_name: gsuid_core
ports:
- "${PORT:-8765}:8765"
volumes:
- ./gscore_data:/gsuid_core/data
- ./gscore_plugins:/gsuid_core/gsuid_core/plugins
- venv-data:/venv
restart: always
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
- PYTHONUNBUFFERED=1
- UV_INDEX=${GSCORE_PYTHON_INDEX:-}
- UV_NO_CONFIG=${UV_NO_CONFIG:-false}
- http_proxy=${GSCORE_HTTP_PROXY:-}
- https_proxy=${GSCORE_HTTPS_PROXY:-}
- no_proxy=${GSCORE_NO_PROXY:-localhost,127.0.0.1,.local,cnb.cool,mirrors.aliyun.com,pypi.tuna.tsinghua.edu.cn,mirrors.volces.com}
networks:
- GsCoreBot
volumes:
venv-data:
- 需开放端口
8765
2. NapCat 镜像
- docker-compose.yml
networks:
GsCoreBot:
external: true
services:
napcat:
environment:
- NAPCAT_UID=${NAPCAT_UID}
- NAPCAT_GID=${NAPCAT_GID}
ports:
- 3000:3000
- 3001:3001
- 6099:6099
container_name: NapCat
restart: always
image: mlikiowa/napcat-docker:latest
# 新增 volumes 配置,实现数据持久化
volumes:
# 映射 QQ 持久化数据路径
- ./data/.config/QQ:/app/.config/QQ
# 映射 NapCat 配置文件路径
- ./data/napcat/config:/app/napcat/config
# 映射 NapCat 插件目录路径
- ./data/napcat/plugins:/app/napcat/plugins
networks:
- GsCoreBot
- 需开放端口
6099 - 构建镜像命令
NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose up -d
3. OneBot 镜像
- docker-compose.yml
networks:
GsCoreBot:
external: true
services:
nonebot:
container_name: OneBot
build: .
ports:
- "8080:8080"
env_file:
- .env.prod
environment:
ENVIRONMENT: prod
HOST: 0.0.0.0
PORT: 8080
restart: always
networks:
- GsCoreBot
- Dockerfile
FROM python:3.10-slim
# 设置工作目录
WORKDIR /app
# 复制依赖文件
COPY pyproject.toml .
RUN pip install --no-cache-dir -e .
# 复制项目文件
COPY . .
# 暴露端口(对应 docker-compose.yml 中的端口)
EXPOSE 8080
# 启动命令
CMD ["python", "bot.py"]
- .env.prod
### 用户配置项 ###
# 各种插件的配置项可以放这里
# 如果这里有配置项为空,NoneBot 会去环境变量中寻找
gsuid_core_ws_token= #输入你的token
gsuid_core_host=172.22.2.10
gsuid_core_port=8765
# 重定向 localstore 插件的存储路径,便于后续迁移 Bot
LOCALSTORE_USE_CWD=true
# LogPile 日志文件保存路径
# LOGPILE_PATH=./log
# LogPile 日志输出等级,可以为列表
LOGPILE_LEVEL=INFO
# LogPile 日志保留天数
# LOGPILE_RETENTION=14
### NoneBot 配置项 ###
# 机器人超级用户
# 超级用户拥有对 Bot 的最高权限
SUPERUSERS=[]
# 机器人的昵称
# 消息以机器人昵称开头可以代替艾特
NICKNAME=[]
# 命令起始字符
# 一般只有 on_command 匹配规则适用
# 如果有一个指令为 查询,当该配置项为 ["/"] 时使用 /查询 才能够触发
COMMAND_START=["", "/", "#"]
# 命令分割字符
# 一般用于二级指令(不常见)
COMMAND_SEP=[".", " "]
# NoneBot2 监听的 IP 或 主机名
# 如果要对公网开放,请改成 0.0.0.0
HOST=0.0.0.0
# NoneBot2 监听的端口
# 请保证该端口号与连接端配置相同 或与端口映射配置相关
PORT=8080
# NoneBot2 运行所使用的驱动器
# 见 https://nonebot.dev/docs/next/advanced/driver
DRIVER=~fastapi+~httpx+~websockets
# NoneBot2 日志输出等级
LOG_LEVEL=INFO
### OneBot 适配器配置 ###
# OneBot Access Token 配置
# ONEBOT_ACCESS_TOKEN=你的访问令牌
# OneBot V11 Secret 配置
# ONEBOT_SECRET=你的签名
# OneBot V11 正向 Universal WebSocket 配置
# 参考 https://onebot.adapters.nonebot.dev/docs/guide/setup#%E6%AD%A3%E5%90%91-websocket-%E8%BF%9E%E6%8E%A5
# 请确保你的 NoneBot 使用的是 ForwardDriver,否则无法使用此连接方式。
# ONEBOT_WS_URLS=["ws://127.0.0.1:5700"]
# OneBot V11 HTTP POST 配置
# 参考 https://onebot.adapters.nonebot.dev/docs/guide/setup#http-post
# 请确保你的 NoneBot 使用的是 ForwardDriver 和 ReverseDriver,否则无法使用此连接方式。
# ONEBOT_API_ROOTS={"Bot QQ号": "http://127.0.0.1:5700/"}
# OneBot V12 正向 WebSocket 配置
# 参考 https://onebot.adapters.nonebot.dev/docs/guide/setup#%E6%AD%A3%E5%90%91-websocket-%E8%BF%9E%E6%8E%A5-1
# 请确保你的 NoneBot 使用的是 ForwardDriver,否则无法使用此连接方式。
# ONEBOT_V12_WS_URLS=["ws://127.0.0.1:5700"]
# OneBot V12 HTTP Webhook 配置
# 参考 https://onebot.adapters.nonebot.dev/docs/guide/setup#http-webhook
# 请确保你的 NoneBot 使用的是 ForwardDriver 和 ReverseDriver,否则无法使用此连接方式。
# ONEBOT_V12_API_ROOTS={"Bot QQ号": "http://127.0.0.1:5700/"}
- 其他文件需要看官网自行生成,此处不提供代码
- 无须对外开放端口
3. 运行对应容器
1. Gscore 容器
- docker compose up -d
- 将 IP 改为
172.22.2.10注:需要与前面设置的网络在同一子网中,且与 OneBot 的.env.prod配置文件的gsuid_core_host变量值相同,否则将无法内网访问 - 配置 Github 代理地址:
git config --global url."https://gh-proxy.com/https://github.com/".insteadOf https://github.com/ - 其他配置参考 GScore 官方文档
2. NapCat 容器
- docker compose up -d
- 将 IP 改为
172.22.2.11 - 查看日志二维码,扫码登录
- 登录后台,Token在映射路径下的
../data/napcat/config/webui.json文件中 - 网络配置 -- 新建 -- WebSocket 客户端
ws://172.22.2.12:8080/onebot/v11/ws?token=#你的Token注:IP 为 OneBot IP,若没有设置 Token 将链接 ? 和其后的内容删除
3. OneBot 容器
- docker compose up -d
- 作为中间协议适配器 IP 需设置为
172.22.2.12 - 若链接成功则可以从日志中看到一下信息
![图片[1] - Docker 部署鸣潮机器人 - 云晓晨 KaiQi.Wang](https://cdn.kaiqi.wang/wp-content/uploads/2026/02/dc1b921b2220260225113112.webp)
这样就成功了,查看 Gscore 使用相关命令安装插件即可
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

这个不错!













- 最新
- 最热
只看作者