whatsapp-agentkit

agent
Guvenlik Denetimi
Gecti
Health Gecti
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 424 GitHub stars
Code Gecti
  • Code scan — Scanned 3 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Construye tu agente de WhatsApp con IA en menos de 30 minutos. Claude Code te entrevista y escribe todo el código. Zernio o Meta Cloud API. Sin saber programar.

README.md

WhatsApp AgentKit — tu agente de WhatsApp con IA, construido por Claude Code

Estrellas Licencia MIT Python 3.11+ Claude Zernio o Meta Cloud API

Ver el sitio · Inicio rápido · Cómo funciona · FAQ


About

WhatsApp AgentKit convierte una conversación de 20 minutos en un agente de WhatsApp
que atiende a tus clientes.

No es una plantilla que copias y adaptas. Es un sistema de instrucciones que Claude Code
lee para entrevistarte sobre tu negocio y después escribir, probar y desplegar el agente
completo por ti: el servidor, la conexión con WhatsApp, la memoria de cada cliente y el
prompt que le da personalidad.

Tú no escribes código. Respondes preguntas.

Lo hicimos porque el 90% del trabajo de montar un agente de WhatsApp no es la IA — es la
plomería: webhooks, firmas, tokens, reintentos, deploy. Esa parte ya está resuelta y
auditada acá adentro. Lo que queda es lo único que solo tú sabes: cómo funciona tu negocio.

Es open source, licencia MIT, y está escrito en español porque se hizo para builders
de LATAM.


Inicio rápido

git clone https://github.com/Hainrixz/whatsapp-agentkit.git
cd whatsapp-agentkit
bash start.sh

Después abre Claude Code y escribe el comando:

claude
# dentro de Claude Code:
/build-agent

Y ya. Claude Code te guía desde ahí.


Cómo funciona

start.sh solo verifica tu entorno. El sistema real arranca con /build-agent, que hace
que Claude Code lea CLAUDE.md y ejecute cinco fases.

Fase 1 — Verifica tu entorno

Chequea Python 3.11+, crea las carpetas, instala las dependencias y prepara el .env.

Fase 2 — Te entrevista

Diez preguntas, una por una: cómo se llama tu negocio, a qué se dedica, para qué quieres
el agente, cómo se va a llamar, qué tono debe tener, tu horario, tus archivos de precios
o menú, tu API key de Anthropic, y con qué servicio vas a conectar WhatsApp.

Fase 3 — Construye el agente

Con tus respuestas escribe todo esto:

tu-proyecto/
├── agent/
│   ├── main.py              Servidor que recibe los mensajes de WhatsApp
│   ├── brain.py             Conexión con Claude — el cerebro
│   ├── memory.py            Historial de cada cliente + deduplicación de eventos
│   ├── tools.py             Herramientas específicas de tu negocio
│   └── providers/           Conexión con tu servicio de WhatsApp
│       ├── base.py          Interfaz común
│       ├── __init__.py      Elige el proveedor automáticamente
│       └── zernio.py        Adaptador (o meta.py)
│
├── config/
│   ├── business.yaml        Los datos de tu negocio
│   └── prompts.yaml         El prompt que define la personalidad del agente
│
├── knowledge/               Tus archivos: menú, precios, políticas, FAQ
├── tests/test_local.py      Simulador de chat en tu terminal
├── Dockerfile               Para producción
├── docker-compose.yml
└── .env                     Tus API keys — nunca se sube a GitHub

Fase 4 — Lo pruebas

Un chat en tu terminal donde escribes como si fueras un cliente:

Tu: Hola, qué horarios tienen?
Agente: Hola! Atendemos de lunes a viernes de 9am a 6pm.
        Te ayudo con algo más?

Tu: Cuánto cuesta el americano?
Agente: El americano está en $45 pesos.
        Quieres que te aparte uno?

Si algo no te gusta, se lo dices a Claude Code y lo ajusta ahí mismo.

Fase 5 — Lo pones en línea

Te guía para subirlo a GitHub, conectarlo con Railway, cargar las variables de entorno y
configurar el webhook. Desde ese momento, cualquiera que te escriba por WhatsApp habla
con tu agente.


Conectar con WhatsApp

Eliges uno de los dos durante el setup.

