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

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

使用 wxauto 库实现 PC 端微信自动化操作,并结合百度千帆大模型 API 构建智能聊天机器人。文章涵盖 wxauto 安装环境要求、基础消息收发、历史记录获取及好友管理功能,演示了如何通过 API Key 调用大模型接口处理微信消息并自动回复。提供了完整的 Python 集成代码示例,适用于 Windows 系统下的微信自动化场景开发。

zhang发布于 2026/4/5更新于 2026/9/1073 浏览
结合 wxauto 与 AI 大模型实现智能微信聊天机器人

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

wxauto 简介

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

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

wxauto 主要功能

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

wxauto 安装与使用

1. wxauto 的安装

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

pip install 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),注意!!!Python 版本不支持 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)

3. 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}')

自己的消息 支持属性:

属性名类型说明
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}')

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

本示例选用百度千帆大模型。登录控制台进入模型广场,选择一个免费模型进行开通。 开通后,在应用接入页面记录 API Key 和 Secret Key,并创建应用。 返回主页,点击模型广场,选择已选模型,查看 API 文档。 参考文档中的 Python 请求示例,将 API Key 和 Secret Key 填入代码。 运行测试代码,确认 result 字段包含大模型生成的回复。 将微信好友消息作为 content 传入大模型接口,提取返回的 result 并通过 wxauto 发送回好友,即可完成聊天机器人闭环。

完整代码

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

更多推荐文章

查看全部
  • Linux 新手基础工具指南:软件安装、Vim 操作与 GCC 编译
  • Ubuntu 虚拟机安装 Docker 指南
  • ClaudeCode 与 Figma-MCP 实现前端 UI 代码 1:1 还原指南
  • 算法实战:双指针技巧与经典题解
  • AI 产品经理的 10 大核心技能
  • Neo4j 图数据库安装与操作指南 (Mac 版)
  • Java 核心:hashCode 与 equals 的正确姿势
  • Vivado AXI4-Stream Data FIFO 核配置与测试详解
  • 扫频信号(Chirp)原理、分类及工程应用测试
  • Trae 集成图片素描 MCP 工具实现多风格图像转换
  • C++ STL vector 详解:基础用法、核心接口与实战算法
  • Linux 命名管道(FIFO)通信:原理与跨进程实战
  • VSCode 使用 Continue 插件配置免费 AI 模型实现自动编程
  • 30dayMakeCppServer:构建高性能C++网络服务器实践
  • RK3588 搭配 AI 算力卡与英伟达 Jetson 方案技术对比
  • 快速排序算法详解
  • WebGIS 技术实战与项目应用:Java、三维可视化及未来展望
  • 使用魔搭平台与 LLaMA Factory 进行大模型微调实操指南
  • 前端可访问性:语义化 HTML 与 ARIA 最佳实践
  • GitHub 下载速度慢的 5 种有效解决方法

相关免费在线工具

  • 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