OpenWA (rmyndharis/OpenWA)

Searching Database…

15.5K ·GitHub
这是什么?一个免费开源、可自行部署的 WhatsApp API 网关:通过 REST API 提供消息收发功能,支持 Webhook 和网页管理后台,部署在你自己的服务器上。
这是基于 WhatsApp 官方 API 做的吗?不是——它是一个由社区维护的非官方网关,通过逆向工程的客户端(whatsapp-web.js 和 @whiskeysockets/baileys)连接,而不是 Meta 的官方 Cloud API。
怎么把它跑起来?推荐用 Docker——项目本身是 Docker Native 的,零配置即可投入生产使用,仓库里带有 compose 文件。如果想从源码构建,需要 Node.js 22.19+。
我需要配置数据库或缓存吗?不需要改任何代码——各种引擎都可以通过配置来替换:数据用 SQLite 或 PostgreSQL,媒体文件存本地磁盘或 S3,Redis 缓存可选,也可以直接关闭。
在绑定号码之前,有什么需要注意的?被封号的风险始终存在,因为 WhatsApp 会主动打击非官方的自动化工具。请用一个丢了也不心疼的专用号码——千万别用你的个人主号或公司业务号。
拿来做付费客户的项目或受监管的业务可以吗?它适合个人项目、内部工具、爱好者和学习用途。对于受监管的场景——医疗、金融、大规模商业消息,以及 DMA/GDPR 约束下的欧盟/欧洲经济区——应视为未获批准,请使用 Meta 的官方 Cloud API。
部署在哪里有讲究吗?有——廉价的机房 IP 比住宅 IP 更容易被风控盯上,而且可以按会话设置住宅代理。这能降低风险,但不是让你随便群发的许可证。
如果我的号码还是被 WhatsApp 限制了怎么办?OpenWA 无能为力——号码一旦被限制,它这边无法解封,你只能通过 WhatsApp 自己的渠道申诉。凡是涉及账号验证或收入的关键业务,请保留短信、邮箱或官方 Cloud API 作为备用方案。
集成方是怎么收到新消息的?Webhook 会实时推送事件,并用 HMAC 签名,还可以选配智能预分发过滤器;另外还有 /events WebSocket 流。Chat 范围的密钥收不到推送事件,只能改为轮询 REST API。
有现成的集成吗?有——官方的 Chatwoot 和 Typebot 插件以沙箱化插件的形式跑在 Integration Fabric 上,社区维护的 n8n 节点可以覆盖工作流自动化,Java、JavaScript、PHP 和 Python 的 SDK 都通过 CI 自动发布。
哪些已知问题是 WhatsApp 政策导致的,而不是程序 bug?给全新联系人发的第一条消息有时永远不会送达,尽管 API 返回成功;还有一些账号因为一步密钥(passkey)验证——两个引擎都没实现——根本无法绑定新设备。所以能用的会话尽量避免重新绑定。
Creator
rmyndharis
Size
31.5 MB
Stars
15.5K
Age
8mo
Commits · 90 Days