go-whatsapp-web-multidevice
go-whatsapp-web-multidevice 是一款基于 Go 语言开发的高效 WhatsApp 自动化工具,旨在为开发者提供稳定且低内存占用的 REST API 服务。它核心解决了在服务器端批量管理多个 WhatsApp 账号、集成外部业务系统以及实现消息自动化收发的技术难题,特别适用于需要高并发处理或多账号运营的场景。
该工具非常适合后端开发者、系统集成工程师以及希望将 WhatsApp 功能嵌入自有应用(如客服系统 Chatwoot 或工作流平台 n8n)的技术团队。其独特亮点在于原生支持“多设备模式”,允许单个实例同时连接并管理多个 WhatsApp 账号;此外,它还率先集成了 MCP(模型上下文协议),便于与 AI 智能体无缝对接。功能上,它不仅支持发送文本、状态和自动转换格式的贴纸(含动态图),还具备“幽灵提及”等高级群组互动能力。通过提供完善的 Webhooks、WebSocket 支持及详细的 OpenAPI 文档,go-whatsapp-web-multidevice 让构建复杂的 WhatsApp 机器人或消息中台变得更加简单高效。
使用场景
一家中型电商公司的客服团队需要同时管理五个不同品牌的 WhatsApp 官方账号,并希望将消息自动同步到内部的 Chatwoot 客服系统进行统一处理。
没有 go-whatsapp-web-multidevice 时
- 多账号管理混乱:需要在多台物理手机或模拟器上分别登录不同账号,无法在单一服务器实例中集中管控,运维成本极高。
- 开发集成困难:缺乏标准的 REST API,开发人员难以将 WhatsApp 消息流与公司现有的 Chatwoot 系统或自动化工作流(如 n8n)进行对接。
- 资源消耗巨大:传统方案常依赖重型浏览器自动化脚本,导致服务器内存占用过高,难以在低配置的 ARM 架构服务器上稳定运行。
- 功能扩展受限:无法通过代码灵活发送贴纸、状态更新或实现“幽灵提及”(Ghost Mentions)等高级交互功能,客户体验单一。
使用 go-whatsapp-web-multidevice 后
- 一站式多设备管控:利用其原生的多设备支持特性,单个服务器实例即可通过
/devices接口同时连接并管理所有品牌账号,通过device_id轻松区分流量。 - 无缝生态集成:直接调用 REST API 或通过 n8n 社区节点,将消息实时推送至 Chatwoot,并利用 Webhooks 自动触发后续业务逻辑,开发效率大幅提升。
- 极致性能优化:基于 Golang 构建的高效内存管理机制,使得服务能在低成本的 ARM 服务器上流畅运行,显著降低了基础设施开支。
- 丰富交互能力:轻松实现自动发送 WebP 格式贴纸、发布状态更新以及在群聊中自动提及所有成员(@everyone),显著增强了客户互动的趣味性。
go-whatsapp-web-multidevice 通过高性能的多账号 API 支持,将分散的 WhatsApp 运营转化为可编排、低成本的自动化客户服务流程。
运行环境要求
- Linux
- macOS
- Windows
不需要 GPU
未说明(基于 Go 语言特性,内存占用通常较低)

