✨ Primeros Pasos
Visión general
Esta guía proporciona instrucciones detalladas sobre cómo empezar con Etendo Copilot, una API que permite la interacción con un bot capaz de seleccionar las herramientas adecuadas para responder a las consultas de los usuarios. Incluye los requisitos necesarios, instrucciones para añadir dependencias, configuraciones de variables de entorno y los pasos para ejecutar Copilot en un proyecto de Etendo. Además, cubre configuraciones opcionales para personalizar el comportamiento de Copilot y proporciona enlaces a guías de instalación detalladas del software requerido.
Requisitos
- Instale Etendo. Para ello, siga la Guía de instalación de Etendo.
-
Este proyecto depende de las siguientes herramientas:
- Docker: versión
26.0.0o superior. - Docker Compose: versión
2.26.0o superior.
Warning
Evite instalar Docker mediante Snap, ya que puede quedar restringido por este sandbox y puede no tener acceso a directorios del host como
/opt/, lo que puede impedir que los contenedores Docker de Etendo se inicien correctamente.Recomendación: instale Etendo usando la última ISO(que incluye Docker) o instale Docker siguiendo la guía de instalación oficial de su distribución.
- Docker: versión
Info
El módulo Docker Management, incluido como dependencia, permite la distribución de la infraestructura dentro de los módulos de Etendo, que incluyen contenedores Docker para cada servicio.
Instalación
Etendo Copilot se distribuye dentro del bundle Copilot Extensions, que además de incluir la Infraestructura de Copilot, incluye agentes predeterminados y herramientas que pueden utilizarse directamente o componer su uso en nuevos agentes.
Info
Para poder incluir esta funcionalidad, debe instalarse el bundle Copilot Extensions. Para ello, siga las instrucciones del marketplace: Copilot Extensions Bundle. Para más información sobre las versiones disponibles, compatibilidad con el core y nuevas funcionalidades, visite Copilot Extensions - Notas de la versión.
Ejecución de Etendo Copilot
La configuración más sencilla que vamos a seguir como ejemplo es montar Copilot dockerizado y Tomcat ejecutándose como un servicio local. Otras configuraciones se detallan en la sección Configuraciones avanzadas.
Copilot en Etendo 25 (recomendado)
Las últimas actualizaciones de Copilot siempre se desarrollan para la versión más reciente disponible de Etendo. Recomendamos mantener su entorno actualizado.
-
Ejecute la configuración interactiva: este comando le guiará a través de la configuración de Copilot. Hay dos opciones principales:
- Copilot la versión simple utilizada por la mayoría de usuarios.
- Copilot (Advanced) proporciona más personalización e incluye todas las variables de configuración disponibles.
Una vez en el menú, seleccione Copilot y siga las indicaciones paso a paso; la configuración se completará con todas las variables requeridas.
-
El archivo
gradle.propertiesdebería verse ahora así: -
A continuación, debe crearse/recrearse el contenedor de Copilot:
-
A continuación, recompile el entorno para asegurarse de que los cambios se aplican y se instalan correctamente:
5. Inicie el servicio Tomcat y ¡pruebe Copilot en Etendo!Info
Para configurar un nuevo agente o utilizar uno predefinido, siga la guía Configuración y uso de Copilot.
Copilot en Etendo 24
-
Añada en
gradle.propertiesla variabledocker_com.etendoerp.copilot=truepara habilitar el contenedor Docker de Copilot y al menos unaAPI_KEY, dependiendo del proveedor de modelos que utilice.Recuerde que, debido a limitaciones de acceso a nivel de API, se requieren versiones de pago. Estas variables son obligatorias para ejecutar el contenedor de Copilot y acceder a los modelos utilizados.
-
Las variables de
gradle.propertiesETENDO_HOST,ETENDO_HOST_DOCKER,COPILOT_HOSTyCOPILOT_PORTse utilizan para configurar la conexión entre el servicio Copilot y Etendo.Etendo Copilot proporciona una tarea de Gradle para recuperar automáticamente estas variables en función de la configuración de su instancia de Etendo. Para ello, ejecute el siguiente comando en el terminal:
Este comando solicita características de su instancia de Etendo. Y, en función de sus respuestas, imprimirá los valores.
Copie los valores impresos y péguelos en su archivo
gradle.properties. -
El archivo
gradle.propertiesdebería verse ahora así:gradle.properties4. Una vez añadida la dependencia Copilot Extensions Bundle y configuradas las variables, ejecute en el terminal el siguiente comando para aplicar los cambios:docker_com.etendoerp.copilot=true OPENAI_API_KEY= **** // If you are using OpenAI ANTHROPIC_API_KEY= **** // If you are using Anthropic DEEPSEEK_API_KEY= **** // If you are using DeepSeek ETENDO_HOST=http://localhost:8080/etendo ETENDO_HOST_DOCKER=http://host.docker.internal:8080/etendo COPILOT_HOST=copilot COPILOT_PORT=5005 -
A continuación, debe crearse/recrearse el contenedor de Copilot:
-
A continuación, recompile el entorno para asegurarse de que los cambios se aplican y se instalan correctamente:
-
Inicie el servicio Tomcat y ¡pruebe Copilot en Etendo!
Info
Para configurar un nuevo agente o utilizar uno predefinido, siga la guía Configuración y uso de Copilot.
Variables de configuración
A continuación se enumeran todas las variables de configuración disponibles, que pueden configurarse manualmente.
| Variable de entorno | Predeterminado | Obligatorio | Información |
|---|---|---|---|
docker_com.etendoerp.copilot |
true |
✅ (Obligatorio) | Habilita el contenedor Docker de Etendo Copilot. |
OPENAI_API_KEY |
none |
✅ Si usa OpenAI | Clave API para OpenAI. Contacte con Etendo o use la suya propia. |
GOOGLE_API_KEY |
none |
✅ Si usa Gemini | Clave API para Gemini. Solo necesaria si usa modelos Gemini. |
ANTHROPIC_API_KEY |
none |
✅ Si usa Anthropic | Clave API para Anthropic. Solo necesaria si usa modelos Anthropic. |
DEEPSEEK_API_KEY |
none |
✅ Si usa DeepSeek | Clave API para DeepSeek. Solo necesaria si usa modelos DeepSeek. |
ETENDO_HOST |
none |
✅ (Obligatorio) | URL a la que Copilot envía solicitudes para comunicarse con el sistema Etendo. |
ETENDO_HOST_DOCKER |
none |
✅ (Obligatorio) | Se utiliza cuando Copilot se ejecuta en Docker y Etendo no es accesible desde un dominio. |
COPILOT_HOST |
none |
✅ (Obligatorio) | Host del servicio Copilot. |
COPILOT_PORT |
5005 |
✅ (Obligatorio) | Puerto utilizado por el servicio Copilot. |
COPILOT_DEBUG |
false |
❌ (Opcional) | Habilita logs detallados de Copilot en la consola. |
COPILOT_MAX_ITERATIONS |
100 |
❌ (Opcional) | Número máximo de pasos de interacción del agente. |
COPILOT_EXECUTION_TIMEOUT |
0 |
❌ (Opcional) | Tiempo de espera en segundos para la ejecución del agente (0 = ilimitado). |
COPILOT_STREAM_DEBUG |
false |
❌ (Opcional) | Habilita el log de respuesta en tiempo real en el pop-up de Copilot. |
CONFIGURED_TOOLS_FILENAME |
tools_config.json |
❌ (Opcional) | Archivo que define qué herramientas están habilitadas. |
DEPENDENCIES_TOOLS_FILENAME |
tools_deps.toml |
❌ (Opcional) | Archivo que define dependencias entre herramientas. |
COPILOT_PULL_IMAGE |
true |
❌ (Opcional) | Si es true, descarga la imagen Docker desde Docker Hub; si es false, usa la imagen local. |
COPILOT_IMAGE_TAG |
master |
❌ (Opcional) | Tag de la imagen Docker a utilizar. |
COPILOT_PORT_DEBUG |
5100 |
❌ (Opcional) | Puerto para depurar Copilot (si está habilitado). |
Gestión del contenedor del servicio Copilot
-
Para iniciar la imagen Docker de Copilot, ejecute:
-
Para detener el contenedor de Copilot, puede ejecutar:
-
Cada vez que se añade una nueva herramienta o cambian las variables de entorno, es necesario eliminar y crear de nuevo el contenedor de Copilot. Ejecute el siguiente comando para eliminar el contenedor:
Warning
Tenga en cuenta que resources.stop y resources.down también afectarán a otros servicios configurados en el contenedor de Etendo.
Warning
En versiones del bundle Copilot Extensions inferiores a 3.3.0, si sufre errores relacionados con la falta de la dependencia poetry, puede usar la imagen Docker heredada, con el tag poetry. Para ello, debe añadir la siguiente variable en el archivo gradle.properties:
poetry instalada, en lugar de la nueva con uv como gestor de paquetes instalado.
Configuraciones avanzadas
Ejecutar Copilot localmente (solo para desarrollar Copilot)
Requisitos
Recomendamos usar PyCharm para ejecutar Copilot localmente. Descárguelo e instálelo aquí: PyCharm Community Edition
-
Abra PyCharm, busque el módulo de Copilot y ábralo.
-
Abra el archivo
Run.pyy, a continuación, añada un nuevo intérprete. -
Añada un nuevo archivo de configuración y seleccione Python.
-
Seleccione el intérprete creado anteriormente. En el campo script, seleccione el archivo
run.pyy, en el campo .env, seleccione el archivogradle.properties. -
Una vez hecho, abra el terminal de PyCharm y ejecute los siguientes comandos:
Warning
En versiones anteriores a 3.3.0, el gestor de paquetes utilizado por Copilot era
poetry, por lo que el comando a ejecutar espoetry installen lugar deuv sync. -
Ejecute
Run.pydesde PyCharm
¿Cómo depurar Etendo Copilot?
Hay dos formas principales de depurar Etendo Copilot, dependiendo de su configuración.
-
Usando PyCharm (modo local)
Si está ejecutando Copilot localmente, puede usar el depurador integrado de PyCharm. Simplemente establezca puntos de interrupción en el código y ejecute el depurador para inspeccionar el flujo de ejecución paso a paso.
-
Usando VSCode (Copilot dockerizado)
Si Copilot se está ejecutando en un contenedor Docker, puede depurarlo con VSCode usando la configuración
launch.jsonproporcionada:- Asegúrese de que VSCode y la extensión de Python estén instaladas y habilitadas.
-
Abra el directorio
build/copilotdentro del proyecto Etendo.Note
Este es el directorio que contiene el código de las herramientas, lo cual es necesario para que el depurador pueda localizar los archivos fuente.

3. Vaya a la sección Run and Debug en VSCode. Verá una configuración llamada Copilot Remote Debug. Haga clic en el botón verde de reproducción para iniciar la depuración.
4. Una vez que el depurador esté en ejecución, establezca puntos de interrupción según sea necesario y ejecute Copilot. El depurador se detendrá en sus puntos de interrupción, permitiéndole inspeccionar variables y analizar el flujo de ejecución.
This work is licensed under CC BY-SA 2.5 ES by Futit Services S.L..








