WhatsApp AI客服后端

基于NestJS的WhatsApp AI客服后端,集成Google Gemini AI进行自动回复,支持消息处理和记忆存储。

  • by dexpetkovic
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dexpetkovic/brain-demo

使用说明

brAIn服务器:NestJS、WhatsApp集成、MCP服务器使用

基于WhatsApp的人工智能客户支持后端,使用NestJS构建。处理WhatsApp webhook事件,处理消息,并使用Google Gemini AI进行自动回复。

MCP服务器使AI模型能够执行自定义任务:存储、更新和检索内存。它可以扩展到多个其他用例,例如向用户发送提醒消息。

该实现使用上下文Gemini聊天,在开始聊天时加载整个会话上下文。


特性

  • WhatsApp Webhook API:通过接收和处理WhatsApp消息 /whatsapp/webhook.
  • 人工智能集成:使用Google Gemini AI生成客户支持响应。
  • 事务数据库:具有自定义事务上下文的TypeORM,用于安全的数据库操作。
  • 自定义身份验证:使用保护端点 x-webhook-signature 头球
  • Swagger/OpenAPI:API文档,网址: /open-api,支持 x-webhook-signature auth的标头。
  • 健康检查: /status 终点。

演示

请参阅下面的演示,了解brAIn的基本功能:


入门指南

1.要求

  • Node.js v20+
  • Postgres
  • WhatsApp发件人帐户
  • Gemini API密钥

2.设置

nvm use
npm install
cp apps/server/.env.example apps/server/.env # Fill in required variables
# Start Postgres (i.e. docker-compose up -d)

3.跑步

# From apps/server directory
npm run start
# For migrations:
DATABASE_RUN_MIGRATIONS=false npm run migration:run

API身份验证

  • 所有受保护的端点都需要 x-webhook-signature 头球
  • 有关交互式API文档和测试,请访问 /open-api (Swagger用户界面)。

先决条件

在.env文件中设置以下内容:

  • 创建WASender帐户并获取API密钥:WASender_API_key
  • 从WASender webhook获取WHATSAPP_webhook_API_KEY
  • 在谷歌人工智能工作室中,创建GEMINI_API_KEY
  • (可选)设置GEMINI_MODEL

用法

WhatsApp集成

  • 服务器预期WhatsApp webhook事件发生在 /whatsapp/webhook.
  • 传入的消息会被处理,可以存储为“记忆”或触发人工智能回复。

示例:创建新内存

发送WhatsApp消息:

I need to buy green card insurance
  • 系统会将其存储为与您的WhatsApp号码关联的内存。

示例:检索所有记忆

发送WhatsApp消息:

Read all my memories
  • 系统将回复您所有存储的记忆列表。

联系

如果您有任何问题或建议,请随时联系作者或提出问题。

X.com: @德克佩特科维奇