跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.jsAI

基于 OpenClaw 搭建 QQ AI 办公机器人并配置邮件发送

介绍如何使用 OpenClaw 结合 NapCat 搭建 QQ AI 办公机器人。内容包括部署 NapCat 容器、安装 openclaw_qq 插件实现群聊关键词触发与命令控制,以及通过 Resend 服务配置自定义域名发送邮件。详细步骤涵盖 Docker Compose 配置、WebSocket Token 对接、API Key 获取及 DNS 记录设置,最终实现自动化 AI 交互与邮件通知功能。

疯疯癫癫发布于 2026/4/6更新于 2026/6/737 浏览
基于 OpenClaw 搭建 QQ AI 办公机器人并配置邮件发送

1. OpenClaw 对接 QQ(qq 账号当机器人使用)

在任意文件夹创建项目文件夹 napcat 及需要的文件夹,并创建 docker-compose.yml

mkdir -p napcat && cd napcat
mkdir -p config .config logs

Image

docker-compose.yml 内容参考

services:
  napcat:
    image: mlikiowa/napcat-docker:latest
    container_name: napcat
    restart: unless-stopped
    environment:
      - NAPCAT_UID=${NAPCAT_UID:-1000}
      - NAPCAT_GID=${NAPCAT_GID:-1000}
      - MESSAGE_POST_FORMAT=string
      - HTTP_ENABLE=true
      - HTTP_HOST=0.0.0.0
      - HTTP_PORT=3000
      - WS_ENABLE=true
      - WS_HOST=0.0.0.0
      - WS_PORT=3001
    ports:
      - "3000:3000"
      - "3001:3001"
      - "6099:6099"
    volumes:
      - ./config:/app/napcat/config
      - ./.config:/app/.config/QQ
      - ./logs:/app/napcat/logs
    stdin_open: true
    tty: true

启动 docker,并执行以下命令

NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker-compose up -d
命令拆解含义
NAPCAT_UID=$(id -u)设置环境变量 NAPCAT_UID 为当前用户的用户 ID
NAPCAT_GID=$(id -g)设置环境变量 NAPCAT_GID 为当前用户的组 ID
docker-compose up -d在后台启动 Docker Compose 服务

因为 NapCat 容器内以 NAPCAT_UID 用户运行,需要与宿主机用户权限匹配,所以动态获取当前用户 ID,环境变量传递给 Docker Compose。

启动完成

Image

Image

执行 docker-compose logs -f,手机 qq 扫描登录日志的二维码登录

Image

也可以根据日志的 token 打开 http://127.0.0.1:6099/webui?token=你的 token,输入账号和密码

Image

如果提示需要验证码,暂时不支持的话就扫码登录,登录后只要日志没有显示离线就可以退出手机 qq

Image

Image

Image

点击网络配置,添加 http server(可选)和 websocket server

Image

复制 websocket server 的 token

Image

Image

两个插件选一个即可,建议用 openclaw_qq,因为目前 @izhimu/qq 插件似乎群里有人发消息就一定会回复且不支持/model 等命令(可能要自己研究怎么配置或修改源码?),而 openclaw_qq 在群@机器人的名字或设置关键词触发。

插件 1(推荐):

在另一个终端执行 cd ~/.openclaw/extensions && git clone https://github.com/constansino/openclaw_qq.git qq 命令给 openclaw 安装插件,然后执行 cd ~/.openclaw/extensions/qq && pnpm install 2>&1 | tail -20 编译安装。

插件 2:

执行 pnpm openclaw plugins install @izhimu/qq 给 openclaw 安装插件,如果你的 openclaw 不是通过 pnpm 安装则去掉 pnpm,下同。

Image

输入 pnpm openclaw gateway restart 重启,然后打开 http://127.0.0.1:18789/channels,粘贴 websocket 的 token,点击保存,过一会看到 yes 即成功连接

Image

如果 qq 机器人回复出现 Connection error(这里已经换成小号当 QQ 机器人,防止主号乱发消息被封),去用户目录的.openclaw 里,比如/Users/Zhuanz/.openclaw,打开 openclaw.json,找到 channels,再找 qq,将 enable 改为 true;如果还是这样,看看 agents.defaults.model.primary 是不是本地 ollama 模型且此时没启动 ollama(注意在网页或 tui 输入/model 等命令要在对应的 qq 聊天 session 执行才对 qq 机器人有效)

Image

Image

Image

之后执行 pnpm openclaw gateway restart 或其他命令重启,测试效果,如果你的 openclaw 不是通过 pnpm 安装则去掉 pnpm,下同

Image

用 @izhimu/qq 插件的情况

Image

已经成功回复,但如果是用 @izhimu/qq 插件不会对聊天中直接发/model 等命令执行且给结果,只有让对话中强调执行这个命令才有效,但在 openclaw_qq 可以直接执行命令给结果(下图)

Image

openclaw_qq 配置参考

Image

插件功能差异对比(原因:目前这个 QQ 插件缺少 CommandAuthorized 参数)

