Retour aux guides
Comparer·21 septembre 2026·Mis à jour le 24 septembre 2026·9 min de lecture

VT Code vs OpenCode : flux de travail, modèles et coût total

OpenCode permet à un fichier opencode.json validé de diriger toute une équipe vers une seule passerelle. VT Code rejette le même bloc lorsqu’il provient du dépôt — et c’est cette asymétrie, plutôt que la liste des fonctionnalités, qui constitue réellement le choix que vous faites.

Dernière vérification le .

VT Code et OpenCode sont tous deux des agents de codage gratuits dans le terminal : aucun ne facture le client et tous deux acceptent votre propre endpoint compatible avec OpenAI ; il ne s’agit donc pas d’une comparaison de prix. Les vraies différences résident dans l’endroit où chacun vous permet de déclarer cet endpoint, l’orientation des paramètres d’autorisation par défaut et la question de savoir si vous souhaitez un abonnement à 10 $ par mois dans la même interface. VT Code est un binaire Rust unique issu d’un projet indépendant dirigé par un seul mainteneur. OpenCode est un agent TypeScript de l’entreprise Anomaly, avec une application de bureau, des extensions d’éditeur et deux portefeuilles propriétaires.

Deux pièges liés aux noms doivent d’abord être écartés, car se tromper sur l’un ou l’autre invalide tout ce qui suit. « VT Code » n’est pas Visual Studio Code, et VT Code fournit, de manière déroutante, sa propre extension compagnon pour VS Code, avec une série de versions distincte. Et trois choses différentes s’appellent OpenCode — une seule figure dans cette comparaison.

Ce que vous comparez réellement

ProjetCe qu’il est aujourd’huiLangage et licenceVersion au 21 septembre 2026
vinhnx/VTCodeActif. Un agent de codage Rust dans le terminal, dirigé par un seul mainteneur, avec des contributeurs externes crédités dans le README. Écrit « VT Code » en prose, vtcode comme binaire et crateRust. « MIT OR Apache-2.0 » selon le README ; GitHub détecte Apache-2.0CLI 0.165.0, publié ce jour-là ; crates.io correspond
anomalyco/opencodeActif. L’OpenCode publié sur opencode.ai. github.com/sst/opencode renvoie désormais ici un 301 et le pied de page du site indique « © 2026 Anomaly »TypeScript. MITDeux lignes à la fois : publication de v1.18.31 (14 septembre) et npm @opencode/cli 2.0.12
opencode-ai/opencodeArchivé. Le CLI Go qui a continué sous le nom de Crush de Charm. Ce n’est pas l’OpenCode présenté sur cette page — n’en prenez ni la configuration ni les prixGo. MITDernier push le 18 septembre 2025

Métadonnées des dépôts, versions et dist-tags lus depuis l’API GitHub, npm et crates.io le 21 septembre 2026. Une quatrième collision : « OpenCode Go » est également le nom de l’abonnement à 10 $ par mois d’Anomaly, qui n’a rien à voir avec le langage Go ni avec le CLI Go archivé — et VT Code aggrave la confusion en donnant à l’une de ses clés de fournisseur intégrées le nom opencode-go. Notez également la vitesse à laquelle la version de VT Code évolue : 0.164.0, 0.164.2 et 0.165.0 sont toutes sorties en environ 27 heures, les 20 et 21 septembre ; consultez donc le tag plutôt que de faire confiance à une version imprimée sur une page, y compris celle-ci.

Qui devrait choisir lequel

