I gave AI access to my PC
L'intervenant expérimente l'agent IA OpenCode sur Linux pour automatiser des tâches complexes, comme la configuration de raccourcis clavier et le passage GPU pour une machine virtuelle Windows, illustrant à la fois le potentiel et les limites de la délégation de contrôle...

SYNTHÈSE STRUCTURÉE
L’agent IA OpenCode comme assistant système
L’intervenant installe et utilise OpenCode, un agent IA open-source capable d’exécuter des commandes et de modifier des fichiers sur le système hôte. Cet outil fonctionne comme un assistant de développement et d’administration, pouvant interagir avec le terminal et les fichiers. L’idée est de lui déléguer des tâches fastidieuses : « So, I can just let AI control and do things with your computer. Text is now becoming the interface. » 🛠️
Configuration automatique de raccourcis clavier Vim-like
La première mission est de configurer les touches HJKL (héritées de Vim) comme touches fléchées lorsqu’elles sont pressées avec la touche Alt droit, pour uniformiser l’expérience entre macOS, Windows et Linux. OpenCode identifie correctement l’environnement de bureau (Hyprland) et tente d’implémenter la solution, mais rencontre des erreurs initiales.
L’importance des gestionnaires de paquets et des démons
La solution passe par l’installation du paquet keyd via pacman (le gestionnaire de paquets d’Arch Linux) et l’activation du service système correspondant avec systemctl. Cela montre que l’agent IA doit comprendre et manipuler les composants fondamentaux de l’écosystème Linux pour être efficace. Après quelques ajustements, la configuration fonctionne, même avec des touches modifiantes (Ctrl, Shift).
La quête du GPU Passthrough, un problème récurrent
Le second défi est bien plus complexe : configurer un GPU Passthrough pour une machine virtuelle Windows sous QEMU/KVM. L’intervenant admet avoir échoué à plusieurs reprises sur ce sujet : « I’ve been trying to get this to work for like three videos… I rage quit. » L’agent IA se lance dans une série de commandes pour configurer les modules noyau (vfio-pci), le chargeur d’amorçage (limine) et l’hyperviseur.
Les risques de l’accès root et la perte de contexte
Pour accomplir des tâches administratives, OpenCode demande un accès sudo. L’intervenant, conscient du danger (« it’s way too dangerous to give it my password »), exécute d’abord les commandes manuellement. Un problème majeur survient : l’agent n’a pas de mémoire persistante par défaut entre les sessions, ce qui complique la reprise d’un processus long après un redémarrage.
Gestion de la persistance des conversations
La découverte de la fonction /share permet de générer un lien vers la conversation, et plus tard, l’intervenant trouve la liste des sessions précédentes dans l’interface. Cette fonctionnalité est cruciale pour les projets étendus et évite de devoir sauvegarder manuellement un résumé dans un fichier texte.
Installation semi-automatisée d’une VM Windows
Guidé par l’agent, l’intervenant utilise virt-manager (l’interface graphique pour libvirt) pour créer une machine virtuelle. OpenCode télécharge même une ISO de Windows 10 Enterprise LTSC. Cependant, le processus est semé d’embûches : écrans bleus, erreurs de démarrage, et finalement, un échec de l’installation Windows, menant à un nouvel abandon frustré.
CONCEPTS CLÉS
- OpenCode : Un agent IA open-source qui peut exécuter des commandes et éditer des fichiers sur la machine locale.
- GPU Passthrough : Une technique de virtualisation qui attribue un périphérique physique (comme une carte graphique) directement à une machine virtuelle, pour des performances quasi-natives.
- VFIO (Virtual Function I/O) : Un framework noyau Linux qui permet le passage sécurisé de périphériques PCIe à des machines virtuelles.
- QEMU/KVM : Une stack de virtualisation open-source largement utilisée sur Linux. QEMU émule le matériel, tandis que KVM (Kernel-based Virtual Machine) fournit l’accélération matérielle.
- Hyprland : Un environnement de bureau (ou plus précisément, un compositeur Wayland) dynamique et hautement personnalisable pour Linux.
- systemctl : La commande principale pour contrôler le gestionnaire de services
systemd, utilisé pour démarrer, arrêter ou activer des services (commekeyd). - Vim keys (HJKL) : Les touches utilisées dans l’éditeur de texte Vim pour la navigation (gauche, bas, haut, droite), devenues populaires dans d’autres outils pour une navigation au clavier efficace.
CONCLUSION
L’expérience démontre que les agents IA comme OpenCode sont des outils puissants pour automatiser des tâches d’administration système et de configuration, transformant effectivement l’invite de commande en une interface conversationnelle. 🚀 Cependant, ils ne sont pas infaillibles : leur efficacité dépend de la précision du modèle sous-jacent, et ils peuvent facilement se perdre dans des processus complexes ou causer des dommages si on leur donne un accès trop permissif sans supervision. Le message principal est que ces agents sont des assistants précieux, mais pas des magiciens. Ils peuvent accélérer le workflow et résoudre des problèmes, mais exigent toujours une compréhension de la part de l’utilisateur pour valider les actions, gérer le contexte (comme la persistance des conversations) et intervenir quand les choses tournent mal – comme dans l’éternelle quête, souvent frustrante, du GPU Passthrough.