Le coworker IA open source et local d'Andrew Ng, OpenWorker, livre des tâches finies plutôt que du chat
Andrew Ng vient de publier OpenWorker, un agent de bureau open source sous licence MIT conçu pour livrer un travail terminé plutôt qu'une conversation. L'utilisateur ne formule pas un prompt mais décrit un résultat attendu, un document finalisé, une réponse Slack contenant les vrais chiffres, un agenda mis à jour ou une boîte mail triée, et l'outil découpe cet objectif en étapes concrètes. Le dépôt compte 119 fichiers Python, soit environ 32 400 lignes, dans le dossier coworker, 149 fichiers TypeScript et TSX pour l'interface graphique, et 78 modules de tests côté serveur. L'architecture repose sur quatre couches qui tournent entièrement en local: une coquille de bureau Tauri 2 avec une interface React 18, un serveur d'agent Python 3.10 sous FastAPI et uvicorn écoutant par défaut sur 127.0.0.1:8765, une couche d'outils et de connecteurs regroupant fichiers, git, recherche via ripgrep, terminal et intégrations MCP, et enfin un routeur de modèles bâti sur aisuite, la bibliothèque multi-fournisseurs déjà développée par Andrew Ng. Il n'existe aucun service d'inférence propre à OpenWorker: l'utilisateur fournit sa propre clé API ou pointe vers un modèle local. La liste homologuée compte exactement trente modèles, dont les gammes GPT d'OpenAI, Claude d'Anthropic, Gemini de Google, ainsi que GLM, DeepSeek, Kimi, MiniMax, Qwen3 Max, Grok, Mistral Large, des modèles ouverts via Together AI et Fireworks, et des modèles totalement locaux via Ollama, sans clé requise. La vraie innovation technique du projet tient dans son moteur de permissions. Chaque appel d'outil est classé selon quatre niveaux de risque, lecture seule, écriture locale limitée au dossier de travail, exécution de commandes, ou action externe affectant d'autres systèmes. Cinq modes déterminent ensuite ce qui est autorisé, allant d'un mode purement consultatif à un mode automatique complet, en passant par un mode interactif par défaut qui demande confirmation avant toute écriture ou commande. Fait notable, le mode sans supervision ne relâche pas le niveau d'autonomie: il redirige simplement les demandes de validation vers une boîte de réception où la session reste suspendue jusqu'à réponse humaine. Les commandes shell, elles, demandent systématiquement confirmation, sans exception possible. Le profil intégré instruit aussi le modèle à traiter tout contenu issu d'outils, du web ou de fichiers comme une donnée non fiable plutôt que comme une instruction, une protection explicite contre les injections de prompt. Sur le plan de la confidentialité, les appels aux modèles partent directement de la machine de l'utilisateur vers le fournisseur choisi, sans passer par un serveur intermédiaire, et les clés ne transitent jamais dans le contexte du modèle. Seul un service cloud optionnel gère l'authentification OAuth des connecteurs via Auth0, sans jamais stocker les jetons. L'application fonctionne intégralement hors connexion à ce service, avec des identifiants saisis manuellement, ce qui illustre une approche local-first assumée dans un secteur où la plupart des agents d'IA restent dépendants d'infrastructures propriétaires.














































