whatsapp-skill

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

WhatsApp Skill - Messaging Automation

WhatsApp Skill - 消息自动化

Send messages, read chats, and search WhatsApp via WhatsApp Web automation.
通过WhatsApp Web自动化发送消息、读取聊天记录和搜索内容。

CRITICAL: Message Confirmation Required

重要提示:必须确认消息

Before sending ANY WhatsApp message, you MUST get explicit user confirmation.
When the user asks to send a message:
  1. First, show them the complete message details:
    • Recipient (phone number or group)
    • Full message text
    • Session being used
  2. Ask: "Do you want me to send this WhatsApp message?"
  3. ONLY run the send command AFTER the user explicitly confirms
  4. NEVER send without confirmation
在发送任何WhatsApp消息之前,必须获得用户的明确确认。
当用户要求发送消息时:
  1. 首先向用户展示完整的消息详情:
    • 接收方(电话号码或群组)
    • 完整消息文本
    • 使用的会话
  2. 询问:"是否要发送这条WhatsApp消息?"
  3. 仅在用户明确确认后执行发送命令
  4. 绝不要未经确认就发送消息

First-Time Setup

首次设置

bash
cd ~/.claude/skills/whatsapp-skill
npm install
This installs:
  • whatsapp-web.js
    - WhatsApp Web automation
  • qrcode-terminal
    - QR code display for authentication
bash
cd ~/.claude/skills/whatsapp-skill
npm install
此命令将安装:
  • whatsapp-web.js
    - WhatsApp Web自动化工具
  • qrcode-terminal
    - 用于认证的二维码显示工具

Authentication

认证

First time requires scanning a QR code with your phone:
bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js auth
  1. QR code appears in terminal
  2. Open WhatsApp on your phone
  3. Go to Settings → Linked Devices → Link a Device
  4. Scan the QR code
  5. Session is saved for future use
首次使用需要用手机扫描二维码:
bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js auth
  1. 终端中会显示二维码
  2. 在手机上打开WhatsApp
  3. 进入 设置 → 已链接设备 → 链接设备
  4. 扫描二维码
  5. 会话将被保存以便后续使用

Commands

命令

Authentication & Status

认证与状态

bash
undefined
bash
undefined

Authenticate (scan QR)

认证(扫描二维码)

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js auth [--session NAME]
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js auth [--session NAME]

Check status

检查状态

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js status [--session NAME]
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js status [--session NAME]

Logout

登出

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js logout [--session NAME]
undefined
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js logout [--session NAME]
undefined

Sending Messages (Requires Confirmation)

发送消息(需确认)

bash
undefined
bash
undefined

Send to phone number (include country code, no + or spaces)

发送至电话号码(包含国家代码,无需+号或空格)

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js send 14155551234 "Hello!" [--session NAME]
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js send 14155551234 "Hello!" [--session NAME]

Send to group

发送至群组

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js send-group GROUP_ID "Hello group!" [--session NAME]
undefined
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js send-group GROUP_ID "Hello group!" [--session NAME]
undefined

Reading Chats & Messages

读取聊天记录与消息

bash
undefined
bash
undefined

List recent chats

列出最近聊天

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js chats [--limit N] [--session NAME]
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js chats [--limit N] [--session NAME]

Get messages from a chat

获取某聊天的消息

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js messages CHAT_ID [--limit N] [--session NAME]
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js messages CHAT_ID [--limit N] [--session NAME]

Search messages

搜索消息

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js search "query" [--session NAME]
undefined
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js search "query" [--session NAME]
undefined

Contacts & Groups

联系人与群组

bash
undefined
bash
undefined

List contacts

列出联系人

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js contacts [--session NAME]
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js contacts [--session NAME]

List groups

列出群组

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js groups [--session NAME]
undefined
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js groups [--session NAME]
undefined

Multi-Account Support

多账户支持

Use
--session
flag for different WhatsApp accounts:
bash
undefined
使用
--session
标志切换不同的WhatsApp账户:
bash
undefined

Personal account

个人账户

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js auth --session personal
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js auth --session personal

Work account

工作账户

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js auth --session work
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js auth --session work

Send from specific account

