Guide OpenCode Web
OpenCode Web dans le navigateur : choisir le port et sécuriser l’accès
En bref : lancez opencode web pour utiliser OpenCode dans un navigateur, gardez la liaison localhost sur une machine personnelle et définissez un mot de passe avant d’autoriser un autre appareil. Ce guide couvre l’interface Web, les ports, les hostnames, CORS, les sessions, opencode attach, Windows, WSL et le diagnostic des couches.
- Réponse rapide
- OpenCode Web dans le navigateur
- Vérification documentaire
- Vérifié le 25 octobre 2026
- Temps de lecture
- 14 min de lecture
Réponse rapide
OpenCode Web en bref

| Objectif | Commande ou réglage | Vérification |
|---|---|---|
| Démarrer en local | opencode web | Le navigateur s’ouvre et le serveur reste sur localhost. |
| Choisir un port | opencode web --port 4096 | Le port est libre et l’URL est notée. |
| Autoriser le réseau | --hostname 0.0.0.0 | Un mot de passe est défini avant toute autre connexion. |
| Protéger un serveur partagé | OPENCODE_SERVER_PASSWORD | Le secret est injecté au runtime, jamais commité. |
| Joindre le TUI | opencode attach http://localhost:4096 | Le Web et le terminal utilisent la bonne session. |
Réponse rapide : commencer en local puis élargir la limite avec soin
OpenCode Web est l’interface navigateur du serveur OpenCode. Elle permet de voir les sessions, d’ouvrir un projet dans un onglet ou d’avoir une seconde vue sans rester dans le TUI. Cela reste un service de développement local et non un compte hébergé qui gère vos identifiants fournisseur.
La première commande est opencode web, sans modifier le hostname. La documentation officielle indique que le serveur se lie à 127.0.0.1, choisit un port libre et ouvre le navigateur par défaut. Cette limite locale permet de vérifier projet, fournisseur, permissions et sessions.
Choisissez seulement ensuite un port fixe, un hostname réseau, mDNS ou une règle CORS. Chaque option change les personnes pouvant se connecter. Une erreur de navigateur concerne souvent le processus ou le port ; une exposition indésirable est un problème de limite.
Démarrer OpenCode Web et noter l’URL locale
opencode webLancez la commande depuis le dépôt à utiliser. OpenCode démarre le serveur Web et ouvre le navigateur. Gardez le terminal propriétaire du processus le temps de noter adresse, port et avertissements. Une page ouverte ne prouve pas que le bon projet ou le bon modèle est accessible.
Pour une adresse stable, utilisez opencode web --port 4096. Un port fixe facilite signets, scripts et opencode attach, mais peut entrer en collision. Identifiez d’abord le processus qui occupe le port au lieu de publier tous les ports de la machine.
La première tâche doit rester en lecture seule : lister le projet, résumer un petit fichier et vérifier session ou état du serveur. Contrôlez ensuite Git status et le modèle dans le même workspace. Vous obtenez ainsi une preuve séparée pour navigateur, processus, dépôt et fournisseur.
Port, hostname, mDNS et CORS : comprendre chaque réglage
Le port est un numéro du serveur ; le hostname définit les interfaces qui acceptent les connexions. 127.0.0.1 est local. --port 4096 change le numéro, alors que --hostname 0.0.0.0 élargit l’écoute et peut rendre le service joignable sur le réseau.
mDNS est pratique sur un réseau local de confiance. L’exemple officiel utilise opencode web --mdns et publie opencode.local, avec --mdns-domain pour plusieurs instances. La découverte ne chiffre pas le trafic et ne remplace pas l’authentification.
CORS indique quels origins de navigateur peuvent effectuer des requêtes cross-origin. Il peut servir à un frontend précis, mais ne rend pas privé un serveur exposé. Gardez une liste étroite et testez l’Origin réel.
| Réglage | Défaut ou exemple | Limite à vérifier |
|---|---|---|
| Port | Aléatoire ; --port 4096 | Collision, signet et URL attach |
| Hostname | 127.0.0.1 ; LAN avec 0.0.0.0 | Interfaces et appareils autorisés |
| mDNS | --mdns et domaine optionnel | Réseau de confiance et collisions |
| CORS | --cors https://example.com | Origin exact, pas une règle globale |
Sécuriser OpenCode Web avant l’accès réseau
L’avertissement officiel est explicite : sans OPENCODE_SERVER_PASSWORD, le serveur n’est pas protégé. Cela peut convenir à un test local, pas à une écoute accessible par un autre appareil. Injectez le mot de passe au lancement et ne le placez pas dans opencode.json, l’historique, une capture ou un .env commité.
Le nom d’utilisateur par défaut est opencode et OPENCODE_SERVER_USERNAME permet de le changer. Ces identifiants protègent le serveur Web, pas le fournisseur ni le dépôt. Vérifiez séparément clés, permissions, montages et utilisateur du processus.
Avant --hostname 0.0.0.0, contrôlez le pare-feu et le segment réseau. Préférez un réseau privé, un mot de passe temporaire et un port connu. Avec proxy, VPN ou frontend, notez où TLS se termine et quelle couche voit encore la session.

