用 Codex 控制微信:从 MCP 配置到自动发消息、发文件和聊天记录整理

正文

最近我折腾了一件比较有意思的事:让 Codex 直接控制我电脑上的微信。

效果是什么?不是“让 AI 在旁边告诉你怎么点”,而是我在 Codex 里直接说:

发一条消息给文件传输助手:测试一下 MCP 是否可用

Codex 就能调用本地 MCP 工具,把消息发到微信的文件传输助手。再比如:

把桌面上的 Graduation-Project.rar 发给文件传输助手

它会先检查文件是否存在,再切到文件传输助手,最后调用发送文件工具完成发送。

这篇文章就把整个过程整理出来:MCP 是什么、wxauto-mcp 做了什么、Codex 怎么配置、能实现哪些功能,以及踩坑后我总结出来的配置方式。

先说 MCP 是什么

MCP 的全称是 Model Context Protocol,可以把它理解成“AI 和外部工具之间的通用插座”。

没有 MCP 的时候,AI 主要是在聊天框里回答问题;有了 MCP 之后,AI 可以调用你本地或远程暴露出来的工具。比如查数据库、读文档、操作浏览器、调用设计工具,或者像本文这样操作微信。

OpenAI 的 Codex 文档里提到,MCP 可以把模型连接到工具和上下文,让 Codex 访问第三方文档或开发工具。Codex 支持本地 STDIO 类型的 MCP Server,也支持 HTTP 类型的 MCP Server。也就是说,只要有人把微信自动化能力封装成 MCP Server,Codex 就能把它当成工具来用。

本文用到的就是开源项目 cluic/wxauto-mcp

项目地址:

https://github.com/cluic/wxauto-mcp

整体技术架构

这套方案的核心链路如下:

flowchart LR A["我在 Codex 里输入自然语言"] --> B["Codex 理解意图"] B --> C["调用 wxauto MCP 工具"] C --> D["wxauto-mcp 本地服务"] D --> E["wxautox4 / Windows UI Automation"] E --> F["电脑上的微信客户端"] F --> G["发送消息 / 文件 / 读取聊天记录"]

如果博客园不渲染 Mermaid,可以换成下面这张文字版:

用户自然语言
    ↓
Codex
    ↓ MCP
wxauto-mcp 本地服务
    ↓
wxautox4
    ↓
Windows 微信客户端
    ↓
发消息 / 发文件 / 读会话 / 整理聊天记录

这里面每一层的作用是:

  • Codex:理解我的自然语言,并决定调用哪个工具。
  • MCP:把本地工具标准化暴露给 Codex。
  • wxauto-mcp:把微信自动化封装成 MCP 工具。
  • wxautox4:实际操作 Windows 微信客户端。
  • 微信客户端:必须在本机登录,并且窗口不能长期最小化。

能实现什么功能

wxauto-mcp 官方 README 里列了 27 个工具。我本机实际接入后,也能看到 27 个工具,大致可以分成这些类型:

1. 消息相关

可以发送文本消息、读取当前聊天消息、读取历史消息、获取下一个有新消息的会话,也可以批量发送消息。

常见用法:

发一条消息给文件传输助手:测试一下 MCP 是否可用
帮我读取我和 wxauto 的聊天记录,并整理成 Markdown 文件

2. 会话相关

可以获取微信会话列表、筛选未读会话、获取最近群聊、切换到指定聊天窗口。

我实际使用时发现,最好先切换聊天窗口,再发送消息。比如:

先切换到文件传输助手,再发送:测试一下 MCP 是否可用

这样比直接指定联系人更稳。因为有时候接口返回“发送成功”,但实际窗口焦点没完全对上。

3. 文件相关

可以发送文件、发送图片、发送目录下的所有文件,也可以先检查文件是否存在。

我实测过:

帮我把桌面上的 Graduation-Project.rar 发给文件传输助手

流程是:

检查文件存在
    ↓
切换到文件传输助手
    ↓
发送文件
    ↓
读取当前聊天记录确认

4. 联系人和好友请求

可以获取好友列表、获取当前聊天信息、添加好友、接受好友请求。

这类能力更敏感,建议只用于自己的微信管理,不建议做陌生人批量添加或骚扰式营销。

5. 状态检查

可以检查微信是否在线、wxautox4 是否已激活、MCP 工具列表是否正常。

