Modèle / jeu de données
Prism-Shadow/penguin-harness avatar
Prism-Shadow/penguin-harness

PenguinHarness : un harness multi-agents local-first pour construire des applications d'agents

🐧 Harness for RSI. Let AI Build AI. Multi-Agent Auto-Dev Platform. Everything is Transparent.

2 202 étoiles230 forksTypeScriptApache-2.0

En bref

De quoi s’agit-il ?
PenguinHarness automatise le cycle de vie d'une application d'agents, de la génération du squelette à l'optimisation. Le dépôt annonce des coûts très bas sur DeepSeek et un moteur d'auto-évolution des agents, mais la documentation reste mince sur plusieurs points d'architecture.
À qui s’adresse-t-il ?
PenguinHarness convient aux équipes qui veulent générer et faire évoluer des applications d'agents sur des modèles ouverts comme DeepSeek, avec une trace par requête et des snapshots avant chaque round. Il ne convient pas à qui cherche un framework d'orchestration stable et documenté, ni à qui doit faire tourner le harness sur une version de Node antérieure à 24.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
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 TypeScript, 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

Le problème visé : écrire des agents à la main, un par un

Le README ouvre sur une comparaison directe avec LangChain : avec LangChain, on construit les agents à la main, à vitesse 1x ; avec PenguinHarness, les agents construisent des agents, à vitesse 100x. La formule est commerciale, mais elle décrit un vrai point de friction. Un harness classique oblige à écrire le squelette, le code de récupération, les instructions d'exécution et la boucle d'évaluation. PenguinHarness se présente comme une plateforme qui prend en charge ces quatre étapes sur la machine de l'utilisateur ou sur un serveur, avec une préférence affichée pour les modèles ouverts. Le public visé n'est donc pas le débutant qui veut un chatbot, mais l'ingénieur qui doit produire plusieurs applications d'agents et veut industrialiser la partie répétitive. La description du dépôt parle de RSI, autrement dit de self-improvement, et de multi-agent auto-dev. C'est le cadre : un outil de fabrication, pas une bibliothèque d'exécution.

Trois briques revendiquées : génération, coût, auto-évolution

Le README structure son argumentaire en trois points. Premier point, un jeu d'outils volontairement minimal posé sur des interfaces bas niveau, ce qui réduit le nombre d'appels et de tokens, avec un réglage spécifique pour les modèles ouverts comme DeepSeek. Le README affirme que le harness arrive en tête sur la suite d'analyse de données et rejoint OpenAI Codex sur le codage, pour une fraction du coût des deux concurrents. Ces chiffres proviennent d'une image de benchmark incluse dans le dépôt, pas d'un protocole détaillé. Deuxième point, la génération en une phrase : l'exemple fourni demande de collecter la documentation de ericbuess/claude-code-docs et de construire une application RAG qui répond en citant ses sources. Le README annonce que cette application complète a coûté 0,02 dollar de tokens sur DeepSeek V4 Pro. Troisième point, le moteur d'auto-évolution : l'agent lance le benchmark, identifie les points perdus, publie la version N+1, avec un snapshot avant chaque round et chaque requête visible dans la vue Trace.

Ce que le dépôt laisse voir de l'architecture

Le dépôt est un monorepo TypeScript, avec un répertoire packages. Le README référence packages/landing/public/penguin-logo.svg, ce qui confirme au moins un paquet dédié au site vitrine, et le paquet publié s'appelle @prismshadow/penguin-core sur npm. Le harness lui-même est distribué comme application de bureau, avec une page de téléchargement sur penguin.ooo/download, et les sujets du dépôt mentionnent desktop. Le fonctionnement repose sur des plugins répartis en catégories : skills d'un côté, hooks de session de l'autre, ces derniers pilotant le mode goal et l'apprentissage continu. Le README indique que les agents peuvent écrire et optimiser leurs propres skills. Trois catégories sont livrées : Office Productivity avec data-analysis, use-firecrawl, use-bento-slides, humanizer, goal et continual-learning ; Software Development avec software-development et use-claude-code ; AI App Development avec agent-development, model-development, skill-porting et agent-tuning. C'est le plugin agent-development qui porte la génération d'applications, et agent-tuning qui porte l'optimisation. Le flux est donc : une session d'agent, des skills appelés comme outils, des hooks qui déclenchent l'évaluation, puis un nouveau cycle. Au-delà de cette lecture du README, la documentation ne décrit pas le format interne des skills ni le protocole entre le noyau et l'interface de bureau.

Installation et configuration : ce qui est réellement documenté

