EverydayWechat
基于网页版微信的自动化助手,支持定时消息、自动回复与群助手查询功能
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于网页版微信的自动化助手,支持定时消息、自动回复与群助手查询功能
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否有过这样的时刻——早上匆忙出门,忘了给女朋友发早安;下班回家累到只想瘫着,却还要强撑着回复消息;群聊里有人问天气,你掏出手机查了半天发过去,对方早已聊到了别的话题。
这些问题,EverydayWechat 想用一行代码来解决。这是一个基于 Python 和 itchat 库开发的微信自动化工具,最早在 2018 年左右出现在 GitHub 上,作者 sfyc23(GitHub ID: DoubleThunder),当时网页版微信尚可正常使用。项目迅速在程序员圈子里传播,被广泛用于情侣之间的自动提醒、群助手的智能应答等场景。截至分析时,该项目已收获超过 10,000 颗 Stars,成为中文开源社区中最受欢迎的微信自动化项目之一。
然而,这个项目也面临一个无法回避的困境——网页版微信已于 2022 年左右逐步关闭,导致项目核心功能(自动登录、消息收发)受到严重影响。作者在 README 中多次强调「本项目依赖于网页版微信,如登录不了则无法使用」,但这丝毫不影响它在技术爱好者心中的地位——它不仅是一个实用工具,更是一扇了解微信协议、爬虫技术和自动化脚本的窗口。
EverydayWechat 的功能体系可以用「三剑客」来概括:
第一剑:定时暖心消息。 用户只需在配置文件中填入好友昵称、所在城市和发送时间,程序就会自动获取天气、格言、星座运势等素材,组合成一条定制化的消息准时发出。比如,你和女朋友的相识纪念日是 2020 年 5 月 20 日,程序会自动计算在一起的天数,并在消息末尾附上「宝贝,这是我们在一起的第 1856 天」。支持多用户、多群组、多时间点的灵活配置。
第二剑:智能自动回复。 当你暂时无法回复微信时,可以开启自动回复功能。程序支持多达 7 种机器人渠道供选择:图灵机器人(需要实名认证,每天免费 100 条)、腾讯智能闲聊(免费无限量)、思知机器人(免费无需申请 API Key,是项目默认选项)等。回复内容会自动加上预设的前缀和后缀(例如 --自动回复),让对方知道你使用的是自动回复而非本人。
第三剑:群助手全家桶。 群助手功能是 EverydayWechat 最具实用价值的部分。它在群聊中接入了大量常用查询接口,包括垃圾分类(输入「垃圾分类 塑料瓶」)、天气查询、PM2.5 空气质量、万年历及节假日信息、实时电影票房等。用户无需打开任何其他 App,直接在微信群里发送指令即可获取答案。
从代码组织来看,EverydayWechat 采用标准的 Python 项目结构:
everyday_wechat/
├── control/ # 功能模块(机器人、天气、日历等)
│ ├── airquality/ # PM2.5 空气质量
│ ├── bot/ # 机器人渠道
│ ├── calendar/ # 万年历
│ ├── express/ # 快递查询
│ ├── horoscope/ # 星座运势
│ ├── moviebox/ # 票房查询
│ ├── onewords/ # 每日一言
│ ├── rubbish/ # 垃圾分类
│ └── weather/ # 天气查询
├── utils/ # 核心工具
│ ├── config.py # YAML 配置加载
│ ├── db_helper.py # MongoDB 数据缓存
│ ├── friend_helper.py # 好友消息处理
│ ├── group_helper.py # 群助手处理
│ └── itchat_helper.py # itchat 核心封装
└── main.py # 程序入口,调度各个模块
核心依赖栈非常清晰:itchat==1.3.10 是整个项目的基石,它封装了网页版微信的 API 调用;apscheduler 负责定时任务的调度;beautifulsoup4 + lxml 用于解析各类第三方 API 的 HTML/JSON 响应;pymongo 可选地提供数据缓存功能。整体代码量适中(约数千行),没有引入过于复杂的依赖,学习成本低,hack 空间大。
项目自带一个 Dockerfile,基于 python:3.7-slim,但它仅将代码和依赖打包进容器,并不包含图形界面环境——因为 itchat 的扫码登录需要一个可见的终端或图形 QR 码显示。对于没有接触过 Docker 的用户,直接 docker build 可能会因为无法显示登录二维码而卡住。
对于有 Python 基础的用户来说,EverydayWechat 的上手流程非常友好:克隆项目、安装依赖、修改 _config.yaml、运行 run.py,四步即可完成基本配置。README 用中文写成,对每个配置项都有详细说明,甚至贴心地提示「可以把文件传输助手当成女朋友来测试」。
但实际使用中最大的障碍在于登录。itchat 依赖网页版微信接口,程序运行时会弹出一个 QR 码,需要用户用手机微信扫描确认登录。如果你的微信账号因为风控、异常登录等原因被限制网页版登录,整个程序就无法启动。这意味着项目对账号状态有强依赖,且无法实现真正的「无人值守」部署。
EverydayWechat 的核心局限性并非代码质量问题,而是外部依赖本身的生命周期问题。网页版微信的逐步退役,使得项目的自动回复和消息发送功能在 2022 年后变得非常不稳定。作者也坦承「没有任何其它解决办法」,这是客观的技术限制而非代码缺陷。
此外,项目的第三方 API 依赖也存在风险:图灵机器人需要实名认证且免费额度有限;青云客机器人虽然免费但回复质量较差(README 称之为「分手神器,慎用」);腾讯智能闲聊需要申请 AppID 和 AppKey,有一定的接入门槛。
在数据隐私方面,用户需要将微信账号授权给脚本登录,消息内容会经过第三方机器人的服务器中转(如果使用云端 API),存在隐私泄露的潜在风险。项目中没有实现任何端到端加密或本地化的 AI 推理能力。
EverydayWechat 的走红,折射出了中文互联网用户对微信自动化工具的强烈需求。从 RPA 机器人到微信营销工具,从自动回复到定时提醒,这类需求从未消失。EverydayWechat 以开源、透明、可定制的方式满足了这一需求,即便它受制于微信平台的接口政策而无法长期稳定运行,它在技术传播和知识普及方面的价值依然不可忽视。
对于 AI 开发者而言,这个项目也是一个很好的入门案例:如何用 Python 调用第三方 API、如何设计一个模块化的定时任务系统、如何处理 YAML 配置并将其转化为可执行逻辑——这些技能在任何自动化项目中都是通用的。项目虽然没有使用任何大模型或深度学习技术,但它在「AI 应用层」展示了如何将多种第三方 AI 服务整合为一个统一的产品体验。
EverydayWechat 是一个实用性强但生命周期受限的微信自动化工具。它以极低的门槛实现了定时消息、自动回复和群助手三大核心功能,代码结构清晰、文档完善,在 GitHub 上获得了超过 10,000 颗 Stars 的认可。但其对网页版微信的强依赖,使得项目的长期可用性存在较大不确定性。如果你的微信账号仍能登录网页版,它仍然是一个值得一试的效率工具;如果不能,这个项目的代码本身仍然具有很高的学习和参考价值。