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

Crush ou OpenCode : flux de travail, modèles et coût total

L’ancien OpenCode en Go est devenu Crush. L’OpenCode que vous pouvez installer aujourd’hui repose sur une autre base de code — et le véritable choix porte sur la licence, les valeurs par défaut des autorisations et le portefeuille que vous financez.

Dernière vérification le .

Crush et OpenCode sont tous deux des agents de programmation gratuits dans le terminal : aucun ne vous facture quoi que ce soit et tous deux vous permettent de pointer vers votre propre endpoint compatible avec OpenAI ou Anthropic. Le choix ne porte donc pas sur le prix du client. Il porte sur la licence, les permissions par défaut, le modèle d’exécution de la configuration et le portefeuille vers lequel chaque projet vous oriente. Crush est l’agent de programmation IA de Charm — et non le shell Rust du même nom — écrit en Go et distribué sous FSL-1.1-MIT. OpenCode est l’agent TypeScript disponible sur opencode.ai, maintenu par Anomaly, sous MIT.

Deux pièges de noms doivent être écartés avant de pouvoir lire la suite sans risque. « Crush CLI » est également le nom d’un projet sans rapport — liljencrantz/crush, qui se décrit comme « un shell en ligne de commande qui est aussi un puissant langage de programmation moderne », écrit en Rust et sans aucun lien avec la programmation assistée par IA. Il existe également deux dépôts appelés opencode, dont l’un est l’ancien nom de Crush. Cette question est traitée dans la section immédiatement ci-dessous, car une confusion à ce stade invalide toutes les comparaisons ultérieures.

Trois projets, dont deux appelés OpenCode

La CLI Go archivée n’est pas une troisième option dans cette comparaison. C’est l’ancêtre de Crush, et le dépôt le dit lui-même : « Ce dépôt n’est plus maintenu et a été archivé à des fins de provenance. Le projet a continué sous le nom Crush, développé par l’auteur d’origine et l’équipe Charm. »

ProjetCe qu’il est aujourd’huiLangage de programmationLicenceDernière version
charmbracelet/crushActif. L’agent de programmation IA de Charm. La continuation de l’OpenCode Go archivéGoFSL-1.1-MIT (GitHub indique NOASSERTION)v0.95.0, 16 septembre 2026
anomalyco/opencodeActif. L’OpenCode publié sur opencode.ai. Une base de code distincte créée le 30 avril 2025TypeScriptMITv1.18.31, 14 septembre 2026
opencode-ai/opencodeArchivé. Ancien nom de Crush. N’en reprenez pas la configuration, les fournisseurs ni les tarifsGoMITv0.0.55, 27 juin 2025

Métadonnées du dépôt lues dans l’API GitHub le 19 septembre 2026 ; versions des paquets confirmées sur npm, où @charmland/crush est en version 0.95.0 sous FSL-1.1-MIT et opencode-ai en version 1.18.31 sous MIT. Notez que le nom de paquet npm opencode-ai appartient au projet Anomaly actif, tandis que opencode-ai est également l’organisation GitHub de l’ancien projet archivé — une vérification de npm seule ne permet pas de les distinguer ; vérifiez donc l’organisation GitHub. Un point n’a pas pu être établi par cette page : GitHub ne renvoie aucune date d’archivage pour l’ancien dépôt, aucune date n’est donc avancée à son sujet. De même, github.com/sst/opencode redirige désormais vers anomalyco/opencode et les pieds de page d’opencode.ai affichent « © Anomaly », mais aucune annonce de changement de nom datée provenant d’une source officielle n’a été trouvée ; le transfert est donc décrit sans être daté.

Qui devrait choisir lequel