快速开始
Golang WhatsApp - 基于 Go 语言构建,内存使用高效
如果您正在使用此工具产生收益,请考虑通过成为 Patreon 成员来支持其开发! 您的支持将有助于确保该库得到持续维护和定期更新!
支持 ARM 和 AMD 架构,并提供 MCP 支持
下载:
支持 n8n 包(n8n.io)
- n8n 包
- 前往设置 -> 社区节点 -> 输入
@aldinokemal2104/n8n-nodes-gowa-> 安装
重大变更
v6- 对于 REST 模式,您需要运行
<二进制文件> rest,而不是直接运行<二进制文件>。- 例如:
./whatsapp rest而不是./whatsapp。
- 例如:
- 对于 MCP 模式,您需要运行
<二进制文件> mcp。- 例如:
./whatsapp mcp。
- 例如:
- 对于 REST 模式,您需要运行
v7- 从 7.x 版本开始,我们使用 goreleaser 来构建二进制文件,因此您可以从 发布页面 下载二进制文件。
v8多设备支持:现在您可以在单个服务器实例中同时连接和管理多个 WhatsApp 账号。
新的设备管理 API:新增了
/devices路径下的端点,用于管理多个设备。设备作用域要求:所有与设备相关的 REST API 调用现在都需要以下任一方式:
X-Device-Id请求头,或device_id查询参数。- 如果仅注册了一个设备,则该设备将作为默认设备。
WebSocket 设备作用域:通过连接到
/ws?device_id=<id>可以将 WebSocket 限定在特定设备上。Webhook 负载变化:所有 webhook 负载现在都包含一个顶级的
device_id字段,用于标识接收事件的具体设备:```json { "event": "message", "device_id": "628123456789@s.whatsapp.net", "payload": { ... } } ```
功能
通过 HTTP API 发送 WhatsApp 消息,更多详情请参阅 docs/openapi.yml
MCP(模型上下文协议)服务器支持 - 使用标准化协议与 AI 代理和工具集成
提及某人
@phoneNumber- 示例:
Hello @628974812XXXX, @628974812XXXX
幽灵提及(全员提及) - 在不显示消息文本中
@phone的情况下提及群组成员- 将电话号码传递到
mentions字段以在消息中提及用户而不显示可见的@ - 使用特殊关键字
@everyone自动提及所有群组成员 - 群组发送消息模态框中提供 UI 复选框
- 将电话号码传递到
发布 WhatsApp 状态
发送贴纸 - 自动将图片转换为 WebP 贴纸格式
- 支持 JPG、JPEG、PNG、WebP 和 GIF 格式
- 自动调整大小至 512x512 像素
- 保留 PNG 图片的透明度
- 动画 WebP 贴纸 受支持,但必须符合 WhatsApp 要求:
- 必须精确为 512x512 像素
- 文件大小不得超过 500KB
- 最长持续时间为 10 秒
- 如果您的动画贴纸不符合这些要求,请使用 ezgif.com 等工具在上传前调整其尺寸
发送前压缩图片
发送前压缩视频
更改操作系统名称为您的应用名称(这是通过手机连接时的设备名称)
--os=Chrome或--os=MyApplication
基本认证(可添加多个凭证)
--basic-auth=kemal:secret,toni:password,userName:secretPassword,或者您可以简化为-b=kemal:secret,toni:password,userName:secretPassword
子路径部署支持
--base-path="/gowa"(允许在特定路径下部署,例如/gowa/sub/path)
可自定义端口和调试模式
--port 8000--debug true
自动回复消息
--autoreply="Don't reply this message"
自动标记已读传入消息
--auto-mark-read=true(自动将传入消息标记为已读)
自动下载传入消息中的媒体
--auto-download-media=false(禁用自动下载媒体,默认值为true)
自动拒绝来电
--auto-reject-call=true或WHATSAPP_AUTO_REJECT_CALL=true(有关呼叫事件,请参阅 Webhook 负载)
连接时可配置在线状态
--presence-on-connect=unavailable或WHATSAPP_PRESENCE_ON_CONNECT=unavailableavailable— 标记为在线(抑制手机通知)unavailable— 注册推送名称而不上线(默认设置,保留手机通知)none— 完全跳过在线状态(不会注册推送名称,联系人可能会看到“-”作为名称)
接收消息的 Webhook
--webhook="http://yourwebhook.site/handler",或者您可以简化为-w="http://yourwebhook.site/handler"- 更多详情请参阅 Webhook 负载文档
Webhook 密钥 我们的 Webhook 将附带 HMAC 头部和默认密钥
secret的 sha256 签名发送给您。 您可以使用以下选项修改此密钥:--webhook-secret="secret"
Webhook 负载文档 有关详细的 Webhook 负载模式、安全实施和集成示例,请参阅 Webhook 负载文档
Webhook 事件过滤 您可以通过以下方式过滤转发到您的 Webhook 的事件:
--webhook-events="message,message.ack"(逗号分隔列表)- 或环境变量:
WHATSAPP_WEBHOOK_EVENTS=message,message.ack
可用的 Webhook 事件:
事件 描述 message文本、媒体、联系人、位置消息 message.reaction对消息的表情符号反应 message.revoked已删除/撤销的消息 message.edited已编辑的消息 message.ack投递和已读回执 message.deleted用户删除的消息 group.participants群组成员加入/离开/晋升/降级事件 group.joined您被添加到一个群组 newsletter.joined您订阅了一个新闻通讯/频道 newsletter.left您退订了一个新闻通讯 newsletter.message新闻通讯中发布的新消息 newsletter.mute新闻通讯静音设置变更 call.offer收到的来电 如果未配置(为空),则所有事件都将被转发。
Webhook TLS 配置
如果您在使用 Webhook 时遇到 TLS 证书验证错误(例如使用 Cloudflare 隧道或自签名证书时):
tls: failed to verify certificate: x509: certificate signed by unknown authority您可以通过以下方式禁用 TLS 证书验证:
--webhook-insecure-skip-verify=true- 或环境变量:
WHATSAPP_WEBHOOK_INSECURE_SKIP_VERIFY=true
安全警告:此选项会禁用 TLS 证书验证,仅应在以下情况下使用:
- 开发/测试环境
- Cloudflare 隧道(它们本身提供安全层)
- 具有自签名证书的内部网络
对于生产环境,强烈建议使用正确的 SSL 证书(例如 Let's Encrypt),而不是禁用验证。
配置
您可以使用命令行标志(如上所示)或环境变量来配置应用程序。配置可以通过三种方式设置(按优先级顺序):
- 命令行标志(最高优先级)
- 环境变量
.env文件(最低优先级)
环境变量
你可以使用环境变量来配置应用程序。配置可以通过三种方式设置(按优先级从高到低):
- 命令行标志(最高优先级)
- 环境变量
.env文件(最低优先级)
要使用环境变量,请按照以下步骤操作:
- 将
.env.example复制到项目根目录下的.env文件中(cp src/.env.example src/.env) - 根据你的需求修改
.env文件中的值 - 或者将相同的变量设置为系统环境变量
可用的环境变量
| 变量 | 描述 | 默认 | 示例 |
|---|---|---|---|
APP_PORT |
应用程序端口 | 3000 |
APP_PORT=8080 |
APP_HOST |
服务器绑定的主机地址 | 0.0.0.0 |
APP_HOST=127.0.0.1 |
APP_DEBUG |
启用调试日志 | false |
APP_DEBUG=true |
APP_OS |
操作系统名称(WhatsApp 中的设备名称) | Chrome |
APP_OS=MyApp |
APP_BASIC_AUTH |
基本认证凭据 | - | APP_BASIC_AUTH=user1:pass1,user2:pass2 |
APP_BASE_PATH |
用于子路径部署的基路径 | - | APP_BASE_PATH=/gowa |
APP_TRUSTED_PROXIES |
反向代理的信任代理 IP 范围 | - | APP_TRUSTED_PROXIES=0.0.0.0/0 |
DB_URI |
数据库连接 URI | file:storages/whatsapp.db?_foreign_keys=on |
DB_URI=postgres://user:pass@host/db |
WHATSAPP_AUTO_REPLY |
自动回复消息 | - | WHATSAPP_AUTO_REPLY="自动回复消息" |
WHATSAPP_AUTO_MARK_READ |
自动将收到的消息标记为已读 | false |
WHATSAPP_AUTO_MARK_READ=true |
WHATSAPP_AUTO_DOWNLOAD_MEDIA |
自动下载来自收到消息的媒体 | true |
WHATSAPP_AUTO_DOWNLOAD_MEDIA=false |
WHATSAPP_WEBHOOK |
事件的 Webhook URL(逗号分隔) | - | WHATSAPP_WEBHOOK=https://webhook.site/xxx |
WHATSAPP_WEBHOOK_SECRET |
用于验证的 Webhook 密钥 | secret |
WHATSAPP_WEBHOOK_SECRET=super-secret-key |
WHATSAPP_WEBHOOK_INSECURE_SKIP_VERIFY |
跳过 Webhook 的 TLS 验证(不安全) | false |
WHATSAPP_WEBHOOK_INSECURE_SKIP_VERIFY=true |
WHATSAPP_WEBHOOK_EVENTS |
要转发的事件白名单(逗号分隔,空表示全部) | - | WHATSAPP_WEBHOOK_EVENTS=message,message.ack |
WHATSAPP_ACCOUNT_VALIDATION |
启用账号验证 | true |
WHATSAPP_ACCOUNT_VALIDATION=false |
WHATSAPP_PRESENCE_ON_CONNECT |
连接时的状态:available、unavailable 或 none |
unavailable |
WHATSAPP_PRESENCE_ON_CONNECT=unavailable |
CHATWOOT_ENABLED |
启用 Chatwoot 集成 | false |
CHATWOOT_ENABLED=true |
CHATWOOT_URL |
Chatwoot 实例的 URL | - | CHATWOOT_URL=https://app.chatwoot.com |
CHATWOOT_API_TOKEN |
Chatwoot API 访问令牌 | - | CHATWOOT_API_TOKEN=your-api-token |
CHATWOOT_ACCOUNT_ID |
Chatwoot 账户 ID | - | CHATWOOT_ACCOUNT_ID=12345 |
CHATWOOT_INBOX_ID |
Chatwoot 收件箱 ID | - | CHATWOOT_INBOX_ID=67890 |
CHATWOOT_DEVICE_ID |
Chatwoot 的 WhatsApp 设备 ID(多设备设置) | - | CHATWOOT_DEVICE_ID=628xxx@s.whatsapp.net |
CHATWOOT_IMPORT_MESSAGES |
启用消息历史同步到 Chatwoot | false |
CHATWOOT_IMPORT_MESSAGES=true |
CHATWOOT_DAYS_LIMIT_IMPORT_MESSAGES |
要导入的历史天数 | 3 |
CHATWOOT_DAYS_LIMIT_IMPORT_MESSAGES=7 |
文档:
- 有关详细的 Webhook 负载模式、安全实现和集成示例,请参阅 Webhook 负载文档
- 有关全面的 Chatwoot 集成指南,请参阅 Chatwoot 集成文档
注意:命令行标志会覆盖在环境变量或 .env 文件中设置的任何值。
- 更多命令信息请运行
./whatsapp --help
要求
系统要求
- Go 1.24.0 或更高版本(用于从源代码构建)
- FFmpeg(用于媒体处理)
平台支持
- Linux(x86_64、ARM64)
- macOS(Intel、Apple Silicon)
- Windows(x86_64)——建议使用 WSL
依赖项(不使用 Docker)
- macOS:
brew install ffmpeg webpexport CGO_CFLAGS_ALLOW="-Xpreprocessor"
- Linux:
sudo apt updatesudo apt install ffmpeg webp
- Windows(不推荐,建议使用 WSL):
注意:
webp包提供了cwebp(编码器)、dwebp(解码器)和webpmux(帧提取工具)等工具。 FFmpeg 用于媒体处理。libwebp 工具(webpmux+dwebp)则用于支持动画 WebP 贴纸。
使用方法
基本用法
- 克隆本仓库:
git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice - 通过命令行或终端打开克隆后的文件夹。
- 运行
cd src - 运行
go run . rest(以 REST API 模式运行) - 打开
http://localhost:3000
使用 Docker(无需安装依赖)
- 克隆本仓库:
git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice - 通过命令行或终端打开克隆后的文件夹。
- 运行
docker-compose up -d --build - 打开
http://localhost:3000
构建自己的二进制文件
- 克隆本仓库:
git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice - 通过命令行或终端打开克隆后的文件夹。
- 运行
cd src - 执行以下命令:
- Linux 和 macOS:
go build -o whatsapp - Windows(CMD / PowerShell):
go build -o whatsapp.exe
- Linux 和 macOS:
- 运行:
- Linux 和 macOS:
./whatsapp rest(以 REST API 模式运行)- 运行
./whatsapp --help查看更多详细选项
- 运行
- Windows:
.\whatsapp.exe rest(以 REST API 模式运行)- 运行
.\whatsapp.exe --help查看更多详细选项
- 运行
- Linux 和 macOS:
- 在浏览器中打开
http://localhost:3000
MCP 服务器(模型上下文协议)
本应用还可以作为 MCP 服务器运行,允许 AI 代理和工具通过标准化协议与 WhatsApp 交互。
- 克隆本仓库:
git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice - 通过命令行或终端打开克隆后的文件夹。
- 运行
cd src - 运行
go run . mcp,或者构建二进制文件后运行./whatsapp mcp - MCP 服务器默认会在
http://localhost:8080启动
MCP 服务器选项
--host localhost:设置 MCP 服务器的主机地址(默认:localhost)--port 8080:设置 MCP 服务器的端口(默认:8080)
可用的 MCP 工具
WhatsApp 的 MCP 服务器提供了一整套工具,供 AI 代理通过标准化协议与 WhatsApp 交互。以下是所有可用工具的完整列表:
📱 连接管理
whatsapp_connection_status:检查 WhatsApp 客户端是否已连接并登录whatsapp_login_qr:启动基于二维码的登录流程,并输出图片whatsapp_login_with_code:生成配对码,用于通过手机号进行多设备登录whatsapp_logout:注销当前 WhatsApp 会话whatsapp_reconnect:尝试使用已保存的会话重新连接 WhatsApp
💬 消息与通信
whatsapp_send_text:发送文本消息,支持回复和转发whatsapp_send_contact:发送包含姓名和电话号码的联系人卡片whatsapp_send_link:发送带有自定义标题的链接whatsapp_send_location:发送位置坐标(经纬度)whatsapp_send_image:发送图片,支持添加标题、压缩及阅后即焚功能whatsapp_send_sticker:发送贴纸,自动转换为 WebP 格式(支持 JPG/PNG/GIF)
📋 聊天与联系人管理
whatsapp_list_contacts:获取 WhatsApp 账户中的所有联系人whatsapp_list_chats:获取最近的聊天记录,支持分页和搜索过滤whatsapp_get_chat_messages:从特定聊天中获取消息,支持按时间及媒体类型筛选whatsapp_download_message_media:下载消息中的图片或视频whatsapp_archive_chat:归档或取消归档聊天对话
👥 群组管理
whatsapp_group_create:创建新群组,可选择初始成员whatsapp_group_join_via_link:通过邀请链接加入群组whatsapp_group_leave:根据群组 ID 退出群组whatsapp_group_participants:列出群组内的所有成员whatsapp_group_manage_participants:添加、移除、提升或降级群组成员whatsapp_group_invite_link:获取或重置群组邀请链接whatsapp_group_info:获取详细的群组信息whatsapp_group_set_name:更新群组显示名称whatsapp_group_set_topic:更新群组描述或主题whatsapp_group_set_locked:切换仅管理员可编辑群组信息模式whatsapp_group_set_announce:切换仅公告模式whatsapp_group_join_requests:列出待处理的入群申请whatsapp_group_manage_join_requests:批准或拒绝入群申请
MCP 端点
- SSE 端点:
http://localhost:8080/sse - 消息端点:
http://localhost:8080/message
MCP 配置
确保 MCP 服务器正在运行:./whatsapp mcp
对于支持 MCP 和 SSE 的 AI 工具(如 Cursor),请添加以下配置:
{
"mcpServers": {
"whatsapp": {
"url": "http://localhost:8080/sse"
}
}
}
生产环境 REST 模式(Docker)
使用 Docker Hub:
docker run --detach --publish=3000:3000 --name=whatsapp --restart=always --volume=$(docker volume create --name=whatsapp):/app/storages aldinokemal2104/go-whatsapp-web-multidevice rest --autoreply="Dont't reply this message please"
使用 GitHub Container Registry:
docker run --detach --publish=3000:3000 --name=whatsapp --restart=always --volume=$(docker volume create --name=whatsapp):/app/storages ghcr.io/aldinokemal/go-whatsapp-web-multidevice rest --autoreply="Dont't reply this message please"
生产模式 REST(Docker Compose)
创建 docker-compose.yml 文件,配置如下:
使用 Docker Hub:
services:
whatsapp:
image: aldinokemal2104/go-whatsapp-web-multidevice
container_name: whatsapp
restart: always
ports:
- "3000:3000"
volumes:
- whatsapp:/app/storages
command:
- rest
- --basic-auth=admin:admin
- --port=3000
- --debug=true
- --os=Chrome
- --account-validation=false
volumes:
whatsapp:
使用 GitHub Container Registry:
services:
whatsapp:
image: ghcr.io/aldinokemal/go-whatsapp-web-multidevice
container_name: whatsapp
restart: always
ports:
- "3000:3000"
volumes:
- whatsapp:/app/storages
command:
- rest
- --basic-auth=admin:admin
- --port=3000
- --debug=true
- --os=Chrome
- --account-validation=false
volumes:
whatsapp:
或者使用环境变量文件(Docker Hub):
services:
whatsapp:
image: aldinokemal2104/go-whatsapp-web-multidevice
container_name: whatsapp
restart: always
ports:
- "3000:3000"
volumes:
- whatsapp:/app/storages
environment:
- APP_BASIC_AUTH=admin:admin
- APP_PORT=3000
- APP_DEBUG=true
- APP_OS=Chrome
- APP_ACCOUNT_VALIDATION=false
volumes:
whatsapp:
或者使用环境变量文件(GitHub Container Registry):
services:
whatsapp:
image: ghcr.io/aldinokemal/go-whatsapp-web-multidevice
container_name: whatsapp
restart: always
ports:
- "3000:3000"
volumes:
- whatsapp:/app/storages
environment:
- APP_BASIC_AUTH=admin:admin
- APP_PORT=3000
- APP_DEBUG=true
- APP_OS=Chrome
- APP_ACCOUNT_VALIDATION=false
volumes:
whatsapp:
生产模式(二进制文件)
- 从 release 下载二进制文件
您可以 fork 或编辑此源代码!
当前 API
MCP(模型上下文协议)API
- MCP 服务器为 AI 代理提供与 WhatsApp 交互的标准化工具。
- 支持 Server-Sent Events (SSE) 传输。
- 可用工具:
whatsapp_send_text、whatsapp_send_contact、whatsapp_send_link、whatsapp_send_location。 - 兼容支持 MCP 的 AI 工具和代理。
HTTP REST API
- 详细 API 规范请参阅 docs/openapi.yml。
- 使用 SwaggerEditor 可视化 API。
- 可以使用 openapi-generator 生成 HTTP 客户端。
| 功能 | 菜单 | 方法 | URL |
|---|---|---|---|
| ✅ | 列出设备 | GET | /devices |
| ✅ | 添加设备 | POST | /devices |
| ✅ | 获取设备信息 | GET | /devices/:device_id |
| ✅ | 删除设备 | DELETE | /devices/:device_id |
| ✅ | 设备登录(二维码) | GET | /devices/:device_id/login |
| ✅ | 设备登录(验证码) | POST | /devices/:device_id/login/code |
| ✅ | 设备登出 | POST | /devices/:device_id/logout |
| ✅ | 重新连接设备 | POST | /devices/:device_id/reconnect |
| ✅ | 获取设备状态 | GET | /devices/:device_id/status |
| ✅ | 使用扫描二维码登录 | GET | /app/login |
| ✅ | 使用配对码登录 | GET | /app/login-with-code |
| ✅ | 登出 | GET | /app/logout |
| ✅ | 重新连接 | GET | /app/reconnect |
| ✅ | 设备列表 | GET | /app/devices |
| ✅ | 连接状态 | GET | /app/status |
| ✅ | 用户信息 | GET | /user/info |
| ✅ | 用户头像 | GET | /user/avatar |
| ✅ | 更改用户头像 | POST | /user/avatar |
| ✅ | 更改用户昵称 | POST | /user/pushname |
| ✅ | 用户我的群组* | GET | /user/my/groups |
| ✅ | 用户我的新闻通讯 | GET | /user/my/newsletters |
| ✅ | 用户隐私设置 | GET | /user/my/privacy |
| ✅ | 用户联系人 | GET | /user/my/contacts |
| ✅ | 用户检查 | GET | /user/check |
| ✅ | 用户企业资料 | GET | /user/business-profile |
| ✅ | 发送消息 | POST | /send/message |
| ✅ | 发送图片 | POST | /send/image |
| ✅ | 发送音频 | POST | /send/audio |
| ✅ | 发送文件 | POST | /send/file |
| ✅ | 发送视频 | POST | /send/video |
| ✅ | 发送贴纸 | POST | /send/sticker |
| ✅ | 发送联系人 | POST | /send/contact |
| ✅ | 发送链接 | POST | /send/link |
| ✅ | 发送位置 | POST | /send/location |
| ✅ | 发送投票/民意调查 | POST | /send/poll |
| ✅ | 发送在线状态 | POST | /send/presence |
| ✅ | 发送聊天在线状态(打字提示) | POST | /send/chat-presence |
| ✅ | 撤回消息 | POST | /message/:message_id/revoke |
| ✅ | 回复消息 | POST | /message/:message_id/reaction |
| ✅ | 删除消息 | POST | /message/:message_id/delete |
| ✅ | 编辑消息 | POST | /message/:message_id/update |
| ✅ | 标记消息已读(私信) | POST | /message/:message_id/read |
| ✅ | 收藏消息 | POST | /message/:message_id/star |
| ✅ | 取消收藏消息 | POST | /message/:message_id/unstar |
| ✅ | 下载消息媒体 | GET | /message/:message_id/download |
| ✅ | 使用链接加入群组 | POST | /group/join-with-link |
| ✅ | 通过链接获取群组信息 | GET | /group/info-from-link |
| ✅ | 获取群组信息 | GET | /group/info |
| ✅ | 退出群组 | POST | /group/leave |
| ✅ | 创建群组 | POST | /group |
| ✅ | 列出群组成员 | GET | /group/participants |
| ✅ | 添加群组成员 | POST | /group/participants |
| ✅ | 移除群组成员 | POST | /group/participants/remove |
| ✅ | 提升群组成员等级 | POST | /group/participants/promote |
| ✅ | 降低群组成员等级 | POST | /group/participants/demote |
| ✅ | 导出群组成员(CSV) | GET | /group/participants/export |
| ✅ | 列出群组申请的成员 | GET | /group/participant-requests |
| ✅ | 批准群组申请的成员 | POST | /group/participant-requests/approve |
| ✅ | 拒绝群组申请的成员 | POST | /group/participant-requests/reject |
| ✅ | 设置群组头像 | POST | /group/photo |
| ✅ | 设置群组名称 | POST | /group/name |
| ✅ | 锁定群组 | POST | /group/locked |
| ✅ | 开启群组公告模式 | POST | /group/announce |
| ✅ | 设置群组话题 | POST | /group/topic |
| ✅ | 获取群组邀请链接 | GET | /group/invite-link |
| ✅ | 取消关注新闻通讯 | POST | /newsletter/unfollow |
| ✅ | 获取聊天列表 | GET | /chats |
| ✅ | 获取聊天消息 | GET | /chat/:chat_jid/messages |
| ✅ | 为聊天标记 | POST | /chat/:chat_jid/label |
| ✅ | 置顶聊天 | POST | /chat/:chat_jid/pin |
| ✅ | 归档聊天 | POST | /chat/:chat_jid/archive |
| ✅ | 设置阅后即焚消息 | POST | /chat/:chat_jid/disappearing |
✅ = 可用
❌ = 尚不可用
* = 存在已知限制(见下方说明)
说明:
*用户我的群组: 由于 WhatsApp 协议的限制,最多返回 500 个群组。这是由 WhatsApp 服务器强制执行的,而非本 API 的限制。详情请参阅 whatsmeow 源代码。
用户界面
MCP UI
- 设置 MCP(已在 cursor 中测试)

- 测试 MCP

- 成功设置 MCP

HTTP REST API UI
| 描述 | 图片 |
|---|---|
| 首页 | ![]() |
| 登录 | ![]() |
| 使用验证码登录 | ![]() |
| 发送消息 | ![]() |
| 发送图片 | ![]() |
| 发送文件 | ![]() |
| 发送视频 | ![]() |
| 发送贴纸 | ![]() |
| 发送联系人 | ![]() |
| 发送位置 | ![]() |
| 发送音频 | ![]() |
| 发送投票 | ![]() |
| 发送状态 | ![]() |
| 发送链接 | ![]() |
| 我的群组 | ![]() |
| 通过链接获取群信息 | ![]() |
| 创建群组 | ![]() |
| 通过链接加入群组 | ![]() |
| 管理群成员 | ![]() |
| 我的新闻通讯 | ![]() |
| 我的联系人 | ![]() |
| 商业资料 | ![]() |
Mac OS 注意事项
- 如果遇到错误(
pkg-config --cflags中出现无效标志-Xpreprocessor),请执行以下操作:export CGO_CFLAGS_ALLOW="-Xpreprocessor"
重要提示
- 本项目为非官方项目,与 WhatsApp 官方无任何关联。
- 请使用 WhatsApp 官方 API,以避免任何问题。
- 目前我们仅能运行 MCP 或 REST API,这是 whatsmeow 库的限制。独立的 MCP 功能将在未来推出。
版本历史
v8.3.52026/03/26v8.3.42026/03/26v8.3.32026/03/15v7.11.42026/02/27v8.3.22026/02/27v8.3.12026/02/23v7.11.32026/02/12v8.3.02026/02/12v8.2.12026/02/04v8.2.02026/01/28v7.11.22026/01/28v8.1.22026/01/18v7.11.12026/01/12v8.1.12026/01/12v8.1.02026/01/01v7.11.02025/12/24v8.0.02025/12/24v7.10.12025/12/03v7.10.02025/11/29v7.9.02025/11/18常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
spec-kit
Spec Kit 是一款专为提升软件开发效率而设计的开源工具包,旨在帮助团队快速落地“规格驱动开发”(Spec-Driven Development)模式。传统开发中,需求文档往往与代码实现脱节,导致沟通成本高且结果不可控;而 Spec Kit 通过将规格说明书转化为可执行的指令,让 AI 直接依据明确的业务场景生成高质量代码,从而减少从零开始的随意编码,确保产出结果的可预测性。 该工具特别适合希望利用 AI 辅助编程的开发者、技术负责人及初创团队。无论是启动全新项目还是在现有工程中引入规范化流程,用户只需通过简单的命令行操作,即可初始化项目并集成主流的 AI 编程助手。其核心技术亮点在于“规格即代码”的理念,支持社区扩展与预设模板,允许用户根据特定技术栈定制开发流程。此外,Spec Kit 强调官方维护的安全性,提供稳定的版本管理,帮助开发者在享受 AI 红利的同时,依然牢牢掌握架构设计的主动权,真正实现从“凭感觉写代码”到“按规格建系统”的转变。





















