← Frepi Developers

Un bot de chats con tu propia IA

Conectar IA › el bot · servidor MCP https://mcp.frepi.ai/mcp · script frepi-checkin.py

1 · Qué es

Un bot de chats es la IA que tú ya usas (Claude, ChatGPT, Grok o un script con la API de tu proveedor) atendiendo los chats de WhatsApp de tu negocio. Frepi no pone el modelo ni lo cobra: pone las herramientas chatbot_*, las reglas y la vigilancia. Las reglas las aplica el servidor en cada llamada, no la IA: líneas permitidas, topes, bajas, traspaso a una persona, turno cuando alguien más contesta en la línea, contactos que el bot nunca contesta y alertas.

La configuración vive en Frepi, en Conexiones › el bot. Se crea conversando con tu IA: ella usa el skill configurar-bot y termina con una tarjeta que tú apruebas.

2 · Dos modos

ModoCómo conectaQué alcanza la IA
Chatbot (por defecto)Tu conexión normal a Frepi (la de Claude, ChatGPT, etc.) Todo lo que tu rol permite, como hoy. Las herramientas chatbot_* aplican las reglas del bot; el resto de herramientas conserva sus tarjetas de confirmación donde ya las tenía. Los skills dicen «usa solo herramientas chatbot_*».
Estricto (opcional)Un enlace propio del bot, https://mcp.frepi.ai/mcp/c/<nombre>, con una sesión o una llave solo para el bot Solo las herramientas chatbot_* más bi_get_skill y bi_help. Nada más de Frepi. Es el modo correcto para un script o una tarea sin nadie mirando. Un partner o el workspace puede exigirlo.
Lo que el modo chatbot no cierra. La IA puede leer todos los chats y contactos que tú puedes; un cliente puede intentar darle instrucciones; si tu cliente de IA aprueba las tarjetas solo, la tarjeta no protege; otros conectores de la misma rutina podrían sacar datos; y las escrituras que hoy no piden tarjeta tampoco la piden en modo chatbot. Para cerrarlo, usa el modo estricto.

3 · Qué cliente usar

Ninguna app de consumo puede revisar cada 5 minutos. Para un bot que atiende en minutos, usa el script de la sección 4. Las tareas de las apps sirven para líneas lentas o un resumen diario.

ClienteCómo conectaTarea más cortaTarea programada con conector propio
Claude (claude.ai, Desktop, móvil)OAuth o encabezados; un conector para todos los dispositivos Cada hora en la nube; 1 minuto en Desktop solo con la app abierta y el equipo despierto Sí. Todos los conectores vienen activos: apaga todos menos el de este bot.
ChatGPTSolo OAuth 2.1; prefiere registro de cliente por CIMD; hay que refrescar las herramientas a mano Cada hora (fuentes secundarias) Sin verificar aún. Las herramientas de escritura pueden pedir aprobación de una persona.
GrokSolo OAuth; cliente público pre-registrado, sin campo de encabezados Diaria (Automatizaciones) Sin verificar aún.
Script con la API de xAI, OpenAI o AnthropicLlave del bot en el campo de autorización de la herramienta MCP Cualquiera (cron, n8n) Sí: lista de herramientas permitidas; en OpenAI, aprobaciones en «never».
Tarea en la nube de Claude con disparador por APIConector de Claude, disparado por un cron externo Hasta 30 disparos por hora por tarea Sí, con el mismo cuidado de los conectores.

Antes de marcar un cliente como soportado hace falta que un envío sin supervisión salga bien en él. Lo no verificado queda marcado arriba.

4 · El script de chequeo

frepi-checkin.py corre en tu máquina o servidor, solo con la biblioteca estándar de Python. Usa el modo estricto con una llave del bot (máximo 90 días).

  1. Pre-chequeo sin modelo. Llama a chatbot_unread_chats con count_only en el enlace del bot. Si no hay nada que atender, imprime next_eligible_at y termina sin llamar a ningún modelo: revisar cada 5 minutos no cuesta nada cuando nadie escribió. Un seguimiento prometido que ya venció cuenta como algo que atender. El número son tus chats asignados: los chats en que es el turno del bot y los que un flujo chatbot le pasó. Un chat que un flujo todavía está atendiendo no cuenta: sale en waiting_on.in_flow, que el script imprime, y no llama al modelo por él.
  2. Si hay trabajo, hace una llamada a tu proveedor (xAI, OpenAI o Anthropic) con Frepi como servidor MCP remoto, solo las herramientas del bot y el presupuesto de la corrida (10 chats por defecto).
export FREPI_FILTER_URL=https://mcp.frepi.ai/mcp/c/ventas
export FREPI_FILTER_KEY=...            # la llave del bot, hecha en Conectar IA; nunca la pegues en un chat
export FREPI_CHAT_FILTER_ID=...        # el id del bot (Conexiones › el bot)
export OPENAI_API_KEY=...              # o XAI_API_KEY / ANTHROPIC_API_KEY

# cada 5 minutos desde cron:
python3 frepi-checkin.py --vendor openai --model <modelo> --rules-file reglas.txt --budget 10

Las llaves salen de variables de entorno y el script nunca las imprime. El bloque de reglas que escribió configurar-bot va en reglas.txt. Frepi no guarda nada entre corridas: las marcas de lectura, los turnos y los chats tomados viven en Frepi.

5 · Flujos chatbot

Un flujo chatbot es una primera pasada barata antes del bot: preguntas con botones, un formulario de WhatsApp y reglas, y un modelo pequeño solo para el texto libre. Solo quien califica le llega al bot, así que tu modelo solo ve a esa gente. Los flujos se guardan en la llamada chatbot_setup (campo flows, en orden, cada uno con sus líneas y su situación de entrada) y se leen con chatbot_settings; los arma el skill flujo-chatbot.

6 · Costos y datos

7 · Seguridad

Skills: bi_get_skill(name="configurar-bot") y bi_get_skill(name="atender-chats") · Instalar los skills.