Modèle / jeu de données
szczyglis-dev/py-gpt avatar
szczyglis-dev/py-gpt

PyGPT : un poste de pilotage multi-modèles qui assume ses compromis

Desktop AI Assistant powered by GPT-5, GPT-4, o1, o3, Gemini, Claude, Ollama, DeepSeek, Perplexity, Grok, Bielik, chat, vision, voice, RAG, image and video generation, agents, tools, MCP, plugins, speech synthesis and recognition, web search, memory, presets, assistants,and more. Linux, Windows, Mac

1 918 étoiles345 forksPythonNOASSERTION

En bref

De quoi s’agit-il ?
PyGPT rassemble dans une seule application de bureau les API de plusieurs fournisseurs, la recherche web, la génération d'images et un mode multi-agents. Le README décrit beaucoup de fonctions, mais peu de garanties sur les coûts et la stabilité.
À qui s’adresse-t-il ?
PyGPT convient à un utilisateur technique qui possède déjà des clés API chez plusieurs fournisseurs et qui veut une interface unique sur un poste de travail. Il ne convient pas à une équipe qui cherche un service partagé et auditable, ni à un utilisateur qui refuse de gérer lui-même ses clés et la facturation.
Puis-je l’utiliser commercialement ?
À vérifier. La licence de ce dépôt n’entre pas dans les catégories que nous classons automatiquement : lisez son fichier LICENSE avant tout usage commercial.
Est-il encore maintenu ?
Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Ce que le projet remplace réellement

Le problème visé n'est pas l'accès à un modèle, mais la dispersion des interfaces. Le README présente PyGPT comme un assistant de bureau qui parle à OpenAI, Google Gemini, Anthropic Claude, xAI Grok, Perplexity, DeepSeek, ainsi qu'à des modèles servis par HuggingFace, LlamaIndex, les API compatibles OpenAI et une installation locale d'Ollama. Un utilisateur qui veut comparer une réponse de Claude et une réponse de Gemma 4 dans la même session n'a pas besoin d'ouvrir deux onglets de navigateur, de recopier son contexte et de perdre l'historique. L'application conserve les conversations et la mémoire longue, ce qui donne un fil continu entre les modèles. Le public visé est donc l'utilisateur individuel sur Linux, Windows ou Mac, pas l'équipe qui veut un point d'accès central. Le README précise que les modèles locaux ne demandent aucune clé externe, ce qui compte pour un poste isolé ou pour un travail sur des documents qu'on ne veut pas envoyer à un service distant.

Onze modes, un seul historique

La mécanique repose sur des modes d'opération distincts : Chat, Chat with Files, Realtime avec audio, Research via Perplexity, Completion, génération d'images et de vidéos, Experts, Computer use, Agents v2 en bêta, Agents et Autonomous Mode. Chaque mode change la façon dont la requête est construite et ce que le modèle a le droit de faire. Le mode Chat with Files passe par LlamaIndex : les documents sont découpés, transformés en vecteurs et stockés dans une base vectorielle locale, puis les passages pertinents sont réinjectés dans le contexte. Le README liste les formats pris en charge, dont txt, pdf, csv, html, md, docx, json, epub, xlsx et xml. Les plugins ajoutent une seconde couche : Files I/O, Code Interpreter, Web Search, Google, GitHub, Slack, Telegram, MCP. Le point d'architecture à retenir est que le contexte n'est pas géré par le fournisseur mais par l'application, ce qui explique à la fois la continuité entre modèles et la dépendance à la qualité de l'indexation locale.

Installation : binaire ou source, deux chemins distincts

Le README propose deux voies. La première est le binaire compilé en 64 bits pour Linux et Windows, distribué sur pygpt.net, ainsi que sur le Snap Store, le Microsoft Store, PyPI et en AppImage. La seconde est l'exécution depuis les sources, et c'est la seule disponible sur Mac, puisqu'aucun binaire Mac n'est fourni. Le paquet PyPI s'appelle pygpt-net, pas pygpt. La contrainte de version est explicite dans l'en-tête du README : Python supérieur ou égal à 3.10 et strictement inférieur à 3.14. Un environnement en 3.14 ou au-delà ne sera pas couvert. Les clés d'API se saisissent dans les réglages de l'application, par fournisseur, et le README indique que des clés supplémentaires peuvent être nécessaires selon le service choisi. Rien dans le matériel fourni ne décrit un fichier de configuration versionnable ni une variable d'environnement pour injecter ces clés, ce qui complique le déploiement reproductible sur plusieurs machines.