从指定账户发送消息

node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js send 14155551234 "Hi" --session work

Sessions stored in `~/.claude/skills/whatsapp-skill/sessions/`
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js send 14155551234 "Hi" --session work

会话存储在`~/.claude/skills/whatsapp-skill/sessions/`目录下

Phone Number Format

电话号码格式

Always use full international format without + or spaces:
  • US:
    14155551234
    (1 = country code)
  • UK:
    447911123456
    (44 = country code)
  • India:
    919876543210
    (91 = country code)
请始终使用完整的国际格式,无需+号或空格:
  • 美国:
    14155551234
    (1 = 国家代码)
  • 英国:
    447911123456
    (44 = 国家代码)
  • 印度:
    919876543210
    (91 = 国家代码)

Chat IDs

聊天ID

Chat IDs are returned by the
chats
command:
  • Individual chats:
    14155551234@c.us
  • Group chats:
    120363123456789012@g.us
聊天ID可通过
chats
命令获取:
  • 个人聊天:
    14155551234@c.us
  • 群组聊天:
    120363123456789012@g.us

Examples

示例

Send a Quick Message

发送快速消息

bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js send 14155551234 "Meeting at 3pm today?"
bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js send 14155551234 "Meeting at 3pm today?"

Check Recent Chats

查看最近聊天

bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js chats --limit 5
bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js chats --limit 5

Read Messages from a Contact

读取某联系人的消息

bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js messages 14155551234@c.us --limit 10
bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js messages 14155551234@c.us --limit 10

Search for Something

搜索内容

bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js search "meeting agenda"
bash
node ~/.claude/skills/whatsapp-skill/whatsapp_skill.js search "meeting agenda"

Output

输出

All commands output JSON for easy parsing.
所有命令均输出JSON格式,便于解析。

Requirements

要求

  • Node.js 16+
  • npm
  • Chrome/Chromium (installed automatically by puppeteer)
  • Node.js 16+
  • npm
  • Chrome/Chromium(由puppeteer自动安装)

Important Notes

重要说明

  • One phone per session: Each WhatsApp account can only be linked to one session at a time
  • Stay connected: WhatsApp may disconnect if your phone loses internet for extended periods
  • Rate limits: Don't spam - WhatsApp can ban accounts for suspicious activity
  • Business accounts: Works with both personal and WhatsApp Business accounts
  • 每个会话对应一部手机:每个WhatsApp账户同一时间只能链接到一个会话
  • 保持在线:如果手机长时间断网,WhatsApp可能会断开连接
  • 速率限制:请勿发送垃圾消息 - WhatsApp可能会因可疑行为封禁账户
  • 商业账户:同时支持个人和WhatsApp商业账户

Security Notes

安全说明

  • Message confirmation required - Claude must confirm before sending any message
  • Session data stored in
    ~/.claude/skills/whatsapp-skill/sessions/
  • Sessions contain authentication data - keep secure
  • Logout removes session data from your computer (but device stays linked in WhatsApp until you unlink)
  • 必须确认消息 - Claude发送任何消息前都必须获得用户确认
  • 会话数据存储在
    ~/.claude/skills/whatsapp-skill/sessions/
    目录下
  • 会话包含认证数据 - 请妥善保管
  • 登出会从电脑上删除会话数据(但在WhatsApp中设备仍会保持链接,直到手动解除)

Troubleshooting

故障排除

QR code not appearing?
  • Make sure puppeteer dependencies are installed:
    npx puppeteer browsers install chrome
Authentication keeps failing?
  • Delete session folder and re-authenticate
  • Make sure your phone has internet connection
Messages not sending?
  • Verify phone number format (country code, no spaces/dashes)
  • Check if contact has blocked you
  • Verify WhatsApp is still connected on your phone
二维码不显示?
  • 确保已安装puppeteer依赖:
    npx puppeteer browsers install chrome
认证持续失败?
  • 删除会话文件夹后重新认证
  • 确保手机已连接互联网
消息无法发送?
  • 验证电话号码格式(包含国家代码,无空格/短横线)
  • 检查是否被联系人拉黑
  • 确认手机上的WhatsApp仍处于连接状态