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) :
- Console : https://aicentos.com
- Créer une clé : https://aicentos.com/keys
- Recharger en cas de solde insuffisant : https://aicentos.com/wallet
Vérifiez que Crush est installé :
crush --versionConfiguration à renseigner
| Champ | Valeur |
|---|---|
| Fichier de configuration | ~/.config/crush/crush.json |
| type | openai-compat |
| base_url | https://aicentos.com/v1 |
| api_key | $AICENTOS_API_KEY |
| Modèle | nom 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
openaidanstype.openaiest réservé aux proxys qui passent réellement par OpenAI (ou Azure OpenAI) ; pour pointer vers un point d'accès compatible tiers, il fautopenai-compat, sinon des erreurs de reconnaissance de modèle ou d'API peuvent survenir. base_urls'arrête à/v1, sans barre oblique finale.api_keyaccepte l'expansion$VARet$(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_urldoit s'arrêter à/api: Crush ajoute lui-même/v1/messages, et il faut en plus déclareranthropic-versiondansextra_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": trueavec"reasoning_effort"sur les modèles de style OpenAI, et"think": truesur les modèles de style Anthropic.
Liens utiles
- Documentation des providers personnalisés : https://github.com/charmbracelet/crush