这几个工具非常适合排错:

检查微信 MCP 状态
检查 wxautox4 是否激活
列出当前可用的微信工具

环境准备

我这里使用的是 Windows 环境。

基础要求:

  • Windows 10 或 Windows 11
  • Python 3.9+
  • Windows 微信客户端已登录
  • wxautox4 已激活
  • Codex 已安装并可正常使用

wxauto-mcp 官方 README 也写了类似要求:Windows、Python 3.9+、微信已登录、wxautox4 激活。

我个人建议直接使用 Python 3.13。原因是新版 wxautox4 对新 Python 兼容更好;如果你机器上同时装了 Python 3.9 和 3.13,建议 MCP 这套单独用 3.13,避免库版本互相影响。

先查看本机 Python:

py -0p

如果能看到类似:

-V:3.13  C:\Users\你的用户名\AppData\Local\Programs\Python\Python313\python.exe
-V:3.9   C:\Users\你的用户名\AppData\Local\Programs\Python\Python39\python.exe

就说明本机有多个 Python 版本。

安装 wxautox4 和 wxauto-mcp

使用 Python 3.13 安装:

py -3.13 -m pip install wxautox4 wxauto-mcp

检查 wxautox4 状态:

py -3.13 -m wxautox4 -k

如果显示:

wxautox状态:已激活

说明授权正常。

如果没有激活,需要先按你自己的授权方式激活。这里不建议修改本地代码绕过授权,因为这会带来法律和稳定性问题。做工具类服务,长期看最好走干净路线。

生成 MCP 配置

wxauto-mcp 可以生成配置文件:

wxauto-mcp --config

它会生成类似 Claude、Cursor 可用的 MCP 配置。Codex 这边我们可以直接写进 config.toml

Codex 官方文档说明,MCP 配置默认放在:

~/.codex/config.toml

在 Windows 上通常是:

C:\Users\你的用户名\.codex\config.toml

打开这个文件,加入:

[mcp_servers.wxauto]
command = 'C:\Users\你的用户名\AppData\Local\Programs\Python\Python313\python.exe'
args = ["-m", "wxauto_mcp.server"]
startup_timeout_sec = 120

注意把路径改成你自己的 Python 3.13 路径。

如果你不确定路径,可以运行:

py -0p

找到 Python 3.13 对应的 python.exe

重启 Codex

配置写完以后,需要重启 Codex,或者新开一个 Codex 线程。

原因是 MCP 工具通常不是当前聊天里实时热加载的。新线程启动后,Codex 才能读取新的 config.toml,把 wxauto 的工具加载进来。

重启后,可以让 Codex 做一个状态检查:

检查微信 MCP 是否可用

如果正常,会看到类似:

is_online: true
is_activated: true

第一次测试:发消息给文件传输助手

最简单的测试是发消息到文件传输助手。

我推荐用两步法:

请先切换到文件传输助手,然后发送:MCP 测试

或者直接说:

发一条消息给文件传输助手:测试一下 MCP 是否可用

如果你想更稳,可以让 Codex 发送后再读回聊天记录:

发一条消息给文件传输助手:测试一下 MCP 是否可用。发送后读回当前聊天记录确认。

我自己的经验是:微信自动化偶尔会出现“工具返回成功,但前台窗口消息没有落下”的情况。所以我现在会让 Codex 形成固定流程:

切换聊天窗口
    ↓
发送消息或文件
    ↓
读取当前聊天记录确认

这个流程会比只调用一次发送工具靠谱很多。

第二次测试:发送文件

比如把桌面文件发送到文件传输助手:

帮我把桌面上的 Graduation-Project.rar 发给文件传输助手

建议让 Codex 先检查文件存在:

先确认 C:\Users\你的用户名\Desktop\Graduation-Project.rar 是否存在,再发给文件传输助手,最后读回消息确认。

一次成功的流程应该是:

文件存在
切换成功
发送成功
聊天记录里出现文件消息

image

这个功能很适合日常把代码压缩包、截图、文档、日志传到手机微信。

第三次测试:整理聊天记录

还可以让 Codex 读取某个会话的聊天记录,然后整理成 Markdown 文件。

例如:

帮我获取我在微信中我和 wxauto 的聊天记录,整理到 md 文件