Si cela vous décritChoisirPourquoi précisément
Vous voulez que la passerelle soit épinglée dans le dépôt afin que chaque clone et chaque tâche CI l’utiliseOpenCodeUn opencode.json versionné à la racine du projet constitue une donnée de projet ordinaire et enregistre le fournisseur. VT Code refuse cette même approche
Vous voulez l’inverse : un dépôt cloné ne doit jamais pouvoir rediriger le trafic de vos modèlesVT CodeUn [[custom_providers]] non vide provenant d’un espace de travail ou d’une couche de projet est rejeté avant l’enregistrement du fournisseur — une couche nommée dans son propre modèle de sécurité
Vous voulez que l’agent s’arrête et demande confirmation avant de toucher à quoi que ce soit, par défautVT CodeParamètres par défaut documentés : tools.default_policy "prompt", security.human_in_the_loop true, sandbox.default_policy "read_only", automation.full_auto.enabled false
Vous préférez qu’il agisse, puis que son champ d’action soit restreint avec des motifs par outilOpenCodeLa plupart des autorisations sont définies par défaut sur "allow", tandis que doom_loop et external_directory sont définis sur "ask" ; les règles sont des motifs glob par outil, et la dernière correspondance l’emporte
Vous avez besoin de plus qu’un terminal — une application de bureau, des extensions d’éditeur, GitHub ou GitLabOpenCodeFournit une application de bureau via brew install --cask opencode-desktop, ainsi qu’une extension pour VS Code et ses forks Cursor, Windsurf et VSCodium, qui s’installe elle-même lorsque vous exécutez opencode dans le terminal intégré
Vous voulez piloter l’agent depuis votre propre service via HTTPOpenCodeopencode serve expose une spécification OpenAPI 3.1 sur 127.0.0.1:4096 et le SDK est généré à partir de celle-ci ; la TUI n’est qu’un client parmi d’autres
Vous voulez un binaire statique unique avec une liste stricte de commandes autorisées plutôt qu’une chaîne d’outils NodeVT CodeUn binaire Rust unique. La couche 1 de son modèle de sécurité autorise neuf commandes — ls, cat, cp, head, printenv, pwd, rg, sed, which — et bloque tout le reste par défaut
Vous voulez un forfait fixe de 10 $ par mois sur une sélection organisée plutôt que des tokens facturés à l’usageOpenCodeOpenCode Go est ce produit, avec des plafonds par modèle et un abonné par espace de travail. VT Code fournit la clé du fournisseur, mais ne figure sur aucune des deux listes de clients de Go
Vous voulez un solde prépayé unique pour les familles Claude et GPT de pointeL'un ou l'autreTous deux acceptent un endpoint tiers compatible avec OpenAI sans restriction liée au forfait. Aucun ne fait payer les fournisseurs personnalisés

Concernant le coût de migration. La moitié bon marché est AGENTS.md : les deux outils le lisent à la racine du projet, de sorte que le fichier décrivant vos conventions survit intact à un changement dans un sens comme dans l’autre. La moitié coûteuse est tout le reste. Les deux formats de configuration sont disjoints — TOML avec des tableaux de tables contre JSON nommant un paquet npm par fournisseur — et il n’existe aucun convertisseur ; une configuration locale au projet doit donc être réécrite à la main. Cette page n’a pas établi si les définitions MCP, les compétences, les plugins, les agents personnalisés ou l’historique des sessions sont transférés ; elle ne fournit donc aucune estimation du temps de migration au-delà de cette réécriture.

La seule asymétrie qui mérite de guider la décision : où l’endpoint peut résider

C’est la différence que les modèles génériques ne mentionnent jamais, et elle inverse l’instinct habituel concernant les monorepos. OpenCode traite un fournisseur personnalisé comme une donnée de projet ordinaire : un opencode.json versionné fonctionne, ce qui permet à une équipe d’imposer la même passerelle à tous dans un seul fichier révisé. VT Code refuse délibérément cette approche.

La référence des champs de configuration de VT Code l’énonce directement dans le champ : « Les valeurs non vides provenant de couches d’espace de travail/projet contrôlées par le dépôt sont rejetées ; définissez les endpoints des fournisseurs dans la configuration système/utilisateur approuvée ou explicitement sélectionnée. » Le même rejet est répété pour custom_providers[].base_url, custom_providers[].auth.command, ainsi que pour provider_overrides.*.base_url et .api_key_env. Son modèle de sécurité présente ce raisonnement comme une couche distincte — le chargeur enregistre l’origine gagnante de chaque champ fusionné, considère les fichiers à la racine de l’espace de travail, les fichiers .vtcode/ de l’espace de travail et les profils de projet comme contrôlés par le dépôt, puis échoue de manière fermée avant la validation du fournisseur ; il indique que cela empêche un dépôt d’introduire le auth.command exécutable d’un fournisseur personnalisé ou de rediriger les requêtes via une URL de base remplacée.

