wa-agent:用 wa_* 工具族让 DSH 智能体操作 WhatsApp

前言

在 DeepSeek Harness(DSH)里做自动化时,常见需求是把对话能力接到即时通讯渠道,而不是只停留在本地终端或 Web UI。WhatsApp 没有官方面向个人开发者的 Bot API,多数集成要自建客户端桥接,再把「发消息、读会话、管联系人」拆成智能体可调用的工具。

下面介绍的 songjongdevsecops/wa-agent 走插件路线:在 Harness 侧暴露一组 wa_ 工具,包内自带基于 Baileys 的长驻桥接进程,由智能体通过工具调用驱动你已配对的 WhatsApp 账号。社区目录 SkillHub 将其归类为「联网工具」;撰写时该页显示版本 v0.2.0、星标 0*。GitHub 仓库 songjongdevsecops/wa-agent 在 2026-10-23 通过 HTTP 访问返回 404,安装前请以目录页与仓库是否可访问为准。

这是什么

wa-agent 由维护者 songjongdevsecops 发布,定位是:

DeepSeek Harness plugin: a wa_* tool family that lets the agent operate a WhatsApp account through a bundled Baileys bridge.

一句话:把 WhatsApp 账号能力封装成 DSH 工具,底层由插件自带的 Baileys 桥接维护连接、认证与消息存储,智能体不直接碰 WhatsApp 协议细节。

DSH 生态强调「一切皆插件」;SkillHub 等社区目录独立于 DeepSeek / 幻方,不是官方应用商店,收录信息仅供发现与对照,不代表背书。

核心功能

依据目录简介与第三方页面对该仓库的归档说明(原 README 在 GitHub 不可用时仍可作能力参考),插件主要提供:

  1. wa_* 工具族:面向连接与配对、会话与历史、文本与媒体、位置、联系人、投票、反应、编辑与删除、群组、通讯录、资料与隐私、在线状态以及事件流等能力;归档材料中计为 46 个 wa_* 工具。
  2. 内置桥接(bridge):包内 bridge/bridge.mjs(基于 Baileys)持有 WhatsApp socket、认证状态与消息存储;首次工具调用时桥接自动启动,崩溃后会重启。
  3. 与桥接的通信:插件经 JSON Lines RPC(stdio)与桥接交互;若由服务托管桥接,也可走本机回环 HTTP。
  4. 配对方式(归档 README 描述):
    - 扫描 Linked devices 二维码:默认在 http://127.0.0.1:29141/qr.png(httpPort 可配置);
    - 或使用 wa_pair_sms_code,传入完整国际号码与 WhatsApp「用手机号关联」的 6 位验证码。

未在目录简介中展开的工具名与参数,安装后应以当前仓库文档或 dsh 导出的工具清单为准。

安装与启用

社区验证站点 dsh.so 记录的声明式安装命令(曾通过 L3 安装规范解析与 L4/L5 沙盒实测)为:

dsh plugin --profile web add github:songjongdevsecops/wa-agent

若本机未全局安装 dsh,归档 README 中另有带 npx 前缀的等价写法:

npx @deepseek-ai/dsh plugin --profile web add github:songjongdevsecops/wa-agent

归档说明还提到:没有可用的 npm 包名安装路径(注册表中的 wa-agent 与此插件无关),应以 github:songjongdevsecops/wa-agent 为来源。包声明 dsh.bundle.patch,add 会在 profile 清单里追加 wa-agent bundle 条目;bundle 在 Harness 启动时加载,改完后通常需要重启 dsh。

环境要求(归档 README):Node.js ^22.19.0 或 >=24.0.0;pnpm 需在 PATH 上(Harness 管理 profile 插件时会用到)。在 pnpm 11+ 上,安装可能因 ERR_PNPM_IGNORED_BUILDS 中断一次;归档文档建议在配置中允许 baileys 等构建后再重试,然后重启 Harness。

确认是否已挂上 bundle,可执行:

dsh --profile web --dump-config | grep -A3 wa-agent

当前限制:截至 2026-10-23,直接打开 GitHub 仓库与 raw README 均 404,上述 add 命令可能暂时无法拉取源码。请先确认 GitHub 链接 恢复,或向维护者确认替代发布地址。

典型用法

下面步骤复述归档 README 中的配对与验证流程,便于在仓库可用时复现。

  1. 安装并重启 Harness
    执行上一节的 add 命令,重启 dsh 使 bundle 生效。

  2. 首次调用任意 wa_* 工具
    桥接会在第一次工具调用时拉起。若尚未登录,需要完成配对。

  3. 二维码配对
    在浏览器或图片查看器打开 http://127.0.0.1:29141/qr.png(端口以你的 httpPort 为准),用 WhatsApp「已关联的设备」扫描。

  4. 手机号验证码配对
    在对话中让智能体调用 wa_pair_sms_code,提供带国家码的完整号码与 6 位验证码(来自 WhatsApp「使用电话号码关联」流程)。

  5. 日常操作
    配对成功后,通过各类 wa_* 工具发消息、拉会话历史、处理群组与联系人等;具体参数以工具 schema 为准。

适用场景与注意

适合谁

  • 已在 DSH 上开发智能体,需要把 WhatsApp 作为通知、客服或个人助理通道,且愿意自行维护配对与账号合规的使用者。
  • 能接受 Node + pnpm 工具链,并在本机或受控环境运行 Harness 的团队。

运行与权限

  • 插件与桥接以当前 dsh 进程的用户权限运行,可读写其数据目录并访问本机网络;安装前请阅读源码、MIT 许可证(dsh.so 归档页所列)及工具暴露面。
  • 仅在你拥有且有权自动化的 WhatsApp 账号上使用;遵守 WhatsApp 服务条款与当地法规。

安全与暴露面(务必阅读)

dsh.so 对插件 v0.2.0 的自动化安全材料(非人工审计)指出多项与本机回环 HTTP 相关的风险,例如:默认 httpPort 29141 上的 /rpc 据称无 token 校验,本地其他进程或恶意网页可能触发发消息、删消息、退群、登出等 RPC;/qr 与 /health 可能泄露配对二维码或数据目录路径;健康检查若只验证 /health 响应,存在端口被其他进程占用的劫持面。另有关于媒体路径与 URL 加载、认证目录默认权限等中低风险描述。

因此:不要在多用户共享、对外暴露的桌面或服务器上默认可信地运行;生产或公网环境需自行加固(关闭或限制 HTTP 面、防火墙、专用账号、审计日志等),不能依赖目录站的扫描结论代替你自己的安全评审。

仓库可用性

社区目录仍指向 GitHub,但仓库一度 404。安装、审计与升级前请确认源码可获取;无法拉取时不应强行在生产环境启用。

结尾

wa-agent 把 WhatsApp 操作收敛为 DSH 的 wa_* 工具,并用包内 Baileys 桥接承担连接与状态,适合要把 Harness 智能体接到 WhatsApp 的开发者。使用前核对仓库是否可访问、本机权限与安全暴露面,并在社区目录与 GitHub 对照最新说明。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye