fix(docs): locale translations for nav elements and headings

This commit is contained in:
Adam
2026-02-11 18:51:27 -06:00
parent 8eea53a41e
commit aea68c386a
484 changed files with 12718 additions and 11212 deletions

View File

@@ -1,9 +1,9 @@
---
title: ACP Assistance
title: Support ACP
description: Utilisez OpenCode dans nimporte quel éditeur compatible ACP.
---
OpenCode prend en charge le [Agent Client Protocol](https://agentclientprotocol.com) ou (ACP), vous permettant de l'utiliser directement dans les éditeurs et IDE compatibles.
OpenCode prend en charge le [Agent Client Protocol](https://agentclientprotocol.com) (ACP), vous permettant de l'utiliser directement dans les éditeurs et IDE compatibles.
:::tip
Pour obtenir une liste des éditeurs et des outils prenant en charge ACP, consultez le [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now).
@@ -13,11 +13,11 @@ ACP est un protocole ouvert qui standardise la communication entre les éditeurs
---
## Configurer
## Configuration
Pour utiliser OpenCode via ACP, configurez votre éditeur pour exécuter la commande `opencode acp`.
La commande démarre OpenCode en tant que sous-processus compatible ACP qui communique avec votre éditeur via JSON-RPC via stdio.
La commande démarre OpenCode en tant que sous-processus compatible ACP qui communique avec votre éditeur via JSON-RPC sur stdio.
Vous trouverez ci-dessous des exemples d'éditeurs populaires prenant en charge ACP.
@@ -25,7 +25,7 @@ Vous trouverez ci-dessous des exemples d'éditeurs populaires prenant en charge
### Zed
Ajoutez à votre configuration [Zed](https://zed.dev) (`~/.config/zed/settings.json`) :
Ajoutez à votre configuration [Zed](https://zed.dev) (`~/.config/zed/settings.json`) :
```json title="~/.config/zed/settings.json"
{
@@ -40,7 +40,7 @@ Ajoutez à votre configuration [Zed](https://zed.dev) (`~/.config/zed/settings.j
Pour l'ouvrir, utilisez l'action `agent: new thread` dans la **Palette de commandes**.
Vous pouvez également associer un raccourci clavier en modifiant votre `keymap.json` :
Vous pouvez également associer un raccourci clavier en modifiant votre `keymap.json` :
```json title="keymap.json"
[
@@ -69,7 +69,7 @@ Vous pouvez également associer un raccourci clavier en modifiant votre `keymap.
### IDE JetBrains
Ajoutez à votre [JetBrains IDE](https://www.jetbrains.com/) acp.json conformément à la [documentation](https://www.jetbrains.com/help/ai-assistant/acp.html) :
Ajoutez `acp.json` à votre [IDE JetBrains](https://www.jetbrains.com/) conformément à la [documentation](https://www.jetbrains.com/help/ai-assistant/acp.html) :
```json title="acp.json"
{
@@ -88,7 +88,7 @@ Pour l'ouvrir, utilisez le nouvel agent « OpenCode » dans le sélecteur d'agen
### Avante.nvim
Ajoutez à votre configuration [Avante.nvim](https://github.com/yetone/avante.nvim) :
Ajoutez à votre configuration [Avante.nvim](https://github.com/yetone/avante.nvim) :
```lua
{
@@ -101,7 +101,7 @@ Ajoutez à votre configuration [Avante.nvim](https://github.com/yetone/avante.nv
}
```
Si vous devez transmettre des variables d'environnement :
Si vous devez transmettre des variables d'environnement :
```lua {6-8}
{
@@ -121,7 +121,7 @@ Si vous devez transmettre des variables d'environnement :
### CodeCompanion.nvim
Pour utiliser OpenCode comme agent ACP dans [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), ajoutez ce qui suit à votre configuration Neovim :
Pour utiliser OpenCode comme agent ACP dans [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), ajoutez ce qui suit à votre configuration Neovim :
```lua
require("codecompanion").setup({
@@ -138,11 +138,11 @@ require("codecompanion").setup({
Cette configuration configure CodeCompanion pour utiliser OpenCode comme agent ACP pour le chat.
Si vous devez transmettre des variables d'environnement (comme `OPENCODE_API_KEY`), reportez-vous à [Configuration des adaptateurs : variables d'environnement ](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) dans la documentation CodeCompanion.nvim pour plus de détails.
Si vous devez transmettre des variables d'environnement (comme `OPENCODE_API_KEY`), reportez-vous à [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) dans la documentation CodeCompanion.nvim pour plus de détails.
## Soutien
## Prise en charge
OpenCode fonctionne de la même manière via ACP que dans le terminal. Toutes les fonctionnalités sont prises en charge :
OpenCode fonctionne de la même manière via ACP que dans le terminal. Toutes les fonctionnalités sont prises en charge :
:::note
Certaines commandes slash intégrées telles que `/undo` et `/redo` ne sont actuellement pas prises en charge.

View File

@@ -3,7 +3,7 @@ title: Agents
description: Configurez et utilisez des agents spécialisés.
---
Les agents sont des assistants IA spécialisés qui peuvent être configurés pour des tâches et des flux de travail spécifiques. Ils vous permettent de créer des outils ciblés avec des invites, des modèles et un accès aux outils personnalisés.
Les agents sont des assistants IA spécialisés qui peuvent être configurés pour des tâches et des flux de travail spécifiques. Ils vous permettent de créer des outils ciblés avec des prompts, des modèles et un accès aux outils personnalisés.
:::tip
Utilisez l'agent de plan pour analyser le code et examiner les suggestions sans apporter de modifications au code.
@@ -15,68 +15,68 @@ Vous pouvez basculer entre les agents au cours d'une session ou les appeler avec
## Types
Il existe deux types d'agents dans OpenCode ; agents primaires et sous-agents.
Il existe deux types d'agents dans OpenCode ; agents primaires et sous-agents.
---
### Agents primaires
Les agents principaux sont les principaux assistants avec lesquels vous interagissez directement. Vous pouvez les parcourir à l'aide de la touche **Tab** ou de votre combinaison de touches `switch_agent` configurée. Ces agents gèrent votre conversation principale. L'accès aux outils est configuré via les autorisations : par exemple, Build a tous les outils activés tandis que Plan est restreint.
Les agents primaires sont les principaux assistants avec lesquels vous interagissez directement. Vous pouvez les parcourir à l'aide de la touche **Tab** ou de votre combinaison de touches `switch_agent` configurée. Ces agents gèrent votre conversation principale. L'accès aux outils est configuré via les autorisations : par exemple, Build a tous les outils activés tandis que Plan est restreint.
:::tip
Vous pouvez utiliser la touche **Tab** pour basculer entre les agents principaux au cours d'une session.
Vous pouvez utiliser la touche **Tab** pour basculer entre les agents primaires au cours d'une session.
:::
OpenCode est livré avec deux agents principaux intégrés, **Build** et **Plan**. Bien
regardez-les ci-dessous.
OpenCode est livré avec deux agents primaires intégrés, **Build** et **Plan**.
Nous les verrons ci-dessous.
---
### Sous-agents
Les sous-agents sont des assistants spécialisés que les agents principaux peuvent appeler pour des tâches spécifiques. Vous pouvez également les invoquer manuellement en **@ les mentionnant** dans vos messages.
Les sous-agents sont des assistants spécialisés que les agents primaires peuvent appeler pour des tâches spécifiques. Vous pouvez également les invoquer manuellement en **@ les mentionnant** dans vos messages.
OpenCode est livré avec deux sous-agents intégrés, **Général** et **Explore**. Nous verrons cela ci-dessous.
OpenCode est livré avec deux sous-agents intégrés, **General** et **Explore**. Nous verrons cela ci-dessous.
---
## Intégré
## Agents intégrés
OpenCode est livré avec deux agents principaux intégrés et deux sous-agents intégrés.
OpenCode est livré avec deux agents primaires intégrés et deux sous-agents intégrés.
---
### Utiliser Build
### Agent Build
_Mode_ : `primary`
Build est l'agent principal **par défaut** avec tous les outils activés. Il s'agit de l'agent standard pour les travaux de développement où vous avez besoin d'un accès complet aux opérations sur les fichiers et aux commandes système.
Build est l'agent primaire **par défaut** avec tous les outils activés. Il s'agit de l'agent standard pour les travaux de développement où vous avez besoin d'un accès complet aux opérations sur les fichiers et aux commandes système.
---
### Utiliser Plan
### Agent Plan
_Mode_ : `primary`
Un agent restreint conçu pour la planification et l'analyse. Nous utilisons un système d'autorisation pour vous donner plus de contrôle et empêcher toute modification involontaire.
Par défaut, tous les éléments suivants sont définis sur `ask` :
Par défaut, tous les éléments suivants sont définis sur `ask` :
- `file edits` : toutes les écritures, correctifs et modifications
- `bash` : toutes les commandes bash
- `file edits` : toutes les écritures, correctifs et modifications
- `bash` : toutes les commandes bash
Cet agent est utile lorsque vous souhaitez que LLM analyse le code, suggère des modifications ou crée des plans sans apporter de modifications réelles à votre base de code.
Cet agent est utile lorsque vous souhaitez que le LLM analyse le code, suggère des modifications ou crée des plans sans apporter de modifications réelles à votre base de code.
---
### Utiliser General
### Agent General
_Mode_ : `subagent`
Un agent polyvalent pour rechercher des questions complexes et exécuter des tâches en plusieurs étapes. Dispose d'un accès complet aux outils (sauf todo), il peut donc apporter des modifications aux fichiers en cas de besoin. Utilisez-le pour exécuter plusieurs unités de travail en parallèle.
Un agent polyvalent pour traiter des questions complexes et exécuter des tâches en plusieurs étapes. Dispose d'un accès complet aux outils (sauf todo), il peut donc apporter des modifications aux fichiers en cas de besoin. Utilisez-le pour exécuter plusieurs unités de travail en parallèle.
---
### Utiliser Explore
### Agent Explore
_Mode_ : `subagent`
@@ -84,7 +84,7 @@ Un agent rapide en lecture seule pour explorer les bases de code. Impossible de
---
### Utiliser Compaction
### Agent Compaction
_Mode_ : `primary`
@@ -92,7 +92,7 @@ Agent système caché qui compacte un contexte long en un résumé plus petit. I
---
### Utiliser Title
### Agent Title
_Mode_ : `primary`
@@ -100,7 +100,7 @@ Agent système caché qui génère des titres de session courts. Il s'exécute a
---
### Utiliser Summary
### Agent Summary
_Mode_ : `primary`
@@ -108,19 +108,19 @@ Agent système caché qui crée des résumés de session. Il s'exécute automati
---
## Usage
## Utilisation
1. Pour les agents principaux, utilisez la touche **Tab** pour les parcourir au cours d'une session. Vous pouvez également utiliser votre raccourci clavier `switch_agent` configuré.
1. Pour les agents primaires, utilisez la touche **Tab** pour les parcourir au cours d'une session. Vous pouvez également utiliser votre raccourci clavier `switch_agent` configuré.
2. Les sous-agents peuvent être invoqués :
- **Automatiquement** par les agents principaux pour des tâches spécialisées en fonction de leurs descriptions.
- Manuellement en **@ mentionnant** un sous-agent dans votre message. Par exemple.
2. Les sous-agents peuvent être invoqués :
- **Automatiquement** par les agents primaires pour des tâches spécialisées en fonction de leurs descriptions.
- Manuellement en **@ mentionnant** un sous-agent dans votre message. Par exemple :
```txt frame="none"
@general help me search for this function
```
3. **Navigation entre les sessions** : lorsque les sous-agents créent leurs propres sessions enfants, vous pouvez naviguer entre la session parent et toutes les sessions enfants en utilisant :
3. **Navigation entre les sessions** : lorsque les sous-agents créent leurs propres sessions enfants, vous pouvez naviguer entre la session parent et toutes les sessions enfants en utilisant :
- **\<Leader>+Right** (ou votre combinaison de touches `session_child_cycle` configurée) pour avancer via parent → enfant1 → enfant2 → ... → parent
- **\<Leader>+Left** (ou votre combinaison de touches `session_child_cycle_reverse` configurée) pour revenir en arrière dans parent ← enfant1 ← enfant2 ← ... ← parent
@@ -128,15 +128,15 @@ Cela vous permet de basculer en toute transparence entre la conversation princip
---
## Configurer
## Configuration
Vous pouvez personnaliser les agents intégrés ou créer les vôtres via la configuration. Les agents peuvent être configurés de deux manières :
Vous pouvez personnaliser les agents intégrés ou créer les vôtres via la configuration. Les agents peuvent être configurés de deux manières :
---
### JSON
Configurez les agents dans votre fichier de configuration `opencode.json` :
Configurez les agents dans votre fichier de configuration `opencode.json` :
```json title="opencode.json"
{
@@ -179,10 +179,10 @@ Configurez les agents dans votre fichier de configuration `opencode.json` :
### Markdown
Vous pouvez également définir des agents à l'aide de fichiers markdown. Placez-les dans :
Vous pouvez également définir des agents à l'aide de fichiers markdown. Placez-les dans :
- Global : `~/.config/opencode/agents/`
- Par projet : `.opencode/agents/`
- Par projet : `.opencode/agents/`
```markdown title="~/.config/opencode/agents/review.md"
---
@@ -253,11 +253,11 @@ Des valeurs faibles rendent les réponses plus ciblées et déterministes, tandi
}
```
Les valeurs de température varient généralement de 0,0 à 1,0 :
Les valeurs de température varient généralement de 0,0 à 1,0 :
- **0,0-0,2** : réponses très ciblées et déterministes, idéales pour l'analyse et la planification du code
- **0,3-0,5** : réponses équilibrées avec une certaine créativité, idéales pour les tâches de développement générales
- **0,6-1,0** : réponses plus créatives et variées, utiles pour le brainstorming et l'exploration
- **0,0-0,2** : réponses très ciblées et déterministes, idéales pour l'analyse et la planification du code
- **0,3-0,5** : réponses équilibrées avec une certaine créativité, idéales pour les tâches de développement générales
- **0,6-1,0** : réponses plus créatives et variées, utiles pour le brainstorming et l'exploration
```json title="opencode.json"
{
@@ -277,13 +277,13 @@ Les valeurs de température varient généralement de 0,0 à 1,0 :
}
```
Si aucune température n'est spécifiée, OpenCode utilise les valeurs par défaut spécifiques au modèle ; généralement 0 pour la plupart des modèles, 0,55 pour les modèles Qwen.
Si aucune température n'est spécifiée, OpenCode utilise les valeurs par défaut spécifiques au modèle ; généralement 0 pour la plupart des modèles, 0,55 pour les modèles Qwen.
---
### Pas maximum
### Étapes maximum
Contrôlez le nombre maximum d'itérations agents qu'un agent peut effectuer avant d'être obligé de répondre avec du texte uniquement. Cela permet aux utilisateurs qui souhaitent contrôler les coûts de fixer une limite aux actions agents.
Contrôlez le nombre maximum d'itérations que l'agent peut effectuer avant d'être obligé de répondre avec du texte uniquement. Cela permet aux utilisateurs qui souhaitent contrôler les coûts de fixer une limite aux actions agents.
Si cela n'est pas défini, l'agent continuera à itérer jusqu'à ce que le modèle choisisse de s'arrêter ou que l'utilisateur interrompe la session.
@@ -299,7 +299,7 @@ Si cela n'est pas défini, l'agent continuera à itérer jusqu'à ce que le mod
}
```
Lorsque la limite est atteinte, l'agent reçoit une invite système spéciale lui demandant de répondre avec un résumé de son travail et des tâches restantes recommandées.
Lorsque la limite est atteinte, l'agent reçoit un prompt système spécial lui demandant de répondre avec un résumé de son travail et des tâches restantes recommandées.
:::caution
Lancien champ `maxSteps` est obsolète. Utilisez plutôt `steps`.
@@ -323,9 +323,9 @@ Définissez sur `true` pour désactiver l'agent.
---
### Prompt
### Invite
Spécifiez un fichier d'invite système personnalisé pour cet agent avec la configuration `prompt`. Le fichier d'invite doit contenir des instructions spécifiques à l'objectif de l'agent.
Spécifiez un fichier de prompt système personnalisé pour cet agent avec la configuration `prompt`. Le fichier de prompt doit contenir des instructions spécifiques à l'objectif de l'agent.
```json title="opencode.json"
{
@@ -346,7 +346,7 @@ Ce chemin est relatif à l'emplacement du fichier de configuration. Cela fonctio
Utilisez la configuration `model` pour remplacer le modèle de cet agent. Utile pour utiliser différents modèles optimisés pour différentes tâches. Par exemple, un modèle de planification plus rapide, un modèle de mise en œuvre plus performant.
:::tip
Si vous ne spécifiez pas de modèle, les agents principaux utilisent le [modèle globalement configuré](/docs/config#models) tandis que les sous-agents utiliseront le modèle de l'agent principal qui a appelé le sous-agent.
Si vous ne spécifiez pas de modèle, les agents primaires utilisent le [modèle globalement configuré](/docs/config#models) tandis que les sous-agents utiliseront le modèle de l'agent primaire qui a appelé le sous-agent.
:::
```json title="opencode.json"
@@ -389,7 +389,7 @@ Contrôlez quels outils sont disponibles dans cet agent avec la configuration `t
La configuration spécifique à l'agent remplace la configuration globale.
:::
Vous pouvez également utiliser des caractères génériques pour contrôler plusieurs outils à la fois. Par exemple, pour désactiver tous les outils d'un serveur MCP :
Vous pouvez également utiliser des caractères génériques pour contrôler plusieurs outils à la fois. Par exemple, pour désactiver tous les outils d'un serveur MCP :
```json title="opencode.json"
{
@@ -412,11 +412,11 @@ Vous pouvez également utiliser des caractères génériques pour contrôler plu
### Autorisations
Vous pouvez configurer des autorisations pour gérer les actions qu'un agent peut effectuer. Actuellement, les autorisations pour les outils `edit`, `bash` et `webfetch` peuvent être configurées pour :
Vous pouvez configurer des autorisations pour gérer les actions qu'un agent peut effectuer. Actuellement, les autorisations pour les outils `edit`, `bash` et `webfetch` peuvent être configurées pour :
- `"ask"` — Demander l'approbation avant d'exécuter l'outil
- `"allow"` — Autoriser toutes les opérations sans approbation
- `"deny"`  Désactiver l'outil
- `"deny"` Désactiver l'outil
```json title="opencode.json"
{
@@ -482,7 +482,7 @@ Vous pouvez définir des autorisations pour des commandes bash spécifiques.
}
```
Cela peut prendre un modèle global.
Cela peut prendre un pattern glob.
```json title="opencode.json" {7}
{
@@ -540,7 +540,7 @@ L'option `mode` peut être définie sur `primary`, `subagent` ou `all`. Si aucun
---
### Caché
### Masqué
Masquez un sous-agent du menu de saisie semi-automatique `@` avec `hidden: true`. Utile pour les sous-agents internes qui ne doivent être invoqués que par programme par d'autres agents via l'outil Tâche.
@@ -565,7 +565,7 @@ S'applique uniquement aux agents `mode: subagent`.
### Autorisations de tâches
Contrôlez quels sous-agents un agent peut appeler via l'outil Tâche avec `permission.task`. Utilise des modèles globaux pour une correspondance flexible.
Contrôlez quels sous-agents un agent peut appeler via l'outil Tâche avec `permission.task`. Utilise des patterns glob pour une correspondance flexible.
```json title="opencode.json"
{
@@ -600,7 +600,7 @@ Les utilisateurs peuvent toujours appeler n'importe quel sous-agent directement
Personnalisez l'apparence visuelle de l'agent dans l'interface utilisateur avec l'option `color`. Cela affecte la façon dont l'agent apparaît dans l'interface.
Utilisez une couleur hexadécimale valide (par exemple, `#FF5733`) ou une couleur de thème : `primary`, `secondary`, `accent`, `success`, `warning`, `error`, `info`.
Utilisez une couleur hexadécimale valide (par exemple, `#FF5733`) ou une couleur de thème : `primary`, `secondary`, `accent`, `success`, `warning`, `error`, `info`.
```json title="opencode.json"
{
@@ -635,11 +635,11 @@ Les valeurs vont de 0,0 à 1,0. Les valeurs inférieures sont plus ciblées, les
---
### Supplémentaire
### Options supplémentaires
Toutes les autres options que vous spécifiez dans la configuration de votre agent seront **transmises directement** au fournisseur en tant qu'options de modèle. Cela vous permet d'utiliser des fonctionnalités et des paramètres spécifiques au fournisseur.
Par exemple, avec les modèles de raisonnement de OpenAI, vous pouvez contrôler l'effort de raisonnement :
Par exemple, avec les modèles de raisonnement d'OpenAI, vous pouvez contrôler l'effort de raisonnement :
```json title="opencode.json" {6,7}
{
@@ -662,21 +662,21 @@ Exécutez `opencode models` pour voir une liste des modèles disponibles.
---
## Créer des agents
## Création d'agents
Vous pouvez créer de nouveaux agents à l'aide de la commande suivante :
Vous pouvez créer de nouveaux agents à l'aide de la commande suivante :
```bash
opencode agent create
```
Cette commande interactive va :
Cette commande interactive va :
1. Demandez où enregistrer l'agent ; global ou spécifique à un projet.
2. Description de ce que l'agent doit faire.
3. Générez une invite système et un identifiant appropriés.
4. Vous permet de sélectionner les outils auxquels l'agent peut accéder.
5. Enfin, créez un fichier markdown avec la configuration de l'agent.
1. Demander où enregistrer l'agent ; global ou spécifique à un projet.
2. Demander une description de ce que l'agent doit faire.
3. Générer un prompt système et un identifiant appropriés.
4. Vous permettre de sélectionner les outils auxquels l'agent peut accéder.
5. Enfin, créer un fichier markdown avec la configuration de l'agent.
---
@@ -684,11 +684,11 @@ Cette commande interactive va :
Voici quelques cas dutilisation courants pour différents agents.
- **Agent de build** : travail de développement complet avec tous les outils activés
- **Agent de plan** : analyse et planification sans apporter de modifications
- **Agent de révision** : révision de code avec accès en lecture seule et outils de documentation
- **Agent de débogage** : axé sur l'investigation avec les outils bash et read activés
- **Agent Docs** : écriture de documentation avec des opérations sur les fichiers mais pas de commandes système
- **Agent de build** : travail de développement complet avec tous les outils activés
- **Agent de plan** : analyse et planification sans apporter de modifications
- **Agent de révision** : révision de code avec accès en lecture seule et outils de documentation
- **Agent de débogage** : axé sur l'investigation avec les outils bash et read activés
- **Agent Docs** : écriture de documentation avec des opérations sur les fichiers mais pas de commandes système
---

View File

@@ -1,6 +1,6 @@
---
title: CLI
description: Options et commandes CLI OpenCode.
description: Options et commandes de la CLI OpenCode.
---
import { Tabs, TabItem } from "@astrojs/starlight/components"
@@ -11,7 +11,7 @@ La CLI OpenCode démarre par défaut le [TUI](/docs/tui) lorsqu'il est exécuté
opencode
```
Mais il accepte également les commandes documentées sur cette page. Cela vous permet d'interagir avec OpenCode par programme.
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"
@@ -27,18 +27,18 @@ Démarrez linterface utilisateur du terminal OpenCode.
opencode [project]
```
#### Drapeaux
#### Options
| Drapeau | Court | Descriptif |
| Option | Court | Description |
| ------------ | ----- | ----------------------------------------------------------------------------- |
| `--continue` | `-c` | Continuer la dernière séance |
| `--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` | | Invite à utiliser |
| `--prompt` | | Prompt à utiliser |
| `--model` | `-m` | Modèle à utiliser sous forme de fournisseur/modèle |
| `--agent` | | Agent à utiliser |
| `--port` | | Port à écouter sur |
| `--hostname` | | Nom d'hôte sur lequel écouter |
| `--port` | | Port d'écoute |
| `--hostname` | | Nom d'hôte d'écoute |
---
@@ -66,7 +66,7 @@ Attachez un terminal à un serveur backend OpenCode déjà en cours d'exécution
opencode attach [url]
```
Cela permet d'utiliser le TUI avec un backend OpenCode distant. Par exemple:
Cela permet d'utiliser le TUI avec un backend OpenCode distant. Par exemple :
```bash
# Start the backend server for web/mobile access
@@ -76,9 +76,9 @@ opencode web --port 4096 --hostname 0.0.0.0
opencode attach http://10.20.30.40:4096
```
#### Drapeaux
#### Options
| Drapeau | Court | Descriptif |
| Option | Court | Description |
| ----------- | ----- | ---------------------------------------------- |
| `--dir` | | Répertoire de travail dans lequel démarrer TUI |
| `--session` | `-s` | ID de session pour continuer |
@@ -93,13 +93,13 @@ Créez un nouvel agent avec une configuration personnalisée.
opencode agent create
```
Cette commande vous guidera dans la création d'un nouvel agent avec une invite système personnalisée et une configuration d'outil.
Cette commande vous guidera dans la création d'un nouvel agent avec un prompt système personnalisé et une configuration d'outils.
---
#### list
Répertoriez tous les agents disponibles.
Liste tous les agents disponibles.
```bash
opencode agent list
@@ -125,13 +125,13 @@ OpenCode est alimenté par la liste des fournisseurs sur [Models.dev](https://mo
opencode auth login
```
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.
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
Répertorie tous les fournisseurs authentifiés tels qu'ils sont stockés dans le fichier d'informations d'identification.
Liste tous les fournisseurs authentifiés tels qu'ils sont stockés dans le fichier d'informations d'identification.
```bash
opencode auth list
@@ -157,7 +157,7 @@ opencode auth logout
### github
Gérez l'agent GitHub pour l'automatisation du référentiel.
Gérez l'agent GitHub pour l'automatisation du dépôt.
```bash
opencode github [command]
@@ -167,7 +167,7 @@ opencode github [command]
#### install
Installez l'agent GitHub dans votre référentiel.
Installez l'agent GitHub dans votre dépôt.
```bash
opencode github install
@@ -185,9 +185,9 @@ Exécutez l'agent GitHub. Ceci est généralement utilisé dans les GitHub Actio
opencode github run
```
##### Drapeaux
##### Options
| Drapeau | Descriptif |
| Option | Description |
| --------- | ---------------------------------------------------- |
| `--event` | Événement simulé GitHub pour lequel exécuter l'agent |
| `--token` | Jeton d'accès personnel GitHub |
@@ -218,7 +218,7 @@ Cette commande vous guidera dans lajout dun serveur MCP local ou distant.
#### list
Répertoriez tous les serveurs MCP configurés et leur état de connexion.
Liste tous les serveurs MCP configurés et leur état de connexion.
```bash
opencode mcp list
@@ -278,7 +278,7 @@ opencode mcp debug <name>
### models
Répertoriez tous les modèles disponibles auprès des fournisseurs configurés.
Liste tous les modèles disponibles auprès des fournisseurs configurés.
```bash
opencode models [provider]
@@ -294,14 +294,14 @@ Vous pouvez éventuellement transmettre un ID de fournisseur pour filtrer les mo
opencode models anthropic
```
#### Drapeaux
#### Options
| Drapeau | Descriptif |
| 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'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.
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
@@ -311,19 +311,19 @@ opencode models --refresh
### run
Exécutez opencode en mode non interactif en transmettant directement une invite.
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.
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 :
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
@@ -333,20 +333,20 @@ opencode serve
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
```
#### Drapeaux
#### Options
| Drapeau | Court | Descriptif |
| Option | Court | Description |
| ------------ | ----- | ---------------------------------------------------------------------------------------------- |
| `--command` | | La commande à exécuter, utilisez message pour args |
| `--continue` | `-c` | Continuer la dernière séance |
| `--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 séance |
| `--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 une invite tronquée si aucune valeur n'est fournie) |
| `--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) |
| `--port` | | Port du serveur local (port aléatoire par défaut) |
@@ -354,20 +354,20 @@ opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
### serve
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.
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 à 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`).
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`).
#### Drapeaux
#### Options
| Drapeau | Descriptif |
| Option | Description |
| ------------ | ---------------------------------------------------------- |
| `--port` | Port à écouter sur |
| `--hostname` | Nom d'hôte sur lequel écouter |
| `--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 |
@@ -385,18 +385,18 @@ opencode session [command]
#### list
Répertoriez toutes les sessions OpenCode.
Liste toutes les sessions OpenCode.
```bash
opencode session list
```
##### Drapeaux
##### Options
| Drapeau | Court | Descriptif |
| Option | Court | Description |
| ------------- | ----- | -------------------------------------------- |
| `--max-count` | `-n` | Limiter aux N sessions les plus récentes |
| `--format` | | Format de sortie : tableau ou json (tableau) |
| `--format` | | Format de sortie : tableau ou json (tableau) |
---
@@ -408,20 +408,20 @@ Affichez les statistiques d'utilisation et de coût des jetons pour vos sessions
opencode stats
```
#### Drapeaux
#### Options
| Drapeau | Descriptif |
| ----------- | ------------------------------------------------------------------------------------------------------------------- |
| `--days` | Afficher les statistiques des N derniers jours (tous les temps) |
| `--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 le premier N |
| `--project` | Filtrer par projet (tous les projets, chaîne vide : projet en cours) |
| 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 sous JSON.
Exportez les données de session au format JSON.
```bash
opencode export [sessionID]
@@ -433,13 +433,13 @@ Si vous ne fournissez pas d'ID de session, vous serez invité à sélectionner p
### import
Importez les données de session à partir d'un fichier JSON ou d'un partage OpenCode URL.
Importez les données de session à partir d'un fichier JSON ou d'une URL de partage OpenCode.
```bash
opencode import <file>
```
Vous pouvez importer à partir d'un fichier local ou d'un partage OpenCode URL.
Vous pouvez importer à partir d'un fichier local ou d'une URL de partage OpenCode.
```bash
opencode import session.json
@@ -450,7 +450,7 @@ opencode import https://opncd.ai/s/abc123
### web
Démarrez un serveur OpenCode sans tête avec une interface Web.
Démarrez un serveur OpenCode sans interface graphique avec une interface Web.
```bash
opencode web
@@ -458,12 +458,12 @@ 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`).
#### Drapeaux
#### Options
| Drapeau | Descriptif |
| Option | Description |
| ------------ | ---------------------------------------------------------- |
| `--port` | Port à écouter sur |
| `--hostname` | Nom d'hôte sur lequel écouter |
| `--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 |
@@ -479,13 +479,13 @@ opencode acp
Cette commande démarre un serveur ACP qui communique via stdin/stdout en utilisant nd-JSON.
#### Drapeaux
#### Options
| Drapeau | Descriptif |
| ------------ | ----------------------------- |
| `--cwd` | Répertoire de travail |
| `--port` | Port à écouter sur |
| `--hostname` | Nom d'hôte sur lequel écouter |
| Option | Description |
| ------------ | --------------------- |
| `--cwd` | Répertoire de travail |
| `--port` | Port d'écoute |
| `--hostname` | Nom d'hôte d'écoute |
---
@@ -497,9 +497,9 @@ Désinstallez OpenCode et supprimez tous les fichiers associés.
opencode uninstall
```
#### Drapeaux
#### Options
| Drapeau | Court | Descriptif |
| Option | Court | Description |
| --------------- | ----- | --------------------------------------------------- |
| `--keep-config` | `-c` | Conserver les fichiers de configuration |
| `--keep-data` | `-d` | Conserver les données de session et les instantanés |
@@ -528,24 +528,24 @@ Pour passer à une version spécifique.
opencode upgrade v0.1.48
```
#### Drapeaux
#### Options
| Drapeau | Court | Descriptif |
| Option | Court | Description |
| ---------- | ----- | --------------------------------------------------------------- |
| `--method` | `-m` | La méthode d'installation utilisée ; curl, npm, pnpm, bun, brew |
| `--method` | `-m` | La méthode d'installation utilisée ; curl, npm, pnpm, bun, brew |
---
## Drapeaux globaux
## Options globales
La CLI opencode prend les indicateurs globaux suivants.
La CLI opencode prend les flags globaux suivants.
| Drapeau | Court | Descriptif |
| -------------- | ----- | --------------------------------------------------- |
| `--help` | `-h` | Afficher l'aide |
| `--version` | `-v` | Imprimer le numéro de version |
| `--print-logs` | | Imprimer les journaux sur stderr |
| `--log-level` | | Niveau de journalisation (DEBUG, INFO, WARN, ERROR) |
| 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) |
---
@@ -553,7 +553,7 @@ La CLI opencode prend les indicateurs globaux suivants.
OpenCode peut être configuré à l'aide de variables d'environnement.
| Variables | Type | Descriptif |
| 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 |
@@ -561,14 +561,14 @@ OpenCode peut être configuré à l'aide de variables d'environnement.
| `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 l'élagage des anciennes données |
| `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` (invite + compétences) |
| `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 |
@@ -586,18 +586,18 @@ OpenCode peut être configuré à l'aide de variables d'environnement.
Ces variables d'environnement activent des fonctionnalités expérimentales qui peuvent être modifiées ou supprimées.
| Variables | Type | Descriptif |
| 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 dans ms |
| `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 la vérification expérimentale du type LSP |
| `OPENCODE_EXPERIMENTAL_LSP_TY` | booléen | Activer la vérification expérimentale de type LSP |
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | booléen | Activer les fonctionnalités Markdown expérimentales |
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | booléen | Activer le mode plan |

View File

@@ -3,7 +3,7 @@ title: Commandes
description: Créez des commandes personnalisées pour les tâches répétitives.
---
Les commandes personnalisées vous permettent de spécifier une invite que vous souhaitez exécuter lorsque cette commande est exécutée dans TUI.
Les commandes personnalisées vous permettent de spécifier un prompt que vous souhaitez exécuter lorsque cette commande est exécutée dans le TUI.
```bash frame="none"
/my-command
@@ -17,7 +17,7 @@ Les commandes personnalisées s'ajoutent aux commandes intégrées telles que `/
Créez des fichiers markdown dans le répertoire `commands/` pour définir des commandes personnalisées.
Créez `.opencode/commands/test.md` :
Créez `.opencode/commands/test.md` :
```md title=".opencode/commands/test.md"
---
@@ -30,7 +30,7 @@ Run the full test suite with coverage report and show any failures.
Focus on the failing tests and suggest fixes.
```
Le frontmatter définit les propriétés de la commande. Le contenu devient le modèle.
Le frontmatter définit les propriétés de la commande. Le contenu devient le modèle (template).
Utilisez la commande en tapant `/` suivi du nom de la commande.
@@ -40,7 +40,7 @@ Utilisez la commande en tapant `/` suivi du nom de la commande.
---
## Configurer
## Configuration
Vous pouvez ajouter des commandes personnalisées via la configuration OpenCode ou en créant des fichiers markdown dans le répertoire `commands/`.
@@ -48,7 +48,7 @@ Vous pouvez ajouter des commandes personnalisées via la configuration OpenCode
### JSON
Utilisez l'option `command` dans votre OpenCode [config](/docs/config) :
Utilisez l'option `command` dans votre OpenCode [config](/docs/config) :
```json title="opencode.jsonc" {4-12}
{
@@ -67,7 +67,7 @@ Utilisez l'option `command` dans votre OpenCode [config](/docs/config) :
}
```
Vous pouvez maintenant exécuter cette commande dans TUI :
Vous pouvez maintenant exécuter cette commande dans le TUI :
```bash frame="none"
/test
@@ -77,10 +77,10 @@ Vous pouvez maintenant exécuter cette commande dans TUI :
### Markdown
Vous pouvez également définir des commandes à l'aide de fichiers markdown. Placez-les dans :
Vous pouvez également définir des commandes à l'aide de fichiers markdown. Placez-les dans :
- Global : `~/.config/opencode/commands/`
- Par projet : `.opencode/commands/`
- Par projet : `.opencode/commands/`
```markdown title="~/.config/opencode/commands/test.md"
---
@@ -93,8 +93,7 @@ Run the full test suite with coverage report and show any failures.
Focus on the failing tests and suggest fixes.
```
Le nom du fichier markdown devient le nom de la commande. Par exemple, `test.md` permet
tu cours :
Le nom du fichier markdown devient le nom de la commande. Par exemple, `test.md` permet d'exécuter :
```bash frame="none"
/test
@@ -104,7 +103,7 @@ tu cours :
## Configuration rapide
Les invites pour les commandes personnalisées prennent en charge plusieurs espaces réservés et syntaxes spéciaux.
Les prompts pour les commandes personnalisées prennent en charge plusieurs espaces réservés et syntaxes spéciaux.
---
@@ -121,7 +120,7 @@ Create a new React component named $ARGUMENTS with TypeScript support.
Include proper typing and basic structure.
```
Exécutez la commande avec des arguments :
Exécutez la commande avec des arguments :
```bash frame="none"
/component Button
@@ -129,7 +128,7 @@ Exécutez la commande avec des arguments :
Et `$ARGUMENTS` sera remplacé par `Button`.
Vous pouvez également accéder à des arguments individuels à l'aide de paramètres de position :
Vous pouvez également accéder à des arguments individuels à l'aide de paramètres de position :
- `$1` - Premier argument
- `$2` - Deuxième argument
@@ -147,13 +146,13 @@ Create a file named $1 in the directory $2
with the following content: $3
```
Exécutez la commande :
Exécutez la commande :
```bash frame="none"
/create-file config.json src "{ \"key\": \"value\" }"
```
Celui-ci remplace :
Celui-ci remplace :
- `$1` avec `config.json`
- `$2` avec `src`
@@ -163,9 +162,9 @@ Celui-ci remplace :
### Sortie du shell
Utilisez _!`command`_ pour injecter la sortie [bash command](/docs/tui#bash-commands) dans votre invite.
Utilisez _!`command`_ pour injecter la sortie [bash command](/docs/tui#bash-commands) dans votre prompt.
Par exemple, pour créer une commande personnalisée qui analyse la couverture des tests :
Par exemple, pour créer une commande personnalisée qui analyse la couverture des tests :
```md title=".opencode/commands/analyze-coverage.md"
---
@@ -178,7 +177,7 @@ Here are the current test results:
Based on these results, suggest improvements to increase coverage.
```
Ou pour consulter les modifications récentes :
Ou pour consulter les modifications récentes :
```md title=".opencode/commands/review-changes.md"
---
@@ -191,7 +190,7 @@ Recent git commits:
Review these changes and suggest any improvements.
```
Les commandes s'exécutent dans le répertoire racine de votre projet et leur sortie fait partie de l'invite.
Les commandes s'exécutent dans le répertoire racine de votre projet et leur sortie fait partie du prompt.
---
@@ -208,7 +207,7 @@ Review the component in @src/components/Button.tsx.
Check for performance issues and suggest improvements.
```
Le contenu du fichier est automatiquement inclus dans linvite.
Le contenu du fichier est automatiquement inclus dans le prompt.
---
@@ -220,7 +219,7 @@ Examinons les options de configuration en détail.
### Template
L'option `template` définit l'invite qui sera envoyée au LLM lors de l'exécution de la commande.
L'option `template` définit le prompt qui sera envoyé au LLM lors de l'exécution de la commande.
```json title="opencode.json"
{
@@ -274,9 +273,9 @@ Il s'agit d'une option de configuration **facultative**. Sil nest pas spé
---
### Subtask
### Sous-tâche
Utilisez le booléen `subtask` pour forcer la commande à déclencher un invocation de [subagent](/docs/agents/#subagents).
Utilisez le booléen `subtask` pour forcer la commande à déclencher une invocation de [subagent](/docs/agents/#subagents).
Ceci est utile si vous souhaitez que la commande ne pollue pas votre contexte principal et **force** l'agent à agir en tant que sous-agent,
même si `mode` est défini sur `primary` dans la configuration [agent](/docs/agents).
@@ -294,7 +293,7 @@ Il s'agit d'une option de configuration **facultative**.
---
### Model
### Modèle
Utilisez la configuration `model` pour remplacer le modèle par défaut pour cette commande.
@@ -312,9 +311,9 @@ Il s'agit d'une option de configuration **facultative**.
---
## Intégré
## Commandes intégrées
opencode comprend plusieurs commandes intégrées comme `/init`, `/undo`, `/redo`, `/share`, `/help` ; [en savoir plus](/docs/tui#commands).
opencode comprend plusieurs commandes intégrées comme `/init`, `/undo`, `/redo`, `/share`, `/help` ; [en savoir plus](/docs/tui#commands).
:::note
Les commandes personnalisées peuvent remplacer les commandes intégrées.

View File

@@ -1,6 +1,6 @@
---
title: Configuration
description: En utilisant la configuration OpenCode JSON.
description: Utilisation de la configuration JSON OpenCode.
---
Vous pouvez configurer OpenCode à l'aide d'un fichier de configuration JSON.
@@ -40,30 +40,30 @@ Par exemple, si votre configuration globale définit `theme: "opencode"` et `aut
### Ordre de priorité
Les sources de configuration sont chargées dans cet ordre (les sources ultérieures remplacent les précédentes) :
Les sources de configuration sont chargées dans cet ordre (les sources ultérieures remplacent les précédentes) :
1. **Configuration à distance** (à partir de `.well-known/opencode`) - paramètres par défaut de l'organisation
1. **Configuration distante** (à partir de `.well-known/opencode`) - paramètres par défaut de l'organisation
2. **Configuration globale** (`~/.config/opencode/opencode.json`) - préférences utilisateur
3. **Configuration personnalisée** (`OPENCODE_CONFIG` env var) - remplacements personnalisés
4. **Configuration du projet** (`opencode.json` dans le projet) - paramètres spécifiques au projet
5. **`.opencode` répertoires** - agents, commandes, plugins
5. **Répertoires `.opencode`** - agents, commandes, plugins
6. **Configuration en ligne** (`OPENCODE_CONFIG_CONTENT` env var) - remplacements d'exécution
Cela signifie que les configurations de projet peuvent remplacer les valeurs par défaut globales, et que les configurations globales peuvent remplacer les valeurs par défaut de l'organisation distante.
:::note
Les répertoires `.opencode` et `~/.config/opencode` utilisent des **noms au pluriel** pour les sous-répertoires : `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` et `themes/`. Les noms singuliers (par exemple, `agent/`) sont également pris en charge pour une compatibilité ascendante.
Les répertoires `.opencode` et `~/.config/opencode` utilisent des **noms au pluriel** pour les sous-répertoires : `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` et `themes/`. Les noms singuliers (par exemple, `agent/`) sont également pris en charge pour une compatibilité ascendante.
:::
---
### Remote
### Configuration distante
Les organisations peuvent fournir une configuration par défaut via le point de terminaison `.well-known/opencode`. Ceci est récupéré automatiquement lorsque vous vous authentifiez auprès dun fournisseur qui le prend en charge.
La configuration distante est chargée en premier, servant de couche de base. Toutes les autres sources de configuration (globales, projet) peuvent remplacer ces valeurs par défaut.
Par exemple, si votre organisation fournit des serveurs MCP qui sont désactivés par défaut :
Par exemple, si votre organisation fournit des serveurs MCP qui sont désactivés par défaut :
```json title="Remote config from .well-known/opencode"
{
@@ -77,7 +77,7 @@ Par exemple, si votre organisation fournit des serveurs MCP qui sont désactivé
}
```
Vous pouvez activer des serveurs spécifiques dans votre configuration locale :
Vous pouvez activer des serveurs spécifiques dans votre configuration locale :
```json title="opencode.json"
{
@@ -93,7 +93,7 @@ Vous pouvez activer des serveurs spécifiques dans votre configuration locale :
---
### Global
### Globale
Placez votre configuration globale OpenCode dans `~/.config/opencode/opencode.json`. Utilisez la configuration globale pour les préférences de l'utilisateur telles que les thèmes, les fournisseurs ou les raccourcis clavier.
@@ -103,7 +103,7 @@ La configuration globale remplace les paramètres par défaut de l'organisation
### Par projet
Ajoutez `opencode.json` à la racine de votre projet. La configuration du projet a la priorité la plus élevée parmi les fichiers de configuration standard : elle remplace les configurations globales et distantes.
Ajoutez `opencode.json` à la racine de votre projet. La configuration du projet a la priorité la plus élevée parmi les fichiers de configuration standard : elle remplace les configurations globales et distantes.
:::tip
Placez la configuration spécifique au projet à la racine de votre projet.
@@ -130,10 +130,7 @@ La configuration personnalisée est chargée entre les configurations globales e
### Répertoire personnalisé
Spécifiez un répertoire de configuration personnalisé à l'aide de `OPENCODE_CONFIG_DIR`
variable d'environnement. Ce répertoire sera recherché pour les agents, les commandes,
modes et plugins tout comme le répertoire standard `.opencode`, et devrait
suivent la même structure.
Spécifiez un répertoire de configuration personnalisé à l'aide de `OPENCODE_CONFIG_DIR` variable d'environnement. Ce répertoire sera recherché pour les agents, les commandes, modes et plugins tout comme le répertoire standard `.opencode`, et devrait suivre la même structure.
```bash
export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
@@ -169,7 +166,7 @@ Vous pouvez configurer les paramètres spécifiques à TUI via l'option `tui`.
}
```
Options disponibles :
Options disponibles :
- `scroll_acceleration.enabled` - Active l'accélération de défilement de style macOS. **A priorité sur `scroll_speed`.**
- `scroll_speed` - Multiplicateur de vitesse de défilement personnalisé (par défaut : `3`, minimum : `1`). Ignoré si `scroll_acceleration.enabled` est `true`.
@@ -196,10 +193,10 @@ Vous pouvez configurer les paramètres du serveur pour les commandes `opencode s
}
```
Options disponibles :
Options disponibles :
- `port` - Port sur lequel écouter.
- `hostname` - Nom d'hôte sur lequel écouter. Lorsque `mdns` est activé et qu'aucun nom d'hôte n'est défini, la valeur par défaut est `0.0.0.0`.
- `port` - Port d'écoute.
- `hostname` - Nom d'hôte d'écoute. Lorsque `mdns` est activé et qu'aucun nom d'hôte n'est défini, la valeur par défaut est `0.0.0.0`.
- `mdns` - Activer la découverte du service mDNS. Cela permet à d'autres appareils du réseau de découvrir votre serveur OpenCode.
- `mdnsDomain` - Nom de domaine personnalisé pour le service mDNS. La valeur par défaut est `opencode.local`. Utile pour exécuter plusieurs instances sur le même réseau.
- `cors` - Origines supplémentaires pour autoriser CORS lors de l'utilisation du serveur HTTP à partir d'un client basé sur un navigateur. Les valeurs doivent être des origines complètes (schéma + hôte + port facultatif), par exemple `https://app.example.com`.
@@ -241,7 +238,7 @@ Vous pouvez configurer les fournisseurs et les modèles que vous souhaitez utili
L'option `small_model` configure un modèle distinct pour les tâches légères comme la génération de titres. Par défaut, OpenCode essaie d'utiliser un modèle moins cher s'il est disponible auprès de votre fournisseur, sinon il revient à votre modèle principal.
Les options du fournisseur peuvent inclure `timeout` et `setCacheKey` :
Les options du fournisseur peuvent inclure `timeout` et `setCacheKey` :
```json title="opencode.json"
{
@@ -257,7 +254,7 @@ Les options du fournisseur peuvent inclure `timeout` et `setCacheKey` :
}
```
- `timeout` - Délai d'expiration de la demande en millisecondes (par défaut : 300 000). Réglez sur `false` pour désactiver.
- `timeout` - Délai d'expiration de la demande en millisecondes (par défaut : 300 000). Réglez sur `false` pour désactiver.
- `setCacheKey` - Assurez-vous qu'une clé de cache est toujours définie pour le fournisseur désigné.
Vous pouvez également configurer [modèles locaux](/docs/models#local). [En savoir plus](/docs/models).
@@ -270,7 +267,7 @@ Certains fournisseurs prennent en charge des options de configuration supplémen
##### Amazon Bedrock
Amazon Bedrock prend en charge la configuration spécifique à AWS :
Amazon Bedrock prend en charge la configuration spécifique à AWS :
```json title="opencode.json"
{
@@ -353,7 +350,7 @@ Vous pouvez définir l'agent par défaut à l'aide de l'option `default_agent`.
L'agent par défaut doit être un agent principal (et non un sous-agent). Il peut s'agir d'un agent intégré tel que `"build"` ou `"plan"`, ou d'un [agent personnalisé](/docs/agents) que vous avez défini. Si l'agent spécifié n'existe pas ou est un sous-agent, OpenCode reviendra à `"build"` avec un avertissement.
Ce paramètre s'applique à toutes les interfaces : TUI, CLI (`opencode run`), application de bureau et GitHub Action.
Ce paramètre s'applique à toutes les interfaces : TUI, CLI (`opencode run`), application de bureau et GitHub Action.
---
@@ -368,11 +365,11 @@ Vous pouvez configurer la fonctionnalité [share](/docs/share) via l'option `sha
}
```
Cela prend :
Elle accepte :
- `"manual"` - Autoriser le partage manuel via des commandes (par défaut)
- `"auto"`  Partager automatiquement de nouvelles conversations
- `"disabled"`  Désactiver complètement le partage
- `"manual"` Autoriser le partage manuel via des commandes (par défaut)
- `"auto"` Partager automatiquement de nouvelles conversations
- `"disabled"` Désactiver complètement le partage
Par défaut, le partage est défini en mode manuel où vous devez partager explicitement les conversations à l'aide de la commande `/share`.
@@ -465,7 +462,7 @@ Vous pouvez configurer les formateurs de code via l'option `formatter`.
Par défaut, opencode **autorise toutes les opérations** sans nécessiter d'approbation explicite. Vous pouvez modifier cela en utilisant l'option `permission`.
Par exemple, pour garantir que les outils `edit` et `bash` nécessitent l'approbation de l'utilisateur :
Par exemple, pour garantir que les outils `edit` et `bash` nécessitent l'approbation de l'utilisateur :
```json title="opencode.json"
{
@@ -481,7 +478,7 @@ Par exemple, pour garantir que les outils `edit` et `bash` nécessitent l'approb
---
### Compaction
### Compactage
Vous pouvez contrôler le comportement de compactage du contexte via l'option `compaction`.
@@ -495,12 +492,12 @@ Vous pouvez contrôler le comportement de compactage du contexte via l'option `c
}
```
- `auto` - Compacte automatiquement la session lorsque le contexte est plein (par défaut : `true`).
- `prune` - Supprimez les anciennes sorties de l'outil pour enregistrer les jetons (par défaut : `true`).
- `auto` - Compacte automatiquement la session lorsque le contexte est plein (par défaut : `true`).
- `prune` - Supprimez les anciennes sorties de l'outil pour économiser des tokens (par défaut : `true`).
---
### Watcher
### Observateur
Vous pouvez configurer les modèles d'ignorance de l'observateur de fichiers via l'option `watcher`.
@@ -513,7 +510,7 @@ Vous pouvez configurer les modèles d'ignorance de l'observateur de fichiers via
}
```
Les modèles suivent la syntaxe globale. Utilisez ceci pour exclure les répertoires bruyants de la surveillance des fichiers.
Les modèles suivent la syntaxe glob. Utilisez ceci pour exclure les répertoires bruyants de la surveillance des fichiers.
---
@@ -532,7 +529,7 @@ Vous pouvez configurer les serveurs MCP que vous souhaitez utiliser via l'option
---
### Plugins
### Extensions
[Plugins](/docs/plugins) étendent OpenCode avec des outils, des hooks et des intégrations personnalisés.
@@ -560,12 +557,11 @@ Vous pouvez configurer les instructions pour le modèle que vous utilisez via l'
}
```
Cela prend un tableau de chemins et de modèles globaux vers les fichiers d'instructions. [Apprendre encore plus
à propos des règles ici](/docs/rules).
Cela prend un tableau de chemins et de modèles globaux vers les fichiers d'instructions. [En savoir plus sur les règles ici](/docs/rules).
---
### Disabled Providers
### Fournisseurs désactivés
Vous pouvez désactiver les fournisseurs chargés automatiquement via l'option `disabled_providers`. Ceci est utile lorsque vous souhaitez empêcher le chargement de certains fournisseurs même si leurs informations d'identification sont disponibles.
@@ -580,7 +576,7 @@ Vous pouvez désactiver les fournisseurs chargés automatiquement via l'option `
Le `disabled_providers` est prioritaire sur `enabled_providers`.
:::
L'option `disabled_providers` accepte un tableau d'ID de fournisseur. Lorsqu'un fournisseur est désactivé :
L'option `disabled_providers` accepte un tableau d'ID de fournisseur. Lorsqu'un fournisseur est désactivé :
- Il ne sera pas chargé même si des variables d'environnement sont définies.
- Il ne sera pas chargé même si les clés API sont configurées via la commande `/connect`.
@@ -588,7 +584,7 @@ L'option `disabled_providers` accepte un tableau d'ID de fournisseur. Lorsqu'un
---
### Enabled Providers
### Fournisseurs activés
Vous pouvez spécifier une liste autorisée de fournisseurs via l'option `enabled_providers`. Une fois défini, seuls les fournisseurs spécifiés seront activés et tous les autres seront ignorés.
@@ -621,7 +617,7 @@ La clé `experimental` contient des options en cours de développement actif.
```
:::caution
Les options expérimentales ne sont pas stables. Ils peuvent changer ou être supprimés sans préavis.
Les options expérimentales ne sont pas stables. Elles peuvent changer ou être supprimées sans préavis.
:::
---
@@ -632,9 +628,9 @@ Vous pouvez utiliser la substitution de variables dans vos fichiers de configura
---
### Vars d'environnement
### Variables d'environnement
Utilisez `{env:VARIABLE_NAME}` pour remplacer les variables d'environnement :
Utilisez `{env:VARIABLE_NAME}` pour remplacer les variables d'environnement :
```json title="opencode.json"
{
@@ -657,7 +653,7 @@ Si la variable d'environnement n'est pas définie, elle sera remplacée par une
### Fichiers
Utilisez `{file:path/to/file}` pour remplacer le contenu d'un fichier :
Utilisez `{file:path/to/file}` pour remplacer le contenu d'un fichier :
```json title="opencode.json"
{
@@ -673,13 +669,13 @@ Utilisez `{file:path/to/file}` pour remplacer le contenu d'un fichier :
}
```
Les chemins de fichiers peuvent être :
Les chemins de fichiers peuvent être :
- Par rapport au répertoire du fichier de configuration
- Relatifs au répertoire du fichier de configuration
- Ou des chemins absolus commençant par `/` ou `~`
Ceux-ci sont utiles pour :
Elles sont utiles pour :
- Conserver les données sensibles telles que les clés API dans des fichiers séparés.
- Y compris de gros fichiers d'instructions sans encombrer votre configuration.
- Partage d'extraits de configuration communs sur plusieurs fichiers de configuration.
- Inclure de gros fichiers d'instructions sans encombrer votre configuration.
- Partager des extraits de configuration communs sur plusieurs fichiers de configuration.

View File

@@ -1,6 +1,6 @@
---
title: Outils personnalisés
description: Créez des outils que LLM peut appeler dans opencode.
description: Créez des outils que le LLM peut appeler dans opencode.
---
Les outils personnalisés sont des fonctions que vous créez et que le LLM peut appeler pendant les conversations. Ils fonctionnent avec les [outils intégrés](/docs/tools) de opencode comme `read`, `write` et `bash`.
@@ -9,7 +9,7 @@ Les outils personnalisés sont des fonctions que vous créez et que le LLM peut
## Création d'un outil
Les outils sont définis sous forme de fichiers **TypeScript** ou **JavaScript**. Cependant, la définition de l'outil peut appeler des scripts écrits dans **n'importe quel langage** : TypeScript ou JavaScript n'est utilisé que pour la définition de l'outil elle-même.
Les outils sont définis sous forme de fichiers **TypeScript** ou **JavaScript**. Cependant, la définition de l'outil peut appeler des scripts écrits dans **n'importe quel langage** : TypeScript ou JavaScript n'est utilisé que pour la définition de l'outil elle-même.
---
@@ -24,7 +24,7 @@ Ils peuvent être définis :
### Structure
Le moyen le plus simple de créer des outils consiste à utiliser l'assistant `tool()` qui fournit la sécurité et la validation du type.
Le moyen le plus simple de créer des outils est d'utiliser l'assistant `tool()` qui fournit la sécurité et la validation de type.
```ts title=".opencode/tools/database.ts" {1}
import { tool } from "@opencode-ai/plugin"
@@ -47,7 +47,7 @@ Le **nom de fichier** devient le **nom de l'outil**. Ce qui précède crée un o
#### Plusieurs outils par fichier
Vous pouvez également exporter plusieurs outils à partir d'un seul fichier. Chaque exportation devient **un outil distinct** portant le nom **`<filename>_<exportname>`** :
Vous pouvez également exporter plusieurs outils à partir d'un seul fichier. Chaque exportation devient **un outil distinct** portant le nom **`<filename>_<exportname>`** :
```ts title=".opencode/tools/math.ts"
import { tool } from "@opencode-ai/plugin"
@@ -75,7 +75,7 @@ export const multiply = tool({
})
```
Cela crée deux outils : `math_add` et `math_multiply`.
Cela crée deux outils : `math_add` et `math_multiply`.
---
@@ -89,7 +89,7 @@ args: {
}
```
Vous pouvez également importer [Zod](https://zod.dev) directement et renvoyer un objet simple :
Vous pouvez également importer [Zod](https://zod.dev) directement et renvoyer un objet simple :
```ts {6}
import { z } from "zod"
@@ -110,7 +110,7 @@ export default {
### Contexte
Les outils reçoivent du contexte sur la session en cours :
Les outils reçoivent le contexte de la session en cours :
```ts title=".opencode/tools/project.ts" {8}
import { tool } from "@opencode-ai/plugin"
@@ -127,7 +127,7 @@ export default tool({
```
Utilisez `context.directory` pour le répertoire de travail de la session.
Utilisez `context.worktree` pour la racine de git worktree.
Utilisez `context.worktree` pour la racine du worktree git.
---
@@ -135,9 +135,9 @@ Utilisez `context.worktree` pour la racine de git worktree.
### Écrire un outil en Python
Vous pouvez écrire vos outils dans la langue de votre choix. Voici un exemple qui ajoute deux nombres à l'aide de Python.
Vous pouvez écrire vos outils dans le langage de votre choix. Voici un exemple qui ajoute deux nombres à l'aide de Python.
Tout d'abord, créez l'outil en tant que script Python :
Tout d'abord, créez l'outil en tant que script Python :
```python title=".opencode/tools/add.py"
import sys
@@ -147,7 +147,7 @@ b = int(sys.argv[2])
print(a + b)
```
Créez ensuite la définition d'outil qui l'invoque :
Créez ensuite la définition d'outil qui l'invoque :
```ts title=".opencode/tools/python-add.ts" {10}
import { tool } from "@opencode-ai/plugin"

View File

@@ -6,57 +6,57 @@ description: Projets et intégrations construits avec OpenCode.
Une collection de projets communautaires construits sur OpenCode.
:::note
Vous souhaitez ajouter votre projet lié à OpenCode à cette liste ? Soumettez un PR.
Vous souhaitez ajouter votre projet lié à OpenCode à cette liste ? Soumettez un PR.
:::
Vous pouvez également consulter [awesome-opencode](https://github.com/awesome-opencode/awesome-opencode) et [opencode.cafe](https://opencode.cafe), une communauté qui regroupe l'écosystème et la communauté.
Vous pouvez également consulter [awesome-opencode](https://github.com/awesome-opencode/awesome-opencode) et [opencode.cafe](https://opencode.cafe), une communauté qui regroupe l'écosystème OpenCode.
---
## Plugins
## Extensions
| Nom | Descriptif |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Exécutez automatiquement des sessions OpenCode dans des sandbox Daytona isolés avec synchronisation git et aperçus en direct |
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Injecter automatiquement les en-têtes de session Helicone pour le regroupement des requêtes |
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Injectez automatiquement les types TypeScript/Svelte dans les lectures de fichiers avec des outils de recherche |
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Utilisez votre abonnement ChatGPT Plus/Pro au lieu de crédits API |
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Utilisez votre forfait Gemini existant au lieu de la facturation API |
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Utilisez les modèles gratuits d'Antigravity au lieu de la facturation API |
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Isolation de conteneur de développement multibranche avec clones superficiels et ports attribués automatiquement |
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Plugin Google Antigravity OAuth, avec prise en charge de la recherche Google et gestion API plus robuste |
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimisez l'utilisation des jetons en éliminant les sorties d'outils obsolètes |
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Ajoutez la prise en charge native de la recherche Web pour les fournisseurs pris en charge avec le style ancré par Google |
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permet aux agents IA d'exécuter des processus en arrière-plan dans un PTY et de leur envoyer des entrées interactives. |
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Instructions pour les commandes shell non interactives - empêche les blocages des opérations dépendantes du TTY |
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Suivez l'utilisation de OpenCode avec Wakatime |
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Nettoyer les tableaux Markdown produits par les LLM |
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Édition de code 10 fois plus rapide avec Morph Fast Apply API et les marqueurs d'édition différée |
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agents d'arrière-plan, outils LSP/AST/MCP prédéfinis, agents sélectionnés, compatibles Claude Code |
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | Notifications de bureau et alertes sonores pour les sessions OpenCode |
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | Notifications sur le bureau et alertes sonores pour les événements d'autorisation, d'achèvement et d'erreur |
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Dénomination automatique de session Zellij basée sur l'IA basée sur le contexte OpenCode |
| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | Autoriser les agents OpenCode à charger paresseusement les invites à la demande grâce à la découverte et à l'injection de compétences |
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Mémoire persistante entre les sessions utilisant Supermemory |
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Révision interactive du plan avec annotation visuelle et partage privé/hors ligne |
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | Étendez opencode /commands dans un système d'orchestration puissant avec contrôle de flux granulaire |
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | Planifiez des tâches récurrentes à l'aide de launchd (Mac) ou systemd (Linux) avec la syntaxe cron |
| [micode](https://github.com/vtemian/micode) | Brainstorming structuré → Planifier → Mettre en œuvre un workflow avec continuité de session |
| [octto](https://github.com/vtemian/octto) | Interface utilisateur de navigateur interactive pour le brainstorming IA avec des formulaires multi-questions |
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | Agents d'arrière-plan de style Claude Code avec délégation asynchrone et persistance du contexte |
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | Notifications natives du système d'exploitation pour OpenCode savoir quand les tâches sont terminées |
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | Harness d'orchestration multi-agent prêt à l'emploi - 16 composants, une installation |
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | Arbres de travail Git sans friction pour OpenCode |
| Nom | Description |
| --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Exécute automatiquement des sessions OpenCode dans des environnements sandbox Daytona isolés avec synchronisation git et prévisualisations en direct |
| [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) | Injecte automatiquement les en-têtes de session Helicone pour le regroupement des requêtes |
| [opencode-type-inject](https://github.com/nick-vi/opencode-type-inject) | Injecte automatiquement les types TypeScript/Svelte dans les lectures de fichiers avec des outils de recherche |
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | Utilise votre abonnement ChatGPT Plus/Pro au lieu de crédits API |
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | Utilise votre forfait Gemini existant au lieu de la facturation API |
| [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) | Utilise les modèles gratuits d'Antigravity au lieu de la facturation API |
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Isolation de conteneur de développement multibranche avec clones superficiels et ports attribués automatiquement |
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Plugin Google Antigravity OAuth, avec support de la recherche Google et gestion API plus robuste |
| [opencode-dynamic-context-pruning](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Optimise l'utilisation des jetons en éliminant les sorties d'outils obsolètes |
| [opencode-websearch-cited](https://github.com/ghoulr/opencode-websearch-cited.git) | Ajoute le support natif de la recherche Web pour les fournisseurs pris en charge avec le style ancré par Google |
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Permet aux agents IA d'exécuter des processus en arrière-plan dans un PTY et de leur envoyer des entrées interactives. |
| [opencode-shell-strategy](https://github.com/JRedeker/opencode-shell-strategy) | Instructions pour les commandes shell non interactives - empêche les blocages des opérations dépendantes du TTY |
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Suit l'utilisation de OpenCode avec Wakatime |
| [opencode-md-table-formatter](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Nettoie les tableaux Markdown produits par les LLM |
| [opencode-morph-fast-apply](https://github.com/JRedeker/opencode-morph-fast-apply) | Édition de code 10 fois plus rapide avec Morph Fast Apply API et les marqueurs d'édition différée |
| [oh-my-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agents d'arrière-plan, outils LSP/AST/MCP prédéfinis, agents sélectionnés, compatibles Claude Code |
| [opencode-notificator](https://github.com/panta82/opencode-notificator) | Notifications de bureau et alertes sonores pour les sessions OpenCode |
| [opencode-notifier](https://github.com/mohak34/opencode-notifier) | Notifications sur le bureau et alertes sonores pour les événements d'autorisation, d'achèvement et d'erreur |
| [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer) | Dénomination automatique de session Zellij basée sur l'IA et le contexte OpenCode |
| [opencode-skillful](https://github.com/zenobi-us/opencode-skillful) | Autorise les agents OpenCode à charger paresseusement les prompts à la demande grâce à la découverte et à l'injection de compétences |
| [opencode-supermemory](https://github.com/supermemoryai/opencode-supermemory) | Mémoire persistante entre les sessions utilisant Supermemory |
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Révision interactive du plan avec annotation visuelle et partage privé/hors ligne |
| [@openspoon/subtask2](https://github.com/spoons-and-mirrors/subtask2) | Étend les commandes /commands d'opencode dans un système d'orchestration puissant avec contrôle de flux granulaire |
| [opencode-scheduler](https://github.com/different-ai/opencode-scheduler) | Planifie des tâches récurrentes à l'aide de launchd (Mac) ou systemd (Linux) avec la syntaxe cron |
| [micode](https://github.com/vtemian/micode) | Workflow structuré Brainstorming → Planifier → Mettre en œuvre avec continuité de session |
| [octto](https://github.com/vtemian/octto) | Interface utilisateur de navigateur interactive pour le brainstorming IA avec des formulaires multi-questions |
| [opencode-background-agents](https://github.com/kdcokenny/opencode-background-agents) | Agents d'arrière-plan de style Claude Code avec délégation asynchrone et persistance du contexte |
| [opencode-notify](https://github.com/kdcokenny/opencode-notify) | Notifications natives du système d'exploitation pour OpenCode savoir quand les tâches sont terminées |
| [opencode-workspace](https://github.com/kdcokenny/opencode-workspace) | Harness d'orchestration multi-agent prêt à l'emploi - 16 composants, une installation |
| [opencode-worktree](https://github.com/kdcokenny/opencode-worktree) | Arbres de travail Git sans friction pour OpenCode |
---
## Projets
| Nom | Descriptif |
| Nom | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| [kimaki](https://github.com/remorses/kimaki) | Bot Discord pour contrôler les sessions OpenCode, construit sur le SDK |
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Plugin Neovim pour les invites compatibles avec l'éditeur, construit sur API |
| [portal](https://github.com/hosenur/portal) | Interface utilisateur Web axée sur les mobiles pour OpenCode sur Tailscale/VPN |
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Plugin Neovim pour les prompts compatibles avec l'éditeur, construit sur l'API |
| [portal](https://github.com/hosenur/portal) | Interface utilisateur Web axée sur le mobile pour OpenCode sur Tailscale/VPN |
| [opencode plugin template](https://github.com/zenobi-us/opencode-plugin-template/) | Modèle pour créer des plugins OpenCode |
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Frontend Neovim pour opencode - un agent de codage d'IA basé sur un terminal |
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Fournisseur Vercel AI SDK pour l'utilisation de OpenCode via @opencode-ai/sdk |
@@ -70,7 +70,7 @@ Vous pouvez également consulter [awesome-opencode](https://github.com/awesome-o
## Agents
| Nom | Descriptif |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [Agentic](https://github.com/Cluster444/agentic) | Agents et commandes d'IA modulaires pour un développement structuré |
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Configurations, invites, agents et plug-ins pour des flux de travail améliorés |
| Nom | Description |
| ----------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| [Agentic](https://github.com/Cluster444/agentic) | Agents et commandes d'IA modulaires pour un développement structuré |
| [opencode-agents](https://github.com/darrenhinde/opencode-agents) | Configurations, prompts, agents et plugins pour des flux de travail améliorés |

View File

@@ -6,13 +6,13 @@ description: Utiliser OpenCode en toute sécurité dans votre organisation.
import config from "../../../../config.mjs"
export const email = `mailto:${config.email}`
OpenCode Enterprise est destiné aux organisations qui souhaitent s'assurer que leur code et leurs données ne quittent jamais leur infrastructure. Il peut le faire en utilisant une configuration centralisée qui s'intègre à votre SSO et à votre passerelle IA interne.
OpenCode Enterprise est destiné aux organisations qui souhaitent s'assurer que leur code et leurs données ne quittent jamais leur infrastructure. Cela est possible grâce à une configuration centralisée qui s'intègre à votre SSO et à votre passerelle IA interne.
:::note
OpenCode ne stocke aucune de vos données de code ou de contexte.
:::
Pour démarrer avec OpenCode Enterprise :
Pour démarrer avec OpenCode Enterprise :
1. Faites un essai en interne avec votre équipe.
2. **<a href={email}>Contactez-nous</a>** pour discuter des options de tarification et de mise en œuvre.
@@ -29,8 +29,7 @@ OpenCode est open source et ne stocke aucune de vos données de code ou de conte
**OpenCode ne stocke pas votre code ni vos données contextuelles.** Tous les traitements s'effectuent localement ou via des appels API directs à votre fournisseur d'IA.
Cela signifie que tant que vous faites appel à un fournisseur de confiance ou à un
Passerelle AI, vous pouvez utiliser OpenCode en toute sécurité.
Cela signifie que tant que vous faites appel à un fournisseur de confiance ou à une passerelle IA, vous pouvez utiliser OpenCode en toute sécurité.
La seule mise en garde ici concerne la fonctionnalité facultative `/share`.
@@ -69,9 +68,7 @@ Nous utilisons un modèle par siège pour OpenCode Enterprise. Si vous disposez
## Déploiement
Une fois que vous avez terminé votre essai et que vous êtes prêt à utiliser OpenCode à
votre organisation, vous pouvez **<a href={email}>nous contacter</a>** pour en discuter
options de tarification et de mise en œuvre.
Une fois que vous avez terminé votre essai et que vous êtes prêt à utiliser OpenCode à votre organisation, vous pouvez **<a href={email}>nous contacter</a>** pour discuter des options de tarification et de mise en œuvre.
---
@@ -91,7 +88,7 @@ Cela permet à OpenCode d'obtenir les informations d'identification de votre pas
---
### AI Gateway interne
### Passerelle IA interne
Avec la configuration centrale, OpenCode peut également être configuré pour utiliser uniquement votre passerelle IA interne.
@@ -101,8 +98,7 @@ Vous pouvez également désactiver tous les autres fournisseurs d'IA, en vous as
### Auto-hébergement
Bien que nous vous recommandons de désactiver les pages de partage pour garantir que vos données ne quittent jamais
votre organisation, nous pouvons également vous aider à les auto-héberger sur votre infrastructure.
Bien que nous vous recommandons de désactiver les pages de partage pour garantir que vos données ne quittent jamais votre organisation, nous pouvons également vous aider à les auto-héberger sur votre infrastructure.
Ceci est actuellement sur notre feuille de route. Si vous êtes intéressé, **<a href={email}>faites-le-nous savoir</a>**.
@@ -111,14 +107,14 @@ Ceci est actuellement sur notre feuille de route. Si vous êtes intéressé, **<
## FAQ
<details>
<summary>Quest-ce que OpenCode Entreprise ?</summary>
<summary>Quest-ce que OpenCode Entreprise ?</summary>
OpenCode Enterprise est destiné aux organisations qui souhaitent s'assurer que leur code et leurs données ne quittent jamais leur infrastructure. Il peut le faire en utilisant une configuration centralisée qui s'intègre à votre SSO et à votre passerelle IA interne.
</details>
<details>
<summary>Comment démarrer avec OpenCode Enterprise ?</summary>
<summary>Comment démarrer avec OpenCode Enterprise ?</summary>
Commencez simplement par un essai interne avec votre équipe. OpenCode par défaut ne stocke pas votre code ni vos données contextuelles, ce qui facilite le démarrage.
@@ -134,31 +130,30 @@ Nous proposons des tarifs d'entreprise par siège. Si vous disposez de votre pro
</details>
<details>
<summary>Mes données sont-elles sécurisées avec OpenCode Enterprise ?</summary>
<summary>Mes données sont-elles sécurisées avec OpenCode Enterprise ?</summary>
Oui. OpenCode ne stocke pas votre code ni vos données contextuelles. Tout le traitement s'effectue localement ou via des appels API directs à votre fournisseur d'IA. Grâce à la configuration centrale et à l'intégration SSO, vos données restent sécurisées au sein de l'infrastructure de votre organisation.
</details>
<details>
<summary>Pouvons-nous utiliser notre propre registre privé NPM ?</summary>
<summary>Pouvons-nous utiliser notre propre registre privé NPM ?</summary>
OpenCode prend en charge les registres npm privés via la prise en charge native des fichiers `.npmrc` de Bun. Si votre organisation utilise un registre privé, tel que JFrog Artifactory, Nexus ou similaire, assurez-vous que les développeurs sont authentifiés avant d'exécuter OpenCode.
Pour configurer l'authentification avec votre registre privé :
Pour configurer l'authentification avec votre registre privé :
```bash
npm login --registry=https://your-company.jfrog.io/api/npm/npm-virtual/
```
Cela crée `~/.npmrc` avec les détails d'authentification. OpenCode sera automatiquement
ramasse ça.
Cela crée `~/.npmrc` avec les détails d'authentification. OpenCode le détectera automatiquement.
:::caution
Vous devez être connecté au registre privé avant d'exécuter OpenCode.
:::
Alternativement, vous pouvez configurer manuellement un fichier `.npmrc` :
Alternativement, vous pouvez configurer manuellement un fichier `.npmrc` :
```bash title="~/.npmrc"
registry=https://your-company.jfrog.io/api/npm/npm-virtual/

View File

@@ -1,17 +1,17 @@
---
title: Formateurs
description: OpenCode utilise des formateurs spécifiques à la langue.
description: OpenCode utilise des formateurs spécifiques au langage.
---
OpenCode formate automatiquement les fichiers après leur écriture ou leur modification à l'aide de formateurs spécifiques à la langue. Cela garantit que le code généré suit les styles de code de votre projet.
OpenCode formate automatiquement les fichiers après leur écriture ou leur modification à l'aide de formateurs spécifiques au langage. Cela garantit que le code généré suit les styles de code de votre projet.
---
## Intégré
## Formateurs intégrés
OpenCode est livré avec plusieurs formateurs intégrés pour les langages et frameworks populaires. Vous trouverez ci-dessous une liste des formateurs, des extensions de fichiers prises en charge et des commandes ou options de configuration dont il a besoin.
| Formateur | Rallonges | Exigences |
| Formateur | Extensions | Prérequis |
| -------------------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- |
| gofmt | .go | Commande `gofmt` disponible |
| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Commande `mix` disponible |
@@ -44,7 +44,7 @@ Ainsi, si votre projet a `prettier` dans votre `package.json`, OpenCode l'utilis
## Comment ça marche
Lorsque OpenCode écrit ou modifie un fichier, il :
Lorsque OpenCode écrit ou modifie un fichier, il :
1. Vérifie l'extension du fichier par rapport à tous les formateurs activés.
2. Exécute la commande de formatage appropriée sur le fichier.
@@ -54,7 +54,7 @@ Ce processus se déroule en arrière-plan, garantissant que vos styles de code s
---
## Configurer
## Configuration
Vous pouvez personnaliser les formateurs via la section `formatter` de votre configuration OpenCode.
@@ -65,9 +65,9 @@ Vous pouvez personnaliser les formateurs via la section `formatter` de votre con
}
```
Chaque configuration du formateur prend en charge les éléments suivants :
Chaque configuration du formateur prend en charge les éléments suivants :
| Propriété | Tapez | Descriptif |
| Propriété | Type | Description |
| ------------- | -------- | -------------------------------------------------------------------- |
| `disabled` | booléen | Définissez ceci sur `true` pour désactiver le formateur |
| `command` | chaîne[] | La commande à exécuter pour le formatage |
@@ -80,7 +80,7 @@ Regardons quelques exemples.
### Désactivation des formateurs
Pour désactiver **tous** les formateurs globalement, définissez `formatter` sur `false` :
Pour désactiver **tous** les formateurs globalement, définissez `formatter` sur `false` :
```json title="opencode.json" {3}
{
@@ -89,7 +89,7 @@ Pour désactiver **tous** les formateurs globalement, définissez `formatter` su
}
```
Pour désactiver un formateur **spécifique**, définissez `disabled` sur `true` :
Pour désactiver un formateur **spécifique**, définissez `disabled` sur `true` :
```json title="opencode.json" {5}
{
@@ -106,7 +106,7 @@ Pour désactiver un formateur **spécifique**, définissez `disabled` sur `true`
### Formateurs personnalisés
Vous pouvez remplacer les formateurs intégrés ou en ajouter de nouveaux en spécifiant la commande, les variables d'environnement et les extensions de fichier :
Vous pouvez remplacer les formateurs intégrés ou en ajouter de nouveaux en spécifiant la commande, les variables d'environnement et les extensions de fichier :
```json title="opencode.json" {4-14}
{

View File

@@ -1,29 +1,29 @@
---
title: GitHub
description: Utilisez OpenCode dans les problèmes et les pull-requests GitHub.
description: Utilisez OpenCode dans les issues et les pull-requests GitHub.
---
OpenCode s'intègre à votre flux de travail GitHub. Mentionnez `/opencode` ou `/oc` dans votre commentaire, et OpenCode exécutera des tâches dans votre runner GitHub Actions.
---
## Caractéristiques
## Fonctionnalités
- **Problèmes de triage** : demandez à OpenCode d'examiner un problème et de vous l'expliquer.
- **Réparer et implémenter** : demandez à OpenCode de résoudre un problème ou d'implémenter une fonctionnalité. Et il fonctionnera dans une nouvelle branche et soumettra un PR avec tous les changements.
- **Sécurisé** : OpenCode s'exécute à l'intérieur de vos runners GitHub.
- **Triage des issues** : demandez à OpenCode d'examiner une issue et de vous l'expliquer.
- **Correction et implémentation** : demandez à OpenCode de résoudre un problème ou d'implémenter une fonctionnalité. Il travaillera dans une nouvelle branche et soumettra une PR avec tous les changements.
- **Sécurisé** : OpenCode s'exécute à l'intérieur de vos runners GitHub.
---
## Installation
Exécutez la commande suivante dans un projet qui se trouve dans un dépôt GitHub :
Exécutez la commande suivante dans un projet qui se trouve dans un dépôt GitHub :
```bash
opencode github install
```
Cela vous guidera dans l'installation de l'application GitHub, la création du flux de travail et la configuration des secrets.
Cela vous guidera dans l'installation de l'application GitHub, la création du workflow et la configuration des secrets.
---
@@ -33,11 +33,11 @@ Ou vous pouvez le configurer manuellement.
1. **Installez l'application GitHub**
Rendez-vous sur [**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent). Assurez-vous qu'il est installé sur le référentiel cible.
Rendez-vous sur [**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent). Assurez-vous qu'il est installé sur le dépôt cible.
2. **Ajouter le flux de travail**
2. **Ajouter le workflow**
Ajoutez le fichier de workflow suivant à `.github/workflows/opencode.yml` dans votre référentiel. Assurez-vous de définir les clés `model` appropriées et API requises dans `env`.
Ajoutez le fichier de workflow suivant à `.github/workflows/opencode.yml` dans votre dépôt. Assurez-vous de définir les clés `model` appropriées et les clés API requises dans `env`.
```yml title=".github/workflows/opencode.yml" {24,26}
name: opencode
@@ -73,21 +73,21 @@ Ajoutez le fichier de workflow suivant à `.github/workflows/opencode.yml` dans
# github_token: xxxx
```
3. **Stockez les clés API en secret**
3. **Stockez les clés API dans les secrets**
Dans les **paramètres** de votre organisation ou de votre projet, développez **Secrets et variables** sur la gauche et sélectionnez **Actions**. Et ajoutez les clés API requises.
Dans les **paramètres** de votre organisation ou de votre projet, développez **Secrets et variables** sur la gauche et sélectionnez **Actions**. Puis ajoutez les clés API requises.
---
## Configuration
- `model` : Le modèle à utiliser avec OpenCode. Prend le format `provider/model`. Ceci est **obligatoire**.
- `agent` : l'agent à utiliser. Doit être un agent principal. Revient à `default_agent` à partir de la configuration ou à `"build"` s'il n'est pas trouvé.
- `share` : s'il faut partager la session OpenCode. La valeur par défaut est **true** pour les référentiels publics.
- `prompt` : invite personnalisée facultative pour remplacer le comportement par défaut. Utilisez-le pour personnaliser la façon dont OpenCode traite les demandes.
- `token` : jeton d'accès GitHub facultatif pour effectuer des opérations telles que la création de commentaires, la validation de modifications et l'ouverture de demandes d'extraction. Par défaut, OpenCode utilise le jeton d'accès à l'installation de l'application OpenCode GitHub, de sorte que les validations, les commentaires et les demandes d'extraction apparaissent comme provenant de l'application.
- `model` : Le modèle à utiliser avec OpenCode. Prend le format `provider/model`. Ceci est **obligatoire**.
- `agent` : l'agent à utiliser. Doit être un agent primaire. Revient à `default_agent` à partir de la configuration ou à `"build"` s'il n'est pas trouvé.
- `share` : s'il faut partager la session OpenCode. La valeur par défaut est **true** pour les référentiels publics.
- `prompt` : prompt personnalisé facultatif pour remplacer le comportement par défaut. Utilisez-le pour personnaliser la façon dont OpenCode traite les demandes.
- `token` : jeton d'accès GitHub facultatif pour effectuer des opérations telles que la création de commentaires, le commit de modifications et l'ouverture de pull requests. Par défaut, OpenCode utilise le jeton d'accès à l'installation de l'application OpenCode GitHub, de sorte que les commits, les commentaires et les pull requests apparaissent comme provenant de l'application.
Vous pouvez également utiliser le `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) intégré du runner GitHub Actions sans installer l'application OpenCode GitHub. Assurez-vous simplement d'accorder les autorisations requises dans votre flux de travail :
Vous pouvez également utiliser le `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) intégré du runner GitHub Actions sans installer l'application OpenCode GitHub. Assurez-vous simplement d'accorder les autorisations requises dans votre workflow :
```yaml
permissions:
@@ -97,26 +97,26 @@ permissions:
issues: write
```
Vous pouvez également utiliser un [jetons d'accès personnels](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)(PAT) si vous préférez.
Vous pouvez également utiliser un [jeton d'accès personnel](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)(PAT) si vous préférez.
---
## Événements pris en charge
## Événements supportés
OpenCode peut être déclenché par les événements GitHub suivants :
OpenCode peut être déclenché par les événements GitHub suivants :
| Type d'événement | Déclenché par | Détails |
| ----------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `issue_comment` | Commenter un problème ou un PR | Mentionnez `/opencode` ou `/oc` dans votre commentaire. OpenCode lit le contexte et peut créer des branches, ouvrir des PR ou répondre. |
| `pull_request_review_comment` | Commentez des lignes de code spécifiques dans un PR | Mentionnez `/opencode` ou `/oc` lors de la révision du code. OpenCode reçoit le chemin du fichier, les numéros de ligne et le contexte de comparaison. |
| `issues` | Numéro ouvert ou modifié | Déclenchez automatiquement OpenCode lorsque des problèmes sont créés ou modifiés. Nécessite une entrée `prompt`. |
| `pull_request` | PR ouvert ou mis à jour | Déclenchez automatiquement OpenCode lorsque les PR sont ouverts, synchronisés ou rouverts. Utile pour les avis automatisés. |
| `schedule` | Planification basée sur Cron | Exécutez OpenCode selon un planning. Nécessite une entrée `prompt`. La sortie va aux journaux et aux PR (aucun problème à commenter). |
| `issue_comment` | Commentaire sur une issue ou une PR | Mentionnez `/opencode` ou `/oc` dans votre commentaire. OpenCode lit le contexte et peut créer des branches, ouvrir des PR ou répondre. |
| `pull_request_review_comment` | Commentaire sur des lignes de code spécifiques dans une PR | Mentionnez `/opencode` ou `/oc` lors de la révision du code. OpenCode reçoit le chemin du fichier, les numéros de ligne et le contexte de comparaison. |
| `issues` | Issue ouverte ou modifiée | Déclenchez automatiquement OpenCode lorsque des issues sont créées ou modifiées. Nécessite une entrée `prompt`. |
| `pull_request` | PR ouverte ou mise à jour | Déclenchez automatiquement OpenCode lorsque les PR sont ouvertes, synchronisées ou rouvertes. Utile pour les revues automatisées. |
| `schedule` | Planification basée sur Cron | Exécutez OpenCode selon un planning. Nécessite une entrée `prompt`. La sortie va aux journaux et aux PR (pas de commentaire sur les issues). |
| `workflow_dispatch` | Déclenchement manuel depuis l'interface utilisateur GitHub | Déclenchez OpenCode à la demande via l'onglet Actions. Nécessite une entrée `prompt`. La sortie va aux journaux et aux PR. |
### Exemple d'horaire
### Exemple de planification
Exécutez OpenCode selon un planning pour effectuer des tâches automatisées :
Exécutez OpenCode selon un planning pour effectuer des tâches automatisées :
```yaml title=".github/workflows/opencode-scheduled.yml"
name: Scheduled OpenCode Task
@@ -191,13 +191,13 @@ jobs:
- Suggest improvements
```
Pour les événements `pull_request`, si aucun `prompt` n'est fourni, OpenCode examine par défaut la demande d'extraction.
Pour les événements `pull_request`, si aucun `prompt` n'est fourni, OpenCode examine par défaut la pull request.
---
### Exemple de Issue Triage
### Exemple de Triage d'Issue
Triez automatiquement les nouveaux problèmes. Cet exemple filtre les comptes datant de plus de 30 jours pour réduire le spam :
Triez automatiquement les nouvelles issues. Cet exemple filtre les comptes datant de plus de 30 jours pour réduire le spam :
```yaml title=".github/workflows/opencode-triage.yml"
name: Issue Triage
@@ -252,7 +252,7 @@ Pour les événements `issues`, l'entrée `prompt` est **obligatoire** car il n'
## Invites personnalisées
Remplacez l'invite par défaut pour personnaliser le comportement de OpenCode pour votre flux de travail.
Remplacez l'invite par défaut pour personnaliser le comportement de OpenCode pour votre workflow.
```yaml title=".github/workflows/opencode.yml"
- uses: anomalyco/opencode/github@latest
@@ -273,9 +273,9 @@ Ceci est utile pour appliquer des critères dévaluation spécifiques, des no
Voici quelques exemples de la façon dont vous pouvez utiliser OpenCode dans GitHub.
- **Expliquez un problème**
- **Expliquer une issue**
Ajoutez ce commentaire dans un numéro GitHub.
Ajoutez ce commentaire dans une issue GitHub.
```
/opencode explain this issue
@@ -283,38 +283,38 @@ Ajoutez ce commentaire dans un numéro GitHub.
OpenCode lira l'intégralité du fil de discussion, y compris tous les commentaires, et répondra avec une explication claire.
- **Résoudre un problème**
- **Résoudre une issue**
Dans un numéro GitHub, dites :
Dans une issue GitHub, dites :
```
/opencode fix this
```
Et OpenCode créera une nouvelle branche, mettra en œuvre les modifications et ouvrira un PR avec les modifications.
Et OpenCode créera une nouvelle branche, mettra en œuvre les modifications et ouvrira une PR avec les modifications.
- **Examinez les PR et apportez des modifications**
Laissez le commentaire suivant sur un PR GitHub.
Laissez le commentaire suivant sur une PR GitHub.
```
Delete the attachment from S3 when the note is removed /oc
```
OpenCode mettra en œuvre la modification demandée et la validera dans le même PR.
OpenCode mettra en œuvre la modification demandée et la validera dans la même PR.
- **Revoir des lignes de code spécifiques**
- **Revue de lignes de code spécifiques**
Laissez un commentaire directement sur les lignes de code dans l'onglet "Fichiers" du PR. OpenCode détecte automatiquement le fichier, les numéros de ligne et le contexte de comparaison pour fournir des réponses précises.
Laissez un commentaire directement sur les lignes de code dans l'onglet "Fichiers" de la PR. OpenCode détecte automatiquement le fichier, les numéros de ligne et le contexte de comparaison pour fournir des réponses précises.
```
[Comment on specific lines in Files tab]
/oc add error handling here
```
Lorsqu'il commente des lignes spécifiques, OpenCode reçoit :
Lorsqu'il commente des lignes spécifiques, OpenCode reçoit :
- Le dossier exact en cours d'examen
- Le fichier exact en cours d'examen
- Les lignes de code spécifiques
- Le contexte différentiel environnant
- Informations sur le numéro de ligne

View File

@@ -1,6 +1,6 @@
---
title: GitLab
description: Utilisez OpenCode dans les problèmes GitLab et les demandes de fusion.
description: Utilisez OpenCode dans les issues GitLab et les merge requests.
---
OpenCode s'intègre à votre flux de travail GitLab via votre pipeline CI/CD GitLab ou avec GitLab Duo.
@@ -17,17 +17,17 @@ Ici, nous utilisons un composant CI/CD créé par la communauté pour OpenCode
---
### Caractéristiques
### Fonctionnalités
- **Utiliser une configuration personnalisée par tâche** : configurez OpenCode avec un répertoire de configuration personnalisé, par exemple `./config/#custom-directory` pour activer ou désactiver la fonctionnalité par appel OpenCode.
- **Configuration minimale** : le composant CI configure OpenCode en arrière-plan, il vous suffit de créer la configuration OpenCode et l'invite initiale.
- **Flexible** : le composant CI prend en charge plusieurs entrées pour personnaliser son comportement
- **Utiliser une configuration personnalisée par tâche** : configurez OpenCode avec un répertoire de configuration personnalisé, par exemple `./config/#custom-directory` pour activer ou désactiver la fonctionnalité pour chaque appel d'OpenCode.
- **Configuration minimale** : le composant CI configure OpenCode en arrière-plan, il vous suffit de créer la configuration OpenCode et le prompt initial.
- **Flexible** : le composant CI prend en charge plusieurs entrées pour personnaliser son comportement
---
### Installation
1. Stockez votre authentification OpenCode JSON en tant que variables d'environnement CI de type fichier sous **Paramètres** > **CI/CD** > **Variables**. Assurez-vous de les marquer comme « Masqués et cachés ».
1. Stockez votre authentification OpenCode JSON en tant que variables d'environnement CI de type fichier sous **Paramètres** > **CI/CD** > **Variables**. Assurez-vous de les marquer comme « Masquées et protégées ».
2. Ajoutez ce qui suit à votre fichier `.gitlab-ci.yml`.
```yaml title=".gitlab-ci.yml"
@@ -40,7 +40,7 @@ Ici, nous utilisons un composant CI/CD créé par la communauté pour OpenCode
message: "Your prompt here"
```
Pour plus d'entrées et de cas d'utilisation [consultez la docs](https://gitlab.com/explore/catalog/nagyv/gitlab-opencode) pour ce composant.
Pour plus d'entrées et de cas d'utilisation [consultez la doc](https://gitlab.com/explore/catalog/nagyv/gitlab-opencode) pour ce composant.
---
@@ -51,21 +51,21 @@ Mentionnez `@opencode` dans un commentaire et OpenCode exécutera les tâches au
---
### Caractéristiques
### Fonctionnalités
- **Problèmes de triage** : demandez à OpenCode d'examiner un problème et de vous l'expliquer.
- **Réparer et implémenter** : demandez à OpenCode de résoudre un problème ou d'implémenter une fonctionnalité.
Cela créera une nouvelle branche et déclenchera une demande de fusion avec les modifications.
- **Sécurisé** : OpenCode fonctionne sur vos runners GitLab.
- **Triage d'issues** : demandez à OpenCode d'examiner une issue et de vous l'expliquer.
- **Correction et implémentation** : demandez à OpenCode de résoudre une issue ou d'implémenter une fonctionnalité.
Cela créera une nouvelle branche et déclenchera une merge request avec les modifications.
- **Sécurisé** : OpenCode fonctionne sur vos runners GitLab.
---
### Installation
OpenCode s'exécute dans votre pipeline CI/CD GitLab. Voici ce dont vous aurez besoin pour le configurer :
OpenCode s'exécute dans votre pipeline CI/CD GitLab. Voici ce dont vous aurez besoin pour le configurer :
:::tip
Consultez les [**GitLab docs**](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/) pour obtenir des instructions à jour.
Consultez la [**documentation GitLab**](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/) pour obtenir des instructions à jour.
:::
1. Configurez votre environnement GitLab
@@ -73,7 +73,7 @@ Consultez les [**GitLab docs**](https://docs.gitlab.com/user/duo_agent_platform/
3. Obtenez la clé API d'un fournisseur de modèles d'IA
4. Créer un compte de service
5. Configurer les variables CI/CD
6. Créez un fichier de configuration de flux, voici un exemple :
6. Créez un fichier de configuration de flux, voici un exemple :
<details>
@@ -164,32 +164,32 @@ Voici quelques exemples de la façon dont vous pouvez utiliser OpenCode dans Git
Vous pouvez configurer pour utiliser une phrase de déclenchement différente de `@opencode`.
:::
- **Expliquez un problème**
- **Expliquer une issue**
Ajoutez ce commentaire dans un numéro GitLab.
Ajoutez ce commentaire dans une issue GitLab.
```
@opencode explain this issue
```
OpenCode lira le problème et répondra avec une explication claire.
OpenCode lira l'issue et répondra avec une explication claire.
- **Résoudre un problème**
- **Résoudre une issue**
Dans un numéro GitLab, dites :
Dans une issue GitLab, dites :
```
@opencode fix this
```
OpenCode créera une nouvelle branche, mettra en œuvre les modifications et ouvrira une demande de fusion avec les modifications.
OpenCode créera une nouvelle branche, mettra en œuvre les modifications et ouvrira une merge request avec les modifications.
- **Examiner les demandes de fusion**
- **Revue de merge request**
Laissez le commentaire suivant sur une demande de fusion GitLab.
Laissez le commentaire suivant sur une merge request GitLab.
```
@opencode review this merge request
```
OpenCode examinera la demande de fusion et fournira des commentaires.
OpenCode examinera la merge request et fournira des commentaires.

View File

@@ -7,18 +7,18 @@ OpenCode s'intègre à VS Code, Cursor ou tout IDE prenant en charge un terminal
---
## Usage
## Utilisation
- **Lancement rapide** : utilisez `Cmd+Esc` (Mac) ou `Ctrl+Esc` (Windows/Linux) pour ouvrir OpenCode dans une vue de terminal divisée, ou concentrez-vous sur une session de terminal existante si elle est déjà en cours d'exécution.
- **Nouvelle session** : utilisez `Cmd+Shift+Esc` (Mac) ou `Ctrl+Shift+Esc` (Windows/Linux) pour démarrer une nouvelle session de terminal OpenCode, même si elle est déjà ouverte. Vous pouvez également cliquer sur le bouton OpenCode dans l'interface utilisateur.
- **Conscience du contexte** : partagez automatiquement votre sélection ou onglet actuel avec OpenCode.
- **Raccourcis de référence de fichier** : utilisez `Cmd+Option+K` (Mac) ou `Alt+Ctrl+K` (Linux/Windows) pour insérer des références de fichier. Par exemple, `@File#L37-42`.
- **Lancement rapide** : utilisez `Cmd+Esc` (Mac) ou `Ctrl+Esc` (Windows/Linux) pour ouvrir OpenCode dans une vue de terminal divisée, ou focus sur une session de terminal existante si elle est déjà en cours d'exécution.
- **Nouvelle session** : utilisez `Cmd+Shift+Esc` (Mac) ou `Ctrl+Shift+Esc` (Windows/Linux) pour démarrer une nouvelle session de terminal OpenCode, même si elle est déjà ouverte. Vous pouvez également cliquer sur le bouton OpenCode dans l'interface utilisateur.
- **Contexte** : partagez automatiquement votre sélection ou onglet actuel avec OpenCode.
- **Raccourcis de référence de fichier** : utilisez `Cmd+Option+K` (Mac) ou `Alt+Ctrl+K` (Linux/Windows) pour insérer des références de fichier. Par exemple, `@File#L37-42`.
---
## Installation
Pour installer OpenCode sur VS Code et les forks populaires comme Cursor, Windsurf, VSCodium :
Pour installer OpenCode sur VS Code et les forks populaires comme Cursor, Windsurf, VSCodium :
1. Ouvrir VS Code
2. Ouvrez le terminal intégré
@@ -36,13 +36,13 @@ Recherchez **OpenCode** dans Extension Marketplace et cliquez sur **Installer**.
### Dépannage
Si l'extension ne parvient pas à s'installer automatiquement :
Si l'extension ne parvient pas à s'installer automatiquement :
- Assurez-vous que vous exécutez `opencode` dans le terminal intégré.
- Confirmez que la CLI de votre IDE est installée :
- Confirmez que la CLI de votre IDE est installée :
- Pour VS Code : commande `code`
- Pour Cursor : commande `cursor`
- Pour Windsurf : commande `windsurf`
- Pour VSCodium : commande `codium`
- Sinon, exécutez `Cmd+Shift+P` (Mac) ou `Ctrl+Shift+P` (Windows/Linux) et recherchez « Commande Shell : installez la commande 'code' dans PATH » (ou l'équivalent pour votre IDE)
- Sinon, exécutez `Cmd+Shift+P` (Mac) ou `Ctrl+Shift+P` (Windows/Linux) et recherchez « Shell Command: Install 'code' command in PATH » (ou l'équivalent pour votre IDE)
- Assurez-vous que VS Code est autorisé à installer des extensions

View File

@@ -15,65 +15,65 @@ Commençons.
---
#### Conditions préalables
#### Prérequis
Pour utiliser OpenCode dans votre terminal, vous aurez besoin de :
Pour utiliser OpenCode dans votre terminal, vous aurez besoin de :
1. Un émulateur de terminal moderne comme :
1. Un émulateur de terminal moderne comme :
- [WezTerm](https://wezterm.org), multiplateforme
- [Alacritty](https://alacritty.org), multiplateforme
- [Ghostty](https://ghostty.org), Linux et macOS
- [Kitty](https://sw.kovidgoyal.net/kitty/), Linux et macOS
2. Clés API pour les fournisseurs LLM que vous souhaitez utiliser.
2. Clés API pour les fournisseurs de LLM que vous souhaitez utiliser.
---
## Installer
## Installation
Le moyen le plus simple d'installer OpenCode consiste à utiliser le script d'installation.
Le moyen le plus simple d'installer OpenCode est d'utiliser le script d'installation.
```bash
curl -fsSL https://opencode.ai/install | bash
```
Vous pouvez également l'installer avec les commandes suivantes :
Vous pouvez également l'installer avec les commandes suivantes :
- **En utilisant Node.js**
- **Node.js**
<Tabs>
<Tabs>
<TabItem label="npm">
```bash
npm install -g opencode-ai
```
</TabItem>
</TabItem>
<TabItem label="Bun">
```bash
bun install -g opencode-ai
```
<TabItem label="Bun">
```bash
bun install -g opencode-ai
```
</TabItem>
</TabItem>
<TabItem label="pnpm">
```bash
pnpm install -g opencode-ai
```
<TabItem label="pnpm">
```bash
pnpm install -g opencode-ai
```
</TabItem>
</TabItem>
<TabItem label="Yarn">
```bash
yarn global add opencode-ai
```
<TabItem label="Yarn">
```bash
yarn global add opencode-ai
```
</TabItem>
</Tabs>
- **Utilisation de Homebrew sur macOS et Linux**
- **Via Homebrew sur macOS et Linux**
```bash
brew install anomalyco/tap/opencode
@@ -81,7 +81,7 @@ Vous pouvez également l'installer avec les commandes suivantes :
> Nous vous recommandons d'utiliser le tap OpenCode pour les versions les plus récentes. La formule officielle `brew install opencode` est maintenue par l'équipe Homebrew et est mise à jour moins fréquemment.
- **Utilisation de Paru sur Arch Linux**
- **Via Paru sur Arch Linux**
```bash
paru -S opencode-bin
@@ -89,55 +89,54 @@ Vous pouvez également l'installer avec les commandes suivantes :
#### Windows
:::tip[Recommandé : utilisez WSL]
:::tip[Recommandé : utilisez WSL]
Pour une expérience optimale sur Windows, nous vous recommandons d'utiliser le [Windows Subsystem for Linux (WSL)](/docs/windows-wsl). Il offre de meilleures performances et une compatibilité totale avec les fonctionnalités de OpenCode.
:::
- **Utiliser Chocolatey**
- **Via Chocolatey**
```bash
choco install opencode
```
- **Utilisation de Scoop**
- **Via Scoop**
```bash
scoop install opencode
```
- **En utilisant NPM**
- **Via NPM**
```bash
npm install -g opencode-ai
```
- **Utiliser Mise**
- **Via Mise**
```bash
mise use -g github:anomalyco/opencode
```
- **En utilisant Docker**
- **Via Docker**
```bash
docker run -it --rm ghcr.io/anomalyco/opencode
```
La prise en charge de l'installation de OpenCode sur Windows à l'aide de Bun est actuellement en cours.
Le support de l'installation de OpenCode sur Windows à l'aide de Bun est actuellement en cours de développement.
Vous pouvez également récupérer le binaire dans le fichier [Releases](https://github.com/anomalyco/opencode/releases).
Vous pouvez également récupérer le binaire dans les [Releases](https://github.com/anomalyco/opencode/releases).
---
## Configurer
## Configuration
Avec OpenCode, vous pouvez utiliser n'importe quel fournisseur LLM en configurant ses clés API.
Avec OpenCode, vous pouvez utiliser n'importe quel fournisseur de LLM en configurant ses clés API.
Si vous débutez avec les fournisseurs LLM, nous vous recommandons d'utiliser [OpenCode Zen](/docs/zen).
Il s'agit d'une liste organisée de modèles qui ont été testés et vérifiés par le OpenCode
équipe.
Si vous débutez avec les fournisseurs de LLM, nous vous recommandons d'utiliser [OpenCode Zen](/docs/zen).
C'est une liste curée de modèles qui ont été testés et vérifiés par l'équipe OpenCode.
1. Exécutez la commande `/connect` dans le TUI, sélectionnez opencode et dirigez-vous vers [opencode.ai/auth](https://opencode.ai/auth).
1. Exécutez la commande `/connect` dans le TUI, sélectionnez opencode et allez sur [opencode.ai/auth](https://opencode.ai/auth).
```txt
/connect
@@ -158,10 +157,9 @@ Vous pouvez également sélectionner l'un des autres fournisseurs. [En savoir pl
---
## Initialiser
## Initialisation
Maintenant que vous avez configuré un fournisseur, vous pouvez accéder à un projet qui
vous voulez travailler.
Maintenant que vous avez configuré un fournisseur, vous pouvez accéder à un projet sur lequel vous voulez travailler.
```bash
cd /path/to/project
@@ -179,29 +177,25 @@ Ensuite, initialisez OpenCode pour le projet en exécutant la commande suivante.
/init
```
Cela permettra à OpenCode d'analyser votre projet et de créer un fichier `AGENTS.md` dans
la racine du projet.
Cela permettra à OpenCode d'analyser votre projet et de créer un fichier `AGENTS.md` à la racine du projet.
:::tip
Vous devez valider le fichier `AGENTS.md` de votre projet dans Git.
:::
Cela aide OpenCode à comprendre la structure du projet et les modèles de codage
utilisé.
Cela aide OpenCode à comprendre la structure du projet et les modèles de codage utilisés.
---
## Usage
## Utilisation
Vous êtes maintenant prêt à utiliser OpenCode pour travailler sur votre projet. N'hésitez pas à le demander
rien!
Vous êtes maintenant prêt à utiliser OpenCode pour travailler sur votre projet. N'hésitez pas à lui demander n'importe quoi !
Si vous débutez dans l'utilisation d'un agent de codage IA, voici quelques exemples qui pourraient
aide.
Si vous débutez dans l'utilisation d'un agent de codage IA, voici quelques exemples qui pourraient aider.
---
### Posez des questions
### Poser des questions
Vous pouvez demander à OpenCode de vous expliquer la base de code.
@@ -223,8 +217,7 @@ Vous pouvez demander à OpenCode d'ajouter de nouvelles fonctionnalités à votr
1. **Créer un plan**
OpenCode dispose d'un _Mode Plan_ qui désactive sa capacité à apporter des modifications et
suggérez plutôt _comment_ il implémentera la fonctionnalité.
OpenCode dispose d'un _Mode Plan_ qui désactive sa capacité à apporter des modifications et suggère plutôt _comment_ il implémentera la fonctionnalité.
Accédez-y à l'aide de la touche **Tab**. Vous verrez un indicateur à cet effet dans le coin inférieur droit.
@@ -240,12 +233,10 @@ Décrivons maintenant ce que nous voulons qu'il fasse.
From this screen, the user can undelete a note or permanently delete it.
```
Vous souhaitez donner à OpenCode suffisamment de détails pour comprendre ce que vous voulez. Ça aide
pour lui parler comme si vous parliez à un développeur junior de votre équipe.
Vous souhaitez donner à OpenCode suffisamment de détails pour comprendre ce que vous voulez. Ça aide pour lui parler comme si vous parliez à un développeur junior de votre équipe.
:::tip
Donnez à OpenCode beaucoup de contexte et d'exemples pour l'aider à comprendre ce que vous
vouloir.
Donnez à OpenCode beaucoup de contexte et d'exemples pour l'aider à comprendre ce que vous voulez.
:::
2. **Itérer sur le plan**
@@ -258,22 +249,20 @@ Une fois qu'il vous donne un plan, vous pouvez lui faire part de vos commentaire
```
:::tip
Faites glisser et déposez des images dans le terminal pour les ajouter à l'invite.
Glissez-déposez des images dans le terminal pour les ajouter à l'invite.
:::
OpenCode peut numériser toutes les images que vous lui donnez et les ajouter à l'invite. Tu peux
faites-le en faisant glisser et en déposant une image dans le terminal.
OpenCode peut scanner toutes les images que vous lui donnez et les ajouter à l'invite. Vous pouvez le faire en glissant et en déposant une image dans le terminal.
3. **Créez la fonctionnalité**
Une fois que vous vous sentez à l'aise avec le plan, revenez au _Mode Build_ en
appuyer à nouveau sur la touche **Tab**.
Une fois que vous vous sentez à l'aise avec le plan, revenez au _Mode Build_ en appuyant à nouveau sur la touche **Tab**.
```bash frame="none"
<TAB>
```
Et lui demander d'apporter les modifications.
Et demandez-lui d'apporter les modifications.
```bash frame="none"
Sounds good! Go ahead and make the changes.
@@ -283,8 +272,7 @@ Et lui demander d'apporter les modifications.
### Apporter des modifications
Pour des modifications plus simples, vous pouvez demander à OpenCode de le construire directement
sans avoir à revoir le plan au préalable.
Pour des modifications plus simples, vous pouvez demander à OpenCode de construire directement sans avoir à revoir le plan au préalable.
```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
We need to add authentication to the /settings route. Take a look at how this is
@@ -292,8 +280,7 @@ handled in the /notes route in @packages/functions/src/notes.ts and implement
the same logic in @packages/functions/src/settings.ts
```
Vous voulez vous assurer de fournir une bonne quantité de détails afin que OpenCode fasse le bon choix.
changements.
Vous devez fournir suffisamment de détails pour qu'OpenCode effectue les bonnes modifications.
---
@@ -305,15 +292,13 @@ Disons que vous demandez à OpenCode d'apporter quelques modifications.
Can you refactor the function in @packages/functions/src/api/index.ts?
```
Mais vous réalisez que ce nest pas ce que vous vouliez. Vous **pouvez annuler** les modifications
à l'aide de la commande `/undo`.
Mais vous réalisez que ce nest pas ce que vous vouliez. Vous **pouvez annuler** les modifications à l'aide de la commande `/undo`.
```bash frame="none"
/undo
```
OpenCode annulera désormais les modifications que vous avez apportées et affichera votre message d'origine
encore.
OpenCode annulera désormais les modifications que vous avez apportées et affichera votre message d'origine encore.
```txt frame="none" "@packages/functions/src/api/index.ts"
Can you refactor the function in @packages/functions/src/api/index.ts?
@@ -335,8 +320,7 @@ Ou vous **pouvez refaire** les modifications à l'aide de la commande `/redo`.
## Partager
Les conversations que vous avez avec OpenCode peuvent être [partagées avec votre
équipe](/docs/share).
Les conversations que vous avez avec OpenCode peuvent être [partagées avec votre équipe](/docs/share).
```bash frame="none"
/share

View File

@@ -105,7 +105,7 @@ OpenCode a une liste de raccourcis clavier que vous pouvez personnaliser via la
---
## Leader key
## Touche Leader
OpenCode utilise une touche `leader` pour la plupart des raccourcis clavier. Cela évite les conflits dans votre terminal.
@@ -117,7 +117,7 @@ Vous n'avez pas besoin d'utiliser une touche leader pour vos raccourcis clavier,
## Désactiver le raccourci clavier
Vous pouvez désactiver un raccourci clavier en ajoutant la clé à votre configuration avec la valeur « aucun ».
Vous pouvez désactiver un raccourci clavier en ajoutant la clé à votre configuration avec la valeur `none`.
```json title="opencode.json"
{
@@ -130,9 +130,9 @@ Vous pouvez désactiver un raccourci clavier en ajoutant la clé à votre config
---
## Raccourcis d'invite du bureau
## Raccourcis de saisie desktop
L'entrée d'invite de l'application de bureau OpenCode prend en charge les raccourcis courants de style Readline/Emacs pour l'édition de texte. Ceux-ci sont intégrés et actuellement non configurables via `opencode.json`.
Le champ de saisie de l'application de bureau OpenCode prend en charge les raccourcis courants de style Readline/Emacs pour l'édition de texte. Ceux-ci sont intégrés et actuellement non configurables via `opencode.json`.
| Raccourci | Actions |
| --------- | --------------------------------------------------------- |
@@ -143,10 +143,10 @@ L'entrée d'invite de l'application de bureau OpenCode prend en charge les racco
| `alt+b` | Reculer le curseur d'un mot |
| `alt+f` | Avancer le curseur d'un mot |
| `ctrl+d` | Supprimer le caractère sous le curseur |
| `ctrl+k` | Tuer jusqu'au bout de la ligne |
| `ctrl+u` | Tuer au début de la ligne |
| `ctrl+w` | Tuer le mot précédent |
| `alt+d` | Tuer le mot suivant |
| `ctrl+k` | Couper jusqu'à la fin de la ligne |
| `ctrl+u` | Couper jusqu'au début de la ligne |
| `ctrl+w` | Couper le mot précédent |
| `alt+d` | Couper le mot suivant |
| `ctrl+t` | Transposer les caractères |
| `ctrl+g` | Annuler les popovers/abandonner l'exécution de la réponse |
@@ -164,7 +164,7 @@ Ouvrez votre `settings.json` à :
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
```
Ajoutez ceci au tableau `actions` de niveau racine :
Ajoutez ceci au tableau `actions` de niveau racine :
```json
"actions": [
@@ -178,7 +178,7 @@ Ajoutez ceci au tableau `actions` de niveau racine :
]
```
Ajoutez ceci au tableau `keybindings` de niveau racine :
Ajoutez ceci au tableau `keybindings` de niveau racine :
```json
"keybindings": [

View File

@@ -3,19 +3,19 @@ title: Serveurs LSP
description: OpenCode s'intègre à vos serveurs LSP.
---
OpenCode s'intègre à votre protocole de serveur de langue (LSP) pour aider le LLM à interagir avec votre base de code. Il utilise des diagnostics pour fournir des commentaires au LLM.
OpenCode s'intègre via le protocole LSP (Language Server Protocol) pour aider le LLM à interagir avec votre base de code. Il utilise des diagnostics pour fournir des commentaires au LLM.
---
## Intégré
## Serveurs intégrés
OpenCode est livré avec plusieurs serveurs LSP intégrés pour les langues populaires :
OpenCode est livré avec plusieurs serveurs LSP intégrés pour les langages populaires :
| Serveur LSP | Rallonges | Exigences |
| Serveur LSP | Extensions | Prérequis |
| ------------------ | ------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| astro | .astro | Installations automatiques pour les projets Astro |
| bash | .sh, .bash, .zsh, .ksh | Installe automatiquement le serveur bash-langage |
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Installations automatiques pour les projets C/C++ |
| astro | .astro | Installation automatique pour les projets Astro |
| bash | .sh, .bash, .zsh, .ksh | Installe automatiquement le serveur bash-language-server |
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Installation automatique pour les projets C/C++ |
| csharp | .cs | `.NET SDK` installé |
| clojure-lsp | .clj, .cljs, .cljc, .edn | Commande `clojure-lsp` disponible |
| dart | .dart | Commande `dart` disponible |
@@ -27,23 +27,23 @@ OpenCode est livré avec plusieurs serveurs LSP intégrés pour les langues popu
| gopls | .go | Commande `go` disponible |
| hls | .hs, .lhs | Commande `haskell-language-server-wrapper` disponible |
| jdtls | .java | `Java SDK (version 21+)` installé |
| kotlin-ls | .kt, .kts | Installations automatiques pour les projets Kotlin |
| lua-ls | .lua | Installations automatiques pour les projets Lua |
| kotlin-ls | .kt, .kts | Installation automatique pour les projets Kotlin |
| lua-ls | .lua | Installation automatique pour les projets Lua |
| nixd | .nix | Commande `nixd` disponible |
| ocaml-lsp | .ml, .mli | Commande `ocamllsp` disponible |
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | Dépendance `oxlint` dans le projet |
| php intelephense | .php | Installations automatiques pour les projets PHP |
| php intelephense | .php | Installation automatique pour les projets PHP |
| prisma | .prisma | Commande `prisma` disponible |
| pyright | .py, .pyi | Dépendance `pyright` installée |
| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Commandes `ruby` et `gem` disponibles |
| rust | .rs | Commande `rust-analyzer` disponible |
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` installé (`xcode` sur macOS) |
| svelte | .svelte | Installations automatiques pour les projets Svelte |
| terraform | .tf, .tfvars | Installations automatiques à partir des versions GitHub |
| tinymist | .typ, .typc | Installations automatiques à partir des versions GitHub |
| svelte | .svelte | Installation automatique pour les projets Svelte |
| terraform | .tf, .tfvars | Installation automatique à partir des versions GitHub |
| tinymist | .typ, .typc | Installation automatique à partir des versions GitHub |
| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | Dépendance `typescript` dans le projet |
| vue | .vue | Installations automatiques pour les projets Vue |
| yaml-ls | .yaml, .yml | Installe automatiquement le serveur yaml-langage-Red Hat |
| vue | .vue | Installation automatique pour les projets Vue |
| yaml-ls | .yaml, .yml | Installe automatiquement le serveur yaml-language-server de Red Hat |
| zls | .zig, .zon | Commande `zig` disponible |
Les serveurs LSP sont automatiquement activés lorsque l'une des extensions de fichier ci-dessus est détectée et que les exigences sont remplies.
@@ -56,14 +56,14 @@ Vous pouvez désactiver les téléchargements automatiques du serveur LSP en dé
## Comment ça marche
Lorsque opencode ouvre un fichier, il :
Lorsque opencode ouvre un fichier, il :
1. Vérifie l'extension du fichier par rapport à tous les serveurs LSP activés.
2. Démarre le serveur LSP approprié s'il n'est pas déjà en cours d'exécution.
---
## Configurer
## Configuration
Vous pouvez personnaliser les serveurs LSP via la section `lsp` de votre configuration opencode.
@@ -74,9 +74,9 @@ Vous pouvez personnaliser les serveurs LSP via la section `lsp` de votre configu
}
```
Chaque serveur LSP prend en charge les éléments suivants :
Chaque serveur LSP prend en charge les éléments suivants :
| Propriété | Tapez | Descriptif |
| Propriété | Type | Description |
| ---------------- | -------- | ---------------------------------------------------------------- |
| `disabled` | booléen | Définissez ceci sur `true` pour désactiver le serveur LSP |
| `command` | chaîne[] | La commande pour démarrer le serveur LSP |
@@ -90,7 +90,7 @@ Regardons quelques exemples.
### Variables d'environnement
Utilisez la propriété `env` pour définir les variables d'environnement lors du démarrage du serveur LSP :
Utilisez la propriété `env` pour définir les variables d'environnement lors du démarrage du serveur LSP :
```json title="opencode.json" {5-7}
{
@@ -109,7 +109,7 @@ Utilisez la propriété `env` pour définir les variables d'environnement lors d
### Options d'initialisation
Utilisez la propriété `initialization` pour transmettre les options d'initialisation au serveur LSP. Il s'agit de paramètres spécifiques au serveur envoyés lors de la requête LSP `initialize` :
Utilisez la propriété `initialization` pour transmettre les options d'initialisation au serveur LSP. Il s'agit de paramètres spécifiques au serveur envoyés lors de la requête LSP `initialize` :
```json title="opencode.json" {5-9}
{
@@ -134,7 +134,7 @@ Les options d'initialisation varient selon le serveur LSP. Consultez la document
### Désactivation des serveurs LSP
Pour désactiver **tous** les serveurs LSP dans le monde, définissez `lsp` sur `false` :
Pour désactiver **tous** les serveurs LSP globalement, définissez `lsp` sur `false` :
```json title="opencode.json" {3}
{
@@ -143,7 +143,7 @@ Pour désactiver **tous** les serveurs LSP dans le monde, définissez `lsp` sur
}
```
Pour désactiver un serveur LSP **spécifique**, définissez `disabled` sur `true` :
Pour désactiver un serveur LSP **spécifique**, définissez `disabled` sur `true` :
```json title="opencode.json" {5}
{
@@ -160,7 +160,7 @@ Pour désactiver un serveur LSP **spécifique**, définissez `disabled` sur `tru
### Serveurs LSP personnalisés
Vous pouvez ajouter des serveurs LSP personnalisés en spécifiant les extensions de commande et de fichier :
Vous pouvez ajouter des serveurs LSP personnalisés en spécifiant les extensions de commande et de fichier :
```json title="opencode.json" {4-7}
{
@@ -176,13 +176,13 @@ Vous pouvez ajouter des serveurs LSP personnalisés en spécifiant les extension
---
## Informations Complémentaires
## Informations supplémentaires
### PHP Intelephense
PHP Intelephense offre des fonctionnalités premium via une clé de licence. Vous pouvez fournir une clé de licence en plaçant (uniquement) la clé dans un fichier texte à l'adresse :
- Le macOS/Linux : `$HOME/intelephense/license.txt`
- Le Windows : `%USERPROFILE%/intelephense/license.txt`
- macOS/Linux : `$HOME/intelephense/license.txt`
- Windows : `%USERPROFILE%/intelephense/license.txt`
Le fichier doit contenir uniquement la clé de licence sans contenu supplémentaire.

View File

@@ -21,7 +21,7 @@ Certains serveurs MCP, comme le serveur GitHub MCP, ont tendance à ajouter beau
---
## Activer
## Activation
Vous pouvez définir des serveurs MCP dans votre [OpenCode Config](https://opencode.ai/docs/config/) sous `mcp`. Ajoutez chaque MCP avec un nom unique. Vous pouvez faire référence à ce MCP par son nom lorsque vous demandez le LLM.
@@ -48,6 +48,476 @@ Vous pouvez également désactiver un serveur en définissant `enabled` sur `fal
Les organisations peuvent fournir des serveurs MCP par défaut via leur point de terminaison `.well-known/opencode`. Ces serveurs peuvent être désactivés par défaut, permettant aux utilisateurs de choisir ceux dont ils ont besoin.
Pour activer un serveur spécifique à partir de la configuration distante de votre organisation, ajoutez-le à votre configuration locale avec `enabled: true` :
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"jira": {
"type": "remote",
"url": "https://jira.example.com/mcp",
"enabled": true
}
}
}
```
Vos valeurs de configuration locales remplacent les valeurs par défaut distantes. Voir [config precedence](/docs/config#precedence-order) pour plus de détails.
---
## Local
Ajoutez des serveurs MCP locaux en définissant `type` sur `"local"` dans l'objet MCP.
```jsonc title="opencode.jsonc" {15}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-local-mcp-server": {
"type": "local",
// Or ["bun", "x", "my-mcp-command"]
"command": ["npx", "-y", "my-mcp-command"],
"enabled": true,
"environment": {
"MY_ENV_VAR": "my_env_var_value",
},
},
},
}
```
La commande indique comment le serveur MCP local est démarré. Vous pouvez également transmettre une liste de variables denvironnement.
Par exemple, voici comment ajouter le serveur de test [`@modelcontextprotocol/server-everything`](https://www.npmjs.com/package/@modelcontextprotocol/server-everything) MCP.
```jsonc title="opencode.jsonc"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mcp_everything": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
},
},
}
```
Et pour l'utiliser, je peux ajouter `use the mcp_everything tool` à mes prompts.
```txt "mcp_everything"
use the mcp_everything tool to add the number 3 and 4
```
---
#### Options
Voici toutes les options pour configurer un serveur MCP local.
| Options | Type | Obligatoire | Description |
| ------------- | ------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `type` | Chaîne | Oui | Le type de connexion au serveur MCP doit être `"local"`. |
| `command` | Tableau | Oui | Commande et arguments pour exécuter le serveur MCP. |
| `environment` | Objet | | Variables d'environnement à définir lors de l'exécution du serveur. |
| `enabled` | Booléen | | Activez ou désactivez le serveur MCP au démarrage. |
| `timeout` | Numéro | | Délai d'expiration en ms pour la récupération des outils depuis le serveur MCP. La valeur par défaut est 5 000 (5 secondes). |
---
## Distant
Ajoutez des serveurs MCP distants en définissant `type` sur `"remote"`.
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-remote-mcp": {
"type": "remote",
"url": "https://my-mcp-server.com",
"enabled": true,
"headers": {
"Authorization": "Bearer MY_API_KEY"
}
}
}
}
```
Le champ `url` est l'URL du serveur MCP distant et l'option `headers` vous permet de transmettre des en-têtes.
---
#### Options
| Options | Type | Obligatoire | Description |
| --------- | ------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `type` | Chaîne | Oui | Le type de connexion au serveur MCP doit être `"remote"`. |
| `url` | Chaîne | Oui | URL du serveur MCP distant. |
| `enabled` | Booléen | | Activez ou désactivez le serveur MCP au démarrage. |
| `headers` | Objet | | En-têtes à envoyer avec la demande. |
| `oauth` | Objet | | Configuration de l'authentification OAuth. Voir la section [OAuth](#oauth) ci-dessous. |
| `timeout` | Numéro | | Délai d'expiration en ms pour la récupération des outils depuis le serveur MCP. La valeur par défaut est 5 000 (5 secondes). |
---
## OAuth
OpenCode gère automatiquement l'authentification OAuth pour les serveurs MCP distants. Lorsqu'un serveur nécessite une authentification, OpenCode :
1. Détecte la réponse 401 et lance le flux OAuth
2. Utilise **Enregistrement client dynamique (RFC 7591)** s'il est pris en charge par le serveur.
3. Stocke les jetons en toute sécurité pour les demandes futures
---
### Automatique
Pour la plupart des serveurs MCP compatibles OAuth, aucune configuration particulière n'est nécessaire. Configurez simplement le serveur distant :
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-oauth-server": {
"type": "remote",
"url": "https://mcp.example.com/mcp"
}
}
}
```
Si le serveur nécessite une authentification, OpenCode vous demandera de vous authentifier lorsque vous essayez de l'utiliser pour la première fois. Sinon, vous pouvez [déclencher manuellement le flux](#authenticating) avec `opencode mcp auth <server-name>`.
---
### Pré-enregistré
Si vous disposez des informations d'identification client du fournisseur de serveur MCP, vous pouvez les configurer :
```json title="opencode.json" {7-11}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-oauth-server": {
"type": "remote",
"url": "https://mcp.example.com/mcp",
"oauth": {
"clientId": "{env:MY_MCP_CLIENT_ID}",
"clientSecret": "{env:MY_MCP_CLIENT_SECRET}",
"scope": "tools:read tools:execute"
}
}
}
}
```
---
### Authentification
Vous pouvez déclencher manuellement l'authentification ou gérer les informations d'identification.
Authentifiez-vous auprès d'un serveur MCP spécifique :
```bash
opencode mcp auth my-oauth-server
```
Répertoriez tous les serveurs MCP et leur statut d'authentification :
```bash
opencode mcp list
```
Supprimez les informations d'identification stockées :
```bash
opencode mcp logout my-oauth-server
```
La commande `mcp auth` ouvrira votre navigateur pour autorisation. Après votre autorisation, OpenCode stockera les jetons en toute sécurité dans `~/.local/share/opencode/mcp-auth.json`.
---
#### Désactivation d'OAuth
Si vous souhaitez désactiver le OAuth automatique pour un serveur (par exemple, pour les serveurs qui utilisent les clés API à la place), définissez `oauth` sur `false` :
```json title="opencode.json" {7}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-api-key-server": {
"type": "remote",
"url": "https://mcp.example.com/mcp",
"oauth": false,
"headers": {
"Authorization": "Bearer {env:MY_API_KEY}"
}
}
}
}
```
---
#### Options OAuth
| Options | Type | Description |
| -------------- | ------------- | ---------------------------------------------------------------------------------------- |
| `oauth` | Objet \| faux | Objet de configuration OAuth, ou `false` pour désactiver la détection automatique OAuth. |
| `clientId` | Chaîne | ID client OAuth. Sil nest pas fourni, lenregistrement dynamique du client sera tenté. |
| `clientSecret` | Chaîne | OAuth secret client, si requis par le serveur d'autorisation. |
| `scope` | Chaîne | OAuth scopes à demander lors de l'autorisation. |
#### Débogage
Si un serveur MCP distant ne parvient pas à s'authentifier, vous pouvez diagnostiquer les problèmes avec :
```bash
# View auth status for all OAuth-capable servers
opencode mcp auth list
# Debug connection and OAuth flow for a specific server
opencode mcp debug my-oauth-server
```
La commande `mcp debug` affiche l'état d'authentification actuel, teste la connectivité HTTP et tente le flux de découverte OAuth.
---
## Gestion
Vos MCP sont disponibles sous forme d'outils dans OpenCode, aux côtés des outils intégrés. Vous pouvez donc les gérer via la configuration OpenCode comme n'importe quel autre outil.
---
### Global
Cela signifie que vous pouvez les activer ou les désactiver globalement.
```json title="opencode.json" {14}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-mcp-foo": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-foo"]
},
"my-mcp-bar": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-bar"]
}
},
"tools": {
"my-mcp-foo": false
}
}
```
Nous pouvons également utiliser un modèle global pour désactiver tous les MCP correspondants.
```json title="opencode.json" {14}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-mcp-foo": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-foo"]
},
"my-mcp-bar": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-bar"]
}
},
"tools": {
"my-mcp*": false
}
}
```
Ici, nous utilisons le modèle global `my-mcp*` pour désactiver tous les MCP.
---
### Par agent
Si vous disposez d'un grand nombre de serveurs MCP, vous souhaiterez peut-être les activer uniquement par agent et les désactiver globalement. Pour ce faire :
1. Désactivez-le en tant qu'outil à l'échelle mondiale.
2. Dans votre [agent config](/docs/agents#tools), activez le serveur MCP en tant qu'outil.
```json title="opencode.json" {11, 14-18}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"my-mcp": {
"type": "local",
"command": ["bun", "x", "my-mcp-command"],
"enabled": true
}
},
"tools": {
"my-mcp*": false
},
"agent": {
"my-agent": {
"tools": {
"my-mcp*": true
}
}
}
}
```
---
#### Patterns glob
Le pattern glob utilise des modèles de globbing regex simples :
- `*` correspond à zéro ou plusieurs caractères (par exemple, `"my-mcp*"` correspond à `my-mcp_search`, `my-mcp_list`, etc.)
- `?` correspond exactement à un caractère
- Tous les autres caractères correspondent littéralement
:::note
Les outils serveur MCP sont enregistrés avec le nom du serveur comme préfixe, donc pour désactiver tous les outils d'un serveur, utilisez simplement :
```
"mymcpservername_*": false
```
:::
---
## Exemples
Vous trouverez ci-dessous des exemples de serveurs MCP courants. Vous pouvez soumettre un PR si vous souhaitez documenter d'autres serveurs.
---
### Sentry
Ajoutez le [serveur Sentry MCP](https://mcp.sentry.dev) pour interagir avec vos projets et problèmes Sentry.
```json title="opencode.json" {4-8}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"oauth": {}
}
}
}
```
Après avoir ajouté la configuration, authentifiez-vous auprès de Sentry :
```bash
opencode mcp auth sentry
```
Cela ouvrira une fenêtre de navigateur pour terminer le flux OAuth et connecter OpenCode à votre compte Sentry.
Une fois authentifié, vous pouvez utiliser les outils Sentry dans vos prompts pour interroger les problèmes, les projets et les données d'erreur.
```txt "use sentry"
Show me the latest unresolved issues in my project. use sentry
```
---
### Context7
Ajoutez le [Context7 MCP server](https://github.com/upstash/context7) pour effectuer une recherche dans les documents.
```json title="opencode.json" {4-7}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp"
}
}
}
```
Si vous avez créé un compte gratuit, vous pouvez utiliser votre clé API et obtenir des limites de débit plus élevées.
```json title="opencode.json" {7-9}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
}
}
}
}
```
Ici, nous supposons que la variable d'environnement `CONTEXT7_API_KEY` est définie.
Ajoutez `use context7` à vos prompts pour utiliser le serveur Context7 MCP.
```txt "use context7"
Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7
```
Alternativement, vous pouvez ajouter quelque chose comme ceci à votre [AGENTS.md](/docs/rules/).
```md title="AGENTS.md"
When you need to search docs, use `context7` tools.
```
---
### Grep by Vercel
Ajoutez le serveur [Grep by Vercel](https://grep.app) MCP pour rechercher des extraits de code sur GitHub.
```json title="opencode.json" {4-7}
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"gh_grep": {
"type": "remote",
"url": "https://mcp.grep.app"
}
}
}
```
Puisque nous avons nommé notre serveur MCP `gh_grep`, vous pouvez ajouter `use the gh_grep tool` à vos prompts pour que l'agent l'utilise.
```txt "use the gh_grep tool"
What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool
```
Alternativement, vous pouvez ajouter quelque chose comme ceci à votre [AGENTS.md](/docs/rules/).
```md title="AGENTS.md"
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
```
Vous pouvez également désactiver un serveur en définissant `enabled` sur `false`. Ceci est utile si vous souhaitez désactiver temporairement un serveur sans le supprimer de votre configuration.
---
### Remplacement des valeurs par défaut distantes
Les organisations peuvent fournir des serveurs MCP par défaut via leur point de terminaison `.well-known/opencode`. Ces serveurs peuvent être désactivés par défaut, permettant aux utilisateurs de choisir ceux dont ils ont besoin.
Pour activer un serveur spécifique à partir de la configuration distante de votre organisation, ajoutez-le à votre configuration locale avec `enabled: true` :
```json title="opencode.json"

View File

@@ -15,9 +15,9 @@ En savoir plus sur [fournisseurs](/docs/providers).
---
## Sélectionnez un modèle
## Sélection d'un modèle
Une fois que vous avez configuré votre fournisseur, vous pouvez sélectionner le modèle souhaité en tapant :
Une fois que vous avez configuré votre fournisseur, vous pouvez sélectionner le modèle souhaité en tapant :
```bash frame="none"
/models
@@ -37,8 +37,8 @@ Cependant, seuls quelques-uns dentre eux savent à la fois générer du code
Voici plusieurs modèles qui fonctionnent bien avec OpenCode, sans ordre particulier. (Cette liste nest pas exhaustive et nest pas nécessairement à jour) :
- GPT 5.2
- Codex GPT 5.1
- GPT 5.2
- Codex GPT 5.1
- Claude Opus 4.5
- Claude Sonnet 4.5
- Minimax M2.1
@@ -48,8 +48,7 @@ Voici plusieurs modèles qui fonctionnent bien avec OpenCode, sans ordre particu
## Définir une valeur par défaut
Pour définir l'un d'entre eux comme modèle par défaut, vous pouvez définir la clé `model` dans votre
OpenCode configuration.
Pour définir l'un d'entre eux comme modèle par défaut, vous pouvez définir la clé `model` dans votre configuration OpenCode.
```json title="opencode.json" {3}
{
@@ -64,7 +63,7 @@ Si vous avez configuré un [fournisseur personnalisé](/docs/providers#custom),
---
## Configurer les modèles
## Configuration des modèles
Vous pouvez configurer globalement les options d'un modèle via le fichier config.
@@ -100,12 +99,12 @@ Vous pouvez configurer globalement les options d'un modèle via le fichier confi
}
```
Ici, nous configurons les paramètres globaux pour deux modèles intégrés : `gpt-5` lorsqu'il est accessible via le fournisseur `openai` et `claude-sonnet-4-20250514` lorsqu'il est accessible via le fournisseur `anthropic`.
Ici, nous configurons les paramètres globaux pour deux modèles intégrés : `gpt-5` lorsqu'il est accessible via le fournisseur `openai` et `claude-sonnet-4-20250514` lorsqu'il est accessible via le fournisseur `anthropic`.
Les noms du fournisseur intégré et des modèles peuvent être trouvés sur [Models.dev](https://models.dev).
Vous pouvez également configurer ces options pour tous les agents que vous utilisez. La configuration de l'agent remplace ici toutes les options globales. [En savoir plus](/docs/agents/#additional).
Vous pouvez également définir des variantes personnalisées qui étendent celles intégrées. Les variantes vous permettent de configurer différents paramètres pour le même modèle sans créer d'entrées en double :
Vous pouvez également définir des variantes personnalisées qui étendent celles intégrées. Les variantes vous permettent de configurer différents paramètres pour le même modèle sans créer d'entrées en double :
```jsonc title="opencode.jsonc" {6-21}
{
@@ -139,30 +138,30 @@ Vous pouvez également définir des variantes personnalisées qui étendent cell
De nombreux modèles prennent en charge plusieurs variantes avec différentes configurations. OpenCode est livré avec des variantes par défaut intégrées pour les fournisseurs populaires.
### Built-in variants
### Variantes intégrées
OpenCode est livré avec des variantes par défaut pour de nombreux fournisseurs :
**Anthropic** :
**Anthropic** :
- `high` - Budget de réflexion élevé (par défaut)
- `max` - Budget de réflexion maximum
**OpenAI** :
**OpenAI** :
Varie selon le modèle mais en gros :
Varie selon le modèle mais en gros :
- `none` - Aucun raisonnement
- `minimal` - Effort de raisonnement minimal
- `low` - Faible effort de raisonnement
- `medium` - Effort de raisonnement moyen
- `high`  Effort de raisonnement élevé
- `high` Effort de raisonnement élevé
- `xhigh` - Effort de raisonnement très élevé
**Google**:
- `low`  Budget d'effort/jetons réduit
- `high`  Budget d'effort/de jetons plus élevé
- `low` Budget d'effort/jetons réduit
- `high` Budget d'effort/de jetons plus élevé
:::tip
Cette liste n'est pas exhaustive. De nombreux autres fournisseurs ont également des paramètres par défaut intégrés.
@@ -170,7 +169,7 @@ Cette liste n'est pas exhaustive. De nombreux autres fournisseurs ont également
### Variantes personnalisées
Vous pouvez remplacer les variantes existantes ou ajouter les vôtres :
Vous pouvez remplacer les variantes existantes ou ajouter les vôtres :
```jsonc title="opencode.jsonc" {7-18}
{
@@ -195,7 +194,7 @@ Vous pouvez remplacer les variantes existantes ou ajouter les vôtres :
}
```
### Cycle variants
### Cycle des variantes
Utilisez le raccourci clavier `variant_cycle` pour basculer rapidement entre les variantes. [En savoir plus](/docs/keybinds).
@@ -203,9 +202,9 @@ Utilisez le raccourci clavier `variant_cycle` pour basculer rapidement entre les
## Chargement des modèles
Lorsque OpenCode démarre, il recherche les modèles dans l'ordre de priorité suivant :
Lorsque OpenCode démarre, il recherche les modèles dans l'ordre de priorité suivant :
1. L'indicateur de ligne de commande `--model` ou `-m`. Le format est le même que dans le fichier de configuration : `provider_id/model_id`.
1. Le flag de ligne de commande `--model` ou `-m`. Le format est le même que dans le fichier de configuration : `provider_id/model_id`.
2. La liste des modèles dans la configuration OpenCode.

View File

@@ -4,20 +4,19 @@ description: Différents modes pour différents cas d'utilisation.
---
:::caution
Les modes sont désormais configurés via l'option `agent` dans la configuration opencode. Le
Les modes sont désormais configurés via l'option `agent` dans la configuration opencode.
Loption `mode` est désormais obsolète. [En savoir plus](/docs/agents).
:::
Les modes dans opencode vous permettent de personnaliser le comportement, les outils et les invites pour différents cas d'utilisation.
Les modes dans opencode vous permettent de personnaliser le comportement, les outils et les prompts pour différents cas d'utilisation.
Il est livré avec deux modes intégrés : **build** et **plan**. Vous pouvez personnaliser
ceux-ci ou configurez les vôtres via la configuration opencode.
Il est livré avec deux modes intégrés : **build** et **plan**. Vous pouvez personnaliser ceux-ci ou configurez les vôtres via la configuration opencode.
Vous pouvez basculer entre les modes au cours d'une session ou les configurer dans votre fichier de configuration.
---
## Intégré
## Modes intégrés
opencode est livré avec deux modes intégrés.
@@ -31,7 +30,7 @@ Build est le mode **par défaut** avec tous les outils activés. Il s'agit du mo
### Plan
Un mode restreint conçu pour la planification et lanalyse. En mode plan, les outils suivants sont désactivés par défaut :
Un mode restreint conçu pour la planification et lanalyse. En mode plan, les outils suivants sont désactivés par défaut :
- `write` - Impossible de créer de nouveaux fichiers
- `edit` - Impossible de modifier les fichiers existants, à l'exception des fichiers situés à `.opencode/plans/*.md` pour détailler le plan lui-même
@@ -42,21 +41,21 @@ Ce mode est utile lorsque vous souhaitez que l'IA analyse le code, suggère des
---
## Commutation
## Changement de mode
Vous pouvez basculer entre les modes au cours d'une session à l'aide de la touche _Tab_. Ou votre raccourci clavier `switch_mode` configuré.
Voir également : [Formatters](/docs/formatters) pour plus d'informations sur la configuration du formatage du code.
Voir également : [Formatters](/docs/formatters) pour plus d'informations sur la configuration du formatage du code.
---
## Configurer
## Configuration
Vous pouvez personnaliser les modes intégrés ou créer les vôtres via la configuration. Les modes peuvent être configurés de deux manières :
Vous pouvez personnaliser les modes intégrés ou créer les vôtres via la configuration. Les modes peuvent être configurés de deux manières :
### Configuration JSON
Configurez les modes dans votre fichier de configuration `opencode.json` :
Configurez les modes dans votre fichier de configuration `opencode.json` :
```json title="opencode.json"
{
@@ -85,10 +84,10 @@ Configurez les modes dans votre fichier de configuration `opencode.json` :
### Configuration Markdown
Vous pouvez également définir des modes à l'aide de fichiers markdown. Placez-les dans :
Vous pouvez également définir des modes à l'aide de fichiers markdown. Placez-les dans :
- Mondial : `~/.config/opencode/modes/`
- Projet : `.opencode/modes/`
- Global : `~/.config/opencode/modes/`
- Projet : `.opencode/modes/`
```markdown title="~/.config/opencode/modes/review.md"
---
@@ -149,11 +148,11 @@ Contrôlez le caractère aléatoire et la créativité des réponses de l'IA ave
}
```
Les valeurs de température varient généralement de 0,0 à 1,0 :
Les valeurs de température varient généralement de 0,0 à 1,0 :
- **0,0-0,2** : réponses très ciblées et déterministes, idéales pour l'analyse et la planification du code
- **0,3-0,5** : réponses équilibrées avec une certaine créativité, idéales pour les tâches de développement générales
- **0,6-1,0** : réponses plus créatives et variées, utiles pour le brainstorming et l'exploration
- **0,0-0,2** : réponses très ciblées et déterministes, idéales pour l'analyse et la planification du code
- **0,3-0,5** : réponses équilibrées avec une certaine créativité, idéales pour les tâches de développement générales
- **0,6-1,0** : réponses plus créatives et variées, utiles pour le brainstorming et l'exploration
```json title="opencode.json"
{
@@ -177,9 +176,9 @@ Si aucune température n'est spécifiée, opencode utilise les valeurs par défa
---
### Prompt
### Invite
Spécifiez un fichier d'invite système personnalisé pour ce mode avec la configuration `prompt`. Le fichier d'invite doit contenir des instructions spécifiques à l'objectif du mode.
Spécifiez un fichier de prompt système personnalisé pour ce mode avec la configuration `prompt`. Le fichier de prompt doit contenir des instructions spécifiques à l'objectif du mode.
```json title="opencode.json"
{
@@ -191,8 +190,7 @@ Spécifiez un fichier d'invite système personnalisé pour ce mode avec la confi
}
```
Ce chemin est relatif à l'emplacement du fichier de configuration. Donc ça marche pour
à la fois la configuration globale opencode et la configuration spécifique au projet.
Ce chemin est relatif à l'emplacement du fichier de configuration. Donc ça marche pour à la fois la configuration globale opencode et la configuration spécifique au projet.
---
@@ -225,7 +223,7 @@ Si aucun outil n'est spécifié, tous les outils sont activés par défaut.
Voici tous les outils pouvant être contrôlés via le mode config.
| Outil | Descriptif |
| Outil | Description |
| ----------- | ------------------------------------- |
| `bash` | Exécuter des commandes shell |
| `edit` | Modifier des fichiers existants |
@@ -243,7 +241,7 @@ Voici tous les outils pouvant être contrôlés via le mode config.
## Modes personnalisés
Vous pouvez créer vos propres modes personnalisés en les ajoutant à la configuration. Voici des exemples utilisant les deux approches :
Vous pouvez créer vos propres modes personnalisés en les ajoutant à la configuration. Voici des exemples utilisant les deux approches :
### Utilisation de la configuration JSON
@@ -268,7 +266,7 @@ Vous pouvez créer vos propres modes personnalisés en les ajoutant à la config
### Utiliser des fichiers Markdown
Créez des fichiers de mode dans `.opencode/modes/` pour les modes spécifiques au projet ou `~/.config/opencode/modes/` pour les modes globaux :
Créez des fichiers de mode dans `.opencode/modes/` pour les modes spécifiques au projet ou `~/.config/opencode/modes/` pour les modes globaux :
```markdown title=".opencode/modes/debug.md"
---

View File

@@ -30,9 +30,9 @@ Vous pouvez configurer le port et le nom d'hôte du serveur à l'aide de [CLI fl
---
### Authentication
### Authentification
Si votre proxy nécessite une authentification de base, incluez les informations d'identification dans le URL.
Si votre proxy nécessite une authentification de base, incluez les informations d'identification dans l'URL.
```bash
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
@@ -54,4 +54,4 @@ Si votre entreprise utilise des autorités de certification personnalisées pour
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
```
Cela fonctionne à la fois pour les connexions proxy et pour l'accès direct à API.
Cela fonctionne à la fois pour les connexions proxy et pour l'accès direct à l'API.

View File

@@ -9,12 +9,12 @@ Depuis `v1.1.1`, l'ancienne configuration booléenne `tools` est obsolète et a
---
## Actes
## Actions
Chaque règle d'autorisation se résout en l'une des suivantes :
Chaque règle d'autorisation se résout en l'une des suivantes :
- `"allow"`  exécuter sans approbation
- `"ask"`  demande d'approbation
- `"allow"` exécuter sans approbation
- `"ask"` demande d'approbation
- `"deny"` — bloque l'action
---
@@ -34,7 +34,7 @@ Vous pouvez définir des autorisations globalement (avec `*`) et remplacer des o
}
```
Vous pouvez également définir toutes les autorisations en même temps :
Vous pouvez également définir toutes les autorisations en même temps :
```json title="opencode.json"
{
@@ -47,7 +47,7 @@ Vous pouvez également définir toutes les autorisations en même temps :
## Règles granulaires (syntaxe d'objet)
Pour la plupart des autorisations, vous pouvez utiliser un objet pour appliquer différentes actions en fonction de la saisie de l'outil.
Pour la plupart des autorisations, vous pouvez utiliser un objet pour appliquer différentes actions en fonction de l'entrée de l'outil.
```json title="opencode.json"
{
@@ -72,7 +72,7 @@ Les règles sont évaluées par correspondance de modèle, la **dernière règle
### Caractères génériques
Les modèles d'autorisation utilisent une simple correspondance de caractères génériques :
Les modèles d'autorisation utilisent une simple correspondance de caractères génériques :
- `*` correspond à zéro ou plusieurs caractères
- `?` correspond exactement à un caractère
@@ -90,9 +90,9 @@ Vous pouvez utiliser `~` ou `$HOME` au début d'un modèle pour référencer vot
Utilisez `external_directory` pour autoriser les appels d'outils qui touchent des chemins en dehors du répertoire de travail où OpenCode a été démarré. Cela s'applique à tout outil qui prend un chemin en entrée (par exemple `read`, `edit`, `list`, `glob`, `grep` et de nombreuses commandes `bash`).
L'expansion de la maison (comme `~/...`) n'affecte que la façon dont un modèle est écrit. Cela n'intègre pas un chemin externe à l'espace de travail actuel, donc les chemins en dehors du répertoire de travail doivent toujours être autorisés via `external_directory`.
L'expansion du répertoire personnel (comme `~/...`) n'affecte que la façon dont un modèle est écrit. Cela n'intègre pas un chemin externe à l'espace de travail actuel, donc les chemins en dehors du répertoire de travail doivent toujours être autorisés via `external_directory`.
Par exemple, cela permet d'accéder à tout ce qui se trouve sous `~/projects/personal/` :
Par exemple, cela permet d'accéder à tout ce qui se trouve sous `~/projects/personal/` :
```json title="opencode.json"
{
@@ -105,7 +105,7 @@ Par exemple, cela permet d'accéder à tout ce qui se trouve sous `~/projects/pe
}
```
Tout répertoire autorisé ici hérite des mêmes valeurs par défaut que l'espace de travail actuel. Étant donné que [`read` est par défaut `allow`](#defaults), les lectures sont également autorisées pour les entrées sous `external_directory`, sauf dérogation. Ajoutez des règles explicites lorsqu'un outil doit être restreint dans ces chemins, comme bloquer les modifications tout en conservant les lectures :
Tout répertoire autorisé ici hérite des mêmes valeurs par défaut que l'espace de travail actuel. Étant donné que [`read` est par défaut `allow`](#defaults), les lectures sont également autorisées pour les entrées sous `external_directory`, sauf dérogation. Ajoutez des règles explicites lorsqu'un outil doit être restreint dans ces chemins, comme bloquer les modifications tout en conservant les lectures :
```json title="opencode.json"
{
@@ -127,7 +127,7 @@ Gardez la liste centrée sur les chemins approuvés et superposez des règles d'
## Autorisations disponibles
Les autorisations OpenCode sont classées par nom d'outil, plus quelques gardes de sécurité :
Les autorisations OpenCode sont classées par nom d'outil, plus quelques garde-fous de sécurité :
- `read` — lecture d'un fichier (correspond au chemin du fichier)
- `edit` — toutes les modifications de fichiers (couvre `edit`, `write`, `patch`, `multiedit`)
@@ -139,7 +139,7 @@ Les autorisations OpenCode sont classées par nom d'outil, plus quelques gardes
- `skill` — chargement d'une compétence (correspond au nom de la compétence)
- `lsp` — exécution de requêtes LSP (actuellement non granulaires)
- `todoread`, `todowrite` — lecture/mise à jour de la liste de tâches
- `webfetch` — récupérer un URL (correspond au URL)
- `webfetch` — récupérer une URL (correspond à l'URL)
- `websearch`, `codesearch` — recherche Web/code (correspond à la requête)
- `external_directory` - déclenché lorsqu'un outil touche des chemins en dehors du répertoire de travail du projet
- `doom_loop` — déclenché lorsque le même appel d'outil se répète 3 fois avec une entrée identique
@@ -148,11 +148,11 @@ Les autorisations OpenCode sont classées par nom d'outil, plus quelques gardes
## Valeurs par défaut
Si vous ne spécifiez rien, OpenCode démarre avec les valeurs par défaut permissives :
Si vous ne spécifiez rien, OpenCode démarre avec les valeurs par défaut permissives :
- La plupart des autorisations sont par défaut `"allow"`.
- `doom_loop` et `external_directory` sont par défaut `"ask"`.
- `read` est `"allow"`, mais les fichiers `.env` sont refusés par défaut :
- `read` est `"allow"`, mais les fichiers `.env` sont refusés par défaut :
```json title="opencode.json"
{
@@ -169,9 +169,9 @@ Si vous ne spécifiez rien, OpenCode démarre avec les valeurs par défaut permi
---
## Que fait « Demander » ?
## Que fait « Demander » ?
Lorsque OpenCode demande l'approbation, l'interface utilisateur propose trois résultats :
Lorsque OpenCode demande l'approbation, l'interface utilisateur propose trois résultats :
- `once` — approuve uniquement cette demande
- `always` — approuve les futures demandes correspondant aux modèles suggérés (pour le reste de la session OpenCode en cours)
@@ -217,7 +217,7 @@ Reportez-vous à la section [Règles granulaires (syntaxe d'objet)](#granular-ru
}
```
Vous pouvez également configurer les autorisations des agents dans Markdown :
Vous pouvez également configurer les autorisations des agents dans Markdown :
```markdown title="~/.config/opencode/agents/review.md"
---

View File

@@ -26,7 +26,7 @@ Les fichiers de ces répertoires sont automatiquement chargés au démarrage.
---
### De npm
### Depuis npm
Spécifiez les packages npm dans votre fichier de configuration.
@@ -37,7 +37,7 @@ Spécifiez les packages npm dans votre fichier de configuration.
}
```
Les packages npm standards et étendus sont pris en charge.
Les packages npm scopés et standards sont pris en charge.
Parcourez les plugins disponibles dans le [ecosystem](/docs/ecosystem#plugins).
@@ -53,7 +53,7 @@ Les **plugins locaux** sont chargés directement depuis le répertoire des plugi
### Ordre de chargement
Les plugins sont chargés à partir de toutes les sources et tous les hooks s'exécutent dans l'ordre. L'ordre de chargement est le suivant :
Les plugins sont chargés à partir de toutes les sources et tous les hooks s'exécutent dans l'ordre. L'ordre de chargement est le suivant :
1. Configuration globale (`~/.config/opencode/opencode.json`)
2. Configuration du projet (`opencode.json`)
@@ -66,8 +66,7 @@ Les packages npm en double avec le même nom et la même version sont chargés u
## Créer un plugin
Un plugin est un **module JavaScript/TypeScript** qui exporte un ou plusieurs plugins
fonctions. Chaque fonction reçoit un objet contextuel et renvoie un objet hooks.
Un plugin est un **module JavaScript/TypeScript** qui exporte une ou plusieurs fonctions de plugin. Chaque fonction reçoit un objet contextuel et renvoie un objet hooks.
---
@@ -115,17 +114,17 @@ export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
La fonction plugin reçoit :
- `project` : informations sur le projet actuel.
- `directory` : le répertoire de travail actuel.
- `worktree` : le chemin de l'arbre de travail git.
- `client` : un client SDK opencode pour interagir avec l'IA.
- `$` : [shell API](https://bun.com/docs/runtime/shell) de Bun pour l'exécution de commandes.
- `project` : informations sur le projet actuel.
- `directory` : le répertoire de travail actuel.
- `worktree` : le chemin de l'arbre de travail git.
- `client` : un client SDK opencode pour interagir avec l'IA.
- `$` : [shell API](https://bun.com/docs/runtime/shell) de Bun pour l'exécution de commandes.
---
### Prise en charge de TypeScript
Pour les plugins TypeScript, vous pouvez importer des types à partir du package du plugin :
Pour les plugins TypeScript, vous pouvez importer des types à partir du package du plugin :
```ts title="my-plugin.ts" {1}
import type { Plugin } from "@opencode-ai/plugin"
@@ -217,7 +216,7 @@ Voici quelques exemples de plugins que vous pouvez utiliser pour étendre openco
### Envoyer des notifications
Envoyez des notifications lorsque certains événements se produisent :
Envoyez des notifications lorsque certains événements se produisent :
```js title=".opencode/plugins/notification.js"
export const NotificationPlugin = async ({ project, client, $, directory, worktree }) => {
@@ -242,7 +241,7 @@ Si vous utilisez l'application de bureau OpenCode, elle peut envoyer automatique
### Protection .env
Empêchez opencode de lire les fichiers `.env` :
Empêchez opencode de lire les fichiers `.env` :
```javascript title=".opencode/plugins/env-protection.js"
export const EnvProtection = async ({ project, client, $, directory, worktree }) => {
@@ -260,7 +259,7 @@ export const EnvProtection = async ({ project, client, $, directory, worktree })
### Injecter des variables d'environnement
Injectez des variables d'environnement dans toutes les exécutions du shell (outils d'IA et terminal utilisateur) :
Injectez des variables d'environnement dans toutes les exécutions du shell (outils d'IA et terminal utilisateur) :
```javascript title=".opencode/plugins/inject-env.js"
export const InjectEnvPlugin = async () => {
@@ -277,7 +276,7 @@ export const InjectEnvPlugin = async () => {
### Outils personnalisés
Les plugins peuvent également ajouter des outils personnalisés à opencode :
Les plugins peuvent également ajouter des outils personnalisés à opencode :
```ts title=".opencode/plugins/custom-tools.ts"
import { type Plugin, tool } from "@opencode-ai/plugin"
@@ -300,19 +299,19 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
}
```
L'assistant `tool` crée un outil personnalisé que opencode peut appeler. Il prend une fonction de schéma Zod et renvoie une définition d'outil avec :
L'assistant `tool` crée un outil personnalisé que opencode peut appeler. Il prend une fonction de schéma Zod et renvoie une définition d'outil avec :
- `description` : ce que fait l'outil
- `args` : schéma Zod pour les arguments de l'outil
- `execute` : Fonction qui s'exécute lorsque l'outil est appelé
- `description` : ce que fait l'outil
- `args` : schéma Zod pour les arguments de l'outil
- `execute` : Fonction qui s'exécute lorsque l'outil est appelé
Vos outils personnalisés seront disponibles pour opencode aux côtés des outils intégrés.
---
### Enregistrement
### Journalisation
Utilisez `client.app.log()` au lieu de `console.log` pour la journalisation structurée :
Utilisez `client.app.log()` au lieu de `console.log` pour la journalisation structurée :
```ts title=".opencode/plugins/my-plugin.ts"
export const MyPlugin = async ({ client }) => {
@@ -327,13 +326,13 @@ export const MyPlugin = async ({ client }) => {
}
```
Niveaux : `debug`, `info`, `warn`, `error`. Voir la [documentation du SDK](https://opencode.ai/docs/sdk) pour plus de détails.
Niveaux : `debug`, `info`, `warn`, `error`. Voir la [documentation du SDK](https://opencode.ai/docs/sdk) pour plus de détails.
---
### Crochets de compactage
### Hooks de compactage
Personnalisez le contexte inclus lorsqu'une session est compactée :
Personnalisez le contexte inclus lorsqu'une session est compactée :
```ts title=".opencode/plugins/compaction.ts"
import type { Plugin } from "@opencode-ai/plugin"
@@ -355,9 +354,9 @@ Include any state that should persist across compaction:
}
```
Le hook `experimental.session.compacting` se déclenche avant que le LLM ne génère un résumé de continuation. Utilisez-le pour injecter un contexte spécifique au domaine que l'invite de compactage par défaut manquerait.
Le hook `experimental.session.compacting` se déclenche avant que le LLM ne génère un résumé de continuation. Utilisez-le pour injecter un contexte spécifique au domaine que le prompt de compactage par défaut manquerait.
Vous pouvez également remplacer entièrement l'invite de compactage en définissant `output.prompt` :
Vous pouvez également remplacer entièrement le prompt de compactage en définissant `output.prompt` :
```ts title=".opencode/plugins/custom-compaction.ts"
import type { Plugin } from "@opencode-ai/plugin"
@@ -382,4 +381,4 @@ Format as a structured prompt that a new agent can use to resume work.
}
```
Lorsque `output.prompt` est défini, il remplace complètement l'invite de compactage par défaut. Le tableau `output.context` est ignoré dans ce cas.
Lorsque `output.prompt` est défini, il remplace complètement le prompt de compactage par défaut. Le tableau `output.context` est ignoré dans ce cas.

View File

@@ -69,7 +69,7 @@ Voici toutes les commandes slash disponibles :
---
### connecter
### connect
Ajoutez un fournisseur à OpenCode. Vous permet de sélectionner parmi les fournisseurs disponibles et dajouter leurs clés API.
@@ -91,7 +91,7 @@ Compactez la session en cours. *Alias* : `/summarize`
---
### détails
### details
Basculer les détails d'exécution de l'outil.
@@ -103,7 +103,7 @@ Basculer les détails d'exécution de l'outil.
---
### éditeur
### editor
Ouvrez un éditeur externe pour rédiger des messages. Utilise l'éditeur défini dans votre variable d'environnement `EDITOR`. [En savoir plus](#editor-setup).
@@ -115,7 +115,7 @@ Ouvrez un éditeur externe pour rédiger des messages. Utilise l'éditeur défin
---
### sortie
### exit
Quittez OpenCode. *Alias* : `/quit`, `/q`
@@ -127,7 +127,7 @@ Quittez OpenCode. *Alias* : `/quit`, `/q`
---
### exporter
### export
Exportez la conversation en cours vers Markdown et ouvrez-la dans votre éditeur par défaut. Utilise l'éditeur défini dans votre variable d'environnement `EDITOR`. [En savoir plus](#editor-setup).
@@ -139,7 +139,7 @@ Exportez la conversation en cours vers Markdown et ouvrez-la dans votre éditeur
---
### aide
### help
Afficher la boîte de dialogue d'aide.
@@ -151,7 +151,7 @@ Afficher la boîte de dialogue d'aide.
---
### initialisation
### init
Créez ou mettez à jour le fichier `AGENTS.md`. [En savoir plus](/docs/rules).
@@ -163,7 +163,7 @@ Créez ou mettez à jour le fichier `AGENTS.md`. [En savoir plus](/docs/rules).
---
### modèles
### models
Liste des modèles disponibles.
@@ -175,7 +175,7 @@ Liste des modèles disponibles.
---
### nouveau
### new
Démarrez une nouvelle session. *Alias* : `/clear`
@@ -187,7 +187,7 @@ Démarrez une nouvelle session. *Alias* : `/clear`
---
### refaire
### redo
Refaire un message précédemment annulé. Disponible uniquement après avoir utilisé `/undo`.
@@ -206,7 +206,7 @@ En interne, cela utilise Git pour gérer les modifications de fichiers. Votre pr
---
### séances
### sessions
Répertoriez et basculez entre les sessions. *Alias* : `/resume`, `/continue`
@@ -218,7 +218,7 @@ Répertoriez et basculez entre les sessions. *Alias* : `/resume`, `/continue`
---
### partager
### share
Partager la session en cours. [En savoir plus](/docs/share).
@@ -230,7 +230,7 @@ Partager la session en cours. [En savoir plus](/docs/share).
---
### thèmes
### theme
Répertoriez les thèmes disponibles.
@@ -242,7 +242,7 @@ Répertoriez les thèmes disponibles.
---
### pensée
### thinking
Activez/désactivez la visibilité des blocages de réflexion/raisonnement dans la conversation. Lorsque cette option est activée, vous pouvez voir le processus de raisonnement du modèle pour les modèles prenant en charge la réflexion étendue.
@@ -256,7 +256,7 @@ Cette commande contrôle uniquement si les blocs de réflexion sont **affichés*
---
### défaire
### undo
Annuler le dernier message de la conversation. Supprime le message utilisateur le plus récent, toutes les réponses ultérieures et toutes les modifications de fichier.
@@ -275,7 +275,7 @@ En interne, cela utilise Git pour gérer les modifications de fichiers. Votre pr
---
### annuler le partage
### unshare
Annuler le partage de la session en cours. [En savoir plus](/docs/share#un-sharing).

View File

@@ -54,7 +54,7 @@ Lorsque vous utilisez `0.0.0.0`, OpenCode affichera les adresses locales et rés
Network access: http://192.168.1.100:4096
```
### mDNS Découverte
### Découverte mDNS
Activez mDNS pour rendre votre serveur visible sur le réseau local :
@@ -94,7 +94,7 @@ Le nom d'utilisateur par défaut est `opencode` mais peut être modifié avec `O
Une fois démarrée, l'interface web permet d'accéder à vos sessions OpenCode.
### Séances
### Sessions
Consultez et gérez vos sessions depuis la page d'accueil. Vous pouvez voir les sessions actives et en démarrer de nouvelles.