🚀 WhatsApp 代理
WhatsApp 代理是一个强大的程序,它能连接 WhatsApp MCP 服务器,代表用户与 WhatsApp 进行交互,执行多种实用操作,极大提升使用效率。
✨ 主要特性
该代理连接到 WhatsApp MCP 服务器,此服务器提供了丰富的工具,具体如下:
- 搜索联系人(search_contacts):可按姓名或电话号码搜索联系人。
- 列出消息(list_messages):能检索消息,还可使用可选过滤器和上下文。
- 列出聊天(list_chats):列出可用的聊天及其元数据。
- 获取聊天信息(get_chat):获取特定聊天的详细信息。
- 通过联系人获取直接聊天(get_direct_chat_by_contact):找到与特定联系人的直接聊天。
- 通过联系人列表聊天(get_contact_chats):列出涉及特定联系人的所有聊天。
- 获取最近互动(get_last_interaction):获取与某个联系人的最新消息。
- 获取消息上下文(get_message_context):检索特定消息的上下文信息。
- 发送消息(send_message):向指定电话号码或群组 JID 发送 WhatsApp 消息。
- 发送文件(send_file):向指定收件人发送文件,支持图像、视频、原始音频、文档等格式。
- 发送语音消息(send_audio_message):将音频文件作为 WhatsApp 语音消息发送,要求文件为.opus 格式或安装 ffmpeg。
- 下载媒体(download_media):从 WhatsApp 消息中下载媒体并获取本地文件路径。
🚀 快速开始
先决条件
- Python 3.10+
- WhatsApp MCP 服务器
- OpenAI API 密钥(或兼容的服务,如深度求索)
- uv
⚠️ 重要提示
要设置 WhatsApp MCP 服务器,请按照README中的说明进行操作。
📦 安装指南
按照以下步骤在本地机器上设置项目:
- 克隆仓库
git clone https://github.com/aasherkamal216/whatsapp_agent.git
cd whatsapp_agent
- 创建并激活虚拟环境
uv venv
source .venv/bin/activate
.venv\Scripts\activate
- 安装依赖项
uv sync
- 设置环境变量
复制示例环境文件并更新其中的凭据:
cp .env.example .env
将您的环境变量添加到 .env
文件中。
💻 使用示例
基础用法
运行 Chainlit 应用程序:
uv run chainlit run chainlit_app.py -w
该应用程序将在 http://localhost:8000
上运行。
高级用法
以下是您可以询问 WhatsApp 代理的一些示例问题:
- 显示我的最近聊天记录。
- 向约翰·多伊发送消息:"下午 5 点开会。"
- 列出过去一周内约翰的所有消息。
- 下载“SF 新闻”群组中最后发送的照片。
- 搜索名为亚历克斯的联系人。
- 获取与 +1234567890 的最新互动信息。