Codex 会做:

切换到 wxauto 会话
读取历史消息
整理为 Markdown 表格
生成本地 .md 文件

image

这种能力适合:

  • 整理技术沟通记录
  • 备份关键聊天摘要
  • 把客户需求整理成文档
  • 把群聊通知提炼成待办事项

需要注意:能读取多少历史消息,取决于微信当前窗口加载了多少,以及 wxauto-mcp 能拿到多少。不是所有很久以前的聊天都一定能一次性读全。

常见问题和排错

1. Codex 看不到微信工具

检查:

C:\Users\你的用户名\.codex\config.toml

是否有:

[mcp_servers.wxauto]
command = '你的 Python 路径'
args = ["-m", "wxauto_mcp.server"]

然后重启 Codex 或新开线程。

2. wxautox4 未激活

运行:

py -3.13 -m wxautox4 -k

如果显示未激活,需要先解决授权问题。MCP 服务能启动,不代表微信操作一定能成功;底层 wxautox4 没激活时,很多工具会失败。

3. Python 版本混乱

如果你电脑上有 Python 3.9 和 3.13,最容易出现这种问题:

你在 3.13 里激活了 wxautox4
但 Codex MCP 配置却启动了 3.9

结果就是:你以为已经激活,但 MCP 工具里检查还是未激活。

解决办法是让 config.toml 里的 command 指向已激活的 Python。

4. 发送成功但微信没看到

建议不要只调用 send_message,而是:

先 switch_chat 到指定联系人
再 send_message
最后 get_messages 读回确认

也就是让 Codex 先切窗口,再发送,再检查。

5. 微信窗口最小化或权限不足

wxauto-mcp README 里也提醒,某些操作需要微信窗口在前台可见,并且要确保 Python 有访问微信进程的权限。实测中,如果微信窗口长期最小化、系统权限不够、或者微信版本和库版本不匹配,都可能导致找不到控件。

适合做成什么服务

如果你想把这个能力做成有偿配置服务,我觉得可以分成三个层次。

基础配置服务

适合不会配置 Python、Codex、MCP 的用户。

服务内容:

  • 安装 Python 3.13
  • 安装 wxautox4
  • 安装 wxauto-mcp
  • 配置 Codex 的 config.toml
  • 帮用户完成文件传输助手测试

可以主打:

帮你把 Codex 接入微信,让 AI 能发消息、发文件、读聊天记录。

工作流定制服务

适合已经能跑起来,但想用来提高效率的人。

可以帮他设计:

  • 自动整理客户聊天记录
  • 自动把文件发送给文件传输助手
  • 自动读取未读会话并生成摘要
  • 自动把群公告整理成待办
  • 自动把某个聊天里的文件记录导出

这个部分比单纯安装更值钱,因为你卖的不是命令,而是“帮他把日常流程变简单”。

远程排错服务

很多人会卡在:

  • Python 版本不对
  • pip 装到了另一个环境
  • wxautox4 未激活
  • Codex 读不到 MCP
  • 微信窗口找不到控件
  • 发消息返回成功但实际没发送

这些问题对新手很折磨,但你只要踩过一次坑,就能很快判断。

结尾

这次配置之后,我对 MCP 的理解更直观了:MCP 不是一个玄乎的概念,它就是把本地能力变成 AI 能调用的工具。

以前 AI 只能告诉我“你可以打开微信发送文件”;现在我可以直接说“把这个文件发给文件传输助手”,Codex 就能按步骤执行。

目前这套方案已经能实现:

  • 发送微信文本消息
  • 发送图片和文件
  • 读取当前聊天消息
  • 整理聊天记录到 Markdown
  • 获取会话列表
  • 检查微信和授权状态
    并可以通过codex来进行mcp支持的的操作
    image
    image
    例如
    帮我绘制一只小猪并发送到指定好友
    image

后面如果继续扩展,还可以把它和日程、文件夹监听、自动摘要、客户需求整理结合起来,做成真正的个人工作流助手。

如果你也想配置 Codex 控制微信,或者配置过程中遇到 Python 版本、MCP、wxautox4、Codex 配置的问题,可以联系我,有偿帮配置和排错。

参考资料

posted @ 2026-06-04 16:33  骑老奶奶拖拖拉机  阅读(381)  评论(0)    收藏  举报