Open SWE
Open SWE

Open SWE

Open SWE est le framework sous licence MIT de LangChain pour les agents de codage asynchrones internes déclenchés à partir de Slack, Linear et GitHub. Construit sur LangGraph et Deep Agents, il prend en charge les sandbox cloud enfichables, les sous-agents, les projets de PR, les messages de suivi et les middlewares spécifiques à l'organisation. Ce guide couvre l'architecture, la sécurité, la validation, les coûts, le déploiement et les alternatives.

64

Views

0

Likes

May 2026

Added

swe.langchain.com

Website

Tags

agent de codeLangChainexécution asynchroneautomatisation GitHubopen source

Product Preview

A quick visual look at Open SWE before you visit the official site.

Published 5/27/2026
Open SWE screenshot

Editorial Review

About Open SWE

Open SWE est un framework open source permettant de créer l’agent de codage asynchrone interne d’une organisation. Un développeur peut mentionner un bot dans Slack, Linear ou GitHub ; le service assemble le contexte de problème/thread, crée un sandbox cloud persistant, clone un référentiel, planifie et modifie le code, exécute des commandes, s'engage dans une branche et ouvre ou met à jour un brouillon de demande d'extraction.

Il ne s'agit pas d'un service de codage hébergé qui devient sécurisé après l'installation. Open SWE est une architecture de référence construite sur LangGraph et Deep Agents. L'opérateur doit sélectionner des modèles et des fournisseurs de sandbox, créer des applications GitHub/Slack/Linear, sécuriser le déploiement, définir les référentiels et les jetons, ajouter une validation déterministe, contrôler l'accès au réseau et être propriétaire de chaque demande d'extraction résultante.

Official Open SWE interface and asynchronous coding-agent workflow
Aperçu officiel Open SWE. La demande d'extraction constitue la limite de révision, et non une preuve d'exactitude ; le texte du problème, les pages Web, les journaux et les fichiers du référentiel restent des entrées non fiables dans un processus hautement performant.

L'architecture de bout en bout

CalqueRôle publiéDécision dont l'opérateur est propriétaire
InvocationMention Slack, commentaire Linear ou commentaire GitHub PRQui peut déclencher quels référentiels et à quel prix
ContexteAGENTS.md plus historique complet des problèmes ou des discussionsQuel contenu est fiable, expurgé ou sujet à une injection rapide
HarnaisDeep Agents composé à l'intérieur de LangGraphModèle, invite système, outils, middleware et limites d'appels
Bac à sableEnvironnement Linux distant persistant par tâcheFournisseur, image, sortie, durée de vie, ressources et emplacement des données
OutilsShell, fichiers, HTTP, Slack, Linear, GitHub et observabilité facultativeMoindre privilège, approbations à effets secondaires et limites secrètes
OrchestrationSous-agents et hooks middleware déterministesConcurrence, budget, état partagé et gestion des erreurs
LivraisonValider, pousser, rédiger des relations publiques et répondre au canal sourceCI, réviseurs, politique de fusion et séparation du déploiement

Le sandboxing réduit le risque de l'hôte, pas l'autorité externe

Le référentiel indique que chaque tâche reçoit un bac à sable cloud isolé avec des autorisations shell complètes et aucune invite de confirmation, et prend en charge les bacs à sable Modal, Daytona, Runloop, E2B et LangSmith. Un bac à sable séparé limite les conflits de système de fichiers et de processus, mais la phrase du README selon laquelle le rayon d'explosion est « entièrement contenu » ne doit pas être traitée littéralement.

L'agent peut disposer d'une sortie réseau, d'une autorité de référentiel, d'un accès au registre de packages et de API externes. Il peut exfiltrer la source, graver les crédits du modèle, ouvrir des demandes d'extraction nuisibles, abuser d'un jeton ou attaquer des services internes accessibles depuis le bac à sable. Un compromis sur le plan de contrôle du fournisseur de bac à sable peut également dépasser les limites des tâches. Le confinement nécessite une politique de sortie, des informations d’identification de courte durée, des quotas, l’isolation des fournisseurs et une porte de fusion/déploiement indépendante.

