Coûts et accord dans la CLI
Cette page décrit la version publiée CLI 0.14.1. La CLI appelle directement les API de la plateforme et gère localement les commandes et les estimations enregistrées ; la connexion au compte passe par Passport. Commencez par le flux de travail complet.- Exécutez
evolink estimateavec le modèle final et les entrées finales, puis présentez le coût estimé. - Une fois ce modèle, ces paramètres et ce coût approuvés, générez à l’aide du
quote_idenregistré et de--confirm. - Refaites l’estimation et obtenez un nouvel accord si l’entrée ou la connexion au compte change, si le prix augmente ou si le devis expire. Ne réutilisez pas un autre devis. Si l’utilisateur demande explicitement de ne pas estimer ni confirmer, utilisez
generate --skip-estimateà la place des étapes 1 et 2. - Interrogez la tâche initiale et l’usage du compte. Une estimation ne prouve ni une facturation réelle ni un remboursement.
price_changed), une entrée modifiée (quote_input_changed) ou un devis expiré (quote_expired) n’envoient rien et exigent une nouvelle estimation et un nouvel accord. Les devis ne sont pas des reçus de paiement. --confirm exprime l’accord pour cette tâche ; il ne remplace ni la connexion au compte ni la permission d’exécution de l’hôte. Les consultations de modèles, de solde et de tâches ne soumettent aucune génération. La génération est facturée ; les limites de taille et de conservation du service de fichiers s’appliquent séparément. Le taux de conversion de référence est d’environ 68 crédits pour 1 $ ; fiez-vous aux valeurs réellement renvoyées et aux relevés du compte.
Consultez les règles d’accès communes ; cette page conserve les actions de connexion et de déconnexion propres à cette voie.
Connexion, permissions et quotas
Passport gère la connexion dans le navigateur, et le stockage sécurisé du système enregistre les identifiants de connexion de la CLI. Les requêtes métier utilisent la clé existante liée à OAuth. La CLI et le MCP distant peuvent partager l’accès au compte ainsi que les quotas et les permissions de la clé. Mettre en pause ou modifier une clé partagée affecte tout ce qui l’utilise ; chaque session OAuth se déconnecte séparément.Conservation et expiration
Les durées de validité par défaut des devis, des références, des autorisations d’importation et des URL d’origine sont tenues à jour dans Tâches, références et résultats. Les valeurs réellement renvoyées font foi ; la prise en charge des reçus dépend du déploiement du service de fichiers.Dépannage de la CLI : repérer l’étape en échec
Vérifiez la version et l’accès sur la machine, sous l’utilisateur du système et dans le terminal qui exécutent la CLI. Ces consultations ne soumettent aucune génération :
Résolvez l’étape en cours avant de continuer. La vérification de la connexion n’exige aucune génération payante ; ne lancez pas de générations répétées pour tester l’installation.
Environnement et installation : commandes introuvables, permissions, délais dépassés
Étape 1 : vérifiez l’environnement d’exécution réel. Exécutez dans le terminal utilisé par votre agent :command not found ou de commande non reconnue sous Windows, installez Node.js et rouvrez le terminal. Une installation sur votre ordinateur local n’installe pas la CLI dans SSH, WSL ou un conteneur.
Étape 2 : vérifiez l’emplacement d’installation de npm.
Choisissez les commandes d’inspection des chemins adaptées à votre système :
- macOS / Linux
- Windows PowerShell
evolink --version. Ne passez à la connexion que lorsque la commande fonctionne. Consultez l’installation complète.
Connexion et rappels : navigateur absent ou connexion inachevée
- Laissez
evolink auth loginousetups’exécuter. Si aucun navigateur ne s’ouvre, ouvrez manuellement le lien de cette tentative, vérifiez le compte et autorisez l’accès. - Revenez au terminal d’origine et attendez la fin de la commande. Après l’autorisation, le navigateur arrive sur la page EvoLink MCP avec un avis « autorisation reçue » ; cela signifie seulement que le rappel est arrivé, et non que l’accès au compte est vérifié. N’interrompez pas la commande prématurément.
- Vérifiez séparément l’authentification enregistrée et l’accès réel au compte :
authenticated: true et des données de solde réelles. Après une expiration du délai, lancez une nouvelle tentative avec un nouveau lien plutôt que de réutiliser un code d’autorisation. Pour une attente plus longue :
--no-browser nécessite tout de même un rappel du navigateur. Ce n’est ni une authentification par code d’appareil ni une authentification sans navigateur. Ne saisissez pas une clé API en guise de jeton OAuth distant.
Compétences et permissions : les fichiers installés ne sont pas utilisés par l’agent
- Vérifiez le répertoire de l’utilisateur qui exécute l’agent. Utilisez la valeur
--agentcorrespondante ; pour Codex :
current: truesignifie que les fichiers installés correspondent à la CLI. Si des fichiers sont manquants ou obsolètes, utilisezevolink skills install --agent codex. En cas demodified, conservez les modifications locales ; en cas deconflict, résolvez le conflit de compétence ou les métadonnées invalides au lieu de supprimer tout le répertoire des compétences.- Demandez à l’agent de confirmer qu’il détecte et lit
evolink-cli. Actualisez ou ouvrez une nouvelle conversation si nécessaire. Examinez dans l’hôte les permissions de commande requises ; les restrictions de l’organisation doivent être traitées dans ses propres paramètres.
assistant_discovery: not_checked signifie que le chargement par l’hôte n’a pas encore été vérifié. La présence d’un fichier SKILL.md ou la lecture d’une page de documentation ne prouve pas que l’agent peut exécuter la CLI.
Synchronisez les compétences après avoir mis à jour la CLI. N’utilisez --replace-modified qu’après avoir décidé de remplacer les modifications locales ; les sauvegardes se trouvent dans ~/.evolink-media/skill-backups/. Les répertoires et le contenu sont répertoriés dans Ressources lisibles par les agents.
Modèles et tarification : recherche vide, paramètres invalides, estimation incomplète
- Recherchez les modèles en temps réel et utilisez l’identifiant canonique renvoyé. Une famille, un nom d’affichage ou un alias n’est pas forcément un identifiant de soumission valide. Élargissez la formulation de la recherche sans abandonner les capacités de référence requises.
- Examinez
models show/models schemapour ce modèle. Vérifiez les champs obligatoires, l’orthographe, les énumérations, les limites numériques et les références mutuellement exclusives. Ne copiez pas les champsduration,sizeouqualityd’un autre modèle. - Refaites l’estimation et examinez
input_valid,problems,estimate.status,basisetwarnings. Une entrée ou une identité modifiée, un prix plus élevé ou un devis expiré exigent une nouvelle estimation et un nouvel accord.
needs_input, fournissez l’entrée ou l’usage facturable que désignent missing_usage et usage_help, avec --media-seconds ou --pricing-parameters ; no_price est inutilisable et partial n’est pas un total. Une durée inconnue ou des multiplicateurs de référence inconnus ne peuvent pas être comblés par un prix de départ. Conservez le budget ; ne supprimez pas discrètement les plafonds, ne changez pas de clé et ne réduisez pas les spécifications pour contourner un refus.
Si aucun modèle n’a de prix dans la recherche, models show ou models recommend, et que pricing_warning indique Public pricing rules are unavailable or invalid, la CLI est en version 0.10.1 ou antérieure : ces versions écartent tous les prix lorsque le catalogue contient une règle par paliers sans multiplier, et une telle règle est publiée depuis le 12 octobre. Effectuez la mise à niveau vers la version 0.10.2 ou ultérieure avec npm install -g @evolinkai/cli@latest, puis exécutez evolink skills install. À partir de la version 0.10.2, un modèle dont les règles ne peuvent pas être lues est écarté et nommé dans pricing_warning ; les autres modèles conservent leurs prix.
Les estimations publiées, fondées sur les prix publics par défaut, ne sont pas des devis faisant autorité pour un compte donné, et max_cost_usd n’est pas un plafond de règlement final. Consultez Coûts et la référence des commandes.
Délai de génération dépassé, tâches en cours ou soumissions à l’issue inconnue
1
Interroger la tâche initiale lorsqu’un identifiant existe
status_check: unverified (task_response_invalid, task_identity_mismatch ou task_status_unknown), le dernier état n’a pas pu être vérifié : interrogez à nouveau la même tâche au lieu de générer. Un résultat de generate avec submission_state: accepted possède déjà un identifiant de tâche, même si son état est absent.2
Reprendre le devis initial si aucun identifiant de tâche n’a été renvoyé
3
Conserver les preuves avant de traiter un échec
Notez l’identifiant de la tâche initiale, le code d’erreur et l’heure. Une tâche dont l’échec est confirmé n’est pas facturée, et les crédits réservés à la soumission sont restitués automatiquement. Il n’existe aucune commande publique d’annulation utilisable. Fermer le terminal ou arrêter une attente n’annule pas la tâche côté serveur.
Importations en échec, trop volumineuses ou à l’issue inconnue
- Vérifiez le chemin absolu, les permissions et le format réel sur la machine qui exécute l’agent. Un hôte distant ou un conteneur ne peut pas lire directement un chemin de votre ordinateur local.
- Les importations locales de la CLI sont limitées à 95 MiB ; les modèles peuvent imposer des limites plus strictes de format, de nombre ou de taille. Vérifiez d’abord la documentation du modèle. Les pièces jointes d’une conversation doivent devenir des fichiers lisibles ou des URL accessibles.
- Après une issue inconnue, conservez l’
upload_idd’origine et interrogez-le :
- La consultation des reçus dépend du déploiement du service de fichiers.
outcome_unknownne prouve pas que rien n’a été importé. Ne demandez une importation de remplacement qu’après un échec confirmé ou une expiration. Les références sont généralement conservées 72 heures ; réimportez les entrées expirées, mettez à jour la requête, puis refaites l’estimation et obtenez un nouvel accord avant la génération.