应用介绍
想让自己的系统自动发订单通知、验证码或者客服回复到 WhatsApp,要么接 Meta 官方 Cloud API(按条计费、要过审),要么买第三方网关(按月订阅、消息都过人家服务器)。OpenWA 给的是第三条路:自己部署一个 HTTP 网关,前面是标准 REST 接口和 webhook,后面挂着你自己的 WhatsApp 号,数据不出自己的服务器。Docker 一条命令起来,带一个 React 写的管理后台,会话、API 密钥、webhook 都在界面里管。
它的架构是可插拔的:数据库选 SQLite 还是 PostgreSQL、缓存用不用 Redis、备份存本地还是 S3,都靠配置切换而不用改代码。一个实例能同时跑多个 WhatsApp 会话,API 密钥可以限定只能操作指定的会话。消息、媒体、群组、标签、频道都有对应接口,还带 Swagger 文档和 n8n 社区节点。
但这东西的风险作者自己写得很清楚,值得先看完再决定用不用。它不是官方接口,底层靠的是逆向出来的客户端(whatsapp-web.js 和 Baileys),所以账号被限制或封禁的风险始终存在,代码写得再好也消不掉。官方 README 明确建议:别拿你的主号或者公司主号接,用一个丢得起的专用号;新号要先「养」几天像正常人一样用;不要对从没联系过你的陌生号码群发——那是最容易被封的行为。两个引擎的取舍也写明了:whatsapp-web.js 跑真实无头 Chromium、更像正常流量因而风险低,但每会话吃 300–500 MB 内存;Baileys 直接讲多设备协议、内存只要 30–80 MB,但更容易被识别。
作者还特别声明:医疗、金融、大规模商业消息,或者涉及欧盟用户受 GDPR/DMA 约束的场景,请直接用 Meta 官方 Cloud API,不要用它。它适合个人项目、内部工具和学习折腾。MIT 协议。
REST API 与 webhook:完整的 HTTP 接口收发消息,事件通过带 HMAC 签名的 webhook 推出去,还能按条件做预分发过滤,少收一堆用不上的回调。
多会话并行:一个实例同时挂多个 WhatsApp 账号,互不干扰,适合一台机器服务多个业务线或多个客户。
Web 管理后台:React 写的界面管理会话扫码、API 密钥、webhook 配置和投递失败记录,不用全靠命令行。
会话级密钥权限:operator 和 viewer 类型的密钥可以限定只能访问勾选的会话,越权请求直接返回 401;不勾则默认可访问全部会话(含以后新建的)。
可插拔后端:数据库在 SQLite 与 PostgreSQL 之间切换、缓存可选 Redis、备份与迁移可存本地或 S3/MinIO,全部靠配置而非改代码。
消息能力完整:文本、图片视频文档音频、表情回应、消息编辑(两个引擎都能收到 message.edited 事件)、批量发送、送达与已读回执。
群组与频道:建群、管理成员、用邀请码加群、配置群设置,也支持 WhatsApp 频道和聊天标签管理。
限流与访问控制:内置可配置的速率限制(这一项官方明确建议开着用)、CIDR 白名单限制来源 IP、按会话配置代理。
审计日志:API 密钥、会话、集成实例和基础设施管理操作都有审计记录,便于回溯谁在什么时候改了什么。
插件与集成:官方提供 Chatwoot、Typebot 等沙箱化插件,另有 n8n 社区节点和第三方适配器(如 ioBroker)。
Docker 部署:面向生产的 Docker 配置开箱即用,容器以非 root 运行、通过 Docker socket 代理收敛权限,并提供适合 Kubernetes 的健康检查探针。
它的架构是可插拔的:数据库选 SQLite 还是 PostgreSQL、缓存用不用 Redis、备份存本地还是 S3,都靠配置切换而不用改代码。一个实例能同时跑多个 WhatsApp 会话,API 密钥可以限定只能操作指定的会话。消息、媒体、群组、标签、频道都有对应接口,还带 Swagger 文档和 n8n 社区节点。
但这东西的风险作者自己写得很清楚,值得先看完再决定用不用。它不是官方接口,底层靠的是逆向出来的客户端(whatsapp-web.js 和 Baileys),所以账号被限制或封禁的风险始终存在,代码写得再好也消不掉。官方 README 明确建议:别拿你的主号或者公司主号接,用一个丢得起的专用号;新号要先「养」几天像正常人一样用;不要对从没联系过你的陌生号码群发——那是最容易被封的行为。两个引擎的取舍也写明了:whatsapp-web.js 跑真实无头 Chromium、更像正常流量因而风险低,但每会话吃 300–500 MB 内存;Baileys 直接讲多设备协议、内存只要 30–80 MB,但更容易被识别。
作者还特别声明:医疗、金融、大规模商业消息,或者涉及欧盟用户受 GDPR/DMA 约束的场景,请直接用 Meta 官方 Cloud API,不要用它。它适合个人项目、内部工具和学习折腾。MIT 协议。
软件功能
REST API 与 webhook:完整的 HTTP 接口收发消息,事件通过带 HMAC 签名的 webhook 推出去,还能按条件做预分发过滤,少收一堆用不上的回调。
多会话并行:一个实例同时挂多个 WhatsApp 账号,互不干扰,适合一台机器服务多个业务线或多个客户。
Web 管理后台:React 写的界面管理会话扫码、API 密钥、webhook 配置和投递失败记录,不用全靠命令行。
会话级密钥权限:operator 和 viewer 类型的密钥可以限定只能访问勾选的会话,越权请求直接返回 401;不勾则默认可访问全部会话(含以后新建的)。
可插拔后端:数据库在 SQLite 与 PostgreSQL 之间切换、缓存可选 Redis、备份与迁移可存本地或 S3/MinIO,全部靠配置而非改代码。
消息能力完整:文本、图片视频文档音频、表情回应、消息编辑(两个引擎都能收到 message.edited 事件)、批量发送、送达与已读回执。
群组与频道:建群、管理成员、用邀请码加群、配置群设置,也支持 WhatsApp 频道和聊天标签管理。
限流与访问控制:内置可配置的速率限制(这一项官方明确建议开着用)、CIDR 白名单限制来源 IP、按会话配置代理。
审计日志:API 密钥、会话、集成实例和基础设施管理操作都有审计记录,便于回溯谁在什么时候改了什么。
插件与集成:官方提供 Chatwoot、Typebot 等沙箱化插件,另有 n8n 社区节点和第三方适配器(如 ioBroker)。
Docker 部署:面向生产的 Docker 配置开箱即用,容器以非 root 运行、通过 Docker socket 代理收敛权限,并提供适合 Kubernetes 的健康检查探针。

