2 points par GN⁺ 2025-08-07 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • J'ai découvert que le logiciel Claude Desktop d'Anthropic utilise ma bibliothèque open source de simulation d'entrée enigo
  • enigo fonctionne sous Windows, macOS, BSD et Linux et est utilisé de manière essentielle dans Claude Desktop, basé sur Electron
  • J'ai envoyé une candidature à Anthropic, mais j'ai reçu un refus en raison d'un manque de personnel dans l'équipe
  • enigo est sous licence MIT, donc disponible gratuitement pour tous ; je n'en retire donc aucun bénéfice financier direct
  • J'exprime à la fois de la frustration et de la fierté d'avoir donné des "bras et des jambes" à Claude, tout en étant refusé lors du processus de recrutement

Introduction

En octobre 2024, Anthropic a présenté la fonctionnalité "Claude Computer Use". Cette fonctionnalité permet à l'IA de contrôler un ordinateur, par exemple pour copier des données depuis un navigateur web vers un tableur. En tant que mainteneur d'une bibliothèque de contrôle d'ordinateur, j'ai été intéressé par l'approche d'Anthropic, et j'ai voulu l'analyser et apprendre comment elle fonctionne. En mars 2025, Anthropic est une entreprise leader du secteur de l'IA, valorisée à plus de 60 milliards de dollars.

La bibliothèque enigo et Claude Desktop

J'ai découvert qu'Anthropic utilisait la bibliothèque enigo que j'ai développée dans la version desktop de Claude. La présence d'enigo dans Claude Desktop sur MacOS peut être vérifiée avec la commande suivante :

$ 7z x Claude.dmg
$ perl -nle 'print $& while /.{0,67}enigo.{0,30}/g' Claude/Claude.app/Contents/Resources/app.asar.unpacked/node_modules/claude-native/claude-native-binding.node

Exemple de sortie :

  • /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/enigo-0.2.1/src/macos/macos_impl.rs
  • La même méthode permet aussi de vérifier l'utilisation d'enigo dans la version Windows de Claude

enigo se caractérise par :

  • prise en charge de multiples plateformes : Windows, macOS, BSD, Linux (wayland, X11, libei)
  • écrit en Rust, offrant sûreté mémoire et performances élevées
  • pas besoin de privilèges root
  • plus de 300 000 téléchargements sur crates.io et plus de 1200 stars sur GitHub
  • la simulation d'entrée est un domaine plutôt complexe en raison des différences de gestion des entrées entre OS et d'une documentation limitée
  • pratiquement la seule bibliothèque Rust à implémenter une simulation d'entrée multiplateforme

Open source et modèle de rémunération

enigo est distribué sous licence MIT et peut être utilisé gratuitement par tous. Aucune rémunération directe n'est perçue ni par les entreprises, ni par les utilisateurs. En échange, on obtient uniquement une reconnaissance communautaire via le nombre d'étoiles GitHub et de téléchargements crates.io.

Electron, et l'ironie de l'absence de Linux

Bien que Claude Desktop soit basé sur Electron, il ne supporte officiellement que macOS et Windows. Malgré que l'atout d'Electron soit justement le support multiplateforme, il n'existe pas de version Linux. La communauté d'utilisateurs a tenté un portage vers Linux en utilisant des stubs personnalisés (par exemple : claude-desktop-linux-flake, etc.)
Il est d'ailleurs amusant de constater qu'une approche de contournement a été nécessaire, alors qu'enigo supporte bien Linux.

Candidature chez Anthropic, puis refus

J'ai appris par l'intermédiaire d'une connaissance qu'Anthropic recrutait un poste de développement de fonctionnalités inédites au sein de l'équipe Claude Desktop. Étant donné que cette équipe utilise enigo de manière centrale, j'ai jugé que c'était une opportunité adaptée et j'ai postulé.

  • Le courriel de réponse automatique indiquait que l'équipe n'avait pas les ressources suffisantes pour examiner des candidatures supplémentaires
  • Après quelques semaines, j'ai reçu un e-mail de refus, mettant fin au processus de recrutement

En cas de succès :

  • Je voulais faire évoluer une fonctionnalité proche de Computer Use de Claude Desktop
  • Je disposais d'une expertise qui aurait pu contribuer au portage de Claude Desktop vers Linux
  • Je pouvais aider de manière significative à améliorer enigo et à augmenter la qualité du projet

Conclusion et impressions

enigo m'apporte une vraie fierté d'avoir été adopté par Anthropic Claude Desktop. En même temps, j'accepte avec humour d'avoir été refusé par la même entreprise dont on utilise mes 'bras et mes jambes'. Pour finir, je plaisante aussi en disant que, du moins pour moi, cela réduit les risques liés au Roko's Basilisk.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.