Mojo-Webqq

用 Perl 打造 QQ 机器人,HTTP API 即插即用

Mojo-Webqq 是一个基于 Perl 语言编写的 SmartQQ/WebQQ 客户端框架,通过插件机制提供 HTTP API 接口,方便其他语言或系统调用。它解决了早期 QQ 机器人开发门槛高、语言绑定死板的问题,核心能力包括:多协议支持(WebQQ/SmartQQ)、插件化架构、HTTP API 服务、Docker 部署、IRC 桥接等。用户无需精通 Perl 即可通过 RESTful 接口实现消息收发、群管理、好友操作等功能,适合快速搭建 QQ 机器人或集成到现有系统。项目曾活跃四年,但因 WebQQ 服务停止而停止维护,其设计思路对后续聊天机器人框架有参考价值。

开源 free 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1704
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类对话助手
开发团队hexsum
所属国家
官网地址
定价模式free
价格说明开源项目,免费使用,无付费版本。
访问状态
是否开源是
开源协议BSD-2-Clause
主要语言Perl
技术栈/模型api,bot,chat,chatbot,cli,docker,irc,mojo,perl,qq,qqbot,smartqq,webqq
GitHub 星标★ 1704
30天Star增速
HF 下载量
上线时间2015-05-28 00:00:00
最近更新2026-09-04 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 20 分钟 部署方式:本地安装 8 步

环境要求

  • Perl 5.10.1 及以上,推荐 5.14+(Linux/Mac 多数系统自带,Windows 推荐 StrawberryPerl)
  • cpanm 包管理工具(系统已装可跳过)
  • Linux 编译环境:openssl-devel(RedHat/CentOS)或 libssl-dev(Ubuntu),用于编译 IO::Socket::SSL
  • 建议在 root 用户下安装使用,非 root 安装参考官方 FAQ

安装与启动步骤

  1. 1确认 Perl 版本

    先确认系统已安装 Perl,且版本至少 5.10.1、推荐 5.14+。Windows 建议选 StrawberryPerl 等二进制预编译版本,装完即用。

    perl -v
  2. 2安装 cpanm 工具

    系统已有 cpanm 可跳过。方法 a 用 cpan 安装,方法 b 在线安装,两者任选其一执行即可,国内访问慢时用带腾讯云镜像的那条。

    cpan -i App::cpanminus
    curl -kL https://cpanmin.us | perl - App::cpanminus
    curl http://share-10066126.cos.myqcloud.com/cpanm.pl|perl - App::cpanminus
  3. 3安装 Mojo::Webqq

    用 cpanm 在线安装 Mojo::Webqq 模块;若已安装过,执行此命令相当于升级。会自动安装大量依赖模块。

    cpanm Mojo::Webqq
  4. 4换国内镜像重装

    若一直提示下载失败,是访问国外服务器网络较差,可手动指定网易镜像站点重新安装。

    cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq
  5. 5补齐 SSL 编译依赖

    安装失败常见原因是 IO::Socket::SSL 编译出错。按系统二选一安装:RedHat/CentOS 用 yum,Ubuntu 用 apt,装完回到上一步重装。

    yum install -y openssl-devel
    sudo apt-get install libssl-dev
  6. 6编写启动脚本

    新建 UTF-8 编码的 .pl 文件,填入示例代码:加载 ShowMsg 插件和 Openqq 插件,指定监听地址与端口,可选填写消息上报接口。

    #!/usr/bin/env perl
    use Mojo::Webqq;
    my ($host,$port,$post_api);
    
    $host = "0.0.0.0"; #发送消息接口监听地址,没有特殊需要请不要修改
    $port = 5000;      #发送消息接口监听端口,修改为自己希望监听的端口
    #$post_api = 'http://xxxx';  #接收到的消息上报接口,如果不需要接收消息上报,可以删除或注释此行
    
    my $client = Mojo::Webqq->new();
    $client->load("ShowMsg");
    $client->load("Openqq",data=>{listen=>[{host=>$host,port=>$port}], post_api=>$post_api});
    $client->run();
  7. 7运行脚本并登录

    用 perl 解释器运行刚才保存的脚本,程序会完成 QQ 登录,并在本机指定地址端口上产生一个 HTTP server。

    perl xxxx.pl
  8. 8调用接口验证

    脚本运行后,按 API 文档地址调用发送好友消息接口,uid 换成真实 QQ 号。返回 JSON 中 code 为 0 表示调用成功。

    curl 'http://127.0.0.1:5000/openqq/send_friend_message?uid=xxxxx&content=hello'