Zernio Meta Cloud API directo
Qué es Corre sobre la WhatsApp Cloud API de Meta y te resuelve la conexión La API oficial de Meta, conectándote tú mismo
App de Facebook No hace falta Sí, tipo Business
App Review No
Verificación de negocio La haces desde el Embedded Signup Cuenta de Facebook Business verificada
Costo 2 cuentas conectadas gratis, sin tarjeta Gratis por conversación
Probar sin número propio Sí, tiene número de pruebas compartido No
Para quién Recomendado. Casi todo el mundo Si ya tienes tu app de Meta armada

Zernio (zernio.com) es el camino corto: creas la cuenta, conectas
tu WhatsApp Business desde el dashboard, copias la API key y listo. Si todavía no tienes
número de WhatsApp Business, su sandbox te deja ver el agente funcionando hoy mismo —
respondes un mensaje desde tu celular y quedas activado.

Meta Cloud API (developers.facebook.com) te da
control total sobre la integración. Es más trabajo de configuración inicial.

Cambiar de uno a otro después es una frase: abre Claude Code y dile "quiero migrar de
Zernio a Meta Cloud API"
.


Qué pasa cuando un cliente escribe

Un cliente escribe "Hola" por WhatsApp
         │
         ▼
Tu proveedor (Zernio o Meta) recibe el mensaje
         │
         ▼  webhook POST /webhook
main.py verifica la firma del webhook
         │
         ▼
providers/ normaliza el mensaje a un formato común
         │
         ▼
memory.py: ¿ya procesamos este evento? → si sí, se descarta
         │
         ▼
main.py responde 200 AHORA y encola el trabajo
         │
         ▼  ──────── fuera del ciclo del webhook ────────
memory.py busca el historial de ESE cliente
         │
         ▼
brain.py llama a Claude con el system prompt + historial + mensaje
         │
         ▼
providers/ envía la respuesta por WhatsApp
         │
         ▼
El cliente recibe la respuesta en segundos

Tres decisiones de diseño que importan:

Responde primero, trabaja después. Los proveedores esperan una confirmación en unos
5 segundos y, si no la reciben, reintentan el mismo mensaje hasta 7 veces. Llamar a Claude
tarda más que eso. Por eso el webhook confirma de inmediato y procesa en segundo plano —
si no, el cliente recibiría la misma respuesta siete veces.

Deduplica por id de evento. La entrega es at-least-once: el mismo mensaje puede
llegar dos veces. La base de datos garantiza que solo se responda una.

Verifica la firma. Cada webhook viene firmado con HMAC-SHA256. Sin esa verificación,
cualquiera que conozca tu URL podría inyectarle mensajes a tu agente.

Además: cada cliente tiene su propio historial. Si alguien te escribe hoy y vuelve
mañana, el agente recuerda la conversación anterior. Y nunca inventa información — si no
sabe algo, lo dice y ofrece pasar el contacto a una persona.


Requisitos

1. Python 3.11 o superior

  • Mac: brew install python o python.org
  • Windows: python.org (marca "Add to PATH")
  • Linux: sudo apt install python3.11
  • Verifica: python3 --version

2. Claude Code

# necesitas Node.js primero: https://nodejs.org
npm install -g @anthropic-ai/claude-code
claude   # solo la primera vez, para autenticarte

3. API key de Anthropic
platform.anthropic.com → Settings →
API Keys → Create Key. Empieza con sk-ant-....

4. Una cuenta de WhatsApp API
Zernio (recomendado) o
Meta Cloud API.


Cuánto cuesta

AgentKit es gratis y open source. Lo que pagas es el uso:

Concepto Costo
AgentKit Gratis, MIT
Zernio Primeras 2 cuentas conectadas gratis, sin tarjeta
Meta Cloud API Gratis por conversación de servicio al cliente
Claude API Por uso. Ver la tabla de abajo
Railway Tiene plan gratuito para proyectos chicos

Elegir el modelo de Claude

Se cambia con la variable ANTHROPIC_MODEL, sin tocar código.

Modelo ID Precio por millón de tokens Cuándo usarlo
Claude Opus 5 claude-opus-5 $5 entrada / $25 salida El agente razona sobre catálogos, agendas o reglas complejas
Claude Sonnet 5 claude-sonnet-5 $3 / $15 Default. El balance correcto para atención a clientes
Claude Haiku 4.5 claude-haiku-4-5 $1 / $5 Solo preguntas frecuentes y respuestas cortas

