go-whatsapp-web-multidevice

GitHub
3.8k 890 简单 1 次阅读 今天MIT其他插件语言模型
AI 解读 由 AI 自动生成,仅供参考

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

不需要 GPU

内存

未说明(基于 Go 语言特性,内存占用通常较低)

依赖
notes该工具是使用 Go 语言编写的独立二进制程序,无需安装 Python 或复杂的深度学习库。支持 ARM 和 AMD 架构。可通过下载预编译二进制文件、使用 Docker 容器或从源码编译运行。配置可通过命令行参数、环境变量或 .env 文件完成。主要功能是作为 WhatsApp 多设备协议的 API 网关和 MCP 服务器。
python不需要 Python
Go (编译语言,无运行时依赖)
SQLite 或 PostgreSQL (数据库)
Docker (可选)
go-whatsapp-web-multidevice hero image

快速开始

GoWA Logo

Golang WhatsApp - 基于 Go 语言构建,内存使用高效

Patreon 如果您正在使用此工具产生收益,请考虑通过成为 Patreon 成员来支持其开发! 您的支持将有助于确保该库得到持续维护和定期更新!


发布版本 构建镜像 二进制发布

支持 ARMAMD 架构,并提供 MCP 支持

下载:

支持 n8n 包(n8n.io)

  • n8n 包
  • 前往设置 -> 社区节点 -> 输入 @aldinokemal2104/n8n-nodes-gowa -> 安装

重大变更

  • v6
    • 对于 REST 模式,您需要运行 <二进制文件> rest,而不是直接运行 <二进制文件>
      • 例如:./whatsapp rest 而不是 ./whatsapp
    • 对于 MCP 模式,您需要运行 <二进制文件> mcp
      • 例如:./whatsapp mcp
  • 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=trueWHATSAPP_AUTO_REJECT_CALL=true(有关呼叫事件,请参阅 Webhook 负载
  • 连接时可配置在线状态

    • --presence-on-connect=unavailableWHATSAPP_PRESENCE_ON_CONNECT=unavailable
    • available — 标记为在线(抑制手机通知)
    • 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),而不是禁用验证。

配置

您可以使用命令行标志(如上所示)或环境变量来配置应用程序。配置可以通过三种方式设置(按优先级顺序):

  1. 命令行标志(最高优先级)
  2. 环境变量
  3. .env 文件(最低优先级)

环境变量

你可以使用环境变量来配置应用程序。配置可以通过三种方式设置(按优先级从高到低):

  1. 命令行标志(最高优先级)
  2. 环境变量
  3. .env 文件(最低优先级)

要使用环境变量,请按照以下步骤操作:

  1. .env.example 复制到项目根目录下的 .env 文件中(cp src/.env.example src/.env
  2. 根据你的需求修改 .env 文件中的值
  3. 或者将相同的变量设置为系统环境变量

可用的环境变量

变量 描述 默认 示例
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 连接时的状态:availableunavailablenone 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

文档:

注意:命令行标志会覆盖在环境变量或 .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 webp
    • export CGO_CFLAGS_ALLOW="-Xpreprocessor"
  • Linux:
    • sudo apt update
    • sudo apt install ffmpeg webp
  • Windows(不推荐,建议使用 WSL):

注意webp 包提供了 cwebp(编码器)、dwebp(解码器)和 webpmux(帧提取工具)等工具。 FFmpeg 用于媒体处理。libwebp 工具(webpmux + dwebp)则用于支持动画 WebP 贴纸。

使用方法

基本用法

  1. 克隆本仓库:git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
  2. 通过命令行或终端打开克隆后的文件夹。
  3. 运行 cd src
  4. 运行 go run . rest(以 REST API 模式运行)
  5. 打开 http://localhost:3000

使用 Docker(无需安装依赖)

  1. 克隆本仓库:git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
  2. 通过命令行或终端打开克隆后的文件夹。
  3. 运行 docker-compose up -d --build
  4. 打开 http://localhost:3000

构建自己的二进制文件

  1. 克隆本仓库:git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
  2. 通过命令行或终端打开克隆后的文件夹。
  3. 运行 cd src
  4. 执行以下命令:
    1. Linux 和 macOS:go build -o whatsapp
    2. Windows(CMD / PowerShell):go build -o whatsapp.exe
  5. 运行:
    1. Linux 和 macOS:./whatsapp rest(以 REST API 模式运行)
      1. 运行 ./whatsapp --help 查看更多详细选项
    2. Windows:.\whatsapp.exe rest(以 REST API 模式运行)
      1. 运行 .\whatsapp.exe --help 查看更多详细选项
  6. 在浏览器中打开 http://localhost:3000

MCP 服务器(模型上下文协议)

本应用还可以作为 MCP 服务器运行,允许 AI 代理和工具通过标准化协议与 WhatsApp 交互。

  1. 克隆本仓库:git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
  2. 通过命令行或终端打开克隆后的文件夹。
  3. 运行 cd src
  4. 运行 go run . mcp,或者构建二进制文件后运行 ./whatsapp mcp
  5. 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_textwhatsapp_send_contactwhatsapp_send_linkwhatsapp_send_location
  • 兼容支持 MCP 的 AI 工具和代理。

HTTP REST API

功能 菜单 方法 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 测试 MCP
  • 成功设置 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/26
v8.3.42026/03/26
v8.3.32026/03/15
v7.11.42026/02/27
v8.3.22026/02/27
v8.3.12026/02/23
v7.11.32026/02/12
v8.3.02026/02/12
v8.2.12026/02/04
v8.2.02026/01/28
v7.11.22026/01/28
v8.1.22026/01/18
v7.11.12026/01/12
v8.1.12026/01/12
v8.1.02026/01/01
v7.11.02025/12/24
v8.0.02025/12/24
v7.10.12025/12/03
v7.10.02025/11/29
v7.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 真正成长为懂上

159.3k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|昨天
Agent插件

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像

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 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|1周前
语言模型图像Agent

spec-kit

Spec Kit 是一款专为提升软件开发效率而设计的开源工具包,旨在帮助团队快速落地“规格驱动开发”(Spec-Driven Development)模式。传统开发中,需求文档往往与代码实现脱节,导致沟通成本高且结果不可控;而 Spec Kit 通过将规格说明书转化为可执行的指令,让 AI 直接依据明确的业务场景生成高质量代码,从而减少从零开始的随意编码,确保产出结果的可预测性。 该工具特别适合希望利用 AI 辅助编程的开发者、技术负责人及初创团队。无论是启动全新项目还是在现有工程中引入规范化流程,用户只需通过简单的命令行操作,即可初始化项目并集成主流的 AI 编程助手。其核心技术亮点在于“规格即代码”的理念,支持社区扩展与预设模板,允许用户根据特定技术栈定制开发流程。此外,Spec Kit 强调官方维护的安全性,提供稳定的版本管理,帮助开发者在享受 AI 红利的同时,依然牢牢掌握架构设计的主动权,真正实现从“凭感觉写代码”到“按规格建系统”的转变。

88.7k|★★☆☆☆|今天
语言模型图像Agent