关键配置

配置项必填说明示例
$host是发送消息接口监听地址,没有特殊需要请不要修改0.0.0.0
$port是发送消息接口监听端口,改成自己希望监听的端口5000
$post_api否接收到的消息上报接口,不需要接收上报时可删除或注释该行http://xxxx

如何确认成功

脚本运行后访问监听地址的发送好友消息接口,返回 {"status":"发送成功","msg_id":23910327,"code":0} 即表示服务正常。

常见问题

Q:cpanm 安装时一直提示下载失败怎么办?

A:多半是访问国外服务器网络差,可手动指定国内镜像重装:cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Webqq。

Q:安装过程中报 SSL 相关编译错误怎么办?

A:通常是缺少 IO::Socket::SSL 的编译环境。RedHat/CentOS 执行 yum install -y openssl-devel,Ubuntu 执行 sudo apt-get install libssl-dev,然后重新安装模块。

Q:我不熟悉 Perl,只想调用消息收发接口可以吗?

A:可以。把 README 给出的示例代码保存成 UTF-8 编码的 .pl 文件,用 perl 运行,就会在本机产生 HTTP 服务,其他语言直接调用 API 即可,更多参数见 API.md。

Q:这个项目现在还能正常登录 QQ 使用吗?

A:不能。README 明确提示 WebQQ 已于 2019 年 1 月 1 日停止服务,项目已停止维护,目前仅具备学习与设计参考价值。

Q:想在命令行上通过 IRC 玩 QQ 聊天怎么做?

A:README 提供了 IRCShell 插件,具体使用步骤需阅读项目内的 IRC.md 文档,本文未给出相关命令。

注意事项

  • WebQQ 已于 2019 年 1 月 1 日停止服务,项目停止维护,仅供技术学习与参考
  • 启动脚本必须保存为 UTF-8 编码的文件,否则可能运行失败
  • README 建议尽量在 root 下安装使用,非 root 安装的问题参见官方 FAQ
  • README 提到支持 Docker 镜像,具体命令参见项目内 Docker.md,本文未给出 Docker 安装命令

核心亮点

  • 插件化架构,扩展功能只需写简单 Perl 模块
  • 提供 HTTP API,任何语言都能调用,降低集成门槛
  • 支持 Docker 一键部署,环境配置省心

不足之处

  • 依赖已停止的 WebQQ 服务,无法实际使用
  • 文档/社区待观察,项目停止维护后资源有限

适用场景

  • 快速开发个人 QQ 机器人(历史场景)
  • 将 QQ 消息接入企业监控或运维系统(历史场景)
  • 学习聊天机器人框架设计(代码参考)

替代项目

OICQ(基于 NTQQ 的机器人框架)、go-cqhttp(基于 OneBot 协议的 QQ 机器人)、Mirai(跨平台 QQ 机器人框架)

项目介绍

Mojo-Webqq 是对话助手领域的开源项目,由 hexsum 开发,2015 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,704)位列前 30%,在对话助手分类的 907 个项目里位列前 15%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-04。免费使用,无付费版本。

它主要面向的使用场景是:快速开发个人QQ机器人(历史场景)。同类可对比的替代方案包括 OICQ(基于 NTQQ 的机器人框架)、go-cqhttp(基于 OneBot 协议的 QQ 机器人)、Mirai(跨平台 QQ 机器人框架)。

上一篇:react-simple-chatbot

下一篇:lita

同类项目推荐

open-webui 开源

给本地模型配个漂亮聊天室,全家都能用

User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

★ 152821 2026-08-09
prompts.chat 开源

海量好提示词,抄了就能让 AI 更听话

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the commun···

★ 170999 2026-08-09
elia 开源

终端里用键盘快速聊 AI,多模型切换不打断思路

A snappy, keyboard-centric terminal user interface for interacting with large langua···

★ 2479 2026-08-09
NextChat 开源

一个界面聊遍所有主流AI模型,支持全平台部署,轻快又私密。

✨ Zero-config AI chat assistant. No API key needed — sign up and instantly chat wi···

★ 88802 2026-08-09