# OpenCode

> Ajoutez Tchavi à OpenCode comme fournisseur compatible OpenAI et payez-le en mobile money.

- Canonical: https://tchavi.com/fr/docs/coding-agents/opencode

---


Fait partie des guides [agents de code](/docs/coding-agents).

OpenCode atteint n'importe quel endpoint compatible OpenAI via un bloc de fournisseur personnalisé : Tchavi s'ajoute donc comme un fournisseur de plus dans le sélecteur `/models`.

## 1. Déclarer le fournisseur

Placez ceci dans `opencode.json` à la racine de votre projet, ou dans `~/.config/opencode/opencode.json` pour l'appliquer partout :

```json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "tchavi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Tchavi",
      "options": {
        "baseURL": "https://tchavi.com/api/v1",
        "apiKey": "{env:TCHAVI_API_KEY}"
      },
      "models": {
        "claude-sonnet-4-6": { "name": "Claude Sonnet 4.6" },
        "gpt-5.4": { "name": "GPT-5.4" },
        "deepseek-v4-pro": { "name": "DeepSeek V4 Pro" }
      }
    }
  }
}
```

## 2. Exporter la clé et lancer

```bash
export TCHAVI_API_KEY=sk-tch-votre-cle
opencode
```

`{env:TCHAVI_API_KEY}` est ce qui garde la clé hors du fichier, ce qui compte puisque `opencode.json` se trouve dans votre dépôt. Lancez `/models` et les trois entrées apparaissent sous **Tchavi**.

## Ajouter d'autres modèles

Ajoutez à la table `models` tous les modèles que vous voulez — les clés sont des identifiants de modèles Tchavi, exactement tels que `GET /v1/models` les renvoie. Un modèle absent de la table n'apparaît simplement pas dans le sélecteur ; rien d'autre ne casse.

Vous pouvez aussi déclarer une fenêtre de contexte par modèle, qu'OpenCode utilise pour décider quand compacter :

```json
"deepseek-v4-pro": {
  "name": "DeepSeek V4 Pro",
  "limit": { "context": 128000, "output": 8192 }
}
```

<Callout type="note" title="Quel paquet npm">
  Utilisez `@ai-sdk/openai-compatible`, qui poste vers `/v1/chat/completions`. Le paquet
  `@ai-sdk/openai` vise l'API Responses. Tchavi sert les deux, mais la table `models` et le
  streaming se comportent de la manière la plus prévisible avec le premier.
</Callout>

<Callout type="warning" title="Gardez la clé hors du dépôt">
  Si vous mettez le bloc fournisseur dans le `opencode.json` du projet, la référence `{env:...}` est
  la seule chose entre votre clé et un commit. Y écrire la clé en clair la publiera dès le premier
  push.
</Callout>

---

Suivant : [Deep Code](/docs/coding-agents/deep-code) · Retour aux [agents de code](/docs/coding-agents)