Agents v2 et exécution de code : la surface la plus risquée

Le mode Agents v2 est signalé comme bêta dans le README lui-même, avec un Orchestrator visible par l'utilisateur et des agents travailleurs gérés dynamiquement. À cela s'ajoute un outil Python/OS qui exécute du Python et de l'IPython en temps réel, un interpréteur de code, l'accès au système de fichiers local, l'exécution de commandes système et un planificateur de tâches de type crontab. Ce sont les fonctions qui justifient l'installation, et aussi celles qui élargissent le plus la surface d'exécution. Un agent qui peut lancer des commandes système et lire des fichiers n'est pas un simple client de chat. Le README ne fournit aucun détail sur le bac à sable, sur les confirmations avant exécution ou sur les journaux d'audit. Ce silence n'est pas une preuve d'absence de garde-fous, mais il signifie qu'un évaluateur ne peut pas conclure depuis la documentation seule. Si votre cas d'usage est de laisser un agent autonome tourner sur une machine contenant des données sensibles, il faut considérer ce point comme non vérifié.

Le coût réel se paie en clés et en jetons

PyGPT ne revend aucune capacité de calcul : il utilise les clés de l'utilisateur. La facture dépend donc du fournisseur et du modèle choisi, et elle n'est pas plafonnée par l'application. Le README mentionne un calcul intégré de l'usage des jetons, ce qui donne une visibilité après coup, pas une limite avant appel. Un mode agentique qui enchaîne plusieurs appels, une indexation LlamaIndex sur une arborescence de PDF ou une conversation longue avec mémoire conservée produisent des appels que l'utilisateur ne voit pas tous. Le seul garde-fou structurel documenté est le choix d'un modèle local via Ollama, qui déplace la dépense vers le matériel. Sur le plan de la maintenance, le rythme des versions est élevé : v2.8.10 le 6 septembre 2026, v2.8.12 le 8 septembre, v2.8.13 le 9 septembre, d'après les releases fournies. Ce rythme implique de suivre les notes de version avant de mettre à jour, en particulier pour Agents v2 encore en bêta.

Licence : un identifiant qui ne tranche pas

Le dépôt porte la mention NOASSERTION comme licence. Cela signifie que l'outil d'analyse n'a pas su rattacher le fichier de licence à un identifiant SPDX connu, pas que le projet est sans licence. Le README affirme que l'application est libre et open source et que le code source complet est disponible, mais une affirmation de README ne remplace pas la lecture du fichier de licence. Pour un usage interne, la question est de savoir si la redistribution du binaire compilé est autorisée et à quelles conditions. Pour un usage commercial intégré à un produit, la question devient bloquante tant que le texte n'a pas été lu. Je ne donne pas d'avis juridique ici : le point concret est qu'il faut ouvrir le fichier de licence du dépôt avant toute redistribution, et que l'identifiant affiché par l'API GitHub ne suffit pas à répondre.

Face à un client officiel unique

L'alternative la plus directe n'est pas un autre assistant de bureau, c'est le client officiel du fournisseur que vous utilisez déjà, par exemple l'application OpenAI ou l'interface de Google. La différence d'approche est nette. Un client officiel ne couvre qu'un fournisseur, mais il reçoit les nouvelles capacités en premier, il gère l'authentification à votre place et il n'expose pas votre machine à l'exécution de commandes système. PyGPT fait l'inverse : il mutualise plusieurs fournisseurs dans une seule fenêtre et accepte d'exécuter du code localement, au prix d'une dépendance à un projet tiers pour l'accès aux API et d'une surface d'exécution plus large. Le choix se résume donc à un arbitrage entre la couverture multi-fournisseurs et le contrôle. Si vous n'utilisez qu'un seul modèle et n'avez pas besoin de RAG local ni d'agents, le client officiel couvre le besoin avec moins de pièces mobiles.

Conclusion éditoriale

PyGPT convient à un utilisateur technique qui possède déjà des clés API chez plusieurs fournisseurs et qui veut une interface unique sur un poste de travail. Il ne convient pas à une équipe qui cherche un service partagé et auditable, ni à un utilisateur qui refuse de gérer lui-même ses clés et la facturation. Avant d'installer, vérifiez que votre version de Python est comprise entre 3.10 et 3.14, puis lisez le fichier de licence sur le dépôt : l'identifiant NOASSERTION ne permet pas de conclure au niveau de droits accordé.

Sources officielles

  1. Issues
  2. Project website
  3. README
  4. Releases
  5. szczyglis-dev/py-gpt on GitHub
Notes de la communauté

Notes de la communauté