La conséquence pratique est donc la suivante : avec OpenCode, une seule pull request fusionnée dirige toute l’équipe vers une passerelle. Avec VT Code, la même modification est une installation par machine dans la configuration utilisateur ou système, ou un chemin --config transmis au lancement. Il s’agit d’un véritable compromis — l’un privilégie la facilité de déploiement, l’autre le contrôle de la chaîne d’approvisionnement — et votre préférence constitue ici une raison plus solide de choisir un client que n’importe quelle liste de fonctionnalités. Les deux faits proviennent de main au 21 septembre 2026.

Autorisations, autonomie et interfaces fournies par chacun

ComportementVT CodeOpenCode
Comportement des outils par défautDemander d’abord : tools.default_policy vaut "prompt" et security.human_in_the_loop vaut trueAutorisation dans la plupart des cas ; read est autorisé, mais les fichiers .env sont refusés par défaut
Mode autonomeDésactivé par défaut et soumis à des conditions : require_profile_ack true, max_turns 100, ainsi qu’une liste explicite d’outils autorisés--auto approuve tout ce qui n’est pas explicitement refusé ; les refus explicites restent appliqués
Bac à sableDocumenté comme une couche facultative avec isolation du système de fichiers et liste blanche du réseauAucun élément documenté — /docs/sandbox/ renvoie 404, et le bac à sable qui apparaît est un plugin tiers Daytona dans la liste de l’écosystème des plugins. L’absence de documentation ne prouve pas que l’exécution ne dispose d’aucune isolation
Gouvernance des fournisseursproviders_whitelist limite les fournisseurs pouvant être contactés, ce que le guide présente comme un contrôle pour les configurations avec passerelle d’entreprise ou sans accès réseauwhitelist et blacklist agissent sur les modèles au sein d’un fournisseur et les masquent du sélecteur /models
Accès depuis l’éditeurACP via vtcode acp, une extension Zed intégrée au dépôt et une extension compagnon pour VS Code avec sa propre série de versionsACP via opencode acp, une application de bureau et des extensions qui s’installent depuis le terminal intégré
Interface sans surveillanceSous-commandes dans un seul binaire — vtcode exec avec événements JSON, review, eval, schedule — ainsi qu’un serveur de compatibilité Anthropic-MessagesUne séparation client/serveur : opencode serve avec une spécification OpenAPI 3.1 et un SDK généré à partir de celle-ci

Sources : référence des champs de configuration, modèle de sécurité et guide des fournisseurs de VT Code ; documentation OpenCode sur les autorisations, les fournisseurs, le serveur et l’ACP. Toutes consultées le 21 septembre 2026, et toutes décrivent des valeurs par défaut — chaque client peut être reconfiguré dans l’autre sens. Tous deux parlent ACP et prennent en charge MCP ; l’accès depuis l’éditeur est donc proche de la parité plutôt qu’un facteur de différenciation.

C’est le portefeuille, et non le client, qui reçoit l’argent

OpenCode vend deux produits qui lui sont propres. VT Code ne vend rien, ce qui constitue en soi un élément de décision : chaque token qu’il envoie est facturé par le fournisseur que vous avez configuré, et il n’existe aucun forfait propriétaire de secours.

PortefeuillePrix publiéPoints à surveiller
VT CodeAucun. Aucun compte, aucun niveau, aucun service hébergéLe financement repose sur le parrainage volontaire. L’intégralité de votre facture correspond à l’endpoint que vous indiquez
OpenCode Go« un abonnement à faible coût de 10 $/mois » couvrant une liste publiée de modèles de codage ouverts, dont la même page précise qu’elle « peut évoluer au fur et à mesure que nous les testons et en ajoutons de nouveaux »Ce n’est pas illimité. Chaque modèle comporte un plafond mensuel exprimé en dollars d’utilisation, publié entre 15 $ et 60 $, le plafond de 5 heures représentant 20 % de celui-ci et le plafond hebdomadaire 50 %. Un membre par espace de travail peut s’abonner
OpenCode ZenCrédit prépayé à l’usage, par million de tokensRecharge automatiquement 20 $ lorsque le solde passe sous 5 $, sauf si vous modifiez ou désactivez cette option ; les frais de carte sont répercutés à hauteur de 4,4 % plus 0,30 $ par transaction. Sa documentation indique également que des modèles bon marché apparaissent dans votre historique d’utilisation, car Zen les utilise pour générer les titres des sessions
N’importe quel endpoint tiersLes tarifs de ce fournisseurPris en charge par les deux clients sans restriction liée au forfait. Zen et Go sont décrits dans la propre documentation d’OpenCode comme entièrement facultatifs

