aldinokemal/go-whatsapp-web-multidevice
效率与系统工具用 Go 自托管的 WhatsApp REST API,支持多账号、Webhook、MCP 与网页面板。
项目介绍
GOWA 把 WhatsApp 账号封装成可自托管的 REST API 和 MCP 端点。项目用 Go 编写,基于多设备 WhatsApp 协议,一个服务实例可以同时登录并管理多个账号,通过 HTTP 提供消息发送、联系人、群组、频道、状态等操作。
除了发送文本和媒体,它还支持定时与周期发送、按设备配置的 Webhook(带 HMAC-SHA-256 签名)、自动回复、自动已读、媒体下载与压缩、表情贴纸转换以及 Chatwoot 集成。从 v9 起,MCP 端点(/mcp,streamable HTTP)与 REST API 由同一进程提供,为支持 MCP 的 AI 客户端提供七个合并工具,覆盖发送、定时、会话、群组、应用控制和频道。机器可读的接口定义见 docs/openapi.yaml。
适合希望在自己基础设施上自动化个人或小商家 WhatsApp 账号的开发者,也适合把 WhatsApp 接入 n8n 或 AI Agent 的团队。
快速使用
从源码运行需要 Go 1.26.0 或更高版本,以及处理媒体所需的 FFmpeg 和 libwebp(macOS:brew install ffmpeg webp,并执行 export CGO_CFLAGS_ALLOW="-Xpreprocessor";Linux:sudo apt install ffmpeg webp)。
git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
cd go-whatsapp-web-multidevice/src
go run . rest
然后打开 http://localhost:3000,扫描二维码登录。同一条 rest 命令也会在 http://localhost:3000/mcp 提供 MCP 端点。
不想在宿主机安装 Go、FFmpeg 和 libwebp 时可用 Docker:
git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
cd go-whatsapp-web-multidevice
cp src/.env.example src/.env
docker compose up -d --build
预编译二进制见 releases 页面,镜像同时发布在 Docker Hub 和 GHCR。调用接口时按 OpenAPI 规范 访问端点,配置了 Basic Auth 就带上认证头;注册多个账号时需传 X-Device-Id。
使用约束
- 支持 Linux(x86_64、ARM64)、macOS(Intel 与 Apple Silicon)以及通过 WSL 运行的 Windows x86_64;为树莓派交叉编译时使用
purego构建标签以避开 CGO。 - 会话默认保存在
storages/下的 SQLite;可以用 PostgreSQL(例如 Neon)存放会话和密钥,不建议生产环境使用内存存储,因为重启可能丢失 WhatsApp 会话状态。 - 绑定非回环地址时必须通过
APP_BASIC_AUTH配置 Basic Auth,除非显式用APP_ALLOW_UNAUTHENTICATED关闭。跨源提供面板时要设置APP_TRUSTED_ORIGINS;以file://打开的面板无法发出会改变状态的请求。 - Webhook 接收方应配置固定的
WHATSAPP_WEBHOOK_SECRET;未配置时进程会生成随机密钥,重启后即变化。 - 定时发送失败时会在同一消息 id 下重试,但不保证恰好一次送达。
- 网页面板在启动时从独立的 gowa-ui 仓库下载,默认每 3 小时刷新;可用
APP_UI_ASSET_SHA256固定版本,或预置storages/ui/index.html并关闭自动更新以适配离线环境。 - 项目与 WhatsApp 官方无关;README 建议需要受支持的生产级集成时使用官方 WhatsApp Business Platform。许可证为 MIT。
HotRepo 点评
在 2026-11-15 的 Go 日榜记录中,该仓库累计 5,047 Star、当日新增 8 Star,最好名次为第 17 名。单次快照只能确认当天的位次,不足以判断趋势。技术层面值得注意的是 v9 的整合:MCP 并入 REST 进程,面板迁到独立仓库并由服务端下载后校验摘要,这对需要固定版本或在受限网络部署的使用者有实际影响。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。
相关推荐
- lharries/whatsapp-mcp让 LLM 智能体读取并发送你自己 WhatsApp 账号的消息,数据全程存在本地。
- tulir/whatsmeow一个 Go 库,让开发者在自己的应用中通过 WhatsApp Web 多设备协议收发消息。
- melgarafael/DeskcommCRM面向 WhatsApp 销售的自主部署 CRM,AI 代理负责接待、跟进并转人工。
- finereli/whatsapp-mcp只读 MCP 服务器,让 AI 代理搜索并读取你自己的 WhatsApp 聊天记录。
- crmne/zapfast面向 Linux、macOS 和 Windows 的原生 WhatsApp 桌面客户端,不依赖浏览器内核。