--- title: CLI description: Options et commandes de la CLI OpenCode. --- import { Tabs, TabItem } from "@astrojs/starlight/components" La CLI OpenCode démarre par défaut le [TUI](/docs/tui) lorsqu'il est exécuté sans aucun argument. ```bash opencode ``` Mais elle accepte également les commandes documentées sur cette page. Cela vous permet d'interagir avec OpenCode par programme. ```bash opencode run "Explain how closures work in JavaScript" ``` --- ### tui Démarrez l’interface utilisateur du terminal OpenCode. ```bash opencode [project] ``` #### Options | Option | Court | Description | | ---------------------------------------- | ----- | ----------------------------------------------------------------------------- | | {"--continue"} | `-c` | Continuer la dernière session | | {"--session"} | `-s` | ID de session pour continuer | | {"--fork"} | | Forker la session en continuant (à utiliser avec `--continue` ou `--session`) | | {"--prompt"} | | Prompt à utiliser | | {"--model"} | `-m` | Modèle à utiliser sous forme de fournisseur/modèle | | {"--agent"} | | Agent à utiliser | | {"--port"} | | Port d'écoute | | {"--hostname"} | | Nom d'hôte d'écoute | --- ## Commandes La CLI OpenCode dispose également des commandes suivantes. --- ### agent Gérer les agents pour OpenCode. ```bash opencode agent [command] ``` --- ### attach Attachez un terminal à un serveur backend OpenCode déjà en cours d'exécution démarré via les commandes `serve` ou `web`. ```bash opencode attach [url] ``` Cela permet d'utiliser le TUI avec un backend OpenCode distant. Par exemple : ```bash # Start the backend server for web/mobile access opencode web --port 4096 --hostname 0.0.0.0 # In another terminal, attach the TUI to the running backend opencode attach http://10.20.30.40:4096 ``` #### Options | Option | Court | Description | | ---------------------------------------- | ----- | -------------------------------------------------------------------------------------------------- | | {"--dir"} | | Répertoire de travail dans lequel démarrer TUI | | {"--continue"} | `-c` | Continuer la dernière session | | {"--session"} | `-s` | ID de session pour continuer | | {"--fork"} | | Dupliquer la session lors de la reprise (à utiliser avec `--continue` ou `--session`) | | {"--password"} | `-p` | Mot de passe d'authentification de base (par défaut `OPENCODE_SERVER_PASSWORD`) | | {"--username"} | `-u` | Nom d'utilisateur d'authentification de base (par défaut `OPENCODE_SERVER_USERNAME` ou `opencode`) | --- #### create Créez un nouvel agent avec une configuration personnalisée. ```bash opencode agent create ``` Cette commande vous guidera dans la création d'un nouvel agent avec un prompt système personnalisé et une configuration d'outils. --- #### list Liste tous les agents disponibles. ```bash opencode agent list ``` --- ### auth Commande pour gérer les informations d’identification et la connexion des fournisseurs. ```bash opencode auth [command] ``` --- #### login OpenCode est alimenté par la liste des fournisseurs sur [Models.dev](https://models.dev), vous pouvez donc utiliser `opencode auth login` pour configurer les clés API pour tout fournisseur que vous souhaitez utiliser. Ceci est stocké dans `~/.local/share/opencode/auth.json`. ```bash opencode auth login ``` Lorsque OpenCode démarre, il charge les fournisseurs à partir du fichier d'informations d'identification, ainsi que les clés définies dans vos environnements ou un fichier `.env` dans votre projet. --- #### list Liste tous les fournisseurs authentifiés tels qu'ils sont stockés dans le fichier d'informations d'identification. ```bash opencode auth list ``` Ou la version courte. ```bash opencode auth ls ``` --- #### logout Vous déconnecte d'un fournisseur en l'effaçant du fichier d'informations d'identification. ```bash opencode auth logout ``` --- ### github Gérez l'agent GitHub pour l'automatisation du dépôt. ```bash opencode github [command] ``` --- #### install Installez l'agent GitHub dans votre dépôt. ```bash opencode github install ``` Cela configure le flux de travail GitHub Actions nécessaire et vous guide tout au long du processus de configuration. [En savoir plus](/docs/github). --- #### run Exécutez l'agent GitHub. Ceci est généralement utilisé dans les GitHub Actions. ```bash opencode github run ``` ##### Options | Option | Description | | ------------------------------------- | ---------------------------------------------------- | | {"--event"} | Événement simulé GitHub pour lequel exécuter l'agent | | {"--token"} | Jeton d'accès personnel GitHub | --- ### MCP Gérer les serveurs Model Context Protocol. ```bash opencode mcp [command] ``` --- #### add Ajoutez un serveur MCP à votre configuration. ```bash opencode mcp add ``` Cette commande vous guidera dans l’ajout d’un serveur MCP local ou distant. --- #### list Liste tous les serveurs MCP configurés et leur état de connexion. ```bash opencode mcp list ``` Ou utilisez la version courte. ```bash opencode mcp ls ``` --- #### auth Authentifiez-vous auprès d'un serveur MCP compatible OAuth. ```bash opencode mcp auth [name] ``` Si vous ne fournissez pas de nom de serveur, vous serez invité à sélectionner parmi les serveurs compatibles OAuth disponibles. Vous pouvez également répertorier les serveurs compatibles OAuth et leur statut d'authentification. ```bash opencode mcp auth list ``` Ou utilisez la version courte. ```bash opencode mcp auth ls ``` --- #### logout Supprimez les informations d'identification OAuth pour un serveur MCP. ```bash opencode mcp logout [name] ``` --- #### debug Déboguer les problèmes de connexion OAuth pour un serveur MCP. ```bash opencode mcp debug ``` --- ### models Liste tous les modèles disponibles auprès des fournisseurs configurés. ```bash opencode models [provider] ``` Cette commande affiche tous les modèles disponibles parmi vos fournisseurs configurés au format `provider/model`. Ceci est utile pour déterminer le nom exact du modèle à utiliser dans [votre config](/docs/config/). Vous pouvez éventuellement transmettre un ID de fournisseur pour filtrer les modèles en fonction de ce fournisseur. ```bash opencode models anthropic ``` #### Options | Option | Description | | --------------------------------------- | ------------------------------------------------------------------------------------------ | | {"--refresh"} | Actualisez le cache des modèles à partir de models.dev | | {"--verbose"} | Utiliser une sortie de modèle plus détaillée (inclut des métadonnées telles que les coûts) | Utilisez l'option `--refresh` pour mettre à jour la liste des modèles mis en cache. Ceci est utile lorsque de nouveaux modèles ont été ajoutés à un fournisseur et que vous souhaitez les voir dans OpenCode. ```bash opencode models --refresh ``` --- ### run Exécutez opencode en mode non interactif en transmettant directement un prompt. ```bash opencode run [message..] ``` Ceci est utile pour les scripts, l'automatisation ou lorsque vous souhaitez une réponse rapide sans lancer le TUI complet. Par exemple : ```bash "opencode run" opencode run Explain the use of context in Go ``` Vous pouvez également vous connecter à une instance `opencode serve` en cours d'exécution pour éviter les temps de démarrage à froid du serveur MCP à chaque exécution : ```bash # Start a headless server in one terminal opencode serve # In another terminal, run commands that attach to it opencode run --attach http://localhost:4096 "Explain async/await in JavaScript" ``` #### Options | Option | Court | Description | | ---------------------------------------- | ----- | -------------------------------------------------------------------------------------------------- | | {"--command"} | | La commande à exécuter, utilisez le message pour les arguments | | {"--continue"} | `-c` | Continuer la dernière session | | {"--session"} | `-s` | ID de session pour continuer | | {"--fork"} | | Forker la session en continuant (à utiliser avec `--continue` ou `--session`) | | {"--share"} | | Partager la session | | {"--model"} | `-m` | Modèle à utiliser sous forme de fournisseur/modèle | | {"--agent"} | | Agent à utiliser | | {"--file"} | `-f` | Fichier(s) à joindre au message | | {"--format"} | | Format : par défaut (formaté) ou json (événements JSON bruts) | | {"--title"} | | Titre de la session (utilise un prompt tronqué si aucune valeur n'est fournie) | | {"--attach"} | | Connectez-vous à un serveur opencode en cours d'exécution (par exemple, http://localhost:4096) | | {"--password"} | `-p` | Mot de passe d'authentification de base (par défaut `OPENCODE_SERVER_PASSWORD`) | | {"--username"} | `-u` | Nom d'utilisateur d'authentification de base (par défaut `OPENCODE_SERVER_USERNAME` ou `opencode`) | | {"--dir"} | | Répertoire d'exécution, ou chemin sur le serveur distant lors de l'attachement | | {"--variant"} | | Variante du modèle (effort de raisonnement spécifique au fournisseur) | | {"--thinking"} | | Afficher les blocs de réflexion | | {"--port"} | | Port du serveur local (port aléatoire par défaut) | --- ### serve Démarrez un serveur OpenCode sans interface graphique pour un accès API. Consultez le [serveur docs](/docs/server) pour l'interface complète HTTP. ```bash opencode serve ``` Cela démarre un serveur HTTP qui fournit un accès API aux fonctionnalités d'OpenCode sans l'interface TUI. Définissez `OPENCODE_SERVER_PASSWORD` pour activer l'authentification de base HTTP (le nom d'utilisateur par défaut est `opencode`). #### Options | Option | Description | | ---------------------------------------- | ---------------------------------------------------------- | | {"--port"} | Port d'écoute | | {"--hostname"} | Nom d'hôte d'écoute | | {"--mdns"} | Activer la découverte mDNS | | {"--cors"} | Origines de navigateur supplémentaires pour autoriser CORS | --- ### session Gérer les sessions OpenCode. ```bash opencode session [command] ``` --- #### list Liste toutes les sessions OpenCode. ```bash opencode session list ``` ##### Options | Option | Court | Description | | ----------------------------------------- | ----- | -------------------------------------------- | | {"--max-count"} | `-n` | Limiter aux N sessions les plus récentes | | {"--format"} | | Format de sortie : tableau ou json (tableau) | --- ### stats Affichez les statistiques d'utilisation et de coût des jetons pour vos sessions OpenCode. ```bash opencode stats ``` #### Options | Option | Description | | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | {"--days"} | Afficher les statistiques des N derniers jours (depuis le début) | | {"--tools"} | Nombre d'outils à afficher (tous) | | {"--models"} | Afficher la répartition de l'utilisation du modèle (masqué par défaut). Passez un numéro pour afficher les N premiers | | {"--project"} | Filtrer par projet (tous les projets, chaîne vide : projet actuel) | --- ### export Exportez les données de session au format JSON. ```bash opencode export [sessionID] ``` Si vous ne fournissez pas d'ID de session, vous serez invité à sélectionner parmi les sessions disponibles. --- ### import Importez les données de session à partir d'un fichier JSON ou d'une URL de partage OpenCode. ```bash opencode import ``` Vous pouvez importer à partir d'un fichier local ou d'une URL de partage OpenCode. ```bash opencode import session.json opencode import https://opncd.ai/s/abc123 ``` --- ### web Démarrez un serveur OpenCode sans interface graphique avec une interface Web. ```bash opencode web ``` Cela démarre un serveur HTTP et ouvre un navigateur Web pour accéder à OpenCode via une interface Web. Définissez `OPENCODE_SERVER_PASSWORD` pour activer l'authentification de base HTTP (le nom d'utilisateur par défaut est `opencode`). #### Options | Option | Description | | ---------------------------------------- | ---------------------------------------------------------- | | {"--port"} | Port d'écoute | | {"--hostname"} | Nom d'hôte d'écoute | | {"--mdns"} | Activer la découverte mDNS | | {"--cors"} | Origines de navigateur supplémentaires pour autoriser CORS | --- ### acp Démarrez un serveur ACP (Agent Client Protocol). ```bash opencode acp ``` Cette commande démarre un serveur ACP qui communique via stdin/stdout en utilisant nd-JSON. #### Options | Option | Description | | ---------------------------------------- | --------------------- | | {"--cwd"} | Répertoire de travail | | {"--port"} | Port d'écoute | | {"--hostname"} | Nom d'hôte d'écoute | --- ### uninstall Désinstallez OpenCode et supprimez tous les fichiers associés. ```bash opencode uninstall ``` #### Options | Option | Court | Description | | ------------------------------------------- | ----- | --------------------------------------------------- | | {"--keep-config"} | `-c` | Conserver les fichiers de configuration | | {"--keep-data"} | `-d` | Conserver les données de session et les instantanés | | {"--dry-run"} | | Afficher ce qui serait supprimé sans supprimer | | {"--force"} | `-f` | Ignorer les invites de confirmation | --- ### upgrade Met à jour opencode vers la dernière version ou une version spécifique. ```bash opencode upgrade [target] ``` Pour mettre à niveau vers la dernière version. ```bash opencode upgrade ``` Pour passer à une version spécifique. ```bash opencode upgrade v0.1.48 ``` #### Options | Option | Court | Description | | -------------------------------------- | ----- | --------------------------------------------------------------- | | {"--method"} | `-m` | La méthode d'installation utilisée ; curl, npm, pnpm, bun, brew | --- ## Options globales La CLI opencode prend les flags globaux suivants. | Option | Court | Description | | ------------------------------------------ | ----- | ---------------------------------------- | | {"--help"} | `-h` | Afficher l'aide | | {"--version"} | `-v` | Afficher le numéro de version | | {"--print-logs"} | | Afficher les logs sur stderr | | {"--log-level"} | | Niveau de log (DEBUG, INFO, WARN, ERROR) | --- ## Variables d'environnement OpenCode peut être configuré à l'aide de variables d'environnement. | Variables | Type | Description | | ------------------------------------- | ------- | --------------------------------------------------------------------------------- | | `OPENCODE_AUTO_SHARE` | booléen | Partager automatiquement des sessions | | `OPENCODE_GIT_BASH_PATH` | chaîne | Chemin vers l'exécutable Git Bash sur Windows | | `OPENCODE_CONFIG` | chaîne | Chemin d'accès au fichier de configuration | | `OPENCODE_TUI_CONFIG` | chaîne | Chemin d'accès au fichier de configuration TUI | | `OPENCODE_CONFIG_DIR` | chaîne | Chemin d'accès au répertoire de configuration | | `OPENCODE_CONFIG_CONTENT` | chaîne | Contenu de configuration JSON en ligne | | `OPENCODE_DISABLE_AUTOUPDATE` | booléen | Désactiver les vérifications automatiques des mises à jour | | `OPENCODE_DISABLE_PRUNE` | booléen | Désactiver le nettoyage des anciennes données | | `OPENCODE_DISABLE_TERMINAL_TITLE` | booléen | Désactiver les mises à jour automatiques des titres du terminal | | `OPENCODE_PERMISSION` | chaîne | Configuration des autorisations JSON intégrées | | `OPENCODE_DISABLE_DEFAULT_PLUGINS` | booléen | Désactiver les plugins par défaut | | `OPENCODE_DISABLE_LSP_DOWNLOAD` | booléen | Désactiver les téléchargements automatiques du serveur LSP | | `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | booléen | Activer les modèles expérimentaux | | `OPENCODE_DISABLE_AUTOCOMPACT` | booléen | Désactiver le compactage automatique du contexte | | `OPENCODE_DISABLE_CLAUDE_CODE` | booléen | Désactiver la lecture de `.claude` (prompt + compétences) | | `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | booléen | Désactiver la lecture `~/.claude/CLAUDE.md` | | `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | booléen | Désactiver le chargement de `.claude/skills` | | `OPENCODE_DISABLE_MODELS_FETCH` | booléen | Désactiver la récupération de modèles à partir de sources distantes | | `OPENCODE_FAKE_VCS` | chaîne | Faux fournisseur VCS à des fins de test | | `OPENCODE_CLIENT` | chaîne | Identifiant du client (par défaut `cli`) | | `OPENCODE_ENABLE_EXA` | booléen | Activer les outils de recherche Web Exa | | `OPENCODE_SERVER_PASSWORD` | chaîne | Activer l'authentification de base pour `serve`/`web` | | `OPENCODE_SERVER_USERNAME` | chaîne | Remplacer le nom d'utilisateur d'authentification de base (par défaut `opencode`) | | `OPENCODE_MODELS_URL` | chaîne | URL personnalisé pour récupérer la configuration des modèles | --- ### Expérimental Ces variables d'environnement activent des fonctionnalités expérimentales qui peuvent être modifiées ou supprimées. | Variables | Type | Description | | ----------------------------------------------- | ------- | --------------------------------------------------------------- | | `OPENCODE_EXPERIMENTAL` | booléen | Activer toutes les fonctionnalités expérimentales | | `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | booléen | Activer la découverte d'icônes | | `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | booléen | Désactiver la copie lors de la sélection dans TUI | | `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | numéro | Délai d'expiration par défaut pour les commandes bash en ms | | `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | numéro | Nombre maximum de jetons de sortie pour les réponses LLM | | `OPENCODE_EXPERIMENTAL_FILEWATCHER` | booléen | Activer l'observateur de fichiers pour l'ensemble du répertoire | | `OPENCODE_EXPERIMENTAL_OXFMT` | booléen | Activer le formateur oxfmt | | `OPENCODE_EXPERIMENTAL_LSP_TOOL` | booléen | Activer l'outil expérimental LSP | | `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | booléen | Désactiver l'observateur de fichiers | | `OPENCODE_EXPERIMENTAL_EXA` | booléen | Activer les fonctionnalités Exa expérimentales | | `OPENCODE_EXPERIMENTAL_LSP_TY` | booléen | Activer TY LSP pour les fichiers python | | `OPENCODE_EXPERIMENTAL_MARKDOWN` | booléen | Activer les fonctionnalités Markdown expérimentales | | `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booléen | Activer le mode plan |