> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/fr/integrations/opencode.md).

# Comment exécuter des modèles d'IA locaux avec OpenCode

Ce guide vous explique comment connecter **OpenCode** à [Unsloth](https://github.com/unslothai/unsloth) pour exécuter des LLM ouverts **entièrement en local.** OpenCode est un **agent de codage IA open source** qui lit, modifie et exécute du code dans l'ensemble de votre projet à l'aide d'un modèle connecté. Cela fonctionne avec n'importe quel **modèle local** exposé via Unsloth **API compatible OpenAI**, notamment : DeepSeek, Qwen, Gemma, et bien d'autres.

OpenCode agit comme le client, tandis qu'Unsloth charge et sert les modèles via une API locale. Après la configuration, OpenCode se connecte à Unsloth, où vous pouvez sélectionner un modèle chargé et l'utiliser comme **agent de codage**.

Ce guide couvre les deux options de configuration :

* **OpenCode Desktop :** ajoutez manuellement Unsloth Studio comme fournisseur personnalisé compatible avec OpenAI.
* **OpenCode CLI :** lancez-le avec `unsloth start opencode` et connectez-vous automatiquement à votre modèle local.

<a href="https://unsloth.ai/docs/integrations/opencode#installing-opencode-desktop" class="button primary">Configuration d'OpenCode</a><a href="/pages/5ed7fe5ad328b9ea2064f629be46409a5616379c#quickstart" class="button primary">Démarrage rapide</a>

{% hint style="info" %}
Dans ce tutoriel, nous utiliserons `unsloth/Qwen3.6-27B-GGUF` chargé dans Unsloth et y accéder directement dans OpenCode. Vous préférez un autre modèle ? Remplacez-le par n'importe quel autre modèle en le chargeant dans Unsloth.
{% endhint %}

### Installation d'OpenCode Desktop

{% tabs %}
{% tab title="macOS" %}

#### **Étape 1 : Téléchargez l'installateur OpenCode pour Mac**

Ouvrez `opencode.ai/download` dans le navigateur de votre choix. Faites défiler jusqu'à **OpenCode Desktop (bêta),** et cliquez sur le `Télécharger` bouton à côté du nom de l'image macOS correspondant à l'architecture de votre Mac (Apple Silicon ou Intel).

#### Étape 2 : Installez OpenCode

Repérez et double-cliquez sur le `OpenCode Desktop.dmg` fichier d'installation dans votre dossier Téléchargements.

La fenêtre d'installation s'ouvrira. Utilisez votre souris pour faire glisser l' **OpenCode** icône de l'application sur **Applications** l'icône comme indiqué.

#### Étape 3 : Lancez OpenCode

Repérez et double-cliquez sur le **OpenCode** icône dans le dossier **Applications** dossier.

Le **OpenCode** l'application de bureau s'ouvrira et sera maintenant prête pour votre prochaine action.

<div data-with-frame="true"><figure><img src="/files/89f29b2e5ea1bb37aca0592e93eb21fa68c49836" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Windows" %}

#### **Étape 1 : Téléchargez l'installateur OpenCode pour Windows**

Ouvrez `opencode.ai/download` dans votre navigateur. Faites défiler jusqu'à **OpenCode Desktop (bêta)**, puis cliquez sur le **Télécharger** bouton à côté de l'installateur Windows (x64).

#### **Étape 2 : Installez OpenCode**

repérez le `OpenCode Desktop Installer.exe` dans votre dossier Téléchargements et double-cliquez dessus. Vous pouvez ensuite suivre les instructions dans la fenêtre d'installation pour terminer l'installation.

#### **Étape 3 : Lancez OpenCode**

Ouvrez le menu Démarrer de Windows et recherchez **OpenCode**.\
\
Cliquez sur l'icône de l'application OpenCode pour la lancer. L'application de bureau OpenCode s'ouvrira et sera maintenant prête pour votre prochaine action

<div data-with-frame="true"><figure><img src="/files/236d3028424304b3db4432bdd86c6c854cb5c9dc" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Linux" %}

#### **Étape 1 : Téléchargez l'installateur OpenCode pour Linux**

Allez dans `opencode.ai/download` à l'aide de votre navigateur web préféré. Repérez la **OpenCode Desktop (bêta)** section, puis choisissez l'option de téléchargement Linux correspondant à votre système.

#### **Étape 2 : Installez OpenCode**

Ouvrez votre dossier Téléchargements et repérez le **OpenCode** installateur que vous venez de télécharger.

Pour un téléchargement AppImage, cliquez avec le bouton droit sur le fichier, ouvrez **Propriétés**, puis activez l'option permettant au fichier d'être exécuté comme un programme. Double-cliquez ensuite sur l'AppImage pour lancer **OpenCode**.

Ou, si vous préférez utiliser le terminal, exécutez :

```
chmod +x OpenCode*.AppImage
./OpenCode*.AppImage
```

Si vous avez téléchargé un `.deb` fichier, installez-le avec :

```
sudo apt install ./OpenCode*.deb
```

Si vous avez téléchargé un `.rpm` fichier, installez-le avec :

```
sudo dnf install ./OpenCode*.rpm
```

#### **Étape 3 : Lancez OpenCode**

Ouvrez le lanceur d'applications Linux et recherchez **OpenCode**.

Cliquez sur l'icône de l'application OpenCode pour la lancer. L'application de bureau OpenCode s'ouvrira et sera maintenant prête pour votre prochaine action.
{% endtab %}
{% endtabs %}

### ⚡ Démarrage rapide

Après avoir installé OpenCode, nous devrons installer Unsloth Studio pour permettre à OpenCode de servir et d'exécuter l'inférence de modèles locaux.

1. **Installez ou mettez à jour Unsloth Studio.** Les versions antérieures n’exposent pas l’API externe. Voir Installation.
2. **Lancez Unsloth.** Notez que le port sur lequel il démarre est généralement `8000` ou `8888`. Vous le verrez dans la sortie du terminal et dans l’URL du navigateur (`http://localhost:PORT`).
3. **Chargez un modèle.** Cliquez sur **Nouveau chat**, choisissez ou recherchez un modèle (GGUF) et attendez la fin du chargement.
4. **Connectez OpenCode.** Exécutez `unsloth start opencode`. Il génère une clé API, écrit la configuration et lance OpenCode avec votre modèle chargé.

### 🔑 Création d’une clé API

1. Ouvrez la barre latérale, cliquez sur votre **Unsloth** avatar en bas à gauche.
2. Allez dans **Paramètres** → **API**.
3. Entrez un nom parlant (p. ex. `claude-code-macbook`).
4. *(Facultatif)* Définissez une date d’expiration.
5. Cliquez sur **Créer**.
6. **Copiez la clé immédiatement.** Unsloth ne stocke qu’un hachage et vous ne pourrez plus la consulter.

<figure><img src="/files/236f8680018f6e8f0517e6ead4329fe9f5efb49f" alt="" width="375"><figcaption></figcaption></figure>

Toutes les clés commencent par le `sk-unsloth-` préfixe. Révoquez une clé depuis cette même page à tout moment. Les requêtes effectuées avec une clé révoquée échoueront avec `401 Non autorisé`.

## 🖇️ Connexion d'Unsloth à OpenCode Desktop

**OpenCode** prend en charge n'importe quel fournisseur compatible avec OpenAI, vous pouvez donc intégrer Unsloth en tant que **personnalisé** fournisseur. La configuration se fait une seule fois dans la **Connecter le fournisseur** boîte de dialogue.

**1. Ouvrez le sélecteur de fournisseur.** Dans opencode, saisissez `/model` (ou cliquez sur le sélecteur de modèle en bas du champ de saisie).

<div data-with-frame="true"><figure><img src="/files/1fc09fa493e28de5234a23ce2b2492f56fcf4fbb" alt="" width="563"><figcaption></figcaption></figure></div>

Puis cliquez sur **Connecter le fournisseur** en haut à droite de la boîte de dialogue de sélection du modèle.

<div data-with-frame="true"><figure><img src="/files/38884147fac21153360983df78a30519993ec02e" alt="" width="375"><figcaption></figcaption></figure></div>

**2. Choisissez « Custom ».** Dans la liste des fournisseurs, faites défiler jusqu'à **Autre** et sélectionnez **personnalisé**.

<div data-with-frame="true"><figure><img src="/files/f0258cb61cb48b5609a4eb6f2acff42aa447da34" alt="" width="375"><figcaption></figcaption></figure></div>

**3. Remplissez le formulaire du fournisseur personnalisé :**

| Champ                 | Valeur                                                                                                  |
| --------------------- | ------------------------------------------------------------------------------------------------------- |
| **ID du fournisseur** | `unsloth-studio` *(minuscules, tirets autorisés)*                                                       |
| **Nom affiché**       | `Unsloth Studio`                                                                                        |
| **URL de base**       | `http://localhost:8888/v1/` *(remplacez `8888` par votre* Unsloth *port ; conservez le suffixe `/v1/`)* |
| **Clé API**           | Vos `sk-unsloth-…` clé                                                                                  |

Dans la **Modèles** section, ajoutez une ligne par modèle que vous souhaitez exposer. Le champ de gauche est l'ID du modèle tel qu'Unsloth le sert ; le champ de droite est ce qu'opencode affichera :

| ID du modèle (gauche)                                                             | Nom affiché (droite)                                 |
| --------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `unsloth/Qwen3.6-27B-GGUF` *(le nom exact du modèle tel qu'affiché dans Unsloth)* | `unsloth/Qwen3.6-27B-GGUF` *(affiché dans opencode)* |

Laissez **En-têtes** vide, sauf si vous faites transiter Unsloth via une couche d'authentification nécessitant des en-têtes personnalisés.

<div data-with-frame="true"><figure><img src="/files/967a4599f326dfa51b24566eb0a45036535e132f" alt="" width="375"><figcaption></figcaption></figure></div>

**4. Cliquez sur Soumettre.** Vous devriez voir un *"Unsloth Studio connecté. Les modèles Unsloth sont maintenant disponibles à l'utilisation"* message contextuel.

<figure><img src="/files/7d2d1b85e7cf72ec1d61f5877ac8b6a5d4d8bceb" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Redémarrez opencode après avoir ajouté le fournisseur.** Le nouveau fournisseur ne devient sélectionnable qu'après un redémarrage.
{% endhint %}

**5. Sélectionnez votre modèle Unsloth.** Une fois opencode relancé, saisissez `/model`, recherchez `unsloth`, puis sélectionnez le modèle sous le **Unsloth Studio** groupe. Il sera actif lors de votre prochain message.

<div data-with-frame="true"><figure><img src="/files/36b62bcba1dc0c76950b3a97550b371f4839c14c" alt="" width="375"><figcaption></figcaption></figure></div>

Unsloth prend en charge les SDK Python OpenAI et Anthropic.

### ⚙️ **OpenCode CLI**

OpenCode CLI peut se connecter à un modèle déjà en cours d'exécution dans Unsloth Studio, ou en démarrer un automatiquement lorsque Unsloth n'est pas en cours d'exécution.

#### Si Unsloth Studio est déjà en cours d'exécution

Avec un modèle chargé dans Unsloth Studio, ouvrez le dossier de votre projet et exécutez :

```bash
unsloth start opencode
```

L'utilisation de cette commande lance OpenCode avec le modèle actuellement chargé dans Unsloth, sans modifier votre configuration OpenCode existante.

#### Démarrer un modèle automatiquement

Si Unsloth Studio n'est pas déjà en cours d'exécution, vous pouvez lancer un serveur temporaire et charger un modèle en une seule commande :

```bash
unsloth start opencode --model unsloth/gemma-4-26B-A4B-it-GGUF
```

<div data-with-frame="true"><figure><img src="/files/f2a56c897866749733af51314e9fe94ee77f4e60" alt="" width="563"><figcaption></figcaption></figure></div>

Une fois **OpenCode** ouvert, donnez-lui une tâche comme :

```
Créez un jeu Python 2D à la Flash avec saut, dash et deux niveaux.
```

Il peut inspecter le projet, créer des fichiers, modifier le code et exécuter des commandes à l'aide du modèle local.

<div align="center" data-with-frame="true"><figure><img src="/files/06467506a94540dafdbbfcea8c586de763a9f137" alt="" width="563"><figcaption></figcaption></figure></div>

Dans cet exemple, le modèle a créé un jeu de plateforme à deux niveaux. Ouvrons-le et voyons le résultat.

<div data-with-frame="true"><figure><img src="/files/440203428f7986e38cae928684428815028c0a0a" alt="" width="563"><figcaption></figcaption></figure></div>

#### Reprendre votre travail

OpenCode conserve automatiquement l'historique de vos sessions, vous n'avez donc pas besoin `--persist`. Pour reprendre là où vous vous étiez arrêté, même si Unsloth ne s'exécute plus, utilisez :

```bash
unsloth start opencode \\
  --model unsloth/Qwen3.6-27B-GGUF \
  --continue
```

Pour ouvrir plutôt une session particulière, utilisez `--session <session-id>`.

Consultez la [unsloth start](/docs/fr/integrations/unsloth-start.md) référence pour le chargement des modèles, les serveurs Unsloth distants et les options avancées.&#x20;

### Facultatif : configurer l'accès au serveur

`unsloth run` démarre le serveur API local et charge un modèle auquel OpenCode peut se connecter. Vous pouvez également personnaliser le comportement du serveur au démarrage.

```bash
# Exécutez l'API sur le port 8888 (--disable-tools transmet les propres outils d'OpenCode)
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF \
  --disable-tools \
  -p 8888
```

{% hint style="warning" %}
Utilisez `--disable-tools` lors de l'utilisation d'OpenCode (ou de tout autre agent de codage externe). Par défaut, Unsloth Studio exécute ses propres outils côté serveur, ce qui absorbe les appels d'outils de l'agent ; OpenCode répond donc, mais ne modifie jamais les fichiers. `--disable-tools` passe en mode transparence, de sorte que les propres outils d'OpenCode sont utilisés.
{% endhint %}

Utilisez `-p` pour changer le port sur lequel le serveur s'exécute.

```bash
# Autoriser d'autres appareils de votre réseau à se connecter
unsloth run \\
  --model unsloth/gemma-4-26B-A4B-it-GGUF \
  -H 0.0.0.0 \\
  --disable-tools \
  -p 8888
```

Cela démarre le serveur sur `0.0.0.0:8888`, permettant à d’autres appareils de votre réseau local de se connecter.

Pour une configuration d’exécution plus avancée, consultez la principale [optimisation de l’API](https://unsloth.ai/docs/basics/api#unsloth-run-command) section.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/fr/integrations/opencode.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