RisqueLe bac à sable aideContrôle compagnon requis
Commande shell destructriceLimite les dommages causés au disque/processus local à un environnement jetableAucun support de production ; limites de ressources/temps et démontage propre
Dépendance malveillanteSépare la tâche de l'ordinateur portable du développeurFichiers de verrouillage, liste d'autorisation du registre, analyse et sortie restreinte
Utilisation abusive du jeton GitHubPeu si le jeton permet des actions externesJeton d'application proxy/portée limité aux opérations de dépôt et de succursale
Injection rapidePeut limiter la compromission de l'hôteÉtiquettes de confiance, politique des outils et refus des systèmes sensibles
Mauvais codePermet les tests dans un environnement d'exécution isoléCI déterministe, revue de sécurité et branches protégées
Fuite de donnéesSépare les données du poste de travail localExamen des fournisseurs/données, rédaction et contrôles de destination sortante

Le problème et le texte du chat sont des instructions non fiables

Open SWE injecte le problème Linear complet ou le thread Slack dans le contexte de l'agent. Cela améliore la compréhension des tâches mais crée un chemin d'injection direct d'invites : un rapporteur externe ou un journal copié peut demander à l'agent de révéler des secrets, de récupérer une URL malveillante ou de modifier un code sans rapport. AGENTS.md fait plus autorité, mais c'est aussi le contenu du référentiel qu'une branche compromise peut modifier.

Marquez le contenu par provenance et niveau de confiance. La politique système, les règles d'organisation et la configuration approuvée du référentiel doivent primer sur les descriptions de tickets, les commentaires, les journaux, les pages Web et les chaînes de code. Ne laissez pas un contributeur non fiable déclencher une exécution avec des outils d'observabilité ou de données internes. Le projet actuel limite explicitement les outils facultatifs Datadog/LangSmith aux utilisateurs autorisés ; préserver et tester cette frontière.

Conservation des outils et informations d'identification

L'ensemble d'outils par défaut comprend l'exécution du shell, les opérations sur les fichiers, la récupération d'URL, les requêtes HTTP arbitraires, la recherche/commentaires Linear et les réactions/réponses Slack. Les opérations GitHub peuvent être proxy afin que le bac à sable voie un jeton factice pendant que le serveur exécute les requêtes autorisées. Les outils facultatifs Datadog, LangSmith et Corridor s'exécutent côté serveur, gardant ces informations d'identification hors du bac à sable.

Groupe d'outilsAutorisation minimaleUtilisation abusive à haut risque
GitHubLire le code ; pousser une branche de tâches ; ouvrir/mettre à jour le brouillon de PRModification des protections, secrets, versions ou autres branches
Slack/LinearLisez le fil de discussion/le problème déclencheur et répondez-yRecherche de discussions confidentielles ou de messages de masse
HTTP/récupérationDocumentation publique autorisée lorsque cela est possibleSSRF, accès aux métadonnées, exfiltration et instructions sur les pages hostiles
ObservabilitéServices en lecture seule, limités et utilisateurs autorisésFuite de données client ou de secrets intégrés dans les journaux/traces
CoquilleContrôle total uniquement dans un bac à sable aux ressources limitéesBombes à fourche, cryptomining, analyse de réseau ou persistance
Sous-agentsAutorité identique ou plus étroite que celle du parentMultiplication des coûts, des conflits et des appels d'outils

La validation est le plus grand écart par défaut

Le README décrit la validation comme étant pilotée par une invite : l'agent est invité à exécuter des linters, des formateurs et des tests avant de s'engager. Les instructions ne sont pas exécutoires. Un agent peut ignorer des tests coûteux, mal lire les résultats, affaiblir un test, se moquer d'un comportement ou revendiquer la réussite après un délai d'attente. Le projet lui-même recommande d’ajouter des CI déterministes, une vérification visuelle ou des portes d’examen.

Déplacez l’acceptation en dehors de la boucle du modèle. Le service ne doit pas marquer une tâche comme réussie tant que les commandes requises ne sont pas exécutées dans un nouvel environnement et n'ont pas renvoyé les résultats attendus lisibles par la machine. L'agent ne doit pas modifier le flux de travail qui détermine son propre état de réussite, sauf si cette modification du flux de travail est examinée séparément.