Prix et quotas relevés dans la documentation officielle d’OpenCode le 21 septembre 2026. Deux points à connaître avant de les comparer. Go publie des conditions de données par modèle qui ne sont pas uniformes — la plupart des lignes indiquent que les données ne sont pas utilisées pour l’entraînement et une conservation nulle, tandis que quelques-unes mentionnent une conservation de 30 jours et que deux modèles de contributeurs sont indiqués comme utilisés pour l’entraînement et sans conservation nulle — vérifiez donc la ligne correspondant au modèle que vous comptez utiliser. Zen publie également des dépréciations datées ; une comparaison ancrée sur un seul identifiant de modèle peut donc devenir obsolète plus vite que la page elle-même. OpenCode Enterprise est un formulaire de contact sans prix publié, et cette page n’en cite aucun.

Ce que coûte une session sur votre propre endpoint

Les chiffres ci-dessous sont des calculs illustratifs de tokens, et non des coûts de tâches mesurés ni un plafond de facturation. Supposons une session d’agent qui envoie 200,000 tokens d’entrée non mis en cache et reçoit 15,000 tokens de sortie — une hypothèse de comparaison, pas une mesure de votre dépôt. Les tarifs sont les prix actuels du catalogue Kunavo par million de tokens ; la dernière colonne effectue simplement une division et hérite donc de toutes les hypothèses précédentes.

ModèleEntrée / sortie par millionEstimation pour une sessionSessions par tranche de 10 $ de crédit
Claude Haiku 4.5$0.70 / $3.50$0.19251
GPT-5.6 Terra$0.70 / $4.20$0.20349
Claude Sonnet 4.6$2.10 / $10.50$0.57817
Claude Sonnet 5$1.40 / $7.00$0.38525

Comparez cette dernière colonne aux 10 $ par mois d’OpenCode Go, puis résistez à l’envie d’y voir un verdict. Les deux ne représentent pas la même unité : les plafonds de Go sont exprimés en dollars d’utilisation sur sa liste de modèles, et non en dollars que vous dépensez ; les deux catalogues ne se recouvrent que partiellement — GPT 5.6 Luna figure dans la liste publiée de Go, tandis que les lignes Claude et Gemini du tableau ci-dessus n’y figurent pas. Un abonnement achète également de la prévisibilité plutôt qu’un tarif. Ce que le tableau établit, c’est la nature de la question : si votre travail consiste en quelques longues sessions par semaine sur un modèle bon marché, les tokens facturés à l’usage sont plus avantageux ; s’il s’agit d’une utilisation intensive toute la journée sur des modèles effectivement proposés par Go, un forfait fixe cesse d’être manifestement moins bon. Mesurez vos propres sessions avant de choisir, car un modèle qui nécessite une deuxième tentative efface immédiatement tout avantage tarifaire.

Le montant du catalogue Kunavo constitue un plancher de facturation, pas un plafond : lorsque le fournisseur amont signale son coût, la facture correspond au montant le plus élevé entre le coût catalogue et le coût amont multiplié par la majoration applicable. Les frais de cache et les outils externes ne sont pas inclus dans cet exemple. Le rechargement minimal est de $10 de crédit prépayé — un minimum de financement, pas des frais de tâche ni un abonnement. Voir détails de facturation.

Diriger l’un ou l’autre vers votre propre endpoint

Du côté de VT Code, il s’agit d’un bloc [[custom_providers]], et la règle de placement de la section précédente est le point que les utilisateurs comprennent souvent mal :

~/.config/vtcode/vtcode.toml
# This block is rejected if it arrives from a repository-controlled
# layer. Put it in your user config, in the Unix system layer
# (/etc/vtcode/vtcode.toml), or pass it with --config / VTCODE_CONFIG_PATH.
[[custom_providers]]
name = "kunavo"
display_name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
api_key_env = "KUNAVO_API_KEY"
api_format = "openai-chat"
model = "claude-sonnet-5"
models = ["claude-sonnet-5", "claude-haiku-4-5"]
context_window = 1000000   # omit this and VT Code assumes 128000

