Mise à niveau
Mettre à jour une installation vers une nouvelle version, et ce qu'il faut modifier lors du passage de la 2.1.0 à la 2.2.0.
Une mise à jour remplace les images PentAGI et, lorsque la version les a modifiés, les fichiers compose. Vos .env et les volumes de données restent, et les migrations de base de données s’exécutent au démarrage de PentAGI.
Avant de commencer
-
Lisez les notes de version de chaque version postérieure à celle que vous exécutez ; depuis la 2.1.0, elles incluent des notes de mise à niveau.
-
Sauvegardez la base de données. Ni l’installateur ni PentAGI ne le font, et les migrations ne peuvent pas être annulées sans perte de données. Avec les valeurs par défaut
PENTAGI_etPOSTGRES_ USER PENTAGI_:POSTGRES_ DB docker exec pgvector pg_dump -U postgres -Fc pentagidb > pentagi-backup.dumpConservez également des copies de
.envet des fichiers compose : l’installateur remplace les fichiers compose sans sauvegarde. -
Terminez les flowsflowUn flow de PentAGI : un objectif, les tâches créées à partir de vos messages et tout ce que les agents ont fait en cours de route. dont vous n’avez plus besoin. Un sandboxsandboxLe conteneur Docker isolé dans lequel les agents exécutent leurs outils. L'interface l'affiche comme Terminal. encore en cours d’exécution est réutilisé tel qu’il a été créé, avec les paramètres de la version qui l’a créé.
-
Si vous venez de la version 2.1.0, effectuez les modifications décrites dans De 2.1.0 à 2.2.0 sur
.envet les fichiers adjacents avant le démarrage de la nouvelle version. Avec la connexion via Google ou GitHub activée, videz dès maintenantOAUTH_etGOOGLE_ CLIENT_ ID OAUTH_; la section explique pourquoi.GITHUB_ CLIENT_ ID
Docker Compose
-
Téléchargez les fichiers compose de la nouvelle version à côté de votre
.env:docker-compose.ymlet le fichier de chaque pile optionnelle que vous exécutez. Le conteneur PentAGI ne reçoit que les variables listées dans son fichier compose, donc les nouveaux paramètres dans.envn’ont aucun effet derrière un fichier plus ancien.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 -
Tirez les images et redémarrez, avec les mêmes fichiers
-fque vous utilisez pour démarrer la pile. Sanspull,up -dconserve les images déjà présentes sur l’hôte.docker compose pull && docker compose up -d -
Actualisez l’image du sandbox sur l’hôte Docker qui exécute les flows, ce que
docker compose pullne fait pas. Les flows créés ensuite l’utilisent.docker pull vxcontrol/kali-linux
Le tag d’image latest suit la branche principale. Pour rester sur une seule version, définissez PENTAGI_ dans .env.
Installateur
- Téléchargez l’installateur de la nouvelle version depuis Démarrage rapide et exécutez-le avec votre
.env. L’installateur 2.1.0 ne peut pas se mettre à jour lui-même. - Pour remplacer les fichiers compose, modifiez un paramètre afin que Apply Changes apparaisse dans le menu, sélectionnez-le et répondez
ylorsque l’installateur liste les fichiers obsolètes. - Dans le menu de maintenance, exécutez Update PentAGI pour tirer les nouvelles images, et Update Worker Image lorsque cela vous est proposé. Update PentAGI seul conserve les anciens fichiers compose.
De la version 2.1.0 à la version 2.2.0
Fichiers
- Le fichier compose monte
example.bedrock.provider.ymlà côté de lui. L’installateur le crée ; lors d’une installation manuelle, créez-le vous-même, un fichier vide suffit :touch example.bedrock.provider.yml. - Remplacez
docker-compose-langfuse.ymlsi vous exécutez Langfuse : le fichier 2.1.0 nomme l’imageminio/, qui n’est plus publiée, doncminio docker compose pulléchoue avec celui-ci. Si votre.envdéfinitMINIO_, supprimez cette ligne.IMAGE=minio/ minio:… - Pour le knowledge graphknowledge graph — graphe de connaissancesLe graphe des hôtes, services, vulnérabilités et des accès entre eux que PentAGI construit pendant un test lorsque cette fonctionnalité optionnelle est activée. Il montre comment les constats sont reliés., placez
examples/depuis le dépôt àneo4j ./— Graphiti a besoin de son plugin APOC — et consultez Mémoire et connaissances pour les préréglages de modèle.neo4j GRAPHITI_n’est plus lu.MODEL_ NAME - Huit migrations de base de données s’exécutent au premier démarrage.
docker compose logs pentagiaffiche « Database schema updated successfully » lorsqu’elles sont terminées.
Connexion et accès
- Tout le monde doit se reconnecter : les sessions de la version 2.1.0 sont refusées. Les jetons API continuent de fonctionner, et les scripts se déconnectent avec
POST /.api/ v1/ auth/ logout - Un jeton API reçoit une erreur 403 sur les routes REST
/,users /etroles /: gérez les comptes, les rôles et les jetons depuis une session de navigateur connectée.tokens - La connexion via Google et GitHub connecte désormais une adresse e-mail vérifiée par le providerprovider — fournisseurUn service ou un serveur qui fournit ses modèles de langage à PentAGI, comme OpenAI, Anthropic ou un Ollama local. au compte existant ayant cette adresse, y compris les comptes locaux, avec le rôle de ce compte. La version 2.1.0 ne peut pas modifier l’e-mail d’un compte, donc si la connexion est activée, effectuez la mise à niveau avec
OAUTH_etGOOGLE_ CLIENT_ ID OAUTH_vides, déplacezGITHUB_ CLIENT_ ID [email protected]vers une adresse que vous contrôlez sous Settings → Account, puis réactivez la connexion. Le Reset Admin Password de l’installateur trouve l’administrateur uniquement par[email protected]. - Derrière un proxy inverse, définissez
TRUSTED_, sinon tous les utilisateurs partagent l’adresse du proxy et une rafale d’échecs de connexion verrouille tout le monde pendant 15 minutes — voir Exposition réseau.PROXIES
Sandboxes
- Avec
DOCKER_— le templateINSIDE=true .envpar défaut de la version 2.1.0 et de l’installateur — la version 2.1.0 montait le socket Docker de l’hôte dans chaque sandbox. La version 2.2.0 donne aux agentsagentUn agent IA de PentAGI : un modèle avec son propre prompt, ses paramètres et ses outils, qui effectue un type de travail spécifique dans un flow, comme tester, écrire du code ou rechercher sur le web. l’accès à Docker uniquement depuis un daemon séparé défini dansDOCKER_; sans cela, ils n’y ont pas accès, et le journal indiqueINSIDE_ HOST sandbox DISABLED. AvecDOCKER_, laissezINSIDE_ HOST DOCKER_vide, sinon leSOCKET= /du template est toujours monté. Consultez Worker node.var/ run/ docker.sock - Terminez les flows démarrés sur la version 2.1.0 : leurs sandboxes conservent l’ancien montage de socket et les capacités jusqu’à ce que le flow soit terminé.
- Laissez
TENANT_vide : sur une installation existante, il pointe PentAGI vers un nouveau schéma vide.ID
Modèles et prompts
- Le provider personnalisé nécessite
LLM_: avec une clé vide, il est désactivé, donc pour un serveur sans authentification, définissez n’importe quelle valeur non vide.SERVER_ KEY LLM_est supprimé. Le provider personnalisé envoieSERVER_ LEGACY_ REASONING reasoning_et transforme un budgeteffort reasoning.max_en niveau d’effort ; sur les modèles Kimi K2, GLM avant la version 5.2 et MiniMax M, un budget fait désormais échouer l’appel, donc supprimez-le de ces agents.tokens - Dans les fichiers de configuration des providers, une entrée d’agent qui laisse
max_,tokens temperature,top_oup nvide obtient désormais les valeurs par défaut du type de provider au lieu de n’envoyer rien. - Les modèles par défaut intégrés ont changé pour chaque provider sauf Bedrock ; les providers enregistrés dans Settings → Providers conservent leurs modèles. Cinq configurations incluses dans l’image ont changé de modèles —
openrouter,deepinfra,ollama-cloud,moonshotetdeepseek. SiLLM_ouSERVER_ CONFIG_ PATH OLLAMA_pointe vers l’un d’eux sousSERVER_ CONFIG_ PATH /, conservez le fichier 2.1.0 sur l’hôte et montez-le comme configuration personnalisée ou Ollama à la place.opt/ pentagi/ conf/ - Avec
EMBEDDING_sur un serveur autre que celui d’OpenAI, définissezURL EMBEDDING_:KEY OPEN_n’y est plus envoyé.AI_ KEY - Les agents recherchent via un seul outil
web_. Les prompts personnalisés avecsearch {{.GoogleToolName}}et les autres variables par moteur sont ignorés, avec un avertissement dans le journal, jusqu’à ce qu’ils utilisent{{.WebSearchToolName}}; rebasez les prompts personnalisés du searcher et du pentester sur les nouvelles valeurs par défaut.
Autres changements
- Dans les deux minutes suivant le démarrage, puis toutes les trois heures, PentAGI signale sa version et un résumé de l’installation à
update.pentagi.com; Vérification des mises à jour liste ce qu’il envoie, etUPDATE_le désactive.CHECK_ INTERVAL=0 - Le profiler n’écoute plus sur le port 7777 sauf si
PPROF_est défini.ADDR - Les nouveaux paramètres optionnels incluent la bascule de provider avec
LLM_,FALLBACK_ PROVIDER DOCKER_pour plusieurs instances,PORTS_ BASE DOCKER_etIMAGE_ SELECTION_ MODE DOCKER_, le moteur de recherche interneALLOWED_ IMAGES WEB_, ainsi que les clés Mistral, xAI, MiniMax et Firecrawl.SEARCH_ INTERNAL_ ENABLED
Sauvegarde et retour arrière
PentAGI n’exécute jamais les migrations en sens inverse, et les exécuter manuellement supprime des données, donc le moyen de revenir à la version 2.1.0 est la sauvegarde. Arrêtez les services qui utilisent la base de données, recréez-la et restaurez le 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.dumpEnsuite, remettez les fichiers .env et compose sauvegardés, définissez PENTAGI_ et démarrez la stack. Conservez le nouveau docker-compose-langfuse.yml : l’image MinIO du fichier 2.1.0 ne peut plus être tirée.
Dernière mise à jour le
Worker node
Exécutez les conteneurs d'agents sur un serveur dédié et durci, séparé de l'hôte principal PentAGI.
Dépannage
Correctifs pour les problèmes courants de PentAGI : un flow qui échoue dès son premier appel de modèle, des erreurs du tool-call parser, des avertissements de l’installateur macOS et des modèles de petite taille bloqués.