如果只是想给 WhatsApp 接个机器人——自动回客户消息、发订单通知、管几个群——摆在面前的路通常有三条。
第一条是 Meta 官方的 WhatsApp Business Platform(Cloud API)。合规矩,但门槛和账单都不低:企业要先通过 Meta 审核,主动给用户发消息必须使用预先审批的模板;从 2025 年 7 月起按条计费,营销类模板最贵。
第二条是浏览器自动化,用 Selenium 或 Puppeteer 驱动 Chromium 跑 WhatsApp Web 页面。能用,但意味着要在服务器上长期养一个无头浏览器。内存占用、运行稳定性、页面改版,都是持续成本。
第三条就是本文要拆解的 Baileys:一个 TypeScript 库。它不开浏览器、不走官方 API,直接用 WebSocket 对接 WhatsApp Web 协议。免费,能力接近全套,风险自己承担。
和浏览器自动化比:它扔掉了最重的部件

Baileys 的立足点是 WhatsApp 的多设备机制。手机扫码之后,它会被加为一个“已关联设备”,再以独立客户端身份直连 WhatsApp 服务器。这套机制和你在电脑上开 WhatsApp Web 相同,只是中间没有浏览器。
README 里写得很直白:不跑 Selenium 或 Chromium,能省下大约半个 G 的内存。对小团队来说,这意味着一台最低配的 VPS 就能挂一个 7×24 在线的机器人,而不是为了无头浏览器单独加钱升内存。
它也不只是“能收能发”。仓库 README 的功能目录拉得很长:文本、图片、视频、语音、位置、联系人、投票、表情回应、引用转发、阅后即焚;群组的创建、拉人、禁言、邀请链接;隐私设置、在线状态、拒接来电,甚至发“状态”(朋友圈)和广播列表。这些在官方 Cloud API 里要么不支持,要么必须绕模板。
和官方 API 比:账单与审核都没了
官方 API 的定价页写得很清楚:按送达的模板消息收费,分营销、交易、验证、服务四类,费率还按接收方所在国家分档。用户在 24 小时客服窗口里跟你对话时,普通消息免费;窗口一关,你想主动触达,就得掏钱发审批过的模板。
Baileys 这边没有这些概念。它连接的是你的个人或商业 App 账号,不是 WABA(WhatsApp Business API)账号,所以不存在模板审批、不存在按条计费,也没有“每月上限”。文档站 baileys.wiki 明确写了这一点,同时用同样的语气提醒:这意味着它和 WhatsApp 官方没有任何关系,用不用,你自己决定。
对比完这两条路,我的判断是:Baileys 卖的不是功能,功能只是入场券,它真正卖的是门槛——不用企业资质、不用过审、不用按条付费,当天就能挂一个机器人上线。
项目卡片
- 项目:Baileys[1]
- 状态:v7.0.0-rc14 / 约 10.6k Star / MIT 协议 / 2026 年 7 月仍在发版(6.x 与 7.0 双线并行)
- 一句话判断:目前 Node 生态里能力最全的免费 WhatsApp 自动化库,省掉官方 API 的账单和审核,也一并省掉了官方的保护。
什么人真的在用它
最对口的是做跨境生意、海外客服的中小团队。客户散在 WhatsApp 上,量还没大到值得为官方 API 付费,又确实需要自动回复、订单提醒、工单分流。Baileys 配一个大模型或简单的关键词规则,就是一套零月租的客服机器人。群欢迎语、入群审批、定时公告这类社群运营需求,官方 API 几乎不碰,Baileys 的 README 里群组 API 却占了很大篇幅。
个人开发者的用法更碎:服务器告警发到自己的 WhatsApp、把某个群的消息存档、定时给家人发提醒。装库只有一行:
npm install @whiskeysockets/baileys
如果你人在国内、生意也不面向海外,可能一辈子用不上它。但它的价值判断仍然值得看:这是“非官方 API 对抗官方 API”的一个典型样本——什么时候免费方案值得冒险,什么时候合规贵也必须付,Baileys 把这道题出得很完整。
用起来什么感觉

它的编程模型是事件驱动的。扫码连上之后,新消息、群变动、来电、在线状态都以事件推给你,你只管订阅;发消息则收敛成一个 sendMessage 函数,文本、图片、投票都是传不同的对象。类型是 TypeScript 写全的,IDE 补全基本能带着走。
工程上它也不是玩具。核心依赖里有 libsignal(WhatsApp 端到端加密用的信号协议)和一个 Rust 写的桥接模块;运行时兼容 Node 20+,仓库标签显示 Bun 和 Deno 也在支持范围。10.5k Star、3.2k Fork,2026 年 7 月底 6.7.24 和 7.0.0-rc14 同一天发版,维护活跃度不用担心。
文档站还在建设中,README 自己也承认是临时版本。遇到深水区,Discord 社区和 GitHub issue 是主要的求生渠道,维护者还为商业用户提供付费的预约支持。
免费的代价,一条都不能漏

最大的代价写在 README 的免责声明里:Baileys 不受 WhatsApp 官方认可,使用它违反 WhatsApp 的服务条款。维护者自己列了红线——不要拿它做垃圾群发、跟踪软件、批量自动化营销。翻译一下:这个库的能力足够你干坏事,但干坏事的后果(封号)由你自己的账号承担,没有人兜底。
第二条是版本现状。npm 的 latest 标签现在是 7.0.0-rc14——也就是说,今天默认安装拿到的是 RC 版。7.0 有多处破坏性变更,迁移要对照官方指南( whiskey.so/migrate-latest );想留在旧世界,得显式装 legacy 标签的 6.7.24。生产环境选哪条线,得自己想清楚。
第三条是存储要自建。Baileys 不带数据库,聊天记录、联系人、会话凭证都给你接口让你自己落盘;文档站甚至专门警告:内置的那个文件存储实现只是演示用,别上生产。会话凭证更是命门——密钥状态没及时持久化,消息就发不出去。这一点我倒是能理解,存储解耦让你可以按业务量选 SQLite 或 MySQL,但它确实让上手第一天比读 README 感觉到的要忙。
该不该选它
如果你的业务正经依赖 WhatsApp 触达客户、规模化营销、不能接受任何封号风险——选官方 Cloud API,把账单当合规成本付掉。
如果你在做海外小生意、个人项目、内部工具,消息量不大、账号封了会痛但不至于倒闭——Baileys 是目前免费方案里能力最全、社区最活的一个,值得一试。
如果你只是想体验一下“用代码操作 WhatsApp”是什么感觉,它也是成本最低的入口:一行安装,扫个码,十分钟能看到机器人回出第一条消息。只是别拿主号做实验。
引用链接
[1] Baileys: https://github.com/WhiskeySockets/Baileys