Actualización
Actualiza una instalación a una nueva versión y qué cambiar al pasar de la 2.1.0 a la 2.2.0.
Una actualización reemplaza las imágenes de PentAGI y, cuando la versión las ha cambiado, los archivos de compose. Tu .env y los volúmenes de datos se mantienen, y las migraciones de base de datos se ejecutan cuando PentAGI inicia.
Antes de empezar
-
Lee las notas de la versión de cada versión posterior a la que ejecutas; desde la 2.1.0 incluyen notas de actualización.
-
Haz una copia de seguridad de la base de datos. Ni el instalador ni PentAGI lo hacen, y las migraciones no se pueden revertir sin perder datos. Con el
PENTAGI_yPOSTGRES_ USER PENTAGI_por defecto:POSTGRES_ DB docker exec pgvector pg_dump -U postgres -Fc pentagidb > pentagi-backup.dumpGuarda también copias de
.envy de los archivos de compose: el instalador reemplaza los archivos de compose sin hacer una copia de seguridad. -
Finaliza los flowsflow — flujoUna ejecución de PentAGI: un objetivo, las tareas creadas a partir de tus mensajes y todo lo que hicieron los agentes en el proceso. que ya no necesites. Un sandboxsandboxEl contenedor Docker aislado en el que los agentes ejecutan sus herramientas. La interfaz lo muestra como Terminal. que sigue en ejecución se reutiliza tal como fue creado, con la configuración de la versión que lo creó.
-
Si vienes de la 2.1.0, realiza los cambios indicados en De 2.1.0 a 2.2.0 en
.envy en los archivos que están junto a él antes de que comience la nueva versión. Con el inicio de sesión mediante Google o GitHub activado, vacía ahoraOAUTH_yGOOGLE_ CLIENT_ ID OAUTH_; la sección explica por qué.GITHUB_ CLIENT_ ID
Docker Compose
-
Descarga los archivos de compose de la nueva versión junto a tu
.env:docker-compose.ymly el archivo de cada pila opcional que ejecutes. El contenedor de PentAGI recibe solo las variables que lista su archivo de compose, por lo que las nuevas configuraciones en.envno tienen efecto detrás de un archivo anterior.cd ~/pentagi curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose.yml # and the file of each optional stack you run, for example: curl -O https://raw.githubusercontent.com/vxcontrol/pentagi/main/docker-compose-langfuse.yml -
Extrae las imágenes y reinicia, con los mismos archivos
-fcon los que inicias la pila. Sinpull,up -dmantiene las imágenes que ya están en el host.docker compose pull && docker compose up -d -
Actualiza la imagen del sandbox en el host Docker que ejecuta los flows, algo que
docker compose pullno hace. Los flows creados después la utilizarán.docker pull vxcontrol/kali-linux
La etiqueta de imagen latest sigue a la rama principal. Para mantenerte en una versión concreta, establece PENTAGI_ en .env.
Instalador
- Descarga el instalador de la nueva versión desde Inicio rápido y ejecútalo con tu
.env. El instalador 2.1.0 no puede actualizarse a sí mismo. - Para reemplazar los archivos de compose, cambia una configuración para que aparezca Apply Changes en el menú, selecciónalo y responde
ycuando el instalador liste los archivos desactualizados. - En el menú de mantenimiento, ejecuta Update PentAGI para extraer las nuevas imágenes, y Update Worker Image cuando se te ofrezca. Update PentAGI por sí solo mantiene los archivos de compose antiguos.
De 2.1.0 a 2.2.0
Archivos
- El archivo de compose monta
example.bedrock.provider.ymljunto a él. El instalador lo crea; en una instalación manual créalo tú mismo, un archivo vacío es suficiente:touch example.bedrock.provider.yml. - Reemplaza
docker-compose-langfuse.ymlsi ejecutas Langfuse: el archivo 2.1.0 nombra la imagenminio/, que ya no se publica, por lo queminio docker compose pullfalla con ella. Si tu.envestableceMINIO_, elimina esa línea.IMAGE=minio/ minio:… - Para el knowledge graphknowledge graph — grafo de conocimientoEl grafo de hosts, servicios, vulnerabilidades y el acceso entre ellos que PentAGI construye durante un test cuando esta función opcional está activada. Muestra cómo se conectan los hallazgos., coloca
examples/del repositorio enneo4j ./— Graphiti necesita su plugin APOC — y consulta Memoria y conocimiento para los presets de modelo.neo4j GRAPHITI_ya no se lee.MODEL_ NAME - Ocho migraciones de base de datos se ejecutan en el primer inicio.
docker compose logs pentagimuestra "Database schema updated successfully" cuando terminan.
Inicio de sesión y acceso
- Todos deben iniciar sesión de nuevo: las sesiones de 2.1.0 son rechazadas. Los tokens de API siguen funcionando, y los scripts cierran sesión con
POST /.api/ v1/ auth/ logout - Un token de API obtiene un 403 en las rutas REST
/,users /yroles /: gestiona cuentas, roles y tokens desde una sesión de navegador con sesión iniciada.tokens - El inicio de sesión con Google y GitHub ahora registra un correo electrónico verificado por el providerprovider — proveedorUn servicio o servidor que le da a PentAGI sus modelos de lenguaje, como OpenAI, Anthropic o un Ollama local. en la cuenta existente con esa dirección, incluidas las cuentas locales, con el rol de esa cuenta. La versión 2.1.0 no puede cambiar el correo electrónico de una cuenta, por lo que si el inicio de sesión está activado, actualiza con
OAUTH_yGOOGLE_ CLIENT_ ID OAUTH_vacíos, mueveGITHUB_ CLIENT_ ID [email protected]a una dirección que controles bajo Settings → Account, y luego vuelve a activar el inicio de sesión. El Reset Admin Password del instalador encuentra al administrador solo por[email protected]. - Detrás de un proxy inverso, establece
TRUSTED_, o todos los usuarios compartirán la dirección del proxy y una ráfaga de intentos de inicio de sesión fallidos bloqueará a todos durante 15 minutos — consulta Exposición de red.PROXIES
Sandboxes
- Con
DOCKER_— la plantillaINSIDE=true .envde 2.1.0 y el valor por defecto del instalador — la versión 2.1.0 montaba el socket Docker del host en cada sandbox. La versión 2.2.0 da a los agentsagent — agenteUn agente de IA de PentAGI: un modelo con su propio prompt, configuración y herramientas que realiza un tipo de trabajo en un flujo, como probar, escribir código o buscar en la web. Docker solo desde un daemon separado configurado enDOCKER_; sin él no obtienen ninguno, y el registro diceINSIDE_ HOST sandbox DISABLED. ConDOCKER_, dejaINSIDE_ HOST DOCKER_vacío, o elSOCKET= /de la plantilla seguirá montado. Consulta Worker node.var/ run/ docker.sock - Finaliza los flows iniciados en 2.1.0: sus sandboxes mantienen el montaje antiguo del socket y las capacidades hasta que el flow finalice.
- Deja
TENANT_vacío: en una instalación existente, apunta a PentAGI hacia un esquema nuevo y vacío.ID
Modelos y prompts
- El provider personalizado necesita
LLM_: con una clave vacía está desactivado, así que para un servidor sin autenticación establece cualquier valor no vacío.SERVER_ KEY LLM_se elimina. El provider personalizado envíaSERVER_ LEGACY_ REASONING reasoning_y convierte un presupuesto deeffort reasoning.max_en un nivel de esfuerzo; en los modelos Kimi K2, GLM anteriores a 5.2 y MiniMax M, un presupuesto ahora hace fallar la llamada, así que elimínalo de esos agents.tokens - En los archivos de configuración del provider, una entrada de agent que deje
max_,tokens temperature,top_op nen blanco ahora obtiene los valores por defecto del tipo de provider en lugar de no enviar nada. - Los modelos por defecto integrados cambiaron para cada provider excepto Bedrock; los providers guardados en Settings → Providers mantienen sus modelos. Cinco configuraciones incluidas en la imagen cambiaron de modelos —
openrouter,deepinfra,ollama-cloud,moonshotydeepseek. SiLLM_oSERVER_ CONFIG_ PATH OLLAMA_apunta a uno de ellos bajoSERVER_ CONFIG_ PATH /, mantén el archivo 2.1.0 en el host y móntalo como la configuración personalizada o de Ollama en su lugar.opt/ pentagi/ conf/ - Con
EMBEDDING_en un servidor distinto al de OpenAI, estableceURL EMBEDDING_:KEY OPEN_ya no se envía allí.AI_ KEY - Los agents buscan a través de una única tooltool — herramientaAquello con lo que actúa un agente: una capacidad integrada como el terminal, el navegador aislado o la búsqueda web, o un programa en el sandbox como nmap, metasploit o sqlmap.
web_. Los prompts personalizados consearch {{.GoogleToolName}}y las otras variables por motor se ignoran, con una advertencia en el registro, hasta que usen{{.WebSearchToolName}}; basa de nuevo los prompts personalizados de searcher y pentester en los nuevos valores por defecto.
Otros cambios
- En los dos minutos siguientes al inicio y luego cada tres horas, PentAGI informa de su versión y un resumen de la instalación a
update.pentagi.com; Comprobación de actualizaciones lista lo que envía, yUPDATE_lo desactiva.CHECK_ INTERVAL=0 - El profiler ya no escucha en el puerto 7777 a menos que
PPROF_esté establecido.ADDR - Las nuevas configuraciones opcionales incluyen conmutación por error del provider con
LLM_,FALLBACK_ PROVIDER DOCKER_para varias instancias,PORTS_ BASE DOCKER_yIMAGE_ SELECTION_ MODE DOCKER_, el search enginesearch engine — motor de búsquedaUn servicio de búsqueda web que los agentes utilizan para recopilar información actualizada, como DuckDuckGo, Google o Tavily. internoALLOWED_ IMAGES WEB_, y las claves de Mistral, xAI, MiniMax y Firecrawl.SEARCH_ INTERNAL_ ENABLED
Copia de seguridad y reversión
PentAGI nunca ejecuta migraciones hacia atrás, y ejecutarlas manualmente elimina datos, así que la forma de volver a 2.1.0 es la copia de seguridad. Detén los servicios que usan la base de datos, recréala y restaura el volcado:
docker compose stop pentagi pgexporter
docker exec pgvector dropdb -U postgres pentagidb
docker exec pgvector createdb -U postgres pentagidb
docker exec -i pgvector pg_restore -U postgres -d pentagidb < pentagi-backup.dumpLuego vuelve a colocar el .env y los archivos de compose guardados, establece PENTAGI_ e inicia la pila. Mantén el nuevo docker-compose-langfuse.yml: la imagen MinIO del archivo de 2.1.0 ya no se puede extraer.
Última actualización el
Worker node
Ejecuta contenedores de agent en un servidor dedicado y reforzado, separado del host principal de PentAGI.
Solución de problemas
Soluciones a problemas comunes de PentAGI: un flow que falla en su primera llamada al modelo, errores del tool-call parser, advertencias del instalador en macOS y modelos pequeños que se quedan atascados.