Si cela vous décritChoisirPourquoi précisément
Votre organisation exige une licence approuvée par l’OSI pour les outils de développementOpenCodeMIT sur GitHub et npm. Crush est distribué sous FSL-1.1-MIT, qui restreint une Competing Use et ne devient MIT qu’au deuxième anniversaire de chaque version
Vous voulez que l’agent s’arrête et demande confirmation avant de toucher à quoi que ce soitCrushCrush demande par défaut l’autorisation avant les appels d’outils ; les valeurs par défaut documentées d’OpenCode sont principalement allow
Vous voulez un agent au-delà du terminal — application de bureau, extension IDE, GitHub ou GitLabOpenCodeSa documentation couvre une application de bureau, une extension IDE, le Web/partage, les intégrations GitHub et GitLab, ACP, un SDK, un serveur et des plugins
Vous voulez que votre configuration soit un fichier de données que votre équipe puisse examiner d’un coup d’œilOpenCodeopencode.json sont des données. Un crushrc est du Bash, et $(...) à l’intérieur de crush.json est développé au chargement
Vous voulez une configuration capable d’exécuter des commandes shell — récupérer une clé depuis un gestionnaire de mots de passe, appliquer une logique selon le nom d’hôteCrushCe même modèle d’exécution est la fonctionnalité. Le propre exemple de Charm résout un jeton MCP avec $(op read ...)
Vous voulez un abonnement à 10 $ par mois couvrant une sélection fixe composée principalement de modèles à poids ouvertsOpenCodeOpenCode Go est ce produit. Crush peut lire le même OPENCODE_API_KEY, mais Crush ne figure pas dans la liste des clients validés de Go
Vous voulez un solde prépayé unique pour les modèles Claude, GPT et Gemini de pointeL'un ou l'autreLes deux acceptent un point de terminaison tiers sans restriction liée au forfait. Le propre fournisseur de Charm ne propose aucune de ces familles

Concernant le coût de migration : la configuration du modèle est la moitié bon marché, tandis que le format de configuration est la moitié coûteuse. Il n’existe aucun convertisseur entre un crushrc et un opencode.json, si bien qu’une configuration locale au projet doit être réécrite à la main. Ce qui subsiste est plus vaste qu’il n’y paraît — les deux clients prennent en charge les serveurs MCP, les serveurs LSP et les Agent Skills ; l’extensibilité ne les différencie donc pas, seule sa syntaxe les distingue. Les deux disposent également d’un mode non interactif : il ne s’agit donc pas d’un choix entre deux TUI. Le sous-commande run de Crush est décrite dans son code source comme « Run a single non-interactive prompt », et OpenCode documente opencode run.

Autorisations et exécution de la configuration : la seule véritable différence de sécurité

Ces deux projets adoptent par défaut des directions opposées, et c’est la différence qu’il vaut le plus la peine de connaître avant de laisser l’un ou l’autre accéder à un dépôt.

Le README de Crush indique que, par défaut, Crush demande l’autorisation avant d’exécuter des appels d’outils. Vous élargissez cela avec une simple liste d’autorisations ou de refus — permissions allow view edit, permissions deny bash sourcegraph — ou le désactivez entièrement avec --yolo, que le code source décrit comme « Automatically accept all permissions (dangerous mode) ».

OpenCode part de l’autre extrémité. Sa documentation sur les autorisations indique que la plupart des autorisations prennent par défaut la valeur "allow", tandis que doom_loop et external_directory prennent par défaut la valeur "ask". En contrepartie, les règles sont plus fines : les autorisations sont définies par outil parmi read, edit, glob, grep, bash, task, skill, lsp, question, webfetch, websearch, external_directory et doom_loop ; elles acceptent des motifs glob par outil, de sorte que bash peut autoriser git * et refuser rm * ; les règles sont évaluées par correspondance de motif, la dernière règle correspondante l’emportant, et un agent peut remplacer l’ensemble global. OpenCode dispose également d’une option --auto qui approuve tout ce qui n’est pas explicitement refusé : les deux clients peuvent donc être rendus permissifs, mais ils ne démarrent tout simplement pas ainsi.