Le README ne donne aucune commande d'installation. Il propose un bouton de téléchargement vers penguin.ooo/download et un lien vers penguin.ooo/docs. La seule contrainte technique explicite est le badge Node >= 24, avec un badge CI qui pointe vers .github/workflows/ci.yml et un badge de déploiement vers .github/workflows/pages.yml. Le paquet npm @prismshadow/penguin-core est le seul artefact publié nommé dans le matériel fourni. Aucune clé de configuration, aucun fichier de configuration, aucun nom de variable d'environnement n'apparaît. Pour un lecteur qui veut évaluer l'outil avant de l'installer, c'est une lacune réelle : la promesse d'un harness local-first suppose qu'on puisse savoir ce qui tourne sur la machine, où sont stockées les traces et comment les modèles sont configurés. Ces éléments sont renvoyés à la documentation externe. La version la plus récente listée est v0.2.9, datée du 28 août 2026, précédée de v0.2.8 et v0.2.7 les 27 août 2026. Trois versions en deux jours, c'est un rythme de publication serré, cohérent avec un projet en phase active, mais aussi un signal de stabilité encore en construction.

La limite qui compte : un rythme de version élevé sur un cœur jeune

Le projet est en 0.2.x. Trois publications en deux jours, v0.2.7, v0.2.8 et v0.2.9, signifient que l'API du noyau et le format des skills peuvent bouger sans préavis. Pour un harness qui écrit du code et le déploie, une rupture de format sur les skills ou sur les hooks de session se traduit directement par des applications générées qui ne fonctionnent plus. Le README ne mentionne ni politique de compatibilité, ni journal de migration, ni versionnement des skills. Deuxième limite : la dépendance à Node >= 24. Les environnements d'entreprise qui tournent encore sur Node 20 ou 22 devront migrer avant même de tester l'outil. Troisième limite, plus structurelle : PenguinHarness est le mauvais outil quand on veut un framework d'orchestration stable et documenté, avec un contrat d'API figé et une communauté qui a déjà rencontré les cas limites. Ici, la valeur est dans la génération et l'auto-optimisation, pas dans la prévisibilité de l'exécution.

Face à LangChain : deux philosophies opposées

Le README positionne lui-même la comparaison. LangChain fournit des abstractions pour composer des chaînes et des agents à la main : le développeur choisit chaque étape, chaque outil, chaque prompt. PenguinHarness prend le problème par l'autre bout. On décrit le résultat attendu en une phrase, et la plateforme produit le squelette, le code et les instructions d'exécution. La différence n'est pas seulement le niveau d'automatisation, c'est le lieu de contrôle. Avec LangChain, le code de l'application est l'artefact principal et il est lisible ligne par ligne. Avec PenguinHarness, l'artefact principal est le résultat généré, et le harness reste l'outil qui l'a produit. Cela a une conséquence pratique : déboguer une application LangChain revient à lire du code qu'on a écrit, déboguer une application PenguinHarness revient à lire la vue Trace et à relancer un round d'optimisation. Le second modèle est plus rapide à démarrer et plus difficile à auditer finement. Le README ne cache pas ce choix, il en fait son argument, mais il ne documente pas de mécanisme d'export vers un projet autonome.

Modèles pris en charge et implications de licence

Le tableau du README liste DeepSeek V4, Kimi K3, GLM 5.3, Hunyuan 3, Qwen 3.8 Max, GPT 5.6 et Gemini 3.7 Flash, avec des fournisseurs variés : DeepSeek, OpenRouter, Fireworks AI, SiliconFlow, TokenDance, Qwen Token Plan, Qwen Pay-As-You-Go, Moonshot AI, Z.AI, OpenAI et Google Gemini. La liste est tronquée dans le matériel fourni, la ligne Gemini s'arrêtant à OpenRou. La revendication de plus de 1000 modèles repose donc sur des agrégateurs comme OpenRouter plutôt que sur des intégrations directes. Sur la licence, le dépôt est publié sous Apache-2.0, une licence permissive qui autorise l'usage commercial, la modification et la redistribution, avec obligation de conserver les mentions de copyright et le fichier de licence, et une clause de brevets. Le README ne signale aucune restriction supplémentaire ni licence de type Commons Clause. Cela ne dispense pas de vérifier les conditions des fournisseurs de modèles, qui sont distinctes de la licence du harness.

Conclusion éditoriale

PenguinHarness convient aux équipes qui veulent générer et faire évoluer des applications d'agents sur des modèles ouverts comme DeepSeek, avec une trace par requête et des snapshots avant chaque round. Il ne convient pas à qui cherche un framework d'orchestration stable et documenté, ni à qui doit faire tourner le harness sur une version de Node antérieure à 24. Avant d'adopter, vérifiez trois choses concrètes : que votre version de Node satisfait la contrainte du README, que le paquet @prismshadow/penguin-core publié sur npm correspond bien à la version v0.2.9 du dépôt, et que le plugin agent-development couvre votre cas d'usage, puisque c'est lui qui pilote la génération d'applications.

Sources officielles

  1. License: Apache-2.0
  2. Prism-Shadow/penguin-harness on GitHub
  3. Project website
  4. README
  5. Releases
Notes de la communauté

Notes de la communauté