Quatre remarques sur ce bloc, toutes issues du guide des fournisseurs et de la référence des champs. La clé est lue depuis la variable d’environnement nommée dans api_key_env, et la documentation de configuration comporte une mise en garde explicite : ne mettez jamais de clés API dans vtcode.toml. api_format accepte auto, openai-chat, openai-responses ou anthropic-messages — une valeur explicite est respectée plutôt que remplacée silencieusement — et la route Anthropic mérite un examen distinct, car les deux conventions d’URL de base diffèrent, comme l’explique la référence de l’URL de base. Définir context_window est important : si vous l’omettez, le fournisseur est supposé disposer de 128 000 tokens, ce qui limite discrètement la compaction et les vérifications préalables dans un contexte beaucoup plus large. VT Code applique également des restrictions d’échantillonnage OpenAI fondées sur le nom aux endpoints personnalisés — un identifiant de modèle correspondant à gpt-6-astra, par exemple, ne reçoit jamais temperature ni top_p — et le guide conseille lui-même de « préférer des identifiants de modèles neutres sur les passerelles si vous avez besoin de valeurs épinglées pour ces noms ».

L’équivalent d’OpenCode est un fichier de données, et le champ npm sélectionne le format filaire — @ai-sdk/openai-compatible pour un endpoint qui fournit /v1/chat/completions, @ai-sdk/openai pour /v1/responses :

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "kunavo": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Kunavo",
      "options": {
        "baseURL": "https://api.kunavo.com/v1",
        "apiKey": "{env:KUNAVO_API_KEY}"
      },
      "models": {
        "claude-sonnet-5": {
          "name": "Claude Sonnet 5",
          "limit": { "context": 1000000, "output": 128000 }
        }
      }
    }
  }
}

OpenCode peut également remplacer le baseURL d’un fournisseur intégré plutôt que d’en déclarer un personnalisé ; sa documentation indique que les métadonnées des modèles pour les fournisseurs connus proviennent de Models.dev — un fournisseur déclaré manuellement doit donc fournir son propre limit — et les clés ajoutées via la commande /connect sont enregistrées dans ~/.local/share/opencode/auth.json. Kunavo publie une page de configuration pour ce client : le guide d’intégration OpenCode. Il n’existe pas ici de page d’intégration VT Code, et le bloc TOML ci-dessus est une référence de configuration assemblée à partir des définitions de champs documentées par VT Code — aucun des deux clients n’a été testé en conditions réelles avec Kunavo, et aucune compatibilité n’est revendiquée pour l’un ou l’autre. Conservez une route fonctionnelle, exécutez une tâche limitée et consultez le montant enregistré par votre compte avant de remplacer votre outil quotidien. Créez un compte Kunavo lorsque vous serez prêt à approvisionner une clé.

Un avertissement d’installation qui peut coûter beaucoup de temps. Le paquet npm public nommé vtcode n’est pas le VT Code actuel : son dist-tag latest était 0.52.8, publié le 24 décembre 2025, tandis que crates.io était en version 0.165.0 le 21 septembre 2026. La documentation d’installation de VT Code indique un autre chemin npm — npm install -g @vinhnx/vtcode --registry=https://npm.pkg.github.com — ainsi que cargo install vtcode et un dépôt Homebrew qui nécessite brew trust vinhnx/tap avant brew install vinhnx/tap/vtcode. Le même document précise que les artefacts Windows sont fournis au mieux et peuvent ne pas apparaître dans chaque version, tandis que la page d’installation d’OpenCode recommande WSL sous Windows — aucun des deux n’est donc un outil Windows de première classe selon sa propre documentation.

Vous comparez plus largement ? Crush vs OpenCode compare le même OpenCode à l’agent de Charm, les tarifs d’OpenCode approfondissent Zen et Go, et la référence de l’API compatible avec OpenAI couvre la convention d’endpoint sur laquelle reposent les deux clients.

Questions fréquentes

VT Code est-il la même chose que VS Code ?

Non, et les résultats de recherche les mélangent constamment. VT Code est un agent de programmation en terminal écrit en Rust, distribué sous forme de binaire vtcode depuis github.com/vinhnx/VTCode et de crate vtcode sur crates.io. Visual Studio Code est l’éditeur de Microsoft. La confusion est renforcée par le fait que VT Code publie sa propre extension compagnon pour VS Code, dont le nom d’affichage dans le manifeste de l’extension est littéralement « VT Code » — et que cette extension suit sa propre série de versions, 0.50.14 dans le dépôt au 21 septembre 2026, tandis que la CLI était en 0.165.0 le même jour. Ainsi, « VT Code 0.50 » désigne l’extension de l’éditeur, jamais l’agent. Vérifiez à quel artefact appartient un numéro de version avant de le figer.