L’autre moitié est le format de configuration. Le README de Crush est catégorique à ce sujet : « crushrc et crush.json sont tous deux du code de confiance ; crushrc s’exécute dans un shell complet, et tout $(...) dans crush.json s’exécute au chargement. Ne lancez pas Crush dans un répertoire dont vous n’avez pas vérifié la configuration ». Crush lit ./.crushrc, puis ./crushrc, puis ~/.config/crush/crushrc : un dépôt que vous avez cloné peut donc en fournir un. Il s’agit d’une capacité réelle — c’est ainsi qu’une clé peut être extraite d’un gestionnaire de mots de passe — et d’un risque réel. Le opencode.json d’OpenCode contient des données. Ces deux faits ont été vérifiés le 18 septembre 2026 ; l’ancien format JSON de Crush est documenté comme obsolète et ne reçoit plus de nouvelles fonctionnalités. Il faut donc construire sur crushrc, et non sur JSON.

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

Chaque projet possède un fournisseur officiel de première partie, et leurs offres diffèrent. Charm Hyper ne vend aucun modèle Claude, GPT ou Gemini ; OpenCode vend à la fois un catalogue de modèles de pointe à la carte et un abonnement mensuel de 10 $ couvrant une sélection distincte composée principalement de modèles à poids ouverts.

PortefeuillePrix publiéCatalogueCe que cela signifie pour ce choix
Charm Hyper gratuit« Tout le monde reçoit 100 Hypercredits par mois », avec « 1 Hypercredit vaut actuellement 5 ¢ »23 modèles, principalement des familles à poids ouvertsL’intégration Crush par défaut. Aucun modèle Claude, GPT ou Gemini
Abonnement Charm Hyper« 20 $ /mois » pour « 250 Hypercredits, renouvelés quotidiennement »Les mêmes 23 modèlesLa cadence quotidienne apparaît uniquement sur la page des tarifs et n’est pas répétée dans la documentation ; n’effectuez donc aucun calcul à partir de celle-ci
Charm Hyper prépayé5 $ = 100, 10 $ = 200, 20 $ = 400 Hypercredits ; « Les Hypercredits prépayés n’expirent jamais »Les mêmes 23 modèlesLe report et l’expiration des crédits de forfait ne sont documentés dans aucun sens — vérifiez dans votre compte avant de vous y fier
OpenCode ZenPaiement à l’usage par million de jetons sur crédit prépayé ; frais de carte répercutés à hauteur de « 4,4 % + 0,30 $ par transaction »Claude, GPT, Gemini et Grok de pointe, ainsi que des modèles à poids ouvertsSa documentation indique qu’il vend au prix coûtant, avec une majoration servant uniquement à couvrir les frais de traitement
OpenCode Go« un abonnement à faible coût de 10 $/mois »Principalement des modèles à poids ouverts, mais son propre tableau répertorie également Grok 4.6 et GPT 5.6 LunaLes plafonds sont libellés en dollars : le plafond sur 5 heures est fixé à 20 % de la limite mensuelle, le plafond hebdomadaire à 50 % et le plafond mensuel à 100 %. Un abonné par espace de travail

Les prix de Hyper et la liste des modèles ont été lus sur son point de terminaison public des modèles le 18 septembre 2026 — 23 modèles, dont aucun modèle Claude, GPT ou Gemini. La plupart portent des noms de familles à poids ouverts — DeepSeek, Kimi, GLM, MiniMax, Qwen, gpt-oss-120b et Gemma — et l’un d’eux, inkling, est associé à la marque Charm sans modèle de base documenté. Ainsi, « aucune famille propriétaire de pointe » est l’affirmation formulée par cette page, plutôt que « entièrement à poids ouverts ». Les prix des forfaits proviennent de hyper.charm.land, vérifié le même jour. Il faut signaler un conflit si la confidentialité fait partie de votre décision : le README de Crush et la page des tarifs de Hyper décrivent tous deux une conservation nulle des données, tandis que la propre documentation de Hyper indique « une politique stricte de conservation maximale de 30 jours » et que sa FAQ présente la politique de conservation nulle comme une politique appliquée avec ses fournisseurs cloud. Lisez la phrase de la documentation plutôt que celle du marketing, et confirmez les conditions de votre compte.

