跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonWeChatAI

使用 wxauto 结合 AI 大模型实现智能微信聊天机器人

介绍如何使用 Python 库 wxauto 实现微信自动化操作,并结合百度千帆大模型构建智能聊天机器人。内容包括 wxauto 的安装配置、基础功能(发送消息、获取记录、添加好友)、消息对象解析以及接入大模型 API 的完整代码示例。

RedisGeek发布于 2026/4/6更新于 2026/10/15103 浏览
使用 wxauto 结合 AI 大模型实现智能微信聊天机器人

wxauto 简介

wxauto 是一个基于 UIAutomation 的开源 Python 微信自动化库。Python 初学者也可以简单上手自动化微信操作。目前已实现很多日常的微信操作的自动化,如自动发送消息、自动添加好友、自动回复、自动获取聊天记录、图片、文件等功能,后续还会根据反馈更新更多功能。

wxauto 的 GitHub 链接:https://github.com/cluic/wxauto

wxauto 的主要功能

  • 消息发送:支持发送文字、图片、文件、@群好友、引用消息等功能
  • 聊天记录:可获取好友的聊天记录内容
  • 监听消息:实时获取指定监听好友(群)的新消息
  • 其他定制功能:根据需求定制自动化流程,满足各种特殊需求。

wxauto 的安装与使用

1. wxauto 的安装

安装 wxauto 非常简单,和其他第三方库一样在命令行输入以下命令即可:

pip install wxauto -i https://pypi.tuna.tsinghua.edu.cn/simple (换源安装)

**注意:**目前 wxauto 只支持 Windows 10|11|Server2016+ 系统,苹果等电脑的系统并不支持,Python 环境要求 Python:3.7+(不支持 3.7.6 和 3.8.1),微信版本默认分支为微信 3.9.11.17 版本,使用前请先检查自己电脑微信是否为该版本,版本不同可能由于 UI 问题导致某些功能无法正常调用。

2. wxauto 的简单使用

**注意:**在运行代码前一定要确保 PC 微信客户端已经登陆。

示例 1:基于 wxauto 发送消息 使用场景:可以重复发送一样的内容达到消息轰炸

from wxauto import WeChat
wx = WeChat()
content = 'hello world'
who = '文件传输助手'
for i in range(15):
    wx.SendMsg(msg=content, who=who)

附带@好友的消息

from wxauto import WeChat
wx = WeChat()
content = 'hello world'
who = '文件传输助手'
name = '文件传输助手'
wx.SendMsg(msg=content, who=who, at=name) # 要 @ 的人

发送图片/视频/文件消息 SendFiles 参数说明:

参数名类型默认值说明
filepathstr 或 list/指定文件路径,单个文件 str,多个文件 list
whostrNone要发送给谁,默认则发送给当前打开的页面
from wxauto import WeChat
wx = WeChat()
content = 'hello world'
who = '文件传输助手'
file = [r'D:\软件\图片\荒.png', r'D:\C 语言学习资料\高质量的 C-C++编程.pdf']
wx.SendFiles(filepath=file, who=who)

聊天窗口消息获取 默认为当前聊天窗口

from wxauto import WeChat
wx = WeChat()
# 获取当前聊天窗口消息
msgs = wx.GetAllMessage()
# 输出消息内容
for msg in msgs:
    if msg.type == 'sys':
        print(f'【系统消息】{msg.content}')
    elif msg.type == 'friend':
        sender = msg.sender_remark # 获取备注名
        print(f'{sender.rjust(20)}:{msg.content}')
    elif msg.type == 'self':
        print(f'{msg.sender.ljust(20)}:{msg.content}')
    elif msg.type == 'time':
        print(f'\n【时间消息】{msg.time}')
    elif msg.type == 'recall':
        print(f'【撤回消息】{msg.content}')

另外 LoadMoreMessage 方法用于加载更多历史消息,配合 GetAllMessage 方法使用,实现获取更多历史消息。 注意: LoadMoreMessage 方法加载更多历史消息时,需要保证当前聊天窗口有历史消息,否则没有效果,即触发一次'查看更多消息'。

from wxauto import WeChat
wx = WeChat()
# 加载更多历史消息
wx.LoadMoreMessage()
# 获取当前聊天窗口消息
msgs = wx.GetAllMessage()
# 消息处理逻辑代码。。。

微信添加好友 AddNewFriend 方法用于发起好友申请。 **注意:**微信有一定的限制,如果频繁添加好友,可能会被限制添加好友的权限,请谨慎使用,切勿滥用!!!

from wxauto import WeChat
wx = WeChat()
keywords = 's15576806087' # 对方的微信号、手机号、QQ 号
addmsg = '你好,我是 xxxx' # 添加好友的消息
remark = '备注名字' # 备注名,没有则不用设置
tags = ['朋友', '同事'] # 标签列表
# 发起好友申请
wx.AddNewFriend(keywords, addmsg=addmsg, remark=remark, tags=tags)

获取好友信息

from wxauto import WeChat
wx = WeChat()
friend_infos = wx.GetAllFriends() # 获取好友信息
print(friend_infos)
3. wxauto 的消息对象

这个很重要,下面结合大模型时会用到以下的消息对象。

好友消息

wxauto 好友消息对象

支持属性:

