Passer au contenu principal

Référence des commandes de la CLI

Pour la version publiée @evolinkai/cli 0.14.1. Utilisez evolink —help ou evolink COMMAND —help —json pour la version que vous avez installée. Les commandes métier prennent en charge —json. Remplacez MODEL_ID, QUOTE_ID, TASK_ID et UPLOAD_ID par les valeurs réellement renvoyées.

Authentification, diagnostics et compétences

Consultez Installation. Valeurs d’agent : all/codex/claude-code/cursor/gemini/opencode/copilot/openclaw/hermes ; all par défaut. L’assistant doit tout de même vérifier la détection de la compétence. La sortie de setup, doctor et auth login inclut update (status, update_available, latest_version, command) ; les autres commandes affichent un avis sur stderr au plus une fois par jour lorsqu’une version plus récente existe. Définissez EVOLINK_CLI_UPDATE_CHECK=0 pour désactiver les vérifications ; voir Comment savoir qu’une nouvelle version existe.

Modèles, entrées et documentation

La recherche dans la documentation utilise l’index officiel des références de modèles fourni avec la CLI, et non une exploration en direct du site web. La recommandation repose sur les entrées documentées, les mots-clés et les préférences éditoriales de la plateforme, et non sur un classement de popularité. Les prix unitaires ne sont pas des devis de tâche.

Devis et génération

Créez input.json à partir des paramètres réels du modèle, puis obtenez un devis gratuit :
Un devis réussi renvoie quote_id, reste valable 24 heures à compter de l’estimation (expires_at) et est lié à la connexion au compte, au backend, au modèle et aux entrées exactes. La génération relit les règles tarifaires avant la soumission : la même entrée est soumise si le prix est égal ou inférieur au prix approuvé, y compris avec des règles mises à jour entre-temps ; un prix plus élevé échoue avec price_changed, une entrée modifiée avec quote_input_changed et un devis expiré avec quote_expired. Dans ces cas, rien n’est envoyé, et un nouveau devis ainsi qu’un nouvel accord sont nécessaires. Les estimations en échec ou refusées à cause du plafond ne sont pas des devis utilisables. Une estimation à laquelle il manque un usage facturable échoue en indiquant chaque valeur manquante et l’option qui la fournit, et n’enregistre aucun devis. Présentez les spécifications, la fourchette de coût et les avertissements, attendez un accord explicite, puis choisissez la commande correspondante :
Ce sont des exemples distincts ; un devis couvre un seul type et une seule tâche. La génération n’accepte ni modèle ni entrée de remplacement. En cas de changement, refaites un devis et obtenez un nouvel accord. —confirm déclare que l’accord a été obtenu ; il ne peut pas interroger l’utilisateur à votre place. Pour renouveler un devis qui n’a pas été soumis, par exemple après son expiration ou une hausse du prix, actualisez-le :
Le devis actualisé a un nouveau quote_id, conserve l’identifiant de requête d’origine et remplace le devis précédent. Présentez-le à l’utilisateur, obtenez un nouvel accord et ne soumettez que le devis le plus récent. Soumettre ou reprendre un devis remplacé échoue avec quote_superseded, qui indique le devis actuel ou sa tâche. Un devis dont la soumission a commencé ne peut pas être actualisé (submission_already_started) ; reprenez plutôt sa tâche. Une actualisation exécutée pendant qu’une autre remplace le même devis renvoie quote_refresh_conflict. Un devis issu de --inputs-file couvre l’ensemble du lot : generate --quote QUOTE_ID --confirm soumet toutes les entrées en une fois (jusqu’à 10 à la fois) et renvoie, sans attendre, l’identifiant de tâche ou l’erreur de chaque entrée ; --wait ne vaut que pour une seule tâche. Récupérez les résultats avec tasks batch --ids. Uniquement lorsque l’utilisateur a explicitement demandé de ne pas estimer ni confirmer :
--skip-estimate soumet sans devis, y compris avec --inputs-file : le prix n’est pas vérifié, la tâche est facturée à l’usage réel et le résultat l’indique (estimate_skipped). Une entrée invalide reste refusée, et un --max-cost-usd explicite continue de s’appliquer : une requête qui le dépasse, ou dont le prix ne peut pas lui être comparé, n’est pas soumise. --skip-estimate ne peut pas être combiné avec --quote ni --confirm. La commande enregistre une trace avec son propre identifiant de requête et renvoie un quote_id pour tasks resume. —wait attend la tâche existante. Délai de 1 à 86400 secondes, 1800 par défaut. L’expiration du délai ou Ctrl-C n’annule pas la tâche côté serveur. Le délai couvre chaque lecture, chaque nouvelle tentative et chaque pause ; à la limite, wait_timeout indique le dernier état vérifié et son read_at, ou status_check: unverified lorsque le dernier état n’a pas pu être lu. Pour les vérifications à la soumission, les estimations complètes utilisent par défaut le maximum indiqué dans leur devis. Consultez Limites du budget.

Tâches, lots et reprise