Il existe ici un fait qui va à l’encontre du récit habituel sur la dépendance : Crush fournit OpenCode Zen et OpenCode Go comme fournisseurs intégrés, identifiés par OPENCODE_API_KEY, de sorte qu’un portefeuille OpenCode vous suit dans Crush. Mais la propre documentation de Go demande aux clients de s’identifier avec leur propre agent utilisateur et d’envoyer un identifiant de session stable dans un en-tête x-opencode-session ; son tableau des clients validés répertorie Hermes, Claude Code, Codex, ZCode, Pi, jcode et Kilo Code CLI. Crush ne figure ni dans cette liste ni dans la liste problématique. L’absence d’une liste ne constitue pas une preuve de dysfonctionnement, et cette page ne dispose d’aucun élément permettant de trancher ; elle ne conclut donc rien. Testez par vous-même avant de vous y fier. L’option permettant d’utiliser votre propre clé dans Zen est également plus limitée qu’il n’y paraît : sa documentation décrit l’utilisation de vos propres clés OpenAI ou Anthropic dans Zen, et non un emplacement pour une passerelle arbitraire.

Utiliser votre propre point de terminaison dans les deux clients

C’est la partie où les deux projets sont réellement ouverts, et où un utilisateur de Crush obtient quelque chose que Hyper ne peut absolument pas lui vendre. Aucun des deux clients ne réserve les fournisseurs personnalisés aux abonnés d’un forfait.

Le détail le plus utile pour un utilisateur de Crush : l’URL de base de Crush inclut /v1, pour les types compatibles OpenAI comme pour les types compatibles Anthropic. Les propres exemples de fournisseurs personnalisés de son README écrivent https://api.deepseek.com/v1 et https://api.anthropic.com/v1. C’est l’inverse de la convention de Claude Code, dont ANTHROPIC_BASE_URL accepte une origine nue, car le client ajoute lui-même le chemin — consultez la référence de l’URL de base pour comprendre pourquoi la même passerelle s’écrit de deux façons. Pour une clé Kunavo, la valeur Crush est https://api.kunavo.com/v1.

~/.config/crush/crushrc
# crushrc is Bash. Treat it as executable code, not as settings.
provider add kunavo --type openai-compat \
  --base-url "https://api.kunavo.com/v1" \
  --api-key "$KUNAVO_API_KEY"

model add kunavo/claude-sonnet-5 \
  --name "Claude Sonnet 5" \
  --context-window 1000000 \
  --default-max-tokens 32000 \
  --price-input 1.4 \
  --price-output 7

Trois remarques sur ce bloc. Utilisez openai-compat, et non openai : le README réserve openai au relais ou au routage via OpenAI lui-même. Les options --price-* alimentent uniquement l’estimation du coût affichée à l’écran par Crush — elles ne modifient pas ce qui vous est facturé ; une faute de frappe produit donc un affichage erroné, et non un montant facturé erroné. Et puisque crushrc est du Bash, --api-key "$(op read ...)" est une manière documentée de garder entièrement la clé hors du fichier. L’équivalent OpenCode est un fichier de données, avec la clé référencée par {env:VAR} :

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 }
        }
      }
    }
  }
}

Le champ npm choisit le format filaire : @ai-sdk/openai-compatible pour un point de terminaison qui fournit /v1/chat/completions, @ai-sdk/openai pour /v1/responses. OpenCode peut également remplacer le baseURL d’un fournisseur intégré sans en déclarer un personnalisé ; il existe donc deux voies au lieu d’une, et les clés ajoutées via /connect sont enregistrées dans ~/.local/share/opencode/auth.json (documentation des fournisseurs, vérifiée le 18 septembre 2026). Kunavo publie une page de configuration pour chacun : OpenCode et Crush. Aucun des deux clients n’a été testé en conditions réelles avec Kunavo ; considérez donc les deux blocs comme des références de configuration et vérifiez-les avec une tâche limitée.

