
Mojo-Weixin
用代码控制你的个人微信,轻松打造微信机器人
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1251
使用教程
环境要求
- Perl 5.10.1 以上版本(推荐 5.14+),Windows 之外多数系统自带
- 系统需已安装或可安装 cpanm 模块安装工具
- 能访问 CPAN 源(国内网络建议使用 163 镜像)
- Linux 下需具备编译环境,RedHat/CentOS 装 openssl-devel,Ubuntu 装 libssl-dev
- 建议在 root 用户下安装使用,非 root 需参考官方 FAQ
安装与启动步骤
-
1检查 Perl 版本
安装前先确认系统已安装 Perl,且版本不低于 5.10.1,推荐 5.14 以上。Windows 推荐用 StrawberryPerl。
perl -v -
2安装 cpanm 工具
系统已有 cpanm 可跳过。root 用户可用 cpan 安装,或用官方在线脚本安装。
curl -kL http://cpanmin.us | perl - App::cpanminus -
3国内网络装 cpanm
官方脚本在国外访问不畅时,改用腾讯云镜像脚本安装 cpanm,效果相同。
curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus -
4安装 SSL 编译依赖
IO::Socket::SSL 是安装中最易失败的依赖,Linux 需先装 SSL 开发库再继续。按系统二选一执行。
yum install -y openssl-devel # Ubuntu 系统改用:sudo apt-get install libssl-dev -
5安装 Mojo::Weixin
用 cpanm 在线安装模块,会自动拉取大量依赖模块,耗时较长请耐心等待。
cpanm Mojo::Weixin -
6改用国内镜像安装
若安装中一直提示下载失败,多为国外源网络差,手动指定 163 CPAN 镜像站点重试。
cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Weixin -
7检查依赖是否齐全
若安装仍失败,可运行官方依赖检查脚本,定位缺失的依赖模块后再重新安装。
curl -ks "https://raw.githubusercontent.com/sjdy521/Mojo-Weixin/master/script/check_dependencies.pl"|perl - -
8编写并运行启动脚本
把示例代码存成 UTF8 编码的 pl 文件,用 perl 运行后会扫码登录并在本机开启 HTTP 服务。
#!/usr/bin/env perl use Mojo::Weixin; my ($host,$port,$post_api); $host = "0.0.0.0"; #发送消息接口监听地址,没有特殊需要请不要修改 $port = 3000; #发送消息接口监听端口,修改为自己希望监听的端口 #$post_api = 'http://xxxx'; #接收到的消息上报接口,如果不需要接收消息上报,可以删除或注释此行 my $client = Mojo::Weixin->new(log_level=>"info",http_debug=>0); $client->load("ShowMsg"); $client->load("Openwx",data=>{listen=>[{host=>$host,port=>$port}], post_api=>$post_api}); $client->run(); # 保存为 xxxx.pl 后执行: # perl xxxx.pl
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
$host | 是 | 发送消息接口监听地址,无特殊需要不要修改 | 0.0.0.0 |
$port | 是 | 发送消息接口监听端口,可改为自己想要的端口 | 3000 |
$post_api | 否 | 接收到的消息上报地址,不需要上报可注释掉 | http://xxxx |
log_level | 否 | 日志级别,构造客户端时传入 | info |
http_debug | 否 | 是否输出 HTTP 调试信息,0 为关闭 | 0 |
如何确认成功
运行 perl xxxx.pl 完成扫码登录后,本机 3000 端口出现 HTTP 服务;调用 /openwx/send_friend_message 返回 {"status":"发送成功","code":0} 即成功。
常见问题
Q:cpanm 安装一直提示下载失败怎么办?
A:多为访问国外 CPAN 源网络差导致,改用国内镜像重装:cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Weixin。
Q:IO::Socket::SSL 编译失败如何处理?
A:说明缺少编译环境。RedHat/CentOS 执行 yum install -y openssl-devel,Ubuntu 执行 sudo apt-get install libssl-dev,然后重新安装 Mojo::Weixin。
Q:Windows 上如何安装?
A:Windows 缺少编译环境,推荐直接用 StrawberryPerl 或 ActivePerl 最新版,已默认包含核心依赖模块,也可用 Mojo-StrawberryPerl。
Q:非 root 账号安装后无法使用怎么办?
A:请尽量在 root 下安装使用,非 root 场景的具体处理请参考项目 FAQ.md 中对应条目。
Q:想用 Docker 部署怎么做?
A:README 中提供了 Docker 镜像,安装及使用方法请参见仓库的 Docker.md 文档。
注意事项
- 本项目仅用于技术交流学习,禁止任何对国家、企业、个人构成危害的非法用途。
- 项目仅实现微信网页版自身功能范围,不支持网页版之外的能力。
- 请尽量在 root 用户下安装使用,非 root 用户可能安装成功但无法正常运行。
- IRC 命令行使用方式请阅读 IRCShell 插件的 IRC.md 文档,更多 HTTP 接口参数见 API.md。
核心亮点
- 提供完整的 HTTP API,任何语言都能轻松调用,无需了解 Perl
- 支持 Docker 一键部署,降低环境搭建门槛
- 内置 IRC 网关,可无缝对接现有 IRC 客户端
不足之处
- 基于网页版微信协议,存在账号被限制的风险
- 文档和社区活跃度一般,遇到问题可能难以快速获得支持
适用场景
- 个人微信消息自动回复或关键词触发
- 将微信消息转发到其他平台(如 IRC、Slack)
- 通过 API 集成到企业内部的自动化流程中
替代项目
Wechaty、itchat、wxpy
同类项目推荐
leon
开源
开口就能指挥 AI 干活,数据留在本地,不怕泄露
Leon is your open-source personal assistant.
chatgpt-minimal
开源
用最少代码,快速搭建可扩展的 ChatGPT 聊天界面
ChatGPT Minimal implements core ChatGPT features with a minimal codebase. Built with···
talkio
开源
把 GPT、Claude、Gemini 拉进一个群聊,对比答案超方便
Local-first multi-AI group chat desktop app — pull gpt, Claude, Gemini, DeepSeek in···
Chatbot
开源
用 Python 快速搭建规则对话机器人,轻松搞定多轮问答。
Python ChatBot
Gemini-Pro
开源
把 Google AI Studio 包装成安卓原生应用,用起来更顺手
WebView Application Google AI Studio with Additional Functionality
gdansk-ai
开源
快速搭建能听会说的语音聊天机器人
Full stack voice chatbot
svelte-chat-ui
开源
自带密钥,键盘流操作,本地搜索聊天记录
Chat with LLMs. Bring your own key. Keyboard-centric, mobile friendly, searchable.
Live-Chatbot-for-Final-Year-Proj···
开源
用Python+NLTK快速搭建毕业设计聊天机器人,易学易用
Chatbot system for Final Year Project. Chatbot made in Python using Natural Language···
chatvia
开源
用自有知识库搭客服机器人,多平台一键接入
Open-source platform for AI chat agents that answer from your own knowledge base. Hy···