¿Qué es un agente?

Los agentes son pequeños programas a los que Zoe tiene acceso para poder realizar diferentes acciones. Cada agente se encarga de tareas específicas y se comunican entre ellos mediante el bus de mensajes del servidor. El servidor crea sockets para cada agente dinámicamente o usando el archivo etc/zoe.conf, que contiene el puerto de cada agente y una lista de agentes relacionados con un tema específico.

Estructura

Los agentes suelen consistir en 1-2 archivos, aunque esto depende enteramente del desarrollador. La mayoría de agentes están escritos en Python, pero hay disponibles librerías para escribir agentes en lenguajes como Bash, Java, Python, etc.

El script principal se coloca en el directorio agents/NOMBRE_AGENTE. El agente también puede incluir comandos de lenguaje natural para ejecutar acciones bajo demanda sin la necesidad de usar la línea de comandos para mandar el mensaje al servidor manualmente. De esta forma, se puede hablar con Zoe mediante, por ejemplo, Jabber. Estos comandos de lenguaje natural se colocan en el directorio cmdproc/.