Clawdbot+Qwen3:32B实操:Clawdbot Webhook集成企业微信/飞书,实现Agent消息自动推送
1. 为什么需要AI代理的消息自动推送
你有没有遇到过这样的场景:AI代理在后台默默运行,完成了数据分析、生成了周报、识别出了异常订单,但你却要主动打开网页去查看结果?或者团队协作时,关键信息只停留在聊天窗口里,没人及时跟进,导致响应延迟?
Clawdbot 不只是一个能对话的AI界面,它更是一个可被调度、可被集成、可被嵌入工作流的智能中枢。而 Qwen3:32B 这样的大模型,提供了扎实的推理与生成能力——但光有“大脑”不够,还得有“手脚”,让它能把结果主动推送到你每天必看的地方:企业微信、飞书、钉钉这些办公入口。
本文不讲抽象架构,不堆参数指标,就带你从零完成一次真实落地:
在本地部署好 Clawdbot + Qwen3:32B 的完整代理环境
配置好企业微信/飞书的 Webhook 接口
编写一段轻量脚本,让 AI 代理一生成结果,立刻推送到你的工作群
避开常见坑点:token 权限、跨域限制、消息格式校验、重试机制
整个过程无需改源码、不碰 Dockerfile、不配 Nginx,全部通过 Clawdbot 内置能力 + 简单 Python 脚本完成。你只需要一台带 GPU 的机器(24G 显存起步),和 30 分钟专注时间。
2. 快速启动:Clawdbot + Qwen3:32B 环境就绪
2.1 启动网关服务
Clawdbot 的核心是它的网关服务,它像一个智能中转站,把用户请求分发给后端模型,并统一管理会话、日志和扩展。启动只需一条命令:
clawdbot onboard执行后,你会看到类似这样的输出:
Gateway server started on http://localhost:3000 Ollama model registry loaded: qwen3:32b (Local Qwen3 32B) Web UI available at http://localhost:3000/chat?session=main注意最后这行地址——这是你第一次访问的入口,但它不能直接打开,否则会看到这个提示:
disconnected (1008): unauthorized: gateway token missing (open a tokenized dashboard URL or paste token in Control UI settings)
别慌,这不是报错,而是 Clawdbot 的安全机制:它要求所有控制台访问必须携带有效 token。
2.2 正确访问控制台:三步搞定 token 认证
很多新手卡在这一步,反复刷新页面却始终进不去。其实只要三步:
拿到初始 URL
https://gpu-pod6978c4fda2b3b8688426bd76-18789.web.gpu.csdn.net/chat?session=main删掉
/chat?session=main这段路径
只保留基础域名:https://gpu-pod6978c4fda2b3b8688426bd76-18789.web.gpu.csdn.net/手动追加
?token=csdn
最终得到:https://gpu-pod6978c4fda2b3b8688426bd76-18789.web.gpu.csdn.net/?token=csdn
打开这个链接,你就能看到干净的 Clawdbot 控制台界面。首次成功后,后续再点击「控制台」快捷按钮,系统会自动带上 token,无需重复操作。
小贴士:如果你用的是本地部署(非 CSDN GPU 实例),默认 token 是
clawdbot,可在config.yaml中修改gateway.token字段。
2.3 模型配置确认:Qwen3:32B 已就位
Clawdbot 通过config.yaml或 UI 中的「模型管理」模块对接后端模型。你提供的配置片段已明确指向本地 Ollama:
"my-ollama": { "baseUrl": "http://127.0.0.1:11434/v1", "apiKey": "ollama", "api": "openai-completions", "models": [ { "id": "qwen3:32b", "name": "Local Qwen3 32B", "reasoning": false, "input": ["text"], "contextWindow": 32000, "maxTokens": 4096, "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 } } ] }请确保 Ollama 服务正在运行:
ollama serve & # 后台启动 ollama list # 查看是否已加载 qwen3:32b若未加载,执行:
ollama pull qwen3:32b注意:Qwen3:32B 对显存要求较高,在 24G 显存上可运行,但建议关闭其他占用显存的进程;如需更高响应速度,可考虑升级至 48G 显存或选用量化版本(如
qwen3:32b-q4_k_m)。
3. 消息推送准备:企业微信 & 飞书 Webhook 配置
Clawdbot 本身不内置企业微信/飞书 SDK,但它开放了完整的「扩展系统」——你可以用任意语言写一个外部脚本,通过 HTTP 请求接收 Clawdbot 的事件通知,再转发到目标平台。
我们选择最轻量、最通用的方式:Webhook 触发 + Python 转发。
3.1 企业微信 Webhook 获取(群机器人)
- 在企业微信 PC 客户端,进入目标群 → 点击右上角「…」→「群机器人」→「添加机器人」
- 给机器人起名(如「AI日报助手」),点击「添加」
- 复制生成的 Webhook 地址,形如:
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
企业微信 Webhook 无需鉴权头,直接 POST 即可;但仅支持文本、markdown、图片三种消息类型,且 markdown 渲染能力有限。
3.2 飞书 Webhook 获取(群机器人)
- 在飞书 PC 客户端,进入目标群 → 点击右上角「…」→「群设置」→「智能助手」→「添加机器人」
- 选择「自定义机器人」→ 填写名称 → 提交
- 复制 Webhook 地址,形如:
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
飞书 Webhook 需要在请求体中加入
timestamp和sign签名(官方提供 Python 示例),但为简化实操,我们采用「不校验签名」模式:在机器人设置中关闭「安全设置」里的「签名校验」。
3.3 创建转发脚本:push_to_work.py
新建一个 Python 文件,内容如下(已适配双平台,自动识别目标):
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import os import json import time import hmac import hashlib import requests from flask import Flask, request, jsonify app = Flask(__name__) # 从环境变量读取 Webhook 地址(生产环境推荐) WECHAT_WEBHOOK = os.getenv("WECHAT_WEBHOOK", "") FEISHU_WEBHOOK = os.getenv("FEISHU_WEBHOOK", "") def send_to_wechat(content: str, title="AI 代理通知"): if not WECHAT_WEBHOOK: return False payload = { "msgtype": "markdown", "markdown": { "content": f"### {title}\n\n> {content.replace('\n', '\n> ')}" } } try: resp = requests.post(WECHAT_WEBHOOK, json=payload, timeout=5) return resp.status_code == 200 except Exception as e: print(f"[WeChat] 发送失败: {e}") return False def send_to_feishu(content: str, title="AI 代理通知"): if not FEISHU_WEBHOOK: return False # 飞书 markdown 支持更好,直接用富文本 payload = { "msg_type": "post", "content": { "post": { "zh_cn": { "title": title, "content": [ [{ "tag": "text", "text": content }] ] } } } } try: resp = requests.post(FEISHU_WEBHOOK, json=payload, timeout=5) return resp.status_code == 200 except Exception as e: print(f"[Feishu] 发送失败: {e}") return False @app.route('/webhook/push', methods=['POST']) def handle_push(): data = request.get_json() if not data: return jsonify({"error": "no json body"}), 400 # Clawdbot 事件结构示例(你可在 Agent 日志中看到) # { # "event": "agent_result", # "agent_id": "sales-reporter", # "result": "本周销售额达 287 万元,环比增长 12%...", # "target": "feishu" // 或 "wechat" # } event = data.get("event") if event != "agent_result": return jsonify({"ok": True, "ignored": event}) result = data.get("result", "").strip() target = data.get("target", "feishu").lower() agent_id = data.get("agent_id", "unknown") if not result: return jsonify({"error": "empty result"}), 400 title = f" {agent_id} 完成任务" success = False if target == "wechat": success = send_to_wechat(result, title) elif target == "feishu": success = send_to_feishu(result, title) else: return jsonify({"error": f"unsupported target: {target}"}), 400 return jsonify({"ok": success, "target": target}) if __name__ == '__main__': app.run(host='0.0.0.0', port=8000, debug=False)保存为push_to_work.py,然后安装依赖并启动:
pip install flask requests python push_to_work.py此时,你的转发服务已在http://localhost:8000/webhook/push监听。
验证是否启动成功:
curl -X POST http://localhost:8000/webhook/push -H "Content-Type: application/json" -d '{"event":"agent_result","result":"测试消息已送达","target":"feishu"}'
如果企业微信/飞书群里收到消息,说明转发链路已通。
4. Clawdbot 集成:让 Agent 主动调用 Webhook
Clawdbot 的扩展系统支持「HTTP 回调」,即当某个 Agent 执行完成时,自动向指定 URL 发送 POST 请求。我们不需要开发插件,只需在 Agent 配置中启用「回调」功能。
4.1 创建一个带回调的销售分析 Agent
登录 Clawdbot 控制台 → 「Agents」→ 「Create New Agent」
Name:
sales-reporterDescription: 每日销售数据摘要生成器
Model:
qwen3:32b(选择你配置的 Local Qwen3 32B)Prompt:
你是一个销售数据分析师。请根据以下 JSON 格式的数据,生成一段简洁专业的中文摘要(不超过 150 字),重点突出趋势、异常和建议: {data}Callback URL:
http://localhost:8000/webhook/pushCallback Event:
on_completeCallback Payload:
{ "event": "agent_result", "agent_id": "{{agent.id}}", "result": "{{output}}", "target": "feishu" }
关键点说明:
{{output}}是 Clawdbot 自动注入的 Agent 最终输出内容{{agent.id}}是当前 Agent 的唯一标识,便于追踪"target": "feishu"可改为"wechat"切换平台
保存后,点击「Test Run」,输入模拟数据:
{ "data": { "date": "2025-04-05", "total_sales": 2870000, "last_week": 2560000, "top_product": "智能音箱 Pro", "abnormal_orders": 3 } }几秒后,你应该在飞书/企业微信中看到类似消息:
sales-reporter 完成任务
本周销售额达 287 万元,环比增长 12%;主力产品「智能音箱 Pro」贡献超 40% 销售额;异常订单 3 笔,建议售后团队优先核查物流状态。
4.2 进阶技巧:按条件分流推送
你可能希望:
- 高优先级任务推企业微信(全员强提醒)
- 日常报告推飞书(按频道分类)
- 错误日志推钉钉(运维群)
Clawdbot 支持在 Prompt 中动态注入变量,你可以在 Agent 的 Prompt 末尾加一句:
请在输出末尾添加一行标记:[TARGET:feishu] 或 [TARGET:wechat]然后修改push_to_work.py中的解析逻辑,提取该标记并动态路由。这样,同一个 Agent 就能根据任务性质自动选择推送渠道。
5. 稳定性增强:让推送真正可靠
真实业务中,网络抖动、接口限流、平台维护都可能导致推送失败。我们加三层保障:
5.1 本地重试队列(内存级)
在push_to_work.py中加入简易重试逻辑(生产环境建议用 Redis 或 SQLite):
from collections import deque import threading retry_queue = deque() retry_lock = threading.Lock() def enqueue_retry(payload, target): with retry_lock: retry_queue.append((payload, target, time.time())) def process_retries(): while True: with retry_lock: if retry_queue: payload, target, ts = retry_queue.popleft() now = time.time() if now - ts < 300: # 5分钟内重试 if target == "wechat": send_to_wechat(payload["result"], payload.get("title", "重试通知")) elif target == "feishu": send_to_feishu(payload["result"], payload.get("title", "重试通知")) else: print(f"[Retry] 超时丢弃: {payload}") time.sleep(10) # 启动后台重试线程 threading.Thread(target=process_retries, daemon=True).start()5.2 Clawdbot 端失败告警
在 Agent 的 Callback Payload 中增加错误处理字段:
{ "event": "agent_result", "agent_id": "{{agent.id}}", "result": "{{output}}", "target": "feishu", "status": "{{status}}", "error": "{{error}}" }当status为failed时,你的脚本可记录日志并触发邮件/短信告警(例如调用腾讯云短信 API)。
5.3 日志可追溯
Clawdbot 默认记录所有 Agent 执行日志。你可在控制台「Logs」页筛选sales-reporter,查看每次调用的输入、输出、耗时、回调返回状态码。结合转发脚本中的print()日志,整条链路完全可观测。
6. 总结:你已经拥有了一个可落地的 AI 工作流中枢
回顾一下,你刚刚完成了什么:
- 在本地跑通了 Clawdbot + Qwen3:32B 的完整推理链路,不再依赖云端 API
- 绕过了复杂的前端鉴权流程,用三步 URL 改写法快速进入控制台
- 用不到 100 行 Python,打通了企业微信/飞书的 Webhook 推送通道
- 通过 Clawdbot 的原生 Callback 功能,让 AI 代理具备“主动汇报”能力
- 加入了重试、日志、状态反馈三层保障,让自动化真正可靠
这不是一个玩具 Demo,而是一套可立即用于小团队日常运营的轻量级 AI 协作方案。下一步,你可以:
- 把「日报生成」换成「客户投诉摘要」,推送给客服主管
- 把「数据解读」换成「代码变更影响分析」,推送给研发负责人
- 把「多平台推送」封装成一个通用 Clawdbot 插件,一键安装复用
AI 的价值,从来不在“能说会道”,而在“能做会连”。今天你连上的不只是 Webhook,而是 AI 与真实业务之间的第一根神经。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。