PortePreuve indépendantePolitique d'échec
PortéeChemins modifiés par rapport à la liste autorisée des problèmesBloquer la mise à jour des relations publiques ou demander une exception humaine
Construire/vérifier le typeNouvelle commande de paiement et code de sortieJoindre les journaux et marquer comme incomplet
EssaisSuites requises et examen des tests modifiésAucune boucle de nouvelle tentative qui modifie silencieusement les attentes
SécuritéScanners de dépendances, secrets et analyses statiquesRecherche de quarantaine ; ne jamais rejeter automatiquement
VisuelComparaison de captures d'écran sur des itinéraires/fenêtres définisApprobation humaine pour des différences significatives
Possibilité de révisionChamps de taille de différence, de résumé, de risque et de restaurationDiviser les changements surdimensionnés ou mixtes

Les threads persistants nécessitent des règles de cycle de vie

Les messages de suivi Slack/Linear sont acheminés vers le même thread déterministe et le même bac à sable persistant. Cela préserve le contexte, mais peut également préserver les états compromis, les branches obsolètes, les secrets téléchargés et les processus incontrôlables. Définissez la durée de vie maximale, le délai d'inactivité, le quota de disque et un chemin de « recréation à partir d'un modèle propre ». Un ticket rouvert des semaines plus tard ne devrait pas reprendre silencieusement un ancien environnement non corrigé.

Le middleware injecte les messages en file d'attente avant le prochain appel de modèle. Enregistrez quel message a modifié la tâche, qui l'a envoyé et si la portée s'est étendue. Si un suivi demande un nouveau référentiel, un nouveau système externe ou une action de production, créez une nouvelle décision d'autorisation au lieu de la traiter comme un contexte conversationnel ordinaire.

Sous-agents : parallélisme utile avec le coût non linéaire

Deep Agents peut générer des agents enfants avec leur propre middleware, listes de tâches et opérations sur les fichiers. Utilisez-les uniquement pour des travaux indépendants nécessitant beaucoup de lecture, tels que la localisation de tests, la comparaison de API ou l'examen d'une différence limitée. Plusieurs rédacteurs dans une même branche peuvent écraser les hypothèses et créer un changement plus important et moins cohérent.

  • Définissez un nombre maximum d'enfants, une limite d'appels de modèles, un budget de jetons et une date limite d'horloge murale.
  • Attribuez des fichiers qui ne se chevauchent pas ou demandez à un parent de sérialiser les modifications.
  • Ne laissez pas les autorisations des enfants plus larges que celles du parent.
  • Faites en sorte que chaque enfant renvoie des preuves et des incertitudes, et pas seulement des conclusions en prose.
  • Imputez toutes les activités enfants à la tâche d'origine pour mesurer les coûts.

Choix de déploiement et de dépendances

Open SWE nécessite plus que l'installation d'un package Python : backend, tableau de bord, services LangGraph/LangSmith, GitHub App/OAuth, intégrations d'invocation, fournisseur de bac à sable, informations d'identification du modèle et hébergement de production. Le code est sous licence MIT, mais les sandbox cloud, les modèles, les plateformes d'observabilité et de messagerie ont des conditions de tarification et de données distinctes.

Épinglez le commit Open SWE et tous les verrous de dépendance. Stockez les secrets des applications dans un système de secrets gérés, alternez les secrets des webhooks, validez les signatures et rejetez les événements rejoués. Installations de développement et de production séparées. Un webhook public et un puissant GitHub App constituent une cible attrayante.

Sélection des tâches

TâcheAdéquationRaison
Migration mécanique APIBon piloteModèles clairs, fichiers délimités et tests déterministes
Ajouter des tests unitaires manquantsBien avec avisRecherche utile, mais les tests peuvent coder un mauvais comportement
Mise à jour des dépendancesConditionnelNécessite un journal des modifications, un examen de la sécurité et de la compatibilité
Caractéristique du produit ambiguëMauvais ajustement initialLes exigences et le jugement UX dominent le codage
Refonte de l'authentificationRisque élevéL’architecture de sécurité nécessite une expertise responsable
Incident de productionMauvaise adéquation autonomeLa pression du temps et l’autorité en direct amplifient les erreurs

Mesurer les travaux d'ingénierie acceptés