Quel OpenCode suis-je en train d’installer, v1 ou v2 ?

Cela dépend entièrement de la page que vous avez suivie, et les deux étaient actuelles le 21 septembre 2026. Le README du dépôt et l’introduction de la documentation fournissent toujours la ligne v1 : curl -fsSL https://opencode.ai/install | bash, ou npm install -g opencode-ai, dont la balise de distribution latest était 1.18.31, publiée le 14 septembre 2026 — l’entrée la plus récente dans GitHub Releases. La page d’accueil marketing et opencode.ai/download ne promeuvent que v2 : curl -fsSL https://opencode.ai/v2/install | bash, npm install -g @opencode/cli, ou brew install anomalyco/tap/opencode-v2. Le paquet npm @opencode/cli avait la balise de distribution latest 2.0.12, correspondant à la balise du dépôt v2.0.12, et aucune balise v2 ne possède d’entrée GitHub Release. Aucune des deux lignes n’est une version bêta au sens ordinaire, et aucune annonce officielle datée déclarant v2 généralement disponible n’a été trouvée ; vérifiez donc le nom du paquet que vous installez réellement plutôt que de faire confiance à un numéro de version cité quelque part.

Lequel est le moins cher, VT Code ou OpenCode ?

Aucun des deux clients ne facture quoi que ce soit ; le prix du client est donc à égalité, à zéro. OpenCode est sous licence MIT. Le README de VT Code indique que le code de première partie est sous MIT OU Apache-2.0, tandis que la détection de licence de GitHub indique Apache-2.0 ; sa seule source de revenus est le parrainage volontaire. Dans les deux cas, vous payez les jetons de modèle au tarif de l’endpoint que vous configurez. La différence de coût est créée en aval : OpenCode fournit deux portefeuilles propriétaires — les crédits OpenCode Zen à l’usage et un abonnement OpenCode Go à 10 $ par mois avec des plafonds d’utilisation publiés par modèle — tandis que VT Code n’a ni comptes, ni niveaux, ni service hébergé ; chaque jeton qu’il envoie est donc facturé par quelqu’un d’autre. Notez également que le tarif affiché le moins cher et le coût minimal pour terminer une tâche sont deux questions différentes : un modèle qui nécessite trois tentatives peut coûter plus cher qu’un modèle plus onéreux qui réussit du premier coup.

Puis-je diriger VT Code vers une passerelle personnalisée compatible avec OpenAI ?

Oui, via une entrée [[custom_providers]] dans vtcode.toml, avec une règle qui surprend. La référence des champs de configuration de VT Code indique que les valeurs non vides de custom_providers provenant des couches workspace ou project contrôlées par le dépôt sont rejetées, et que les endpoints des fournisseurs doivent être définis dans la configuration système ou utilisateur approuvée, ou dans un fichier de configuration explicitement sélectionné. Ainsi, un vtcode.toml enregistré à la racine de votre dépôt n’enregistrera pas une passerelle. Utilisez la configuration utilisateur de la plateforme, la couche système Unix située à /etc/vtcode/vtcode.toml, ou transmettez --config. L’entrée doit comporter un name, un display_name et un base_url ; la clé est lue depuis la variable d’environnement que vous indiquez dans api_key_env ; et api_format accepte auto, openai-chat, openai-responses ou anthropic-messages, la documentation précisant qu’une valeur explicite est respectée et ne fait pas silencieusement l’objet d’un repli. Définissez également context_window, car une valeur omise vaut par défaut 128000 jetons et ce chiffre pilote l’affichage du contexte, la compaction automatique et les vérifications préalables.

Puis-je utiliser un abonnement OpenCode Go depuis VT Code ?

