whatsapp-chatgpt
将 ChatGPT、DALL·E、Whisper 等 OpenAI 能力桥接到 WhatsApp 的
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将 ChatGPT、DALL·E、Whisper 等 OpenAI 能力桥接到 WhatsApp 的
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
深夜,一位独立开发者想用 AI 回复 WhatsApp 消息——不是网页版机器人,而是真正接入自己日常聊天的私人助理。 他不想花每月 15 美元买现成的 ChatGPT App,而是希望在自己的服务器上跑一个免费、开源的桥接工具。askrella/whatsapp-chatgpt 正是为这个场景而生的开源项目。
这款工具由独立开发者 askrella 于 2023 年初创建,目标简单直接:用 OpenAI 的 GPT-3.5/GPT-4 模型和 DALL·E 图像生成能力,驱动一个真实的 WhatsApp 聊天机器人。用户不需要关注 WhatsApp 的 API 限制,也不需要申请 Meta 官方的商业账号,只需要一个普通的 WhatsApp 手机号,通过网页端扫码登录即可。
这种方案的本质是「浏览器自动化」——项目使用 Puppeteer/WhatsApp Web.js 控制一个真实的 Chrome 无头浏览器来收发消息。这是一种灰色地带的解决方案:WhatsApp 官方明确禁止第三方客户端和非官方机器人,存在账号被封禁的风险。项目 README 也坦诚承认了这一点。

图1:WhatsApp ChatGPT 运行界面,用户与机器人的对话示例
这个项目的能力远不止「发送文字」这么简单。拆解来看,它同时提供了以下功能:
1. 文字对话(GPT-3.5/4)
与普通 ChatGPT 使用方式完全一致,支持上下文记忆的多轮对话。只需在聊天中 @机器人 发送消息,即可获得 AI 回复。支持自定义 GPT 模型参数(温度、最大 token 数等)。
2. 语音消息转文字再回复(Whisper 语音识别)
用户可以发送语音消息,机器人先调用 OpenAI Whisper(云端 API 模式或本地 Whisper 模型)将语音转写为文字,再交给 GPT 处理。这意味着盲人用户或打字不便的人群也能无障碍使用。Dockerfile 中注释掉了本地 Whisper 安装(模型约 6-7GB),默认使用云端 Whisper API。
3. 图像生成(DALL·E 2)
支持调用 DALL·E 根据文字描述生成图片,通过 !image 命令触发。用户说「给我画一只穿西装的猫」,机器人调用 DALL·E 生成并发送图片。
4. 语音合成回复(TTS)
支持将 AI 回复通过 AWS Polly 或其他 TTS 引擎转为语音文件发送。用户可以要求机器人「说给我听」。
5. LangChain 增强对话
项目集成了 LangChain,用于处理更复杂的对话链和工具调用。代码结构中可以看到 src/handlers/langchain.ts,说明项目在探索让 GPT 调用外部工具(搜索网页、查询天气等)的 Agent 模式。
从源码结构来看,项目采用了清晰的模块化分层架构:
src/commands/ — 对话命令解析(gpt、dalle、transcription、tts、stable-diffusion)
src/handlers/ — AI 能力处理(gpt、dalle、langchain、moderation 内容审核)
src/providers/ — 外部服务抽象层(openai、aws、whisper-api、whisper-local、speech)
src/types/ — TypeScript 类型定义
src/cli/ — 命令行界面
这种 Provider 模式的设计非常值得借鉴——不同 AI 能力(OpenAI、AWS、Whisper)都有独立抽象层,切换服务商只需替换 Provider,无需改动上层逻辑。
核心依赖栈:
chatgpt / openai — GPT 和 DALL·E 调用
whatsapp-web.js — WhatsApp 网页端控制
langchain — 复杂对话链和 Agent 能力
aws-sdk — AWS Polly 语音合成
ffmpeg — 音视频处理
qrcode — 登录二维码生成
项目使用 Vite + vite-node 作为开发/运行环境,TypeScript 为主语言,代码质量有 Prettier 格式化保障,CI 中有 Docker 构建和代码格式化检查。
项目提供两类部署方式:
方式一:Docker Compose(一键推荐)
一行命令启动:
# docker-compose.yml 核心配置
whatsapp-chatgpt:
image: ghcr.io/askrella/whatsapp-chatgpt:master
environment:
OPENAI_API_KEY: "sk-..." # 必填
OPENAI_GPT_MODEL: "gpt-4" # 可选
volumes:
- session-data:/app/session # 持久化登录状态
restart: unless-stopped
Dockerfile 内置了完整的 Chromium 运行环境(WhatsApp Web 的浏览器依赖)和 ffmpeg(音频处理),无需手动安装系统依赖。
方式二:installer.sh 脚本(非 Docker)
installer.sh 会检测操作系统,自动安装 Docker、Node.js、FFmpeg、Chromium 等依赖,然后拉取代码安装。但脚本需要 root 权限,且主要面向 Linux,适合有服务器管理经验的用户。
硬件需求:无 GPU 要求,CPU 足够。RAM 约 2GB,磁盘约 1GB(含 Chromium)。部署难度中等,主要门槛是配置 OpenAI API Key 和首次扫码授权 WhatsApp 账号。
最大的风险是 WhatsApp 封号。 WhatsApp 对自动化客户端的检测策略在持续升级,使用本项目存在被封禁手机号的风险。README 明确声明「We can't guarantee that you won't be blocked」,这不是危言耸听——WhatsApp Web 的浏览器指纹、设备信息、网络行为都很容易被检测为非正常用户。
此外,项目已于 2023 年底停止维护(README 标注「unmaintained, looking for maintainers」),这意味着:
不会跟进 WhatsApp Web 的界面更新,登录流程可能随时失效
无安全补丁,OpenAI API 调用方式如有变更可能出错
没有新功能更新
成本方面,OpenAI 按 token 计费,每次对话和语音转写都会产生费用。项目内置了用量监控和moderation(内容审核),但没有本地缓存机制,重复问题会重复计费。
whatsapp-chatgpt 代表了一类典型的「AI 能力叠加」项目——不是训练新模型,而是将已有的强大 AI 服务(GPT、DALL·E、Whisper)通过自动化工具桥接到用户的日常场景中,降低 AI 使用门槛。
这类方案在 2023 年初 ChatGPT API 开放后大量涌现,本项目是其中架构最清晰、功能最完整的之一。虽然维护已停止,但其模块化的 Provider 架构对学习如何设计多 AI 引擎集成系统仍有参考价值。
如果你的目的是「在 WhatsApp 上用 AI」,更稳妥的替代方案包括:
ChatGPT for WhatsApp(官方合作) — 无封号风险,但功能受限
Twilio + WhatsApp Business API — 合规渠道,需付费
自建 WhatsApp Business API — 最稳定,但需要 Meta 审核
本项目更适合:有技术能力的个人用户,愿意承担封号风险,追求功能完整性和完全自托管。