OPENCODE-BROWSER : un vrai navigateur intégré dans le terminal via OpenCode V2
https://github.com/neriousy/opencode-browser
📌 OPENCODE-BROWSER est un plugin pour OpenCode V2 qui embarque un navigateur Electron entièrement rendu dans le terminal, avec onglets, navigation clavier, et accès MCP pour les agents IA.
Le concept sort de l’ordinaire : au lieu de lancer un Electron dans une fenêtre séparée, opencode-browser fait tourner un runtime Electron caché en arrière-plan et pousse les frames RGBA directement dans le terminal via le protocole graphique de Kitty. Le résultat est une page web interactive — clavier, souris, scroll, formulaires, liens — qui vit dans un onglet d’OpenCode au même titre que vos sessions de chat agent. On tape /browser, la page apparaît. On tape /browser https://example.com, l’onglet navigue. Les onglets multiples partagent un seul Electron, les pages en arrière-plan restent vivantes à 1 fps, et seule la page visible est rendue activement.
https://twitter.com/Neriousy/status/2083288273292574976/video/1
Le plugin enregistre automatiquement deux serveurs MCP locaux : opencode-browser-control pour naviguer, créer et fermer des onglets en arrière-plan, et opencode-browser-devtools pour inspecter les pages via Chrome DevTools MCP. Un agent peut donc ouvrir un onglet, le charger, prendre un screenshot, inspecter le DOM — tout ça sans que l’utilisateur quitte OpenCode. Les trois identifiants de page (tabId, targetId, pageId) sont bien documentés pour éviter les confusions entre les couches.
Les contraintes sont claires : terminal Kitty-compatible uniquement (Ghostty testé en priorité), pas de tmux/screen, pas de sessions distantes, pas de popups. Electron et le terminal doivent tourner sur la même machine. Sur Apple M5, un onglet actif à 30 fps consomme environ 280 MiB et 27 % d’un core — acceptable pour un navigateur réel, mais à réserver aux cas où un agent a besoin d’interagir avec une page web.
- 🖥️ Navigateur réel rendu dans le terminal via Kitty graphics protocol
- 📑 Onglets multiples avec un seul runtime Electron partagé
- 🤖 Deux serveurs MCP : contrôle et Chrome DevTools intégrés
- ⌨️ Navigation clavier complète dans l’interface OpenCode
- 🔄 Pages en arrière-plan vivantes à 1 fps, 30 fps en avant-plan