Para dar una idea: una conversación típica de WhatsApp son unos pocos miles de tokens.
Con Sonnet 5, atender cientos de conversaciones al mes cuesta unos pocos dólares.


Casos de uso

Negocio Qué hace el agente Ejemplo
Restaurante Menú, horarios, ubicación "El platillo del día es..."
Clínica / salón Agenda citas y reservaciones "Tu cita quedó el martes a las 3pm"
Inmobiliaria Califica leads y manda info "Tenemos 3 departamentos en tu rango..."
Tienda online Toma pedidos por WhatsApp "Tu pedido de 2 pasteles quedó confirmado"
SaaS / software Soporte post-venta "Para resetear tu contraseña, sigue estos pasos..."
Cualquier negocio Preguntas frecuentes 24/7 "Nuestro horario es..."

Comandos útiles

# Probar el agente sin WhatsApp (chat en terminal)
python tests/test_local.py

# Arrancar el servidor localmente
uvicorn agent.main:app --reload --port 8000

# Build Docker para producción
docker compose up --build

# Ver logs del agente
docker compose logs -f agent

# Auditar este repo (los 6 chequeos del sistema)
python3 scripts/audit.py

Personalizarlo después

No necesitas tocar código. Abre Claude Code y pídele cambios en lenguaje natural:

claude "El agente está muy formal. Hazlo más amigable y casual."
claude "Agregamos servicio de delivery. Actualiza el agente."
claude "Quiero que pueda consultar disponibilidad de citas."
claude "Quiero migrar de Zernio a Meta Cloud API."

Stack técnico

Componente Tecnología Para qué sirve
IA Claude (claude-sonnet-5 por default) Genera las respuestas
Servidor FastAPI + Uvicorn Recibe los webhooks de WhatsApp
WhatsApp Zernio / Meta Cloud API Conecta con WhatsApp — tú eliges
Base de datos SQLite local / PostgreSQL en producción Historial y deduplicación
Deploy Docker + Railway Pone tu agente en internet
Config python-dotenv + YAML API keys y configuración

El sistema usa un patrón adaptador para los proveedores: cada uno implementa la misma
interfaz, así que main.py no sabe ni le importa cuál estás usando. Solo llama
proveedor.verificar_firma(), proveedor.parsear_webhook() y proveedor.enviar_mensaje().


Preguntas frecuentes

¿Necesito saber programar?
No. Claude Code escribe todo el código. Tú respondes preguntas sobre tu negocio.

¿Puedo usarlo con mi negocio real?
Sí. Después de probarlo localmente lo subes a Railway y queda atendiendo de verdad.

¿Y si el agente no sabe algo?
Responde algo como "No tengo esa información, déjame conectarte con alguien del equipo."
Nunca inventa datos.

¿Puedo tener varios agentes?
Sí. Clona el repo una vez por negocio. Cada agente es independiente.

¿Puedo cambiar de proveedor de WhatsApp después?
Sí. Abre Claude Code y dile qué quieres cambiar. Regenera los archivos necesarios.

¿El agente puede escribirle primero a un cliente?
No de entrada, y no es una limitación de AgentKit: WhatsApp solo permite texto libre
dentro de las 24 horas posteriores al último mensaje del cliente. Fuera de esa ventana
hace falta una plantilla aprobada por Meta. Como el agente siempre responde a alguien que
acaba de escribir, en la práctica nunca es un problema.

¿Qué pasa con mis datos?
Todo corre en tu infraestructura: tu servidor, tu base de datos, tus API keys. AgentKit
no tiene backend ni telemetría.


Contribuir

Los issues y pull requests son bienvenidos. Antes de abrir un PR, corre la auditoría:

python3 scripts/audit.py

Verifica que el código de las plantillas compile, que el YAML parsee, que las variables de
entorno estén documentadas y que los links del README respondan.


Créditos

Creado por Todo de IA@soyenriquerocha

Construido con Claude Code para builders de LATAM.


Licencia

MIT — Usa este proyecto como quieras, para lo que quieras.

Yorumlar (0)

Sonuc bulunamadi