Ce qu’une session coûte réellement

Les chiffres ci-dessous correspondent à un calcul illustratif de jetons, et non à des coûts de tâche mesurés ni à un plafond de facturation. Supposons une session d’agent qui envoie 200 000 jetons d’entrée non mis en cache et reçoit 15 000 jetons de sortie — une hypothèse de comparaison, et non une mesure de votre dépôt. Les tarifs sont les prix actuels du catalogue Kunavo par million de jetons, présentés à côté des tarifs publiés par OpenCode Zen le 18 septembre 2026 pour les noms de modèles qu’il propose également. Le catalogue de Zen n’est pas un miroir de celui de Kunavo ; une ligne ci-dessous n’a donc pas d’équivalent chez lui.

ModèleKunavo entrée / sortie par millionOpenCode Zen, entrée / sortie par millionEstimation Kunavo pour cette session
Claude Haiku 4.5$0.70 / $3.50$1.00 / $5.00$0.192
GPT-5.6 Terra$0.70 / $4.20Aucune ligne Zen sous ce nom$0.203
Claude Sonnet 5$1.40 / $7.00$2.00 / $10.00$0.385
Claude Opus 5$3.50 / $17.50$5.00 / $25.00$0.963

Lisez honnêtement les deux colonnes centrales. Pour Claude Sonnet 5, les deux catalogues sont identiques à $1.40 et $7.00 : aucune économie ne peut donc être revendiquée ; les écarts se trouvent sur les autres lignes. La ligne Claude Haiku 4.5 de Zen est à 1,00 $ et 5,00 $, contre $0.70 et $3.50 chez Kunavo ; sa ligne Claude Opus 5 est à 5,00 $ et 25,00 $, contre $3.50 et $17.50 chez Kunavo. Trois réserves avant de vous appuyer sur ces chiffres. Zen ne répertorie aucun modèle nommé GPT-5.6 Terra : le 18 septembre 2026, ses lignes GPT étaient GPT 6 Astra et GPT 5.6 Sol, dont aucun n’est le même modèle ; cette ligne est donc volontairement vide plutôt que remplie avec un modèle voisin. Il s’agit de tarifs de catalogue publiés à une date donnée, et non d’un benchmark ni d’une promesse qu’une voie quelconque soit la moins chère pour terminer votre tâche : un modèle qui nécessite une seconde tentative annule rapidement un avantage tarifaire. Quatre lignes ne constituent pas non plus l’intégralité de l’offre de chaque côté.

Voici le point que cette page cherche à établir. Un coût affiché et un coût facturé sont deux nombres différents dans les deux clients. La liste de modèles par défaut de Crush et ses estimations de coût proviennent de Catwalk, un catalogue externe mis à jour automatiquement ; pour un fournisseur personnalisé enregistré manuellement, les chiffres correspondent simplement à ce que vous avez saisi dans model add. Les propres produits d’OpenCode illustrent le même point sans aucune intervention d’un tiers : DeepSeek V4 Flash est à 0,14 $ en entrée / 0,28 $ en sortie sur Zen, 0,15 $ / 0,60 $ sur Go en heures creuses et 0,30 $ / 1,20 $ sur Go en heures de pointe (documentation du fournisseur, 18 septembre 2026). L’enregistrement Catwalk de ce modèle correspond au tarif des heures creuses ; l’affichage du coût de Crush le sous-estimerait donc silencieusement pendant les heures de pointe. Faites la réconciliation avec le relevé réellement enregistré par le compte de votre fournisseur, jamais avec le nombre affiché dans le terminal.

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.

Configurer l’un des deux