Le filtrage temporel ne porte que sur la page sélectionnée. L’historique couvre le compte, et pas seulement cette conversation. Une page vide ne prouve pas l’absence de soumission ; total est calculé avant le filtrage temporel local. Un lot compte de 1 à 50 identifiants, séparés par des virgules. Avec un identifiant de tâche, utilisez get/wait. Si la réponse à la soumission a été perdue, reprenez le devis initial avec son identifiant de requête et la même connexion au compte. Pour un lot, tasks resume --quote QUOTE_ID termine les entrées qui n’ont pas été soumises ; les entrées acceptées renvoient leurs tâches initiales sans nouvelle facturation. tasks resume ne rejoue l’identifiant de requête que dans les 23 heures suivant sa première soumission (EvoLink le conserve pendant 24 heures) ; passé ce délai, la commande refuse avec recovery_window_passed. Elle suit aussi la règle des devis : avec un devis expiré (quote_expired) ou un prix plus élevé (price_changed), rien n’est envoyé. Dans chacun de ces cas, vérifiez avec tasks batch ou tasks list ce qui a abouti, et n’estimez que le reste, comme une nouvelle génération ou un nouveau lot. Si les enregistrements sont perdus ou expirés, ou si le compte a changé, examinez l’historique ou la console avant toute nouvelle soumission payante. La CLI n’a pas de commande d’annulation.

Solde et usage des tâches

La commande balance renvoie le solde du compte et les limites applicables. La commande usage accepte model, type et l’heure de création ; since vaut 30d par défaut, max-pages 1–20 avec 5 par défaut, 50 tâches par page. Examinez les coûts manquants, la couverture et la troncature. L’usage correspond au coût indiqué des tâches terminées, tiré d’un historique conservé, de portée limitée, à l’échelle du compte ; ce n’est ni une facture, ni un registre des remboursements, ni un usage limité à la CLI ou à MCP, ni un budget final.

Importations et téléchargement des originaux

La CLI accepte les fichiers ordinaires de 1 octet à 95 MiB et enregistre d’abord un identifiant d’importation. uploads get se contente de lire le reçu d’origine. Sans prise en charge compatible côté backend, la commande peut indiquer une issue inconnue sans envoyer à nouveau le fichier. Les références sont généralement conservées 72 heures. L’index de téléchargement commence à 1, vaut 1 par défaut, plage 1–50. Les répertoires parents doivent exister ; les fichiers ne sont pas écrasés. Chaque résultat fait au plus 1 GiB. Les vérifications de type et de contenu rejettent les pages d’erreur HTML qui se font passer pour des médias. Le mode par lot —all —output-dir DIR prend en charge —template NAME et —resume. La reprise utilise les enregistrements d’origine du lot et ne se fie pas à des fichiers quelconques portant le même nom. Plus de détails dans Livraison des tâches.

JSON, codes de sortie et configuration

—json écrit sur stdout une ligne JSON avec schema_version:1 et ok. La progression est envoyée sur stderr. Les erreurs utilisent ok:false/error et un code de sortie non nul ; après Ctrl-C, la commande se termine généralement avec le code 130. Une tâche en status:failed est différente de l’échec d’une commande de consultation. Vérifiez d’abord le ok de la commande, puis l’état de la tâche. Les enregistrements locaux restent dans ~/.evolink-media ; les identifiants de connexion utilisent le stockage sécurisé du système d’exploitation. Ne copiez pas ce répertoire pour migrer une connexion, et ne supprimez pas les enregistrements de devis ou de reprise pour corriger une soumission incertaine. L’option avancée —server sélectionne la ressource OAuth et la liaison d’identité, par défaut https://mcp.evolink.ai/mcp, sans modifier l’exécution REST. Conservez les valeurs de production par défaut de —api-url/—files-url ; les URL externes arbitraires sont refusées. —token-stdin fournit un jeton d’accès OAuth pour une seule commande, et non une clé API de la plateforme, et ne sert pas à setup. Ne placez pas de jetons dans les arguments de commande ni dans les journaux. Aucune commande générique run, de conversation textuelle, d’annulation, de rechargement du solde, de gestion des clés ou de fichier d’alias personnalisé n’est fournie. Utilisez la console ou l’API correspondante.

Chemin d’exécution de la CLI et API

Depuis la CLI 0.8.0, les requêtes média suivent le chemin terminal ou agent → EvoLink CLI → API REST de la plateforme. Les vérifications des entrées, les références de modèles, l’estimation et la mise en forme des résultats s’exécutent en local ; l’exécution métier n’appelle pas tools/call du MCP distant.

Commandes et opérations du backend

Le quote_id, —confirm et les fichiers de reprise de la CLI mettent en œuvre un flux de travail côté client, et non de nouveaux champs du backend. La version publiée CLI 0.14.1 estime à partir des règles tarifaires publiques (tarifs de référence, sans remises de compte). —max-cost-usd n’est pas un plafond de règlement final.

Requêtes, reprise et automatisation

Enregistrez durablement le devis et l’identifiant de requête avant de soumettre. REST utilise les identifiants existants Idempotency-Key / X-Evo-Run-Id. Après une réponse perdue, reprenez avec le devis initial ; ne changez ni d’identité, ni d’entrées, ni d’identifiants pour soumettre à nouveau. Les enregistrements du client ne prouvent pas à eux seuls une idempotence uniforme du backend sur tous les nœuds de production. Les scripts doivent examiner ok, puis l’état de la tâche, puis les résultats et les champs de coût. Stockez quote_id, task_id et les manifestes de téléchargement au lieu de vous fier à la dernière ligne du terminal. Les erreurs de consultation, les tâches échouées et les téléchargements échoués exigent des traitements différents. Ne relancez pas sans condition les soumissions payantes. Les sessions de la CLI et du MCP natif sont gérées séparément, mais l’OAuth du compte partage actuellement les permissions, les limites et l’état de pause de EvoLink MCP (OAuth). Utilisez la documentation MCP distincte pour les connexions natives.