Skip to Content
aicentos

Crush

Utiliser aicentos dans Crush —— ajout d'un provider personnalisé via crush.json

Dernière mise à jour:

Crush est un agent de codage pour terminal édité par Charmbracelet, écrit en Go, qui permet de déclarer dans crush.json n'importe quel provider personnalisé compatible OpenAI. Pointez le base_url vers aicentos et les modèles intégrés par aicentos deviennent utilisables dans la TUI.

Prérequis

Créez d'abord dans la console, page « Clés API », une clé dédiée pour Crush (nommez-la par exemple crush, pour suivre plus facilement sa consommation) :

Vérifiez que Crush est installé :

crush --version

Configuration à renseigner

ChampValeur
Fichier de configuration~/.config/crush/crush.json
typeopenai-compat
base_urlhttps://aicentos.com/v1
api_key$AICENTOS_API_KEY
Modèlenom du modèle dans la « place de marché des modèles » de la console

Étapes de configuration

1. Définir la variable d'environnement de la clé API

export AICENTOS_API_KEY="sk-votre-clé-API"

Pour un effet permanent, écrivez-la dans ~/.zshrc ou ~/.bashrc, puis faites un source.

2. Éditer crush.json

Le fichier de configuration global se trouve dans ~/.config/crush/crush.json (sous Windows : %USERPROFILE%\AppData\Local\crush\crush.json) ; un .crush.json ou crush.json à la racine du projet remplace la configuration globale.

Écrivez :

{
  "$schema": "https://charm.land/crush.json",
  "providers": {
    "aicentos": {
      "type": "openai-compat",
      "base_url": "https://aicentos.com/v1",
      "api_key": "$AICENTOS_API_KEY",
      "models": [
        {
          "id": "gpt-4o",
          "name": "GPT-4o",
          "context_window": 128000,
          "default_max_tokens": 8192,
          "can_reason": true
        }
      ]
    }
  }
}

models[].id doit correspondre exactement à l'identifiant de modèle côté point d'accès ; référez-vous à la « place de marché des modèles » de la console, voir Modèles pris en charge.

3. Choisir le modèle

Après avoir lancé crush, appuyez sur Ctrl+L dans la TUI (ou tapez /model) et vérifiez que aicentos et ses modèles apparaissent.

Test

Faites une vérification rapide en mode non interactif :

crush run "Réponds en une phrase : combien font 1+1 ?"

Ajoutez --debug pour voir les journaux des requêtes. En cas de 404, vérifiez que base_url contient bien /v1.

Remarques

  • Ne mettez pas openai dans type. openai est réservé aux proxys qui passent réellement par OpenAI (ou Azure OpenAI) ; pour pointer vers un point d'accès compatible tiers, il faut openai-compat, sinon des erreurs de reconnaissance de modèle ou d'API peuvent survenir.
  • base_url s'arrête à /v1, sans barre oblique finale.
  • api_key accepte l'expansion $VAR et $(command) ; gardez de préférence la clé dans une variable d'environnement ou un fichier de secrets, ne l'écrivez jamais en clair en dur.
  • Pour un point d'accès au protocole Anthropic (type à anthropic), base_url doit s'arrêter à /api : Crush ajoute lui-même /v1/messages, et il faut en plus déclarer anthropic-version dans extra_headers.
  • Problème connu : avec un provider personnalisé, le comptage de tokens et les coûts peuvent afficher 0 dans la TUI, sans incidence sur les requêtes ni la facturation.
  • Pour activer la sortie de raisonnement, utilisez "can_reason": true avec "reasoning_effort" sur les modèles de style OpenAI, et "think": true sur les modèles de style Anthropic.

Liens utiles