Si vous choisissez OpenCode, commencez par le guide d’intégration OpenCode et créez un compte Kunavo pour approvisionner une clé. Si vous choisissez Crush, le bloc crushrc ci-dessus constitue toute la configuration ; gardez une voie opérationnelle disponible, exécutez une tâche limitée et consultez le montant enregistré par votre compte avant d’en faire votre outil quotidien. Vous comparez d’autres options ? OpenCode vs Claude Code et Alternatives à OpenCode élargissent le champ, tandis que la référence de l’API compatible OpenAI couvre la convention de point de terminaison sur laquelle reposent les deux clients.

Questions fréquentes

Crush est-il le même projet qu’OpenCode ?

Pas le projet actuel, mais la confusion est compréhensible. Deux projets s’appelaient opencode. La CLI Go de github.com/opencode-ai/opencode est archivée, et son propre README indique que le projet a continué sous le nom Crush, développé par l’auteur d’origine et l’équipe Charm. Cet OpenCode est donc l’ancien nom de Crush, pas un concurrent. L’OpenCode que vous pouvez installer aujourd’hui est une base de code TypeScript différente, à l’adresse github.com/anomalyco/opencode — créée le 30 avril 2025, sous licence MIT et publiée sur opencode.ai. Comparer Crush et OpenCode revient à comparer l’agent Go de Charm avec l’agent TypeScript d’Anomaly ; il ne s’agit pas de comparer deux forks d’une même base de code.

Crush est-il open source ?

Il n’est pas distribué sous une licence approuvée par l’OSI, ce qui compte si votre entreprise applique une politique de licences. Le LICENSE.md de Crush est la Functional Source License, Version 1.1, MIT Future License — abrégée FSL-1.1-MIT, copyright 2025-2026 Charmbracelet, Inc. L’API de licences de GitHub le signale comme NOASSERTION plutôt que comme un identifiant SPDX reconnu. La licence autorise l’utilisation interne, l’enseignement et la recherche non commerciaux, ainsi que les services professionnels fournis à un titulaire de licence, mais exclut ce qu’elle appelle une Competing Use ; elle accorde également une licence MIT irrévocable prenant effet au deuxième anniversaire de la publication de chaque version. OpenCode, en revanche, est purement MIT sur GitHub comme sur npm.

Lequel est le moins cher, Crush ou OpenCode ?

Aucun, car aucun des deux clients ne facture quoi que ce soit. Crush est un téléchargement gratuit et OpenCode est un téléchargement gratuit ; vous payez les tokens du modèle auprès du fournisseur que vous configurez. La différence de coût est créée par le portefeuille vers lequel chacun vous oriente, et tous deux acceptent un endpoint OpenAI-compatible tiers sans restriction liée à l’abonnement. Notez également que le tarif affiché le plus bas et le coût minimal pour terminer une tâche sont deux choses différentes : un modèle qui nécessite trois tentatives peut coûter plus cher qu’un modèle plus coûteux qui n’en nécessite qu’une.

Puis-je utiliser ma propre clé API ou une passerelle avec Crush ?

Oui, et il s’agit d’une voie documentée de premier ordre, sans restriction liée à l’abonnement. Le README de Crush documente les fournisseurs personnalisés de type openai, openai-compat, anthropic et plusieurs types locaux. Pour une passerelle OpenAI-compatible tierce, le type correct est openai-compat ; le README de Crush précise que openai sert au proxy ou au routage via OpenAI lui-même, tandis que openai-compat sert aux fournisseurs non OpenAI proposant des API compatibles avec OpenAI. Enregistrez le fournisseur avec provider add, puis chaque modèle avec model add, en incluant les tarifs par million utilisés par Crush pour son estimation de coût à l’écran. La découverte automatique s’exécute lorsque la liste de modèles d’un fournisseur openai-compat est vide ou lorsque vous transmettez --discover-models true.

Charm Hyper me fournit-il des modèles Claude, GPT ou Gemini ?

