项目概述
WAHA 是一个便捷高效的 WhatsApp HTTP API,旨在帮助开发者和团队快速将 WhatsApp 集成到各类应用和服务中。依托 RESTful 风格的 API,WAHA 支持以最小的配置成本,在自己的服务器上用 Docker 一键部署,5 分钟即可上线,极大降低了接入门槛。项目支持三种通信引擎(基于浏览器的 WEBJS、Node.js WebSocket 及 Go WebSocket),满足不同环境和性能需求。WAHA 解决了 WhatsApp 官方 API 部署复杂、使用门槛高、兼容性不足等痛点,让开发者无需繁琐设置即可稳定管理会话、收发消息、获取二维码、登录状态等常用功能。其丰富的接口设计和管理后台,覆盖了从会话启动、消息发送到实时监控的全流程需求,是希望高效集成 WhatsApp 功能的开发者和企业的理想选择。同时,支持 Docker 加持的敏捷部署方式、灵活的扩展性与多语言支持,充分体现了 WAHA 致力于提升开发体验与业务效率的初心。
项目统计
项目概况
2631 Stars |
656 Forks |
2631 Watchers |
202 Issues
开源协议: Apache License 2.0 |
创建于: 2020-10-20 |
更新于: 2025-08-02
技术栈
该项目主要使用 TypeScript 开发,占代码库的 49.3%。此外还包含 JavaScript (43.3%)、HTML (7.0%)、Dockerfile (0.2%)
核心功能
WAHA让你的WhatsApp自动化触手可及,无论你是要集成通知、管理客户对话,还是构建聊天机器人,都能一键开启高效新体验。
-
三大引擎随心选
不同的技术栈和需求?没问题!WAHA 支持三种连接引擎:WEBJS(基于浏览器的解决方案)、NOWEB(Node.js WebSocket)、GOWS(Go 语言 WebSocket),轻松适配各种开发环境,满足你的各种部署需求。 -
零门槛REST API
通过标准化的REST API,你可以实现自动发送消息、收发多媒体、管理联系人和群组等功能。只需简单几步,就能让你的服务与WhatsApp无缝打通,无论是业务消息推送还是客户自动回复,都能一键完成。 -
极速上手、即刻可用
使用Docker一键部署,无需繁琐配置,五分钟即可获得一个强大的WhatsApp HTTP接口。不论是开发新项目还是快速试验想法,都能让效率直线上升。 -
多会话与实时数据
支持多会话(多账户管理),便于团队协作和大型项目应用。实时数据同步和状态推送,让你的应用始终掌握最新的通讯动态。 -
可视化&Swagger文档
附带仪表盘和Swagger接口示例,帮你轻松管理所有会话、快速调试和理解API用法,体验极致友好的开发流程。
更多功能特性正在不断完善中,WAHA 致力于为你的WhatsApp自动化之路保驾护航,让你的每一次沟通都快人一步!
技术架构
WAHA 采用现代化的技术栈和分层架构设计,将 WhatsApp 的底层通信功能通过易用的 RESTful API 暴露给开发者。后端主体使用 TypeScript 编写,具备强类型和良好的代码可维护性。核心功能通过三种引擎支撑:WEBJS(基于浏览器的 Webjs 驱动)、NOWEB(Node.js WebSocket)、GOWS(Go WebSocket),灵活适配不同场景和性能需求。其中,WEBJS 通过仿真浏览器环境与 WhatsApp Web 交互,保证兼容性和协议跟进速度;NOWEB 与 GOWS 则更侧重于高并发和资源优化,适合大型业务接入。
服务以 Docker 容器化部署,用户可按需编排多个实例,便于横向扩展与自动化运维。REST API 层标准化输出接口,对接上下游系统变得简单高效。同时,WAHA 内置会话管理和二维码授权机制,无需繁琐配置即可快速集成。技术方案兼顾了易用性、安全性和高可用,既适合中小团队快速落地 WhatsApp 消息能力,也能支撑大规模企业级应用。整体架构强调解耦、模块化与可扩展性,为未来功能拓展和多协议集成打下了坚实基础。
使用指南
要快速开始使用 waha 实现 WhatsApp 的消息发送,首先确保已安装 Docker。然后按照以下步骤操作:
- 下载 WAHA 镜像:
docker pull devlikeapro/waha
- 运行 WAHA 容器:
docker run -d --name waha -p 3000:3000 devlikeapro/waha
这样会在本地 3000 端口启动 WAHA。
- 创建新会话并获取二维码以登录 WhatsApp。通过 API 创建会话:
curl -X POST http://localhost:3000/sessions/your-session-id
然后获取二维码以使用手机扫码登录:
curl http://localhost:3000/sessions/your-session-id/qr > qr.png
扫描生成的 qr.png
二维码以激活会话。
- 发送消息给指定手机号(手机号需带国家码,不含+号):
curl -X POST http://localhost:3000/sessions/your-session-id/message/sendText \
-H 'Content-Type: application/json' \
-d '{"chatId": "1234567890@c.us", "text": "Hello from waha!"}'
上述命令会向 1234567890
号码对应的 WhatsApp 账户发送一条文本消息。
更多高级用法和配置请参考官方文档。配置参数、环境变量和 API 路径等也可查阅文档,满足更复杂应用需求。完成上述步骤后,您即可通过 REST API 灵活集成 WhatsApp 消息发送能力。
总结评价
WAHA 项目为用户提供了一个开箱即用的 WhatsApp HTTP REST API 解决方案,兼容三种核心引擎(Webjs、Noweb、Gows),可根据实际需求灵活切换,显著提升了集成和部署的便利性。项目采用 TypeScript 开发,并支持 Docker 一键部署,极大降低了技术门槛。当前在 GitHub 上有较高的 Star 数(2600+),社区活跃,讨论气氛良好,文档和示例较为完善,便于新手快速上手。WAHA 支持扫码接入、多会话管理和可视化操作面板等功能,适用于需要自建或定制 WhatsApp 连接服务的开发者和企业。需要注意的是,相关接口的可用性可能受 WhatsApp 官方策略变动影响,部署和合规风险需自行把控。总体来看,WAHA 是 WhatsApp 自动化和集成领域具备一定创新性和实用性的开源方案,建议有类似需求的用户关注其后续发展和社区反馈。