cli.mdx 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  1. ---
  2. title: CLI
  3. description: Options et commandes CLI OpenCode.
  4. ---
  5. import { Tabs, TabItem } from "@astrojs/starlight/components"
  6. La CLI OpenCode démarre par défaut le [TUI](/docs/tui) lorsqu'il est exécuté sans aucun argument.
  7. ```bash
  8. opencode
  9. ```
  10. Mais il accepte également les commandes documentées sur cette page. Cela vous permet d'interagir avec OpenCode par programme.
  11. ```bash
  12. opencode run "Explain how closures work in JavaScript"
  13. ```
  14. ---
  15. ### tui
  16. Démarrez l’interface utilisateur du terminal OpenCode.
  17. ```bash
  18. opencode [project]
  19. ```
  20. #### Drapeaux
  21. | Drapeau | Court | Descriptif |
  22. | ------------ | ----- | ----------------------------------------------------------------------------- |
  23. | `--continue` | `-c` | Continuer la dernière séance |
  24. | `--session` | `-s` | ID de session pour continuer |
  25. | `--fork` | | Forker la session en continuant (à utiliser avec `--continue` ou `--session`) |
  26. | `--prompt` | | Invite à utiliser |
  27. | `--model` | `-m` | Modèle à utiliser sous forme de fournisseur/modèle |
  28. | `--agent` | | Agent à utiliser |
  29. | `--port` | | Port à écouter sur |
  30. | `--hostname` | | Nom d'hôte sur lequel écouter |
  31. ---
  32. ## Commandes
  33. La CLI OpenCode dispose également des commandes suivantes.
  34. ---
  35. ### agent
  36. Gérer les agents pour OpenCode.
  37. ```bash
  38. opencode agent [command]
  39. ```
  40. ---
  41. ### attacher
  42. Attachez un terminal à un serveur backend OpenCode déjà en cours d'exécution démarré via les commandes `serve` ou `web`.
  43. ```bash
  44. opencode attach [url]
  45. ```
  46. Cela permet d'utiliser le TUI avec un backend OpenCode distant. Par exemple:
  47. ```bash
  48. # Start the backend server for web/mobile access
  49. opencode web --port 4096 --hostname 0.0.0.0
  50. # In another terminal, attach the TUI to the running backend
  51. opencode attach http://10.20.30.40:4096
  52. ```
  53. #### Drapeaux
  54. | Drapeau | Court | Descriptif |
  55. | ----------- | ----- | ---------------------------------------------- |
  56. | `--dir` | | Répertoire de travail dans lequel démarrer TUI |
  57. | `--session` | `-s` | ID de session pour continuer |
  58. ---
  59. #### créer
  60. Créez un nouvel agent avec une configuration personnalisée.
  61. ```bash
  62. opencode agent create
  63. ```
  64. Cette commande vous guidera dans la création d'un nouvel agent avec une invite système personnalisée et une configuration d'outil.
  65. ---
  66. #### liste
  67. Répertoriez tous les agents disponibles.
  68. ```bash
  69. opencode agent list
  70. ```
  71. ---
  72. ### authentification
  73. Commande pour gérer les informations d’identification et la connexion des fournisseurs.
  74. ```bash
  75. opencode auth [command]
  76. ```
  77. ---
  78. #### se connecter
  79. 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`.
  80. ```bash
  81. opencode auth login
  82. ```
  83. Lorsque OpenCode démarre, il charge les fournisseurs à partir du fichier d'informations d'identification. Et s'il y a des clés définies dans vos environnements ou un fichier `.env` dans votre projet.
  84. ---
  85. #### liste
  86. Répertorie tous les fournisseurs authentifiés tels qu'ils sont stockés dans le fichier d'informations d'identification.
  87. ```bash
  88. opencode auth list
  89. ```
  90. Ou la version courte.
  91. ```bash
  92. opencode auth ls
  93. ```
  94. ---
  95. #### déconnexion
  96. Vous déconnecte d'un fournisseur en l'effaçant du fichier d'informations d'identification.
  97. ```bash
  98. opencode auth logout
  99. ```
  100. ---
  101. ### github
  102. Gérez l'agent GitHub pour l'automatisation du référentiel.
  103. ```bash
  104. opencode github [command]
  105. ```
  106. ---
  107. #### installer
  108. Installez l'agent GitHub dans votre référentiel.
  109. ```bash
  110. opencode github install
  111. ```
  112. 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).
  113. ---
  114. #### courir
  115. Exécutez l'agent GitHub. Ceci est généralement utilisé dans les actions GitHub.
  116. ```bash
  117. opencode github run
  118. ```
  119. ##### Drapeaux
  120. | Drapeau | Descriptif |
  121. | --------- | ---------------------------------------------------- |
  122. | `--event` | Événement simulé GitHub pour lequel exécuter l'agent |
  123. | `--token` | Jeton d'accès personnel GitHub |
  124. ---
  125. ### MCP
  126. Gérer les serveurs Model Context Protocol.
  127. ```bash
  128. opencode mcp [command]
  129. ```
  130. ---
  131. #### ajouter
  132. Ajoutez un serveur MCP à votre configuration.
  133. ```bash
  134. opencode mcp add
  135. ```
  136. Cette commande vous guidera dans l’ajout d’un serveur MCP local ou distant.
  137. ---
  138. #### liste
  139. Répertoriez tous les serveurs MCP configurés et leur état de connexion.
  140. ```bash
  141. opencode mcp list
  142. ```
  143. Ou utilisez la version courte.
  144. ```bash
  145. opencode mcp ls
  146. ```
  147. ---
  148. #### authentification
  149. Authentifiez-vous auprès d'un serveur MCP compatible OAuth.
  150. ```bash
  151. opencode mcp auth [name]
  152. ```
  153. Si vous ne fournissez pas de nom de serveur, vous serez invité à sélectionner parmi les serveurs compatibles OAuth disponibles.
  154. Vous pouvez également répertorier les serveurs compatibles OAuth et leur statut d'authentification.
  155. ```bash
  156. opencode mcp auth list
  157. ```
  158. Ou utilisez la version courte.
  159. ```bash
  160. opencode mcp auth ls
  161. ```
  162. ---
  163. #### déconnexion
  164. Supprimez les informations d'identification OAuth pour un serveur MCP.
  165. ```bash
  166. opencode mcp logout [name]
  167. ```
  168. ---
  169. #### déboguer
  170. Déboguer les problèmes de connexion OAuth pour un serveur MCP.
  171. ```bash
  172. opencode mcp debug <name>
  173. ```
  174. ---
  175. ### modèles
  176. Répertoriez tous les modèles disponibles auprès des fournisseurs configurés.
  177. ```bash
  178. opencode models [provider]
  179. ```
  180. Cette commande affiche tous les modèles disponibles parmi vos fournisseurs configurés au format `provider/model`.
  181. Ceci est utile pour déterminer le nom exact du modèle à utiliser dans [votre config](/docs/config/).
  182. Vous pouvez éventuellement transmettre un ID de fournisseur pour filtrer les modèles en fonction de ce fournisseur.
  183. ```bash
  184. opencode models anthropic
  185. ```
  186. #### Drapeaux
  187. | Drapeau | Descriptif |
  188. | ----------- | ------------------------------------------------------------------------------------------ |
  189. | `--refresh` | Actualisez le cache des modèles à partir de models.dev |
  190. | `--verbose` | Utiliser une sortie de modèle plus détaillée (inclut des métadonnées telles que les coûts) |
  191. Utilisez l'indicateur `--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.
  192. ```bash
  193. opencode models --refresh
  194. ```
  195. ---
  196. ### courir
  197. Exécutez opencode en mode non interactif en transmettant directement une invite.
  198. ```bash
  199. opencode run [message..]
  200. ```
  201. Ceci est utile pour les scripts, l'automatisation ou lorsque vous souhaitez une réponse rapide sans lancer le TUI complet. Par exemple.
  202. ```bash "opencode run"
  203. opencode run Explain the use of context in Go
  204. ```
  205. 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 :
  206. ```bash
  207. # Start a headless server in one terminal
  208. opencode serve
  209. # In another terminal, run commands that attach to it
  210. opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
  211. ```
  212. #### Drapeaux
  213. | Drapeau | Court | Descriptif |
  214. | ------------ | ----- | ---------------------------------------------------------------------------------------------- |
  215. | `--command` | | La commande à exécuter, utilisez message pour args |
  216. | `--continue` | `-c` | Continuer la dernière séance |
  217. | `--session` | `-s` | ID de session pour continuer |
  218. | `--fork` | | Forker la session en continuant (à utiliser avec `--continue` ou `--session`) |
  219. | `--share` | | Partager la séance |
  220. | `--model` | `-m` | Modèle à utiliser sous forme de fournisseur/modèle |
  221. | `--agent` | | Agent à utiliser |
  222. | `--file` | `-f` | Fichier(s) à joindre au message |
  223. | `--format` | | Format : par défaut (formaté) ou json (événements JSON bruts) |
  224. | `--title` | | Titre de la session (utilise une invite tronquée si aucune valeur n'est fournie) |
  225. | `--attach` | | Connectez-vous à un serveur opencode en cours d'exécution (par exemple, http://localhost:4096) |
  226. | `--port` | | Port du serveur local (port aléatoire par défaut) |
  227. ---
  228. ### servir
  229. Démarrez un serveur OpenCode sans tête pour un accès API. Consultez le [serveur docs](/docs/server) pour l'interface complète HTTP.
  230. ```bash
  231. opencode serve
  232. ```
  233. Cela démarre un serveur HTTP qui fournit à API un accès à la fonctionnalité 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`).
  234. #### Drapeaux
  235. | Drapeau | Descriptif |
  236. | ------------ | ---------------------------------------------------------- |
  237. | `--port` | Port à écouter sur |
  238. | `--hostname` | Nom d'hôte sur lequel écouter |
  239. | `--mdns` | Activer la découverte mDNS |
  240. | `--cors` | Origines de navigateur supplémentaires pour autoriser CORS |
  241. ---
  242. ### session
  243. Gérer les sessions OpenCode.
  244. ```bash
  245. opencode session [command]
  246. ```
  247. ---
  248. #### liste
  249. Répertoriez toutes les sessions OpenCode.
  250. ```bash
  251. opencode session list
  252. ```
  253. ##### Drapeaux
  254. | Drapeau | Court | Descriptif |
  255. | ------------- | ----- | -------------------------------------------- |
  256. | `--max-count` | `-n` | Limiter aux N sessions les plus récentes |
  257. | `--format` | | Format de sortie : tableau ou json (tableau) |
  258. ---
  259. ### statistiques
  260. Affichez les statistiques d'utilisation et de coût des jetons pour vos sessions OpenCode.
  261. ```bash
  262. opencode stats
  263. ```
  264. #### Drapeaux
  265. | Drapeau | Descriptif |
  266. | ----------- | ------------------------------------------------------------------------------------------------------------------- |
  267. | `--days` | Afficher les statistiques des N derniers jours (tous les temps) |
  268. | `--tools` | Nombre d'outils à afficher (tous) |
  269. | `--models` | Afficher la répartition de l'utilisation du modèle (masqué par défaut). Passez un numéro pour afficher le premier N |
  270. | `--project` | Filtrer par projet (tous les projets, chaîne vide : projet en cours) |
  271. ---
  272. ### exporter
  273. Exportez les données de session sous JSON.
  274. ```bash
  275. opencode export [sessionID]
  276. ```
  277. Si vous ne fournissez pas d'ID de session, vous serez invité à sélectionner parmi les sessions disponibles.
  278. ---
  279. ### importer
  280. Importez les données de session à partir d'un fichier JSON ou d'un partage OpenCode URL.
  281. ```bash
  282. opencode import <file>
  283. ```
  284. Vous pouvez importer à partir d'un fichier local ou d'un partage OpenCode URL.
  285. ```bash
  286. opencode import session.json
  287. opencode import https://opncd.ai/s/abc123
  288. ```
  289. ---
  290. ### la toile
  291. Démarrez un serveur OpenCode sans tête avec une interface Web.
  292. ```bash
  293. opencode web
  294. ```
  295. 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`).
  296. #### Drapeaux
  297. | Drapeau | Descriptif |
  298. | ------------ | ---------------------------------------------------------- |
  299. | `--port` | Port à écouter sur |
  300. | `--hostname` | Nom d'hôte sur lequel écouter |
  301. | `--mdns` | Activer la découverte mDNS |
  302. | `--cors` | Origines de navigateur supplémentaires pour autoriser CORS |
  303. ---
  304. ### acp
  305. Démarrez un serveur ACP (Agent Client Protocol).
  306. ```bash
  307. opencode acp
  308. ```
  309. Cette commande démarre un serveur ACP qui communique via stdin/stdout en utilisant nd-JSON.
  310. #### Drapeaux
  311. | Drapeau | Descriptif |
  312. | ------------ | ----------------------------- |
  313. | `--cwd` | Répertoire de travail |
  314. | `--port` | Port à écouter sur |
  315. | `--hostname` | Nom d'hôte sur lequel écouter |
  316. ---
  317. ### désinstaller
  318. Désinstallez OpenCode et supprimez tous les fichiers associés.
  319. ```bash
  320. opencode uninstall
  321. ```
  322. #### Drapeaux
  323. | Drapeau | Court | Descriptif |
  324. | --------------- | ----- | --------------------------------------------------- |
  325. | `--keep-config` | `-c` | Conserver les fichiers de configuration |
  326. | `--keep-data` | `-d` | Conserver les données de session et les instantanés |
  327. | `--dry-run` | | Afficher ce qui serait supprimé sans supprimer |
  328. | `--force` | `-f` | Ignorer les invites de confirmation |
  329. ---
  330. ### mise à niveau
  331. Met à jour opencode vers la dernière version ou une version spécifique.
  332. ```bash
  333. opencode upgrade [target]
  334. ```
  335. Pour mettre à niveau vers la dernière version.
  336. ```bash
  337. opencode upgrade
  338. ```
  339. Pour passer à une version spécifique.
  340. ```bash
  341. opencode upgrade v0.1.48
  342. ```
  343. #### Drapeaux
  344. | Drapeau | Court | Descriptif |
  345. | ---------- | ----- | ----------------------------------------------------------------------- |
  346. | `--method` | `-m` | La méthode d'installation utilisée ; curl, npm, pnpm, chignon, infusion |
  347. ---
  348. ## Drapeaux mondiaux
  349. La CLI opencode prend les indicateurs globaux suivants.
  350. | Drapeau | Court | Descriptif |
  351. | -------------- | ----- | --------------------------------------------------- |
  352. | `--help` | `-h` | Afficher l'aide |
  353. | `--version` | `-v` | Imprimer le numéro de version |
  354. | `--print-logs` | | Imprimer les journaux sur stderr |
  355. | `--log-level` | | Niveau de journalisation (DEBUG, INFO, WARN, ERROR) |
  356. ---
  357. ## Variables d'environnement
  358. OpenCode peut être configuré à l'aide de variables d'environnement.
  359. | Variables | Tapez | Descriptif |
  360. | ------------------------------------- | ------- | --------------------------------------------------------------------------------- |
  361. | `OPENCODE_AUTO_SHARE` | booléen | Partager automatiquement des sessions |
  362. | `OPENCODE_GIT_BASH_PATH` | chaîne | Chemin vers l'exécutable Git Bash sur Windows |
  363. | `OPENCODE_CONFIG` | chaîne | Chemin d'accès au fichier de configuration |
  364. | `OPENCODE_CONFIG_DIR` | chaîne | Chemin d'accès au répertoire de configuration |
  365. | `OPENCODE_CONFIG_CONTENT` | chaîne | Contenu de configuration JSON en ligne |
  366. | `OPENCODE_DISABLE_AUTOUPDATE` | booléen | Désactiver les vérifications automatiques des mises à jour |
  367. | `OPENCODE_DISABLE_PRUNE` | booléen | Désactiver l'élagage des anciennes données |
  368. | `OPENCODE_DISABLE_TERMINAL_TITLE` | booléen | Désactiver les mises à jour automatiques des titres du terminal |
  369. | `OPENCODE_PERMISSION` | chaîne | Configuration des autorisations JSON intégrées |
  370. | `OPENCODE_DISABLE_DEFAULT_PLUGINS` | booléen | Désactiver les plugins par défaut |
  371. | `OPENCODE_DISABLE_LSP_DOWNLOAD` | booléen | Désactiver les téléchargements automatiques du serveur LSP |
  372. | `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | booléen | Activer les modèles expérimentaux |
  373. | `OPENCODE_DISABLE_AUTOCOMPACT` | booléen | Désactiver le compactage automatique du contexte |
  374. | `OPENCODE_DISABLE_CLAUDE_CODE` | booléen | Désactiver la lecture de `.claude` (invite + compétences) |
  375. | `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | booléen | Désactiver la lecture `~/.claude/CLAUDE.md` |
  376. | `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | booléen | Désactiver le chargement de `.claude/skills` |
  377. | `OPENCODE_DISABLE_MODELS_FETCH` | booléen | Désactiver la récupération de modèles à partir de sources distantes |
  378. | `OPENCODE_FAKE_VCS` | chaîne | Faux fournisseur VCS à des fins de test |
  379. | `OPENCODE_DISABLE_FILETIME_CHECK` | booléen | Désactiver la vérification de l'heure des fichiers pour l'optimisation |
  380. | `OPENCODE_CLIENT` | chaîne | Identifiant du client (par défaut `cli`) |
  381. | `OPENCODE_ENABLE_EXA` | booléen | Activer les outils de recherche Web Exa |
  382. | `OPENCODE_SERVER_PASSWORD` | chaîne | Activer l'authentification de base pour `serve`/`web` |
  383. | `OPENCODE_SERVER_USERNAME` | chaîne | Remplacer le nom d'utilisateur d'authentification de base (par défaut `opencode`) |
  384. | `OPENCODE_MODELS_URL` | chaîne | URL personnalisé pour récupérer la configuration des modèles |
  385. ---
  386. ### Expérimental
  387. Ces variables d'environnement activent des fonctionnalités expérimentales qui peuvent être modifiées ou supprimées.
  388. | Variables | Tapez | Descriptif |
  389. | ----------------------------------------------- | ------- | --------------------------------------------------------------- |
  390. | `OPENCODE_EXPERIMENTAL` | booléen | Activer toutes les fonctionnalités expérimentales |
  391. | `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | booléen | Activer la découverte d'icônes |
  392. | `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | booléen | Désactiver la copie lors de la sélection dans TUI |
  393. | `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | numéro | Délai d'expiration par défaut pour les commandes bash dans ms |
  394. | `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | numéro | Nombre maximum de jetons de sortie pour les réponses LLM |
  395. | `OPENCODE_EXPERIMENTAL_FILEWATCHER` | booléen | Activer l'observateur de fichiers pour l'ensemble du répertoire |
  396. | `OPENCODE_EXPERIMENTAL_OXFMT` | booléen | Activer le formateur oxfmt |
  397. | `OPENCODE_EXPERIMENTAL_LSP_TOOL` | booléen | Activer l'outil expérimental LSP |
  398. | `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | booléen | Désactiver l'observateur de fichiers |
  399. | `OPENCODE_EXPERIMENTAL_EXA` | booléen | Activer les fonctionnalités Exa expérimentales |
  400. | `OPENCODE_EXPERIMENTAL_LSP_TY` | booléen | Activer la vérification expérimentale du type LSP |
  401. | `OPENCODE_EXPERIMENTAL_MARKDOWN` | booléen | Activer les fonctionnalités de démarque expérimentales |
  402. | `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booléen | Activer le mode plan |