Non. L’endpoint public de modèles de Hyper, à l’adresse hyper.charm.land/v1/models, a renvoyé 23 modèles le 18 septembre 2026, sans Claude, sans série GPT-5 ou GPT-6 et sans Gemini. La plupart des identifiants appartiennent à des familles de poids ouverts — DeepSeek, Kimi, GLM, MiniMax, Qwen, gpt-oss-120b et des variantes de Gemma — et l’un d’eux, inkling, est un identifiant de marque Charm dont la documentation de Hyper ne décrit pas les poids sous-jacents ; cette page ne caractérise donc pas tout le catalogue comme utilisant des poids ouverts. Hyper est le fournisseur officiel de Crush — le README de Crush présente le choix d’un modèle Hyper dans le sélecteur comme le moyen le plus rapide de commencer et répertorie HYPER_API_KEY dans son tableau de variables d’environnement — mais un utilisateur de Crush qui souhaite un modèle Claude, GPT ou Gemini de pointe doit configurer un autre fournisseur. Rien dans Crush ne l’en empêche.

Quelle est la différence entre OpenCode Zen et OpenCode Go ?

Il s’agit de deux produits payants distincts du même fournisseur, sur deux endpoints différents, et un même modèle peut coûter des montants différents dans chacun. Zen correspond à un crédit prépayé à la consommation couvrant un catalogue de modèles de pointe, facturé par million de tokens ; sa documentation indique que les modèles sont vendus au prix coûtant, avec une majoration limitée aux frais de traitement, les frais de carte étant répercutés à hauteur de 4,4 % plus 0,30 $ par transaction. Go est un abonnement de 10 $ par mois sur une liste distincte, composée principalement de modèles à poids ouverts — son propre tableau répertorie également Grok 4.6 et GPT 5.6 Luna — avec des plafonds d’utilisation en dollars — un plafond de 5 heures à 20 % de la limite mensuelle, un plafond hebdomadaire à 50 % et la limite mensuelle à 100 % — et un seul membre par espace de travail peut s’abonner. DeepSeek V4 Flash illustre l’écart : 0,14 $ en entrée et 0,28 $ en sortie sur Zen, contre 0,15 $ en entrée et 0,60 $ en sortie en heures creuses, puis 0,30 $ en entrée et 1,20 $ en sortie aux heures de pointe sur Go, d’après la documentation du fournisseur consultée le 18 septembre 2026.

Est-il difficile de déplacer un projet de l’un à l’autre ?

La partie coûteuse n’est pas la configuration du modèle, mais les permissions et le format de configuration. Crush lit un crushrc, qui est du Bash avec les fonctions intégrées de Crush, dans l’ordre ./.crushrc, ./crushrc, puis ~/.config/crush/crushrc ; l’ancien crush.json reste pris en charge, mais est documenté comme obsolète et gelé pour les nouvelles fonctionnalités. OpenCode lit un fichier de données opencode.json. Il n’existe aucun convertisseur entre les deux ; une configuration propre au projet doit donc être réécrite manuellement. Les deux clients prennent en charge les serveurs MCP, les serveurs LSP et les Agent Skills ; ces capacités survivent donc au changement, même si leurs déclarations ne sont pas conservées.

Les métadonnées du dépôt, les versions des publications et les versions npm ont été vérifiées par rapport à l’API GitHub et au registre npm le 19 septembre 2026 ; les licences, README, fichiers sources de Crush, ainsi que la documentation de Charm Hyper, OpenCode Zen, OpenCode Go, des autorisations et des fournisseurs ont été vérifiés les 18 et 19 septembre 2026. Les tarifs des jetons Kunavo proviennent du catalogue en temps réel. Aucun test de compatibilité, de performances ou de benchmark de l’un ou l’autre client n’a été effectué pour cette page, et aucune affirmation de ce type n’est formulée ; chaque exemple en dollars correspond à un calcul illustratif de jetons, et non à un coût de tâche mesuré.