Suivez le taux d'acceptation des tâches, les minutes des réviseurs, la transmission CI lors de la première exécution indépendante, les défauts rouverts, les résultats de sécurité, les minutes sandbox, les jetons de modèle et le coût total par PR fusionné. Comparez avec une référence humaine avec une complexité de tâche similaire. Le nombre de PR et les lignes modifiées correspondent au volume de production, pas à la productivité.

Maintenez un groupe de contrôle sans agent et un groupe avec agent synchrone. Les agents asynchrones peuvent réduire les interruptions tout en augmentant les lots de révision. La question utile est de savoir si les délais de livraison et la qualité acceptée s'améliorent sans transférer la charge de travail cachée aux réviseurs et aux ingénieurs de la plateforme.

Alternatives

OptionsMeilleur ajustementCompromis par rapport à Open SWE
Open SWEÉquipes créant une plateforme d'agent asynchrone interne personnalisableIntégration, sécurité et propriété opérationnelle importantes
Codex / Claude CodeTravail de terminal synchrone supervisé par un développeurMoins d’orchestration des flux de travail en arrière-plan
GitHub Copilot agent de codageFlux de problème à PR géré natif sur GitHubMoins de personnalisation au niveau du framework et un modèle d'hébergement différent
DevinEspace de travail de codage autonome géréPlateforme hébergée commerciale et moins de contrôle interne
OpenHandsExécution et recherche d'un agent de codage open sourceObjectif d'intégration et d'orchestration différent
Scripts/bots CIMigrations déterministes, formatage et mises à jourRaisonnement moins flexible, souvent plus sûr et moins cher pour des tâches connues

Questions fréquemment posées

Open SWE est-il un service hébergé ?

Il s'agit d'un framework open source. Les opérateurs le déploient et le configurent et achètent ou exécutent les services de modèle, de bac à sable et d'intégration requis.

Quels bacs à sable sont pris en charge ?

Le référentiel actuel répertorie Modal, Daytona, Runloop, E2B et LangSmith, ainsi qu'un chemin de personnalisation.

Prend-il en charge Slack, Linear et GitHub ?

Oui. Il s’agit des principales surfaces d’invocation et de suivi documentées.

Un bac à sable sécurise-t-il les autorisations complètes ?

Non. Cela isole l’exécution locale, mais l’autorité du réseau, du référentiel et du compte externe nécessite des contrôles distincts.

Est-ce qu'il vérifie automatiquement le code ?

La valeur par défaut s'appuie fortement sur les instructions de l'agent pour exécuter les vérifications. Les équipes doivent ajouter des CI externes déterministes et des portes d'examen.

Est-ce open source ?

Oui. Le référentiel actuel est sous licence MIT.

Sources primaires

Dernière révision le 25 juillet 2026. Open SWE évolue rapidement ; épinglez la révision déployée et revalidez les intégrations, le comportement du bac à sable, les outils et les contrôles de sécurité après les mises à niveau.

Ready to try Open SWE?

Visit the official website to get started

Visit Open SWE

Quick Info

Added
5/28/2026
Published
5/27/2026
Updated
8/26/2026

Share This Tool

Have an AI tool to share?

Submit it to AI Dreamhub

Get your product in front of people actively exploring AI tools.

Submit Your Tool
Cursor

Cursor

Built to make you extraordinarily productive, Cursor is the best way to code with AI. - Outil IA intelligent pour améliorer votre productivité.

ai-codingfree
1080
GitHub Copilot

GitHub Copilot

GitHub Copilot est l’assistant de codage de GitHub pour IDE, GitHub.com, pull requests, CLI, revue de code et développement agentique. Il convient aux équipes qui veulent une aide IA dans leurs dépôts tout en gardant tests, review et gouvernance.

GitHub CopilotAI coding assistantCopilot Chat
990
Trae

Trae

Trae is your helpful coding partner. It offers features like AI Q&A, code auto-completion, and agent-based AI programming capabilities. - Outil IA intelligent pour améliorer votre productivité.

ai-codingfree
1140
MarsCode

MarsCode

MarsCode est un assistant de codage et outil de développement proche d’un IDE pour complétion, explication, debugging et génération de code. Les métadonnées officielles pointent aussi vers Trae AI IDE, donc la page doit expliquer clairement l’état du produit.

MarsCodeTrae AI IDEAI coding assistant
1050