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-signatureauth的标头。 - 健康检查:
/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: @德克佩特科维奇
