OpenWA 是一个免费、开源的 WhatsApp API 网关,专为需要完全控制消息基础设施的开发者设计,避免供应商锁定和隐藏费用。它采用可插拔架构,支持 SQLite/PostgreSQL 数据库、本地/S3 存储和内存/Redis 缓存的无缝切换。提供完整的 REST API、多会话管理、Webhook、Web 仪表盘、API 密钥认证和 Swagger 文档。支持文本、媒体、群组、频道、标签、代理、速率限制、CIDR 白名单和审计日志等功能。可通过 Docker 一键部署或本地开发。
核心要点
- OpenWA 是 100% 开源、免费的 WhatsApp API 网关,无许可费用或功能锁定。
- 采用可插拔架构,支持数据库(SQLite/PostgreSQL)、存储(本地/S3)和缓存(内存/Redis)的配置切换。
- 提供完整的 REST API、多会话管理、Webhook(HMAC 签名)、Web 仪表盘和 API 密钥认证。
- 支持文本、媒体、消息反应、批量消息、群组、频道/新闻通讯、标签、代理、速率限制、CIDR 白名单和审计日志。
- 支持 Docker 一键部署(推荐)和本地开发,版本 0.1.6,基于 Node 22 LTS、NestJS 11.x 和 TypeScript 5.x。
正文
OpenWA 是一个免费、开源的 WhatsApp API 网关,专为需要完全控制消息基础设施的开发者设计,避免供应商锁定和隐藏费用。
为什么选择 OpenWA?
OpenWA 采用可插拔架构,允许开发者在不修改任何应用程序代码的情况下,切换数据库引擎(SQLite/PostgreSQL)、存储后端(本地/S3)和缓存层(内存/Redis)。
| 特性 |
描述 |
| 🔓 100% 开源 |
无许可费用,无功能锁定,完全访问源代码 |
| 🏗️ 可插拔架构 |
通过配置切换数据库、存储和缓存的适配器 |
| 🖥️ 完整仪表盘 |
用于会话、Webhook 和 API 密钥管理的现代 React UI |
| 🔹 多会话支持 |
在一个实例上同时运行多个 WhatsApp 会话 |
| 🐳 Docker 原生 |
零配置即可投入生产 |
| 🔗 n8n 集成 |
用于工作流自动化的社区节点 |
功能特性
核心功能
| 功能 |
状态 |
描述 |
| REST API |
✅ |
通过 HTTP 端点提供完整的 WhatsApp API |
| 多会话 |
✅ |
管理多个 WhatsApp 账户 |
| Webhook |
✅ |
带 HMAC 签名的实时事件 |
| Web 仪表盘 |
✅ |
可视化管理界面 |
| API 密钥认证 |
✅ |
安全的 API 认证 |
| Swagger 文档 |
✅ |
交互式 API 文档 |
消息功能
| 功能 |
状态 |
描述 |
| 文本消息 |
✅ |
发送/接收文本消息 |
| 媒体消息 |
✅ |
图片、视频、文档、音频 |
| 消息反应 |
✅ |
使用表情符号对消息做出反应 |
| 批量消息 |
✅ |
发送给多个收件人 |
| 消息状态 |
✅ |
跟踪送达和已读回执 |
高级功能
| 功能 |
状态 |
描述 |
| 群组 API |
✅ |
创建、管理和发送群组消息 |
| 频道/新闻通讯 |
✅ |
支持 WhatsApp 频道 |
| 标签管理 |
✅ |
使用标签组织聊天 |
| 代理支持 |
✅ |
每个会话的代理配置 |
| 速率限制 |
✅ |
可配置的请求限制 |
| CIDR 白名单 |
✅ |
基于 IP 的访问控制 |
| 审计日志 |
✅ |
跟踪所有 API 操作 |
基础设施
| 功能 |
状态 |
描述 |
| SQLite |
✅ |
零配置嵌入式数据库 |
| PostgreSQL |
✅ |
生产级数据库 |
| Redis 缓存 |
✅ |
可选的性能缓存 |
| S3/MinIO 存储 |
✅ |
可扩展的媒体存储 |
| Docker |
✅ |
一键部署 |
| 健康检查 |
✅ |
适用于 Kubernetes 的探针 |
| 数据迁移 |
✅ |
在后端之间导出/导入 |
快速开始
选项 A:Docker(推荐)
# 克隆并启动
git clone https://github.com/rmyndharis/OpenWA.git
cd OpenWA
docker compose -f docker-compose.dev.yml up -d
# 访问
# 仪表盘:http://localhost:2886
# API:http://localhost:2785/api
# Swagger:http://localhost:2785/api/docs
选项 B:本地开发
# 克隆仓库
git clone https://github.com/rmyndharis/OpenWA.git
cd OpenWA
# 安装依赖(包括仪表盘)
npm install
# 启动 API + 仪表盘(首次运行自动生成配置)
npm run dev
# 访问
# 仪表盘:http://localhost:...
关联概念
- WhatsApp API
- API 网关
- 可插拔架构
- Docker 部署
- Webhook
- REST API
可操作项
- 使用 Docker 快速部署 OpenWA:
git clone https://github.com/rmyndharis/OpenWA.git && cd OpenWA && docker compose -f docker-compose.dev.yml up -d。
- 访问仪表盘(http://localhost:2886)创建和管理 WhatsApp 会话。
- 使用 Swagger 文档(http://localhost:2785/api/docs)测试 API 端点。
- 配置 Webhook 以接收实时消息事件。
- 根据需要切换数据库(SQLite/PostgreSQL)、存储(本地/S3)和缓存(内存/Redis)。
原文: rmyndharis/OpenWA
自动加工于 2026-05-20 11:23