Gérer les sessions et attacher le terminal
La page d’accueil Web affiche les sessions actives et permet d’en créer. Confirmez le projet avant d’envoyer une requête. Un onglet peut rester ouvert après un changement de processus ou de dépôt ; vérifiez donc l’état du serveur.
L’état du serveur aide à distinguer le processus Web de la session de codage. Si le modèle manque, vérifiez fournisseur et ID ; si les fichiers manquent, vérifiez répertoire de travail et utilisateur avant de modifier le prompt.
Pour utiliser les deux interfaces, démarrez Web puis exécutez opencode attach http://localhost:4096 dans un autre terminal. La documentation décrit des sessions et un état partagés. Gardez un seul auteur pour les écritures et inspectez chaque petit diff.
Windows et WSL : vérifier le contexte d’exécution
La page Web officielle recommande WSL sous Windows pour la meilleure intégration des fichiers et du terminal. C’est important si le dépôt est sur un chemin Linux, si les outils sont dans WSL ou si PowerShell utilise un PATH et un home différents.
Notez où la commande s’exécute, où se trouve le dépôt et quel utilisateur possède le processus. Un navigateur Windows peut joindre WSL, mais localhost, pare-feu et chemins peuvent traverser une limite invisible depuis le terminal. Faites d’abord une requête en lecture seule.
Si la page s’ouvre mais qu’une commande échoue, comparez opencode --version, le répertoire, les variables du fournisseur et le shell qui a lancé Web. Les guides de déploiement, VS Code et permissions couvrent les couches voisines ; celui-ci reste centré sur le serveur navigateur.
Dépannage : isoler la couche en échec
Commencez par processus et URL, puis avancez vers le projet. Une erreur de connexion concerne processus, port, hostname, pare-feu ou CORS. Une page qui charge mais ne crée pas de session concerne projet, fournisseur, permissions ou modèle. Modifier tout en même temps détruit l’indice utile.
Avec un port fixe, vérifiez le processus à l’écoute et le même numéro dans l’URL imprimée. Avec un hostname réseau, testez d’abord localhost et le mot de passe, puis le second appareil. Avec mDNS, comparez le nom annoncé et l’adresse réelle.
Si une session surprend, sauvegardez commande, répertoire, ID de modèle, origine des variables et Git status. Reproduisez une petite requête en lecture puis un changement documentaire. Arrêtez-vous si le diff contient secrets, fichiers étrangers ou chemins hors worktree.
| Symptôme | Couche probable | Premier contrôle |
|---|---|---|
| Le navigateur refuse la connexion | Processus, port, hostname ou pare-feu | Lire l’URL du terminal et tester localhost |
| La page charge sans session | Fournisseur, modèle ou workspace | État serveur, ID et répertoire |
| Un autre appareil ne se connecte pas | Binding, pare-feu ou mot de passe | Hostname, port connu et secret runtime |
| Le frontend est bloqué | CORS | Comparer Origin et liste autorisée |
| Le TUI voit un autre état | URL attach ou processus | Attacher au port imprimé et comparer |
Quand OpenCode Web est le bon choix
Choisissez Web lorsque le navigateur facilite la revue du projet et de la conversation, lorsque vous voulez une seconde vue du serveur ou une URL locale répétable. Le TUI reste préférable pour le clavier, le shell intensif ou un environnement sans navigateur.
Web ne remplace pas les guides fournisseur, permissions ou Docker : il change seulement l’accès au serveur. Identifiants, droits, montages, outils MCP et revue Git demandent toujours leurs contrôles. Liez la page étroite correspondant à la prochaine décision.
Une routine robuste est : démarrer en local, vérifier projet et modèle, mettre un mot de passe avant d’élargir le hostname, noter le port, attacher le TUI si besoin et arrêter le serveur à la fin. Un listener de développement ne devient pas ainsi un service public.
FAQ OpenCode Web
Qu’est-ce qu’OpenCode Web ?
C’est l’interface navigateur servie par la CLI OpenCode. Lancez opencode web pour démarrer un serveur local et ouvrir l’UI.
Comment démarrer OpenCode Web ?
Exécutez opencode web dans le projet voulu. Le serveur utilise localhost et un port libre par défaut.
Comment choisir un port fixe ?
Utilisez opencode web --port 4096, vérifiez qu’il est libre et réutilisez l’URL pour le navigateur ou opencode attach.
OpenCode Web est-il sûr sans mot de passe ?
La documentation indique que le serveur est sans protection sans OPENCODE_SERVER_PASSWORD. Définissez-en un avant l’accès réseau.
Puis-je accéder depuis un autre appareil ?
Oui, avec un hostname adapté, un mot de passe, un pare-feu contrôlé et un réseau de confiance. N’exposez pas un serveur de développement au hasard.
Comment relier le terminal ?
Démarrez Web puis exécutez opencode attach http://localhost:4096 dans un autre terminal en remplaçant le port.
Faut-il utiliser WSL sous Windows ?
La documentation officielle le recommande pour l’intégration fichiers/terminal. Contrôlez chemins, PATH, variables et pare-feu dans le shell qui démarre le serveur.
Sources officielles
Vérifier le contrat Web actuel
Commandes et comportement vérifiés le 25 octobre 2026 dans les pages officielles Web, CLI et configuration. Les options changent ; vérifiez-les avant d’exposer un serveur.