wa-automate-nodejs

用 Node.js 快速搭建 WhatsApp 聊天机器人,自动收发消息

wa-automate-nodejs 是一个基于 TypeScript 的 WhatsApp 自动化框架,通过封装 WhatsApp Web 协议,让开发者用 Node.js 快速构建聊天机器人和自动化工作流。它解决了直接操作 WhatsApp 网页版复杂、易断线、难维护的问题,提供稳定的会话保持、消息收发、群组管理、媒体文件处理等能力。核心功能包括:一键启动带二维码扫描的客户端、事件驱动的消息监听、发送文本/图片/文件/位置、群组创建与成员管理、自动回复与关键词触发、Webhook 与 REST API 集成,以及多设备支持。项目还内置了反封禁策略和错误重连机制,适合需要将 WhatsApp 接入客服、营销或通知系统的场景。社区活跃,文档较全,是 Node.js 生态中较成熟的 WhatsApp 自动化方案之一。

开源 freemium 自动化工作流
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3655
维护状态 活跃
是否开源
定价模式 freemium

项目数据

分类自动化工作流
开发团队open-wa
所属国家
官网地址https://openwa.dev
定价模式freemium
价格说明开源免费,云服务付费,定价信息待确认
访问状态
是否开源
开源协议NOASSERTION
主要语言TypeScript
技术栈/模型api,chatbots,framework,nodejs,typescript
GitHub 星标★ 3655
30天Star增速
HF 下载量
上线时间2019-08-15 00:00:00
最近更新2026-09-15 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-14
浏览次数1

使用教程

难度:入门 约 10 分钟 部署方式:命令行工具 8 步

环境要求

  • Node.js 环境(可直接运行 npx 命令;参与仓库开发需 Node.js >=22.21.1)
  • 一个可登录的 WhatsApp 账号(首次启动需扫码或使用链接码登录)
  • 使用 Docker 方式需已安装 Docker
  • 参与 monorepo 开发需 pnpm 11.15.1(工具链由 mise.toml 固定)

安装与启动步骤

  1. 1选择合适版本

    v5 仍是 alpha 版本可能有问题,成熟的 v4 生产系统请留在 4.76.0,仅在测试或贡献 v5 时使用 alpha。

  2. 2启动 Easy API

    运行 CLI 会启动 Easy API 实例并触发首次认证流程,同时为当前会话暴露交互式文档。

    npx @open-wa/wa-automate@alpha --port 8080
  3. 3完成登录认证

    按运行时提示认证:扫描终端打印的二维码,或改用适合你的链接码登录方式。

  4. 4打开接口文档验证

    会话连接后访问 api-docs 页面,能看到交互文档即说明会话已上线、API 可访问。

  5. 5多会话与鉴权

    若要跑多个账号,尽早指定 session-id;对暴露到本机之外的 API 建议加 api-key 保护。

    npx @open-wa/wa-automate@alpha --session-id sales --port 8081
  6. 6用配置文件启动

    同目录下新建 wa.config.mjs,写入 apiKey、port 与 mcp 配置,再通过 --config 参数加载启动。

    WA_API_KEY="your-secure-key" npx @open-wa/wa-automate@alpha --config ./wa.config.mjs
  7. 7Docker 方式运行

    拉取 openwa/wa-automate 镜像并映射 8080 端口,加 --init 让初始化进程清理僵尸进程。

    docker run -p 8080:8080 --init openwa/wa-automate
  8. 8嵌入式运行时

    需要自己掌控浏览器驱动与生命周期时,安装核心包与驱动包,在代码中调用 createClient。

    npm install @open-wa/wa-automate @open-wa/driver-puppeteer

关键配置

配置项必填说明示例
sessionId会话标识,可能运行多个账号时建议尽早设置sales
apiKey保护 API,暴露到本机之外前应配置your-secure-key
portEasy API 监听端口8080
mcp.enabled启用 MCP,v5 只能通过配置文件开启true
mcp.pathMCP 服务挂载路径/mcp
headless嵌入式运行时是否无头启动浏览器true

如何确认成功

访问 http://localhost:8080/api-docs/ ,页面正常显示交互文档即表示会话已连接、API 可访问。

常见问题

Q:该用 v5 还是 v4?

A:v5 目前是 5.0.0-alpha.0,仍可能出问题。生产系统请留在稳定版 4.76.0,只有在测试或为 v5 做贡献时才用 alpha。

Q:CLI 上的 --webhook 和 --mcp 参数好用吗?

A:v5 alpha 会解析 --webhook 但会警告未恢复 CLI 注册能力,该参数不会启用投递;--mcp 在当前源码中不被解析,两者都需要在 wa.config.* 中配置。

Q:怎样给 API 加鉴权?

A:启动时加 --api-key "your-secure-key",或在 wa.config.mjs 中设置 apiKey,再对暴露到本机外的实例使用。

Q:Docker 运行时怎么固定版本?

A:通过环境变量 W_A_V 指定库版本,例如 docker run 时加 -e W_A_V=4.42.1。

Q:怎么跑多个 WhatsApp 账号?

A:为每个实例指定不同的 --session-id,并注意使用不同端口,例如 sales 用 8081。

注意事项

  • 本项目为非官方项目,与 WhatsApp、Meta 无关联,使用风险自负,使用即表示同意其服务条款。
  • v5 为 alpha 版本,建议先在可丢弃的环境中测试,再接入重要系统。
  • Docker 方式适合本地测试或一次性的首次运行,除非同时做好会话持久化规划。
  • 旧文档或示例提到的部分参数可能已过时,请以你实际运行版本验证过的参数集为准。

核心亮点

  • 封装了 WhatsApp Web 协议,提供简洁的 TypeScript API,降低开发门槛
  • 支持事件监听、Webhook 和 REST API,方便与现有系统集成
  • 内置会话保持、自动重连和反封禁策略,提升稳定性

不足之处

  • 依赖 WhatsApp Web 非官方接口,存在账号被封禁的风险
  • 部分高级功能需要付费授权或商业许可

适用场景

  • 电商客服自动回复与订单通知
  • 社群运营中自动欢迎新成员、关键词触发回复
  • 企业内部通过 WhatsApp 发送告警和审批提醒

替代项目

Baileys、whatsapp-web.js

项目介绍

wa-automate-nodejs 是一个自动化工作流领域的开源项目,官方简介:The most reliable tool for chatbots with advanced features. Be sure to this repository for updates!。项目使用 TypeScript 开发,在 GitHub 上获得 3652 星标。

上一篇:EVE-Online-Bot

下一篇:oh-my-taiyiforge

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 204578 2026-08-10
robotcode 开源

让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。

Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···

★ 299 2026-08-10
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95585 2026-08-10
customermates 开源

比 Pipedrive 直观 10 倍的现代开源 CRM,轻松管理客户与自动化流程。

Building a modern alternative to Pipedrive that is 10x more intuitive.

★ 227 2026-08-10