找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

874

积分

0

好友

112

主题
发表于 15 小时前 | 查看: 0| 回复: 0

在开始今天的正文之前,有必要先做一些背景说明,以帮助大家更好地理解后续的操作。

关于容器与项目更名

不知道大家有没有注意到, ClawdBot 这个项目在短时间内经历了多次更名。先是改为了 MoltBot,而当前最新的正式名称是 OpenClaw

由于代码仓库名称的变更,你可能无法直接在 ghcr.io 的页面上通过搜索找到新的镜像入口。不过别担心,镜像实际上是存在的。你可以在浏览器中直接访问 https://ghcr.io/openclaw/openclaw 来查看所有可用的版本。

OpenClaw项目在GitHub Packages上的Docker镜像列表

从上图可以看到多个标签,其中:

  • main:通常代表最新的开发版本;
  • latest:则应该是相对稳定的发布版本。

为了让大家能顺利过渡,这里提供一个更新后的 Docker Compose 配置文件示例。请注意,这里为了最大程度地与之前的文章保持一致,我们主要修改了镜像名称和容器内的挂载路径。

version: '3.8'

services:
  moltbot-gateway:
    image: ghcr.io/openclaw/openclaw:main
    container_name: moltbot-gateway
    restart: unless-stopped
    ports:
      - "18789:18789"
    volumes:
    # 旧路径注释掉
    #  - ./config:/home/node/.clawdbot
    #  - ./config:/home/node/.moltbot
    # 使用新的配置路径
      - ./config:/home/node/.openclaw
      - ./data:/home/node/clawd
    environment:
      - HTTP_PROXY=http://192.168.0.206:2081
      - HTTPS_PROXY=http://192.168.0.206:2081
      - NO_PROXY="localhost,127.0.0.1,::1"
    shm_size: 2g # 必须加,至少 1g,推荐 2g 或更大
    # privileged: true      # 可选2:如果仍报权限问题,临时加这个(不推荐长期用)
    # cap_add:
    #   - SYS_ADMIN         # 可选1:解决部分沙箱问题和安装skill权限不足
    command: node /app/dist/index.js gateway --port 18789

  moltbot-cli:
    image: ghcr.io/openclaw/openclaw:main
    container_name: moltbot-cli
    network_mode: "service:moltbot-gateway" # ← 关键:共享 gateway 容器的网络栈和端口
    volumes:
    #  - ./config:/home/node/.clawdbot
    #  - ./config:/home/node/.moltbot
      - ./config:/home/node/.openclaw
      - ./data:/home/node/clawd
    entrypoint: ["node", "dist/index.js"]

一个非常重要的前置步骤:在启动更新后的服务之前,请确保将你 config 目录下的 moltbot.json 配置文件重命名为 openclaw.json。如果没有进行这一步,服务可能会持续提示 Missing config. Run openclaw setup or set gateway.mode=local (or pass --allow-unconfigured). 错误。

当然,如果你的 config 目录下还没有任何配置文件,无论是 moltbot.json 还是 openclaw.json,都需要先运行 onboarding 向导来完成初始设置。这引出了下一个需要勘误的点。

上期教程勘误

在上一篇关于 Docker方式安装你的私人AI电脑助手Moltbot 的文章中,启动 onboarding 向导的命令被写作:

# 运行设置
docker compose run --rm -it moltbot-cli onboard

但经过实践验证,正确的命令应该是下面这个(与截图一致):

# 运行设置
docker-compose run --rm moltbot-cli onboard

首次运行onboarding向导的正确命令与结果截图


接下来,让我们进入今天的核心主题:如何为你的 OpenClaw 接入 QQ 机器人。

QQ Bot 插件简介

什么是 qqbot?

qqbot 全称是 QQ Bot Channel Plugin for Moltbot,是 QQ 开放平台 Bot APIOpenClaw(原 Clawdbot/Moltbot) 渠道插件,支持 C2C 私聊、群聊 @ 消息、频道消息。

功能特性

  • 多场景支持C2C 单聊、QQ 群 @ 消息、频道公开消息、频道私信。
  • 自动重连WebSocket 断连后自动重连,支持 Session Resume
  • 消息去重:自动管理 msg_seq,支持对同一消息多次回复。
  • 系统提示词:可配置自定义系统提示词注入到 AI 请求。
  • 错误提示AI 无响应时自动提示用户检查配置。
  • 易于安装与配置:提供交互式配置方式和命令行配置选项,简化设置过程。

安装与配置 QQ 插件

步骤一:安装 QQ 插件

首先,进入你的 OpenClaw (moltbot) 项目目录,并检查现有插件列表。

# 进入 moltbot 目录
cd /volume1/docker/moltbot

# 延长超时时间(如果你的机器性能比较弱,可以设置的再大一点)
export COMPOSE_HTTP_TIMEOUT=600

# 查看当前所有插件
docker-compose run --rm moltbot-cli plugins list

Moltbot CLI插件列表初始状态

接下来,我们需要获取 QQ 插件。访问该插件的 GitHub 仓库:https://github.com/sliverp/qqbot,下载其源代码(通常选择 Download ZIP)。

QQ Bot插件GitHub仓库页面

下载完成后,将解压的文件夹(例如 qqbot-main)放入你 Docker Compose 配置中映射的 data 目录下。

文件管理器显示data目录结构,其中包含qqbot-main文件夹

这个目录对应到容器内部路径为 /home/node/clawd/qqbot-main。确认目录内容包含 index.ts, package.json 等必要文件。

