Aggiornamento
Aggiorna un'installazione a una nuova release e cosa cambiare quando passi dalla 2.1.0 alla 2.2.0.
Un aggiornamento sostituisce le immagini di PentAGI e, quando la release le ha modificate, i file compose. I tuoi .env e i volumi dei dati rimangono, e le migrazioni del database vengono eseguite all’avvio di PentAGI.
Prima di iniziare
-
Leggi le note di rilascio di ogni versione successiva a quella che esegui; dalla 2.1.0 includono note di aggiornamento.
-
Esegui il backup del database. Né l’installer né PentAGI lo fanno, e le migrazioni non possono essere annullate senza perdere dati. Con le impostazioni predefinite
PENTAGI_ePOSTGRES_ USER PENTAGI_:POSTGRES_ DB docker exec pgvector pg_dump -U postgres -Fc pentagidb > pentagi-backup.dumpConserva anche copie di
.enve dei file compose: l’installer sostituisce i file compose senza crearne un backup. -
Completa i flowflowUn'esecuzione di PentAGI: un obiettivo, i task creati dai tuoi messaggi e tutto ciò che gli agenti hanno fatto lungo il percorso. che non ti servono più. Un sandboxsandboxIl container Docker isolato in cui gli agenti eseguono i loro strumenti. L'interfaccia lo mostra come Terminal. ancora in esecuzione viene riutilizzato così com’è stato creato, con le impostazioni della release che lo ha creato.
-
Se provieni dalla 2.1.0, apporta le modifiche indicate in Da 2.1.0 a 2.2.0 a
.enve ai file adiacenti prima dell’avvio della nuova release. Con l’accesso tramite Google o GitHub attivo, svuota oraOAUTH_eGOOGLE_ CLIENT_ ID OAUTH_; la sezione spiega il motivo.GITHUB_ CLIENT_ ID
Docker Compose
-
Scarica i file compose della nuova release accanto al tuo
.env:docker-compose.ymle il file di ogni stack opzionale che esegui. Il container PentAGI riceve solo le variabili elencate nel suo file compose, quindi le nuove impostazioni in.envnon hanno effetto se usi un file più vecchio.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 -
Effettua il pull delle immagini e riavvia, usando gli stessi file
-fcon cui avvii lo stack. Senzapull,up -dmantiene le immagini già presenti sull’host.docker compose pull && docker compose up -d -
Aggiorna l’immagine del sandbox sull’host Docker che esegue i flow, operazione che
docker compose pullnon esegue. I flow creati successivamente la utilizzeranno.docker pull vxcontrol/kali-linux
Il tag dell’immagine latest segue il branch principale. Per rimanere su una singola release, imposta PENTAGI_ in .env.
Installer
- Scarica l’installer della nuova release da Quick start ed eseguilo con il tuo
.env. L’installer 2.1.0 non può aggiornare se stesso. - Per sostituire i file compose, modifica un’impostazione in modo che Apply Changes appaia nel menu, selezionalo e rispondi
yquando l’installer elenca i file non aggiornati. - Nel menu di manutenzione, esegui Update PentAGI per effettuare il pull delle nuove immagini e Update Worker Image quando viene offerto. Update PentAGI da solo mantiene i vecchi file compose.
Da 2.1.0 a 2.2.0
File
- Il file compose monta
example.bedrock.provider.ymlaccanto a sé. L’installer lo crea; in un’installazione manuale crealo tu stesso, un file vuoto è sufficiente:touch example.bedrock.provider.yml. - Sostituisci
docker-compose-langfuse.ymlse esegui Langfuse: il file 2.1.0 fa riferimento all’immagineminio/, che non viene più pubblicata, quindiminio docker compose pullfallisce con essa. Se il tuo.envimpostaMINIO_, rimuovi quella riga.IMAGE=minio/ minio:… - Per il knowledge graphknowledge graph — grafo della conoscenzaIl grafo di host, servizi, vulnerabilità e degli accessi tra di essi che PentAGI costruisce durante un test quando questa funzionalità opzionale è abilitata. Mostra come i finding sono collegati., inserisci
examples/dal repository inneo4j ./— Graphiti necessita del suo plugin APOC — e consulta Memory and knowledge per i preset dei modelli.neo4j GRAPHITI_non viene più letto.MODEL_ NAME - Otto migrazioni del database vengono eseguite al primo avvio.
docker compose logs pentagimostra "Database schema updated successfully" quando sono completate.
Accesso e autenticazione
- Tutti devono accedere nuovamente: le sessioni della versione 2.1.0 vengono rifiutate. I token API continuano a funzionare e gli script effettuano il logout con
POST /.api/ v1/ auth/ logout - Un token API riceve un errore 403 sulle route REST
/,users /eroles /: gestisci account, ruoli e token da una sessione browser autenticata.tokens - L’accesso con Google e GitHub ora associa un’e-mail verificata dal providerproviderUn servizio o server che fornisce a PentAGI i suoi modelli linguistici, come OpenAI, Anthropic o un Ollama locale. all’account esistente con quell’indirizzo, inclusi gli account locali, mantenendo il ruolo di quell’account. La versione 2.1.0 non può modificare l’e-mail di un account, quindi se l’accesso è attivo, esegui l’aggiornamento con
OAUTH_eGOOGLE_ CLIENT_ ID OAUTH_vuoti, spostaGITHUB_ CLIENT_ ID [email protected]su un indirizzo sotto il tuo controllo in Settings → Account, quindi riattiva l’accesso. La funzione Reset Admin Password dell’installer trova l’amministratore solo tramite[email protected]. - Dietro un reverse proxy, imposta
TRUSTED_, altrimenti ogni utente condivide l’indirizzo del proxy e un picco di tentativi di accesso falliti blocca tutti per 15 minuti — vedi Network exposure.PROXIES
Sandbox
- Con
DOCKER_— il templateINSIDE=true .envpredefinito della versione 2.1.0 e dell’installer — la versione 2.1.0 montava il socket Docker dell’host in ogni sandbox. La versione 2.2.0 fornisce agli agentagent — agenteUn agente AI di PentAGI: un modello con il proprio prompt, impostazioni e strumenti che svolge un tipo di lavoro in un flow, come testare, scrivere codice o cercare sul web. Docker solo da un daemon separato impostato inDOCKER_; senza di esso non ne ricevono alcuno e il log riportaINSIDE_ HOST sandbox DISABLED. ConDOCKER_, impostaINSIDE_ HOST DOCKER_vuoto, altrimenti ilSOCKET= /del template viene ancora montato. Vedi Worker node.var/ run/ docker.sock - Completa i flow avviati sulla versione 2.1.0: i loro sandbox mantengono il vecchio mount del socket e le capacità fino al termine del flow.
- Lascia
TENANT_vuoto: su un’installazione esistente punta PentAGI verso uno schema nuovo e vuoto.ID
Modelli e prompt
- Il provider personalizzato richiede
LLM_: con una chiave vuota è disabilitato, quindi per un server senza autenticazione imposta qualsiasi valore non vuoto.SERVER_ KEY LLM_è stato rimosso. Il provider personalizzato inviaSERVER_ LEGACY_ REASONING reasoning_e converte un budgeteffort reasoning.max_in un livello di sforzo; sui modelli Kimi K2, GLM precedenti alla 5.2 e MiniMax M un budget ora fa fallire la chiamata, quindi rimuovilo da quegli agent.tokens - Nei file di configurazione del provider, una voce agent che lascia vuoti
max_,tokens temperature,top_op nora ottiene i valori predefiniti del tipo di provider invece di non inviare nulla. - I modelli predefiniti integrati sono cambiati per ogni provider tranne Bedrock; i provider salvati in Settings → Providers mantengono i loro modelli. Cinque configurazioni incluse nell’immagine hanno cambiato modelli —
openrouter,deepinfra,ollama-cloud,moonshotedeepseek. SeLLM_oSERVER_ CONFIG_ PATH OLLAMA_punta a uno di essi sottoSERVER_ CONFIG_ PATH /, mantieni il file 2.1.0 sull’host e montalo come configurazione personalizzata o Ollama.opt/ pentagi/ conf/ - Con
EMBEDDING_su un server diverso da quello di OpenAI, impostaURL EMBEDDING_:KEY OPEN_non viene più inviato lì.AI_ KEY - Gli agent cercano attraverso un unico tooltool — strumentoCiò con cui un agente agisce: una funzionalità integrata come il terminale, il browser isolato o la ricerca web, oppure un programma nella sandbox come nmap, metasploit o sqlmap.
web_. I prompt personalizzati consearch {{.GoogleToolName}}e le altre variabili per motore vengono ignorati, con un avviso nel log, finché non utilizzano{{.WebSearchToolName}}; aggiorna i prompt personalizzati per searcher e pentester basandoti sui nuovi valori predefiniti.
Altre modifiche
- Entro due minuti dall'avvio e poi ogni tre ore, PentAGI segnala la sua versione e un riepilogo dell’installazione a
update.pentagi.com; Update check elenca ciò che viene inviato eUPDATE_lo disattiva.CHECK_ INTERVAL=0 - Il profiler non ascolta più sulla porta 7777 a meno che
PPROF_non sia impostato.ADDR - Le nuove impostazioni opzionali includono provider failover con
LLM_,FALLBACK_ PROVIDER DOCKER_per several instances,PORTS_ BASE DOCKER_eIMAGE_ SELECTION_ MODE DOCKER_, il motore di ricerca internoALLOWED_ IMAGES WEB_e le chiavi Mistral, xAI, MiniMax e Firecrawl.SEARCH_ INTERNAL_ ENABLED
Backup e rollback
PentAGI non esegue mai le migrazioni all’indietro ed eseguirle manualmente elimina i dati, quindi il modo per tornare alla versione 2.1.0 è il backup. Arresta i servizi che usano il database, ricrealo e ripristina il dump:
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.dumpPoi ripristina i file .env e compose salvati, imposta PENTAGI_ e avvia lo stack. Mantieni il nuovo docker-compose-langfuse.yml: l’immagine MinIO del file 2.1.0 non può più essere scaricata.
Ultimo aggiornamento il
Worker node
Esegui i container degli agent su un server dedicato e protetto, separato dall'host principale di PentAGI.
Risoluzione dei problemi
Soluzioni ai problemi comuni di PentAGI: un flow che fallisce alla prima chiamata al modello, errori del tool-call parser, avvisi dell'installer su macOS e modelli piccoli bloccati.