VT Code fournit le câblage ; OpenCode n’a pas validé VT Code comme client, et ces deux affirmations sont différentes. Le guide des fournisseurs de VT Code documente opencode-go comme clé de fournisseur intégrée avec OPENCODE_GO_API_KEY et l’URL de base https://opencode.ai/zen/go/v1, aux côtés d’opencode-zen. De son côté, la documentation Go d’OpenCode indique que le trafic est surveillé pour détecter les abus, demande aux clients de s’identifier avec leur propre user agent et d’envoyer un identifiant de session stable dans un en-tête x-opencode-session, et publie un tableau des clients validés répertoriant Hermes, Claude Code, Codex, ZCode, Pi, jcode et Kilo Code CLI, ainsi qu’un tableau des clients connus comme problématiques répertoriant DeepSeek Harness, GitHub Copilot Chat, Kimi Code et MiMo Code. VT Code ne figure dans aucun des deux tableaux, et la propre réserve d’OpenCode est qu’il ne garantit pas que les clients répertoriés continueront de fonctionner. L’absence d’une liste ne prouve pas un dysfonctionnement, et cette page ne dispose d’aucun élément permettant de trancher. Prévoyez également la règle de siège : un seul membre par espace de travail peut souscrire à OpenCode Go.

À quel point est-il difficile de migrer entre VT Code et OpenCode ?

Les instructions du projet constituent la moitié facile ; la configuration est la moitié coûteuse. Les deux outils lisent un AGENTS.md à la racine du projet — VT Code le charge à chaque tour et en crée un avec vtcode init, tandis qu’OpenCode en génère un avec /init et vous demande de le valider dans le dépôt — le fichier décrivant vos conventions est donc transféré tel quel. Rien d’autre ne l’est. VT Code lit du TOML avec des blocs de fournisseurs sous forme de tableaux et fusionne neuf couches de configuration, des valeurs intégrées par défaut jusqu’aux couches système, utilisateur, profil de projet, workspace et chemin --config explicite ; les tables sont fusionnées en profondeur, tandis que les scalaires et les tableaux sont remplacés par la couche supérieure. OpenCode lit un fichier de données opencode.json dont les entrées de fournisseurs indiquent un paquet npm AI SDK par format filaire. Il n’existe aucun convertisseur ; une configuration locale au projet doit donc être réécrite manuellement. Cette page n’a pas pu établir si les définitions de serveurs MCP, les compétences, les plugins, les définitions d’agents personnalisés ou l’historique des sessions sont transférés d’une quelconque manière ; elle ne prétend donc pas estimer la durée d’une migration au-delà de la réécriture de la configuration.

VT Code est-il suffisamment stable pour standardiser son usage dans une équipe ?

Commencez par lire la propre note d’état du projet : le README indique un développement actif, certains flux d’automatisation étant expérimentaux et susceptibles de changer entre les versions. La cadence le confirme plutôt qu’elle ne le contredit — les 20 et 21 septembre 2026, le projet a publié 0.164.0, 0.164.2 et 0.165.0, soit trois versions en environ 27 heures, et l’enregistrement crates.io a évolué avec elles. Le README indique qu’il est développé et maintenu pendant le temps libre de son auteur, avec GitHub Sponsors et Buy Me a Coffee comme seules sources de financement — même si le même README remercie une liste de contributeurs externes, dont l’un est crédité de 52 commits ; il s’agit donc du projet d’un mainteneur, et non du code d’une seule personne. L’échelle constitue l’autre asymétrie : 852 étoiles contre 209 102 pour OpenCode le même jour. Les étoiles mesurent l’attention, pas la qualité, mais un projet développé pendant le temps libre par un mainteneur et un projet maintenu par une entreprise présentent des risques différents en matière de dépendance à une seule personne ; c’est une question d’approvisionnement plutôt que de technique. Les deux dépôts étaient actifs ce jour-là.

Vérifié le 21 septembre 2026 : l’API GitHub pour les trois dépôts, ainsi que la liste des versions de VT Code ; les dist-tags npm pour opencode-ai, @opencode/cli et vtcode ; l’enregistrement crates.io pour vtcode ; le README, le modèle de sécurité, le guide des fournisseurs, la référence des champs de configuration, la documentation d’installation et le manifeste de l’extension VS Code de VT Code sur main ; ainsi que les pages d’OpenCode consacrées aux autorisations, aux fournisseurs, au serveur, à Zen, à Go et au téléchargement. Les tarifs des tokens Kunavo proviennent du catalogue actuel. Aucun des deux clients n’a été installé, exécuté ou dirigé vers un endpoint Kunavo pour cette page ; aucun benchmark ni aucune comparaison de performances n’ont été réalisés, et rien de tel n’est revendiqué ; chaque montant en dollars présenté ici correspond à un calcul illustratif de tokens, et non au coût mesuré d’une tâche.