属性名类型说明
typestr消息类型,固定为 friend
contentstr消息内容
senderstr发送者
sender_remarkstr发送者备注名
infolist原始消息信息,包含了消息的所有信息
controluiautomation.Control该消息的 uiautomation 控件
idstr消息 id
msgs = wx.GetAllMessage()
for msg in msgs:
    if msg.type == 'friend':
        # 消息类型
        sender = msg.sender_remark # 获取备注名
        print(f'{sender}:{msg.content}')

自己的消息

wxauto 自己的消息对象

支持属性:

属性名类型说明
typestr消息类型,固定为 self
contentstr消息内容
senderstr发送者
sender_remarkstr发送者备注名
infolist原始消息信息,包含了消息的所有信息
controluiautomation.Control该消息的 uiautomation 控件
idstr消息 id
msgs = wx.GetAllMessage()
for msg in msgs:
    if msg.type == 'self':
        # 消息类型
        print(f'{msg.sender}:{msg.content}')

wxauto 结合大模型实现简单的聊天机器人

这里选用的是百度的千帆大模型,首先登录进去之后点击模型广场,选择免费模型。

千帆大模型广场

选择好模型之后,点进去,点击开通付费(免费额度可用),提交订单开通。

开通模型

开通成功

返回到主页,点击应用接入,记住这里的 API Key 和 Secret Key,点击创建应用。

应用接入

填写好应用名称和应用描述,点击确定。

应用创建

返回主页,点击模型广场,点击之前选择的模型,点击 API 文档。

API 文档

往下翻找到对应的请求示例的 Python 代码,复制那段代码。

请求示例

复制好代码后,将对应的 API Key 和 Secret Key 添加上去。

密钥配置

运行一下代码可以看到,result 就是大模型根据我们的问题给出的结果,现在我们只需要将 content 改成微信中好友发送过来的消息作为问题给大模型,然后将大模型给出的结果中的 result 提取出来作为内容发送给好友,这样,一个简单的微信聊天机器人就完成了。

集成效果

完整代码

import requests
import json
from wxauto import WeChat

def get_access_token():
    """ 使用 API Key,Secret Key 获取 access_token,替换下列示例中的应用 API Key、应用 Secret Key """
    url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[应用 API Key]&client_secret=[应用 Secret Key]"
    payload = json.dumps({})
    headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
    response = requests.request("POST", url, headers=headers, data=payload)
    return response.json().get("access_token")

def main(wx1, msg1):
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-speed-128k?access_token=" + get_access_token()
    payload = json.dumps({"messages": [{"role": "user", "content": msg1}]})
    headers = {'Content-Type': 'application/json'}
    response = requests.request("POST", url, headers=headers, data=payload)
    json_result = json.loads(response.text)
    print(json_result)
    # print(response.text)
    wx.SendMsg(msg=json_result['result'] + "--此内容为 AI 生成", who="你要发送的人")

if __name__ == '__main__':
    wx = WeChat()
    while True:
        msgs = wx.GetAllMessage()
        if msgs:
            if msgs[-1].type == "friend":
                main(wx, msgs[-1].content)

运行结果

目录

  1. wxauto 简介
  2. wxauto 的主要功能
  3. wxauto 的安装与使用
  4. 1. wxauto 的安装
  5. 2. wxauto 的简单使用
  6. 获取当前聊天窗口消息
  7. 输出消息内容
  8. 加载更多历史消息
  9. 获取当前聊天窗口消息
  10. 消息处理逻辑代码。。。
  11. 发起好友申请
  12. 3. wxauto 的消息对象
  13. wxauto 结合大模型实现简单的聊天机器人
  14. 完整代码

更多推荐文章

查看全部
  • Python 电商数据可视化分析与销量预测系统
  • 宇树 G1 机器人 ROS1 建图与定位配置实战
  • 基于 SRS 与 WebRTC 的 RTSP 多路摄像头低延迟监控方案
  • Android WebView 内核升级:WebViewUpgrade 库使用详解
  • DeepSeek 使用指南:提示词技巧与本地知识库搭建
  • FPGA 视频 4 分屏系统架构详解
  • MySQL 与 MCP 集成:从环境构建到 AI 驱动的数据交互
  • C++ KMP 算法详解:高效字符串查找实现
  • Claude Code Viewer: Web 端会话管理与日志分析工具
  • EasyConnect Mac 版安装使用指南
  • 数据链路层详解:LLC、MAC、局域网与广域网
  • 智谱 AI 免费大模型 API 调用教程
  • Git-AI:追踪 AI 生成代码的开源扩展工具
  • IDA Pro 详细使用教程与逆向分析基础
  • HarmonyOS 应用开发初体验:DevEco Studio 与 ArkTS 基础
  • PaperRed:AI 论文写作与查重降重工具功能解析
  • AI Agent 平台横评:ZeroClaw vs OpenClaw vs Nanobot
  • GPEN 断点续传功能设计与实现思路
  • 零基础学习网络安全:核心方向、岗位与入门路径详解
  • IntelliJ IDEA 运行时报错 ExceptionInInitializerError 解决方案

相关免费在线工具

  • RSA密钥对生成器

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

  • Mermaid 预览与可视化编辑

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

  • 随机西班牙地址生成器

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

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online