mirror of
https://github.com/anomalyco/opencode.git
synced 2026-04-24 23:04:55 +00:00
344 lines
9.1 KiB
Plaintext
344 lines
9.1 KiB
Plaintext
---
|
||
title: Introduction
|
||
description: Commencez avec OpenCode.
|
||
---
|
||
|
||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||
import config from "../../../../config.mjs"
|
||
export const console = config.console
|
||
|
||
[**OpenCode**](/) est un agent de codage d'IA open source. Il est disponible sous forme d'interface basée sur un terminal, d'application de bureau ou d'extension IDE.
|
||
|
||

|
||
|
||
Commençons.
|
||
|
||
---
|
||
|
||
#### Prérequis
|
||
|
||
Pour utiliser OpenCode dans votre terminal, vous aurez besoin de :
|
||
|
||
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 de LLM que vous souhaitez utiliser.
|
||
|
||
---
|
||
|
||
## 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 :
|
||
|
||
- **Node.js**
|
||
|
||
<Tabs>
|
||
|
||
<TabItem label="npm">
|
||
```bash
|
||
npm install -g opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="Bun">
|
||
```bash
|
||
bun install -g opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="pnpm">
|
||
```bash
|
||
pnpm install -g opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="Yarn">
|
||
```bash
|
||
yarn global add opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
</Tabs>
|
||
|
||
- **Via Homebrew sur macOS et Linux**
|
||
|
||
```bash
|
||
brew install anomalyco/tap/opencode
|
||
```
|
||
|
||
> 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.
|
||
|
||
- **Via Paru sur Arch Linux**
|
||
|
||
```bash
|
||
paru -S opencode-bin
|
||
```
|
||
|
||
#### Windows
|
||
|
||
:::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.
|
||
:::
|
||
|
||
- **Via Chocolatey**
|
||
|
||
```bash
|
||
choco install opencode
|
||
```
|
||
|
||
- **Via Scoop**
|
||
|
||
```bash
|
||
scoop install opencode
|
||
```
|
||
|
||
- **Via NPM**
|
||
|
||
```bash
|
||
npm install -g opencode-ai
|
||
```
|
||
|
||
- **Via Mise**
|
||
|
||
```bash
|
||
mise use -g github:anomalyco/opencode
|
||
```
|
||
|
||
- **Via Docker**
|
||
|
||
```bash
|
||
docker run -it --rm ghcr.io/anomalyco/opencode
|
||
```
|
||
|
||
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 les [Releases](https://github.com/anomalyco/opencode/releases).
|
||
|
||
---
|
||
|
||
## Configuration
|
||
|
||
Avec OpenCode, vous pouvez utiliser n'importe quel fournisseur de LLM en configurant ses clés API.
|
||
|
||
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 allez sur [opencode.ai/auth](https://opencode.ai/auth).
|
||
|
||
```txt
|
||
/connect
|
||
```
|
||
|
||
2. Connectez-vous, ajoutez vos informations de facturation et copiez votre clé API.
|
||
|
||
3. Collez votre clé API.
|
||
|
||
```txt
|
||
┌ API key
|
||
│
|
||
│
|
||
└ enter
|
||
```
|
||
|
||
Vous pouvez également sélectionner l'un des autres fournisseurs. [En savoir plus](/docs/providers#directory).
|
||
|
||
---
|
||
|
||
## Initialisation
|
||
|
||
Maintenant que vous avez configuré un fournisseur, vous pouvez accéder à un projet sur lequel vous voulez travailler.
|
||
|
||
```bash
|
||
cd /path/to/project
|
||
```
|
||
|
||
Et exécutez OpenCode.
|
||
|
||
```bash
|
||
opencode
|
||
```
|
||
|
||
Ensuite, initialisez OpenCode pour le projet en exécutant la commande suivante.
|
||
|
||
```bash frame="none"
|
||
/init
|
||
```
|
||
|
||
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és.
|
||
|
||
---
|
||
|
||
## Utilisation
|
||
|
||
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 aider.
|
||
|
||
---
|
||
|
||
### Poser des questions
|
||
|
||
Vous pouvez demander à OpenCode de vous expliquer la base de code.
|
||
|
||
:::tip
|
||
Utilisez la touche `@` pour effectuer une recherche floue de fichiers dans le projet.
|
||
:::
|
||
|
||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||
How is authentication handled in @packages/functions/src/api/index.ts
|
||
```
|
||
|
||
Ceci est utile s'il y a une partie de la base de code sur laquelle vous n'avez pas travaillé.
|
||
|
||
---
|
||
|
||
### Ajouter des fonctionnalités
|
||
|
||
Vous pouvez demander à OpenCode d'ajouter de nouvelles fonctionnalités à votre projet. Cependant, nous recommandons d’abord de lui demander de créer un plan.
|
||
|
||
1. **Créer un plan**
|
||
|
||
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.
|
||
|
||
```bash frame="none" title="Switch to Plan mode"
|
||
<TAB>
|
||
```
|
||
|
||
Décrivons maintenant ce que nous voulons qu'il fasse.
|
||
|
||
```txt frame="none"
|
||
When a user deletes a note, we'd like to flag it as deleted in the database.
|
||
Then create a screen that shows all the recently deleted notes.
|
||
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.
|
||
|
||
:::tip
|
||
Donnez à OpenCode beaucoup de contexte et d'exemples pour l'aider à comprendre ce que vous voulez.
|
||
:::
|
||
|
||
2. **Itérer sur le plan**
|
||
|
||
Une fois qu'il vous donne un plan, vous pouvez lui faire part de vos commentaires ou ajouter plus de détails.
|
||
|
||
```txt frame="none"
|
||
We'd like to design this new screen using a design I've used before.
|
||
[Image #1] Take a look at this image and use it as a reference.
|
||
```
|
||
|
||
:::tip
|
||
Glissez-déposez des images dans le terminal pour les ajouter à l'invite.
|
||
:::
|
||
|
||
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 appuyant à nouveau sur la touche **Tab**.
|
||
|
||
```bash frame="none"
|
||
<TAB>
|
||
```
|
||
|
||
Et demandez-lui d'apporter les modifications.
|
||
|
||
```bash frame="none"
|
||
Sounds good! Go ahead and make the changes.
|
||
```
|
||
|
||
---
|
||
|
||
### Apporter des modifications
|
||
|
||
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
|
||
handled in the /notes route in @packages/functions/src/notes.ts and implement
|
||
the same logic in @packages/functions/src/settings.ts
|
||
```
|
||
|
||
Vous devez fournir suffisamment de détails pour qu'OpenCode effectue les bonnes modifications.
|
||
|
||
---
|
||
|
||
### Annuler les modifications
|
||
|
||
Disons que vous demandez à OpenCode d'apporter quelques modifications.
|
||
|
||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||
```
|
||
|
||
Mais vous réalisez que ce n’est 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.
|
||
|
||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||
```
|
||
|
||
À partir de là, vous pouvez modifier l'invite et demander à OpenCode de réessayer.
|
||
|
||
:::tip
|
||
Vous pouvez exécuter `/undo` plusieurs fois pour annuler plusieurs modifications.
|
||
:::
|
||
|
||
Ou vous **pouvez refaire** les modifications à l'aide de la commande `/redo`.
|
||
|
||
```bash frame="none"
|
||
/redo
|
||
```
|
||
|
||
---
|
||
|
||
## Partager
|
||
|
||
Les conversations que vous avez avec OpenCode peuvent être [partagées avec votre équipe](/docs/share).
|
||
|
||
```bash frame="none"
|
||
/share
|
||
```
|
||
|
||
Cela créera un lien vers la conversation en cours et le copiera dans votre presse-papiers.
|
||
|
||
:::note
|
||
Les conversations ne sont pas partagées par défaut.
|
||
:::
|
||
|
||
Voici un [exemple de conversation](https://opencode.ai/s/4XP1fce5) avec OpenCode.
|
||
|
||
---
|
||
|
||
## Personnaliser
|
||
|
||
Et c'est tout ! Vous êtes désormais un pro de l'utilisation de OpenCode.
|
||
|
||
Pour vous l'approprier, nous vous recommandons de [choisir un thème](/docs/themes), [de personnaliser les raccourcis clavier](/docs/keybinds), de [configurer les formateurs de code](/docs/formatters), de [créer des commandes personnalisées](/docs/commands) ou de jouer avec la [OpenCode Config](/docs/config).
|