插件finalizeInboundContext 参数命令支持
飞书包含 CommandAuthorized: commandAuthorized✅ 支持
QQ缺乏 CommandAuthorized 参数❌ 不支持

Image

Image

两个 QQ 插件功能对比

1)配置项对比

功能@izhimu/qqopenclaw_qq说明
wsUrl✅✅WebSocket 地址
accessToken✅✅访问令牌
enable✅❌启用开关
requireMention❌✅ 默认 true群聊需要 @ 才触发
keywordTriggers❌✅关键词唤醒
admins❌✅管理员列表
adminOnlyChat❌✅仅管理员可触发
allowedGroups❌✅群白名单
blockedUsers❌✅用户黑名单
systemPrompt❌✅自定义人设
historyLimit❌✅历史消息注入
autoApproveRequests❌✅自动通过好友 / 群邀请
enableTTS❌✅语音回复
enableGuilds❌✅QQ 频道支持
rateLimitMs❌✅ 默认 1000ms发送限速防风控
antiRiskMode❌✅URL 风控规避
maxMessageLength❌✅ 默认 4000消息分片
formatMarkdown❌✅Markdown 转纯文本
showProcessingStatus❌✅群名片显示 "输入中"
sharedMediaHostDir❌✅跨容器媒体共享

2)核心功能差异

功能@izhimu/qqopenclaw_qq原因
群聊 @ 触发❌ 所有消息都回复✅ 默认仅 @ 触发新插件有 requireMention 配置
关键词唤醒❌✅ 如 "小助手"新插件有 keywordTriggers
管理员命令❌✅ /model, /status 等新插件实现了命令处理
/model 命令❌✅ 仅管理员新插件支持模型切换
群白名单❌✅新插件有 allowedGroups
用户黑名单❌✅新插件有 blockedUsers
风控优化❌✅ 限速、URL 规避新插件针对 QQ 风控设计
戳一戳响应❌✅新插件处理 poke 事件
自动通过请求❌✅新插件有 autoApproveRequests
消息去重❌✅新插件有 enableDeduplication
空回复兜底❌✅新插件有 enableEmptyReplyFallback

2. 自定义域名发送邮件

打开 https://resend.com/signup 注册,密码需要至少 12 位,注册完需去邮箱验证

Image

打开邮箱进行验证

Image

Image

添加 API key,并复制

Image

查找能发邮件的 skills(find-skills 安装需自行查阅文档)

Image

可执行 npx skills add resend/resend-skills@send-email -g -y 安装

Image

测试成功,默认只能发注册 resend 账户的邮箱,要发送任意邮箱需添加域名

Image

Image

添加自己的域名,地区随便选,然后点击 Add domain

Image

Image

点击允许接收,再点击添加记录

Image

需要添加的全部记录清单

从这个界面可以看到需要添加以下记录:

类型主机记录(Name)记录值(Content)优先级用途
TXTresend._domainkeyp=MIGfMA0GCSqG[...]-DKIM 签名(必需)
MXsendfeedback-smtp.[...]amazonses.com10退信处理(必需)
TXTsendv=spf1 include[...]nses.com ~all-SPF 验证(必需)
TXT_dmarcv=DMARC1; p=none;-DMARC 策略(可选但强烈建议)
MX@inbound-smtp.e[...]amazonaws.com10接收邮件(可选,如果你不需要收邮件可以不填)

以阿里云为例

Image

Image

验证通过,由 Pending 变成 Verified

Image

成功接收邮件

Image

Image

目录

  1. 1. OpenClaw 对接 QQ(qq 账号当机器人使用)
  2. 2. 自定义域名发送邮件
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Faster Whisper 语音识别工具安装与性能优化指南
  • Continue插件实现本地部署一个“cursor”或“github copilot”
  • AI 如何辅助生成机械零件 3D 模型
  • Seedance 2.0 与飞书机器人深度集成:鉴权、上下文与提示词工程实战
  • C++ 性能分析工具全景与选型指南
  • Windows 安装 OpenClaw 配置 Qwen 及 Ollama 本地模型接入飞书机器人
  • 基于 Docker 部署 Appsmith 并配置内网穿透远程访问
  • 面试高频问题:线上问题解决经验整理
  • 基于 OpenClaw 与飞书开放平台的 AI 新闻推送机器人搭建指南
  • 大规模多模态模型:数据集、应用领域与分类体系深度解析
  • 网络安全十大热门岗位盘点及职业发展建议
  • Cursor、Kiro 与 Google Antigravity 三款 AI 编程工具解析
  • C++ STL set 容器详解:特性、常用操作与 multiset 对比
  • SpringBoot3 整合 Swagger3 解决 HttpServletRequest 类型缺失错误
  • 本地部署 AI 大模型:Ollama 安装与 WebUI 配置教程
  • Java 9 至 Java 25 语言演进与核心技术革新解析
  • UZH RPG AC-MPC:微分 MPC 赋能强化学习实现无人机竞速
  • 鸿蒙应用开发:使用 Swiper 组件实现复杂轮播图
  • 大模型微调与 RAG 的区别是什么?
  • Linux 多线程:线程创建、等待与终止详解

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online