mcpField
W
whatsapp

whatsapp

github.com/steipete生产力7.4k88 次安装1 天前更新
代码仓库

关于 whatsapp

用于处理 WhatsApp 任务的工作流技能:将历史记录查询交给 wacrawl,将关联设备和实时操作交给 wacli。它强调只读检查,并要求明确授权后才能发送消息或修改状态。

主要功能

  1. 01将历史查询交给 wacrawl
  2. 02将实时账户操作交给 wacli
  3. 03检查同步新鲜度和未读聊天
  4. 04发送或修改前要求明确授权

适用场景

  1. 01搜索主要 WhatsApp 历史记录
  2. 02检查其他关联设备账户
  3. 03筛查未读聊天
  4. 04比较归档与实时消息覆盖范围

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/steipete/agent-scripts --skill whatsapp

安装后在 Claude Code 中输入/whatsapp确认已加载。

详细介绍

WhatsApp

将其作为 WhatsApp 相关工作的首选入口。明确划分数据来源:

  • wacrawl:主要的 WhatsApp Desktop 归档。只读、本地历史记录最完整、不联网、不发送消息。
  • wacli:关联设备账号。用于备用账号、实时同步、身份验证、发送消息、修改聊天/群组,以及 WhatsApp Web 协议相关问题。

如果用户明确提到 wacrawl 或 wacli 仓库相关工作,也要阅读该工具自己的 skill。

路由

  • 主要 WhatsApp 读取/搜索/历史记录:使用 wacrawl。
  • WhatsApp Desktop 的未读/已读计数:使用 wacrawl;它提供聊天级别的未读计数,不提供单条消息的已读状态。
  • 对时效性敏感的主要数据读取:检查 wacrawl status;在用户要求同步或当前数据很重要时,运行 wacrawl sync。
  • 备用账号(如 me、molty 或具名存储):使用 wacli --account NAME。
  • 发送消息、添加表情回应、设置在线状态、归档/置顶/静音/标记为已读,以及修改群组/频道:仅在用户明确提出要求后使用 wacli。
  • 比较不同来源的覆盖范围:将 wacrawl 视为主要历史记录的 Desktop 归档事实来源,将 wacli 视为受协议限制的关联设备/实时数据来源。

安全

  • 除非用户明确提出要求,否则绝不发送消息或修改 WhatsApp 状态。
  • 检查时优先使用只读 wacli 命令:传入 --read-only 或设置 WACLI_READONLY=1。
  • 不要写入 WhatsApp Desktop 的应用容器。
  • 不要直接编辑 wacli 的 session.db。
  • 保持具名 wacli 账号相互隔离;不要合并存储。
  • 根据本地存储作答时,说明数据来源的新鲜度、账号名称和已知缺口。

常用命令

主要归档

数据新鲜度和状态:

wacrawl status
wacrawl doctor
wacrawl sync

未读消息整理:

wacrawl chats --limit 20
wacrawl unread --limit 20
wacrawl --json unread --limit 100

搜索和筛选消息:

wacrawl messages --after 2026-01-01 --limit 50
wacrawl messages --chat JID --asc --limit 100
wacrawl messages --has-media --limit 50
wacrawl --json search "query"
wacrawl search "query" --after 2026-01-01 --from-them

仅在用户要求时归档媒体或备份:

wacrawl import --copy-media
wacrawl backup status
wacrawl --sync never backup push
备用/实时账号

账号发现和只读检查:

wacli accounts list --json
wacli --account me auth status --read-only --json
wacli --account me chats list --read-only --json
wacli --account me messages list --read-only --json --limit 50
wacli --account me messages search --read-only --json "query"

仅在用户要求时进行后台实时同步。跟随模式优先使用 tmux:

wacli --account me sync --follow --events
wacli --account me sync --once --events

仅在用户明确要求时处理媒体、发送消息和实时修改:

wacli --account me media download --chat JID --id MESSAGE_ID
wacli --account me send text --to JID_OR_NAME --message "message"
wacli --account me send file --to JID_OR_NAME --file ./file.jpg --caption "caption"
wacli --account me send text --to JID --reply-to MESSAGE_ID --message "reply"
比较

比较 wacrawl 和 wacli 时,同时比较数量和重叠情况:

  • 消息数量和日期范围
  • 聊天数量
  • 最新消息时间戳
  • 按 msg_id 计算的重叠情况
  • 当 JID 规范化程度足够时,按 chat_jid + msg_id 计算的重叠情况
  • 明显的缺口,并说明哪些是关联设备的历史记录限制所致,哪些与 Desktop 归档的覆盖范围有关

仓库指引

  • ~/Projects/wacrawl:Desktop 归档导入器/搜索/备份。
  • ~/Projects/wacli:关联设备客户端/同步/发送。
  • 全局 skill 副本:~/Projects/agent-scripts/skills/wacrawl 和 ~/Projects/agent-scripts/skills/wacli。

评论

支持 Markdown