用OpenClaw做qq ai办公机器人(支持群聊关键词触发+自定义域名发送任意邮件)

用OpenClaw做qq ai办公机器人(支持群聊关键词触发+自定义域名发送任意邮件)

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

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

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

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: # 1. NapCat 配置(网络设置、WebUI token) - ./config:/app/napcat/config # 2. QQ 数据(登录凭证、持久化登录状态) # 官方路径是 /app/.config/QQ, - ./.config:/app/.config/QQ # 3. 日志(可选) - ./logs:/app/napcat/logs # 注意:没有 network_mode: bridge,与 ports 冲突 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

启动完成

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

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

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

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

复制websocket server的token

两个插件选一个即可,建议用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,下同

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

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

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

用@izhimu/qq插件的情况

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

openclaw_qq配置参考

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

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

两个 QQ 插件功能对比

1)配置项对比

功能@izhimu/qqopenclaw_qq说明
wsUrlWebSocket 地址
accessToken访问令牌
enable启用开关
requireMention✅ 默认 true群聊需要 @ 才触发
keywordTriggers关键词唤醒
admins管理员列表
adminOnlyChat仅管理员可触发
allowedGroups群白名单
blockedUsers用户黑名单
systemPrompt自定义人设
historyLimit历史消息注入
autoApproveRequests自动通过好友 / 群邀请
enableTTS语音回复
enableGuildsQQ 频道支持
rateLimitMs✅ 默认 1000ms发送限速防风控
antiRiskModeURL 风控规避
maxMessageLength✅ 默认 4000消息分片
formatMarkdownMarkdown 转纯文本
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位,注册完需去邮箱验证

打开邮箱进行验证

添加API key,并复制

查找能发邮件的skills(find-skills安装可见教程https://blog.ZEEKLOG.net/weixin_55221858/article/details/158179110

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

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

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

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

需要添加的全部记录清单

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

类型主机记录(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接收邮件(可选,如果你不需要收邮件可以不填)

以阿里云为例

验证通过,由Pending变成Verified

成功接收邮件

参考教程:

1.https://blog.ZEEKLOG.net/qq_14956715/article/details/157942635

2.https://blog.ZEEKLOG.net/m0_60046831/article/details/157696672

3.https://napneko.github.io/

创作不易,禁止抄袭,转载请附上原文链接及标题

Read more

字节开源 DeerFlow 2.0——登顶 GitHub Trending 1,让 AI 可做任何事情

字节开源 DeerFlow 2.0——登顶 GitHub Trending 1,让 AI 可做任何事情

打开 deerflow 的官网,瞬间被首页的这段文字震撼到了,do anything with deerflow。让 agent 做任何事情,这让我同时想到了 openclaw 刚上线时场景。 字节跳动将 DeerFlow 彻底重写,发布 2.0 版本,并在发布当天登上 GitHub Trending 第一名。这不是一次功能迭代,而是一次从"深度研究框架"到"Super Agent 运行时基础设施"的彻底蜕变。 背景:从 v1 到 v2,发生了什么? DeerFlow(Deep Exploration and Efficient Research Flow)

AI一键生成IDEA激活码?快马平台助你合法开发

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 输入框内输入如下内容: 创建一个基于AI的JetBrains产品激活助手,能够根据用户输入的IDEA版本和系统信息,自动生成合法的激活方案建议。要求:1. 分析官方授权机制 2. 提供教育授权申请指南 3. 生成临时试用延期方案 4. 对比各种授权方式优劣 5. 输出Markdown格式报告 1. 点击'项目生成'按钮,等待项目生成完整后预览效果 作为一名开发者,我深知JetBrains系列工具对编程效率的提升有多重要。但正版授权费用对个人开发者来说确实是一笔不小的开支。最近在InsCode(快马)平台尝试用AI解决这个问题时,意外发现了一套完整的合法激活方案生成方法。 1. 理解官方授权机制 JetBrains的授权体系其实比想象中更灵活。通过AI分析官网文档发现,除了商业授权外,还有教育授权、开源项目授权、试用延期等多种合法途径。平台内置的Kimi-K2模型能快速解析复杂的许可协议条款,帮我们避开法律风险。

Trae-cn一句话安装OpenClaw:AI智能体框架快速部署指南

Trae-cn一句话安装OpenClaw:AI智能体框架快速部署指南 背景 在AI大爆发的2026年,两款工具正在改变开发者的工作方式:Trae-cn作为字节跳动推出的AI原生IDE,让编程变得前所未有的简单;OpenClaw(昵称"小龙虾")作为开源AI智能体框架,让AI从"能聊天"进化到"能干活"。 本文将详细介绍Trae-cn的安装与优势,并演示如何用它一句话完成OpenClaw的安装部署。 一、Trae-cn:AI原生编程利器 1.1 什么是Trae-cn Trae-cn是字节跳动推出的AI原生集成开发环境(IDE),完全免费,支持Windows和macOS双平台。与传统的"IDE + AI插件"模式不同,Trae-cn从底层架构就将AI能力深度融入开发工作流,实现了真正的AI原生体验。 1.2 Trae-cn的核心优势 内置顶级AI模型 Trae-cn内置了多款顶级AI模型,无需额外配置: 模型特点适用场景Claude-3.5推理能力强,代码质量高复杂逻辑开发、

一文带大家理解各种AI大模型收费指标tokens到底是什么东东

一文带大家理解各种AI大模型收费指标tokens到底是什么东东

Token收费举例 大家在使用各个模型的过程中,一定会关注到,各个模型都是按照使用的tokens进行收费的,例如: 1. 推理输入:0.6 元 / 百万 tokens * 含义:你向大模型提问、上传文档、粘贴上下文等 “给模型看的内容”,每消耗 100 万个 tokens,收费 0.6 元。 * 通俗例子:你发了一段 1000 字的文章给模型,大约 ≈ 1300 tokens(按 1 字≈1.3 token 粗算)。费用 ≈ 0.6 元 / 1,000,000 × 1,300 ≈ 0.00078