qqbot-main文件夹内的文件列表

现在,执行安装命令:

# 安装 QQ 插件
docker-compose run --rm moltbot-cli plugins install /home/node/clawd/qqbot-main/.

终端显示QQ插件安装过程

安装完成后,再次列出插件以确认安装成功。你应该能看到 QQ Bot 插件的状态变为 loaded

# 查看当前所有插件
docker-compose run --rm moltbot-cli plugins list

插件列表显示QQ Bot插件已成功加载

步骤二:配置 QQ 机器人凭证

插件安装好了,但要让它工作起来,我们还需要从 QQ 开放平台获取必要的身份凭证。

  1. 注册与审核:访问 QQ 开放平台,完成开发者注册和企业或个人主体信息认证。
    QQ开放平台主体信息认证通过页面

  2. 创建应用:注意选择创建“机器人”应用,而不是小程序或小游戏。
    QQ开放平台创建应用界面,选中“机器人”

  3. 获取凭证:进入应用的“开发管理”页面,这里你可以找到至关重要的 AppIDAppSecret(在配置中可能被称为 ClientSecret)。请妥善保管这些信息。
    QQ机器人开发管理页面,显示AppID和AppSecret

  4. 组成Token:在 OpenClaw 的配置中,所需的 Token 格式为 AppID:AppSecret。例如,如果你的 AppID 是 102146862,AppSecret 是 Xjv7JVhu7KXkxANbp3HVjxCRgvAPeuAQ,那么 Token 就是 102146862:Xjv7JVhu7KXkxANbp3HVjxCRgvAPeuAQ

  5. 配置IP白名单(重要):由于我们的机器人服务通常部署在家庭 NAS 或自有服务器上,需要将服务器的公网 IP 地址添加到 QQ 开放平台的 IP 白名单中。你可以访问 https://myip.ipip.net 来获取你当前的公网 IP。

步骤三:将凭证添加到 OpenClaw

拿到凭证后,我们有几种方式将其配置到 OpenClaw 中。

方式一:交互式配置(推荐新手)

这是最直观的方式,系统会通过问答引导你完成配置。

# 选择 qqbot,按提示输入 Token
docker-compose run --rm moltbot-cli channels add

执行命令后,你会看到当前已配置和未配置的通道状态。
终端显示channels add命令执行后的通道状态列表

在接下来的选项中,使用方向键选中 QQ Bot (支持 QQ 群聊和私聊)
通道选择菜单,高亮显示QQ Bot选项

然后,根据提示依次输入你从 QQ 开放平台获取的 AppIDClientSecret(即 AppSecret)。
终端提示输入QQ Bot AppID
终端提示输入QQ Bot ClientSecret

方式二:命令行一键配置

如果你已经准备好 Token,可以直接通过一条命令完成配置,效率更高。

# 命令行配置(将AppID和AppSecret替换成你自己的)
docker-compose run --rm moltbot-cli channels add --channel qqbot --token “AppID:AppSecret”

# 具体示例(仅作格式参考,请勿直接使用)
docker-compose run --rm moltbot-cli channels add --channel qqbot --token “102146862:xxxxxxxx”

通过命令行成功添加QQ Bot账户

方式三:手动编辑配置文件

对于熟悉 OpenClaw 配置结构的用户,直接编辑 config 目录下的 openclaw.json(或 moltbot.json)文件是最灵活的方式。你需要找到或添加 qqbot 配置段。

配置项 类型 必填 说明
appId string QQ 机器人 AppID
clientSecret string 是* AppSecret,与 clientSecretFile 二选一
clientSecretFile string 是* AppSecret 文件路径
enabled boolean 是否启用,默认 true
name string 账户显示名称
systemPrompt string 自定义系统提示词

下面是一个配置示例,你可以将其整合到你的配置文件的 channels 部分:

{
  “channels”: {
    “qqbot”: {
      “enabled”: true,
      “appId”: “你的AppID”,
      “clientSecret”: “你的AppSecret”,
      “systemPrompt”: “你是老苏的AI助手”
    }
  }
}

文本编辑器显示包含qqbot配置的moltbot.json文件内容

使用你的 QQ 机器人

配置完成后,重启你的 OpenClaw 服务以使配置生效。

docker-compose down
docker-compose up -d

接下来,为了让你的个人QQ号能够与机器人测试交互,你需要将机器人添加到“沙箱”。回到 QQ 开放平台的机器人管理后台,在“沙箱配置”页面,找到“添加成员”旁边的二维码,使用你的 QQ 扫码,即可将机器人添加为好友或拉入测试群。

QQ机器人管理后台的沙箱配置页面

添加成功后,现在你就可以像与普通好友聊天一样,向你的机器人提问了!

手机QQ聊天界面,展示与AI机器人的对话

小结与相关资源

至此,你已经成功在 Docker 环境中部署了 OpenClaw,并通过安装插件的方式为其接入了 QQ 机器人通道。这个过程涉及了容器管理、插件安装、第三方平台(QQ开放平台)对接等多个环节,是一次不错的全栈实践。

如果你在配置过程中遇到问题,或者在探索 Node.js 生态的其他有趣玩法,欢迎到 云栈社区 的相关板块进行交流讨论。那里聚集了许多热衷于 后端 & 架构数据库/中间件 实践的开发者。

本文参考文档:




上一篇:K8s存活探测配置全解:从YAML定义到生产环境最佳实践
下一篇:手把手教程:使用Docker在VPS/NAS部署开源私有化笔记Memos
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-2 22:20 , Processed in 0.361148 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表