Aller au contenu

Référence CLI

À quoi ça sert. Le binaire eyas sert à démarrer, arrêter et diagnostiquer une installation native ou en conteneur, et à basculer des modules. Ce n’est pas un second produit — le même processus, le même EYAS_HOME. Une fois bin/ dans le PATH (installateur natif) ou dans l’image (docker compose exec), ces commandes s’appliquent.

  • Démarrer au premier plan (serve) pour suivre les logs, ou en arrière-plan (start + pidfile).
  • Lancer doctor avant un rapport de bug : une CLI manquante, quel binaire Claude Code tourne et s’il est connecté, si chaque CLI d’IA installée est une version que la vérification d’isolation d’EYAS a déjà prouvée, si son home EYAS est intact, si le sandbox de fichiers du noyau des CLI est disponible, où se trouve le coffre, quel embedder de mémoire le rappel utilise, racines d’import ignorées, port occupé, dist docs/web.
  • Basculer un module sans éditer le YAML à la main.
  • Chercher une version plus récente sur GitHub (famille eyas update, le même service que Paramètres → Mises à jour).
  1. Installez en natif ou avec Docker.
  2. eyas doctor — corrigez ce qu’il signale.
  3. eyas serve (premier plan) ou eyas start (arrière-plan). Confirmez avec eyas status.
  4. Après une modification du YAML, eyas config validate, puis eyas restart : default.yaml et local.yaml ne sont lus qu’une fois, au démarrage.
  5. eyas stop / eyas restart selon les besoins.
CommandeDescription
eyas serveServeur HTTP au premier plan
eyas startEn arrière-plan (pidfile + log)
eyas stopArrêter le processus d’arrière-plan
eyas restartRedémarrer
eyas statusSanté + PID
eyas doctorDiagnostic
eyas versionVersion
eyas config validateValider le YAML
eyas config reloadNe recharge pas default.yaml / local.yaml — redémarrez plutôt
eyas module listLister les modules
eyas module enable/disable <id>Basculer un module
eyas update checkChercher une version plus récente sur GitHub (eyssen/eyas) ; pour l’appliquer, la sauvegarde doit être prête
eyas migrate …Migration unique v1→v2 des prompts/workspaces (run / rollback / drop-cols) — pas une opération quotidienne

Ce que vérifie doctor

Chaque ligne est ok (✓), un avertissement (⚠) ou un échec (✗). Doctor se termine par le nombre de problèmes ou d’avertissements, et sort avec le statut 1 si une ligne a échoué ; des avertissements seuls ne changent pas le statut de sortie. Il ne fait que lire : il ne répare, ne copie et ne crée rien, et ne lance les CLI installées que pour lire leur version (--version) et, pour Claude Code, savoir s’il est connecté (claude auth status).

Une sélection de ses lignes :

LigneSignification
Claude Code runtimeQuel binaire Claude Code EYAS lance : la source (EYAS_CLAUDE_CODE_BIN / claude on PATH / SDK-bundled), son chemin et sa version, si sa version diffère de celle pour laquelle le client SDK d’EYAS a été construit (version skew), et signed in oui/non. Un EYAS_CLAUDE_CODE_BIN invalide est un échec. Le dernier recours embarqué dans le SDK, le décalage de version et un runtime non connecté sont des avertissements. Un claude sur le PATH masqué par la surcharge est affiché pour information (not used by EYAS). Voir Fournisseurs — Runtime Claude Code.
CLI isolation (Claude Code), CLI isolation (Grok CLI), CLI isolation (Kimi Code CLI)Une ligne par fournisseur CLI. Elle montre le binaire qu’EYAS lance — comment il a été trouvé (EYAS_CLAUDE_CODE_BIN / EYAS_GROK_BIN / EYAS_KIMI_BIN, claude on PATH / grok on PATH / kimi on PATH, ou SDK-bundled), son chemin et sa version — et si la vérification d’isolation d’EYAS avant chaque version a prouvé cette version : ok isolation proven on this version (<date>). Elle avertit quand la version diffère de la dernière prouvée, quand le binaire ne rapporte aucune version, et quand la CLI n’a jamais été prouvée sur un hôte (Kimi Code CLI pour l’instant) ; l’avertissement précise qu’EYAS vérifie toujours chaque session au démarrage. Une CLI non installée affiche not installed (ok). Un EYAS_*_BIN invalide est un échec, avec le remède. Pour Grok CLI et Kimi Code CLI, la ligne vérifie aussi leur home EYAS, <répertoire de données>/cli-homes/<fournisseur> — voir le tableau suivant. Les dernières versions prouvées, et comment : Sécurité et confidentialité — Comment l’isolation est prouvée.
CLI sandboxLe mode security.cliSandbox et, pour chaque CLI installée (Claude Code, Grok CLI, Kimi Code CLI), si ses propres outils tournent dans le sandbox de fichiers du noyau : active, unavailable avec la raison et le remède (installer bubblewrap ; installer socat — Claude Code en a besoin en plus de bubblewrap ; autoriser les espaces de noms utilisateur non privilégiés, y compris dans un conteneur), ou none pour Kimi, qui n’a pas de sandbox noyau. Un sandbox manquant est un avertissement, pas un échec : avec auto la CLI tourne sans lui, avec required ses tours avec outils sont refusés. Voir Fournisseurs — Sandbox de fichiers du noyau.
VaultLe chemin du coffre de mémoire, <répertoire de données>/vault (ok). Avertit quand des notes d’un ancien <home EYAS>/data/vault seront copiées au prochain démarrage et — avec un remède — quand cet ancien dossier n’est plus utilisé parce que le coffre du répertoire de données contient déjà des notes. Doctor ne copie jamais rien lui-même. Voir Configuration — Répertoire de données et coffre.
SQLiteUn auto-test en direct sur une base en mémoire jetable — votre fichier de données n’est jamais ouvert. Rapporte la version de SQLite, la présence de FTS5 (échec sans lui : la recherche mémoire, la recherche de conversations et celle du coffre en ont toutes besoin) et le chargement de l’extension sqlite-vec, en insérant réellement une ligne et en lançant une requête du plus proche voisin plutôt qu’en demandant seulement la version. Une extension manquante est un avertissement avec le remède pour votre plateforme, pas un échec.
Import rootsSi skills.importRoots / agent.importRoots sont utilisables : ok quand rien n’est configuré ou que chaque racine est un dossier ordinaire ; un avertissement qui nomme le réglage et le dossier quand une racine se trouve dans, ou contient, les dossiers propres d’un autre assistant ou d’une app de notes (~/.claude, ~/.grok, un coffre Obsidian, …) et n’est donc pas parcourue. Voir Configuration — Racines supplémentaires de skills et de personas.
Memory embedderQuel embedder utilise le rappel de mémoire. Ok : multilingual-e5-small, local (weights in <folder>) quand @huggingface/transformers est installé et que les poids sont dans data/models. Avertissement : l’embedder haché par radicaux (stem5-fnv-384) parce que @huggingface/transformers n’est pas installé — remède : lancez bun add @huggingface/transformers (ou bun install) dans le dossier EYAS, puis redémarrez. Avertissement : le paquet est installé mais les poids ne sont pas encore téléchargés — le prochain démarrage les télécharge (environ 130 Mo) depuis Hugging Face dans data/models, et d’ici là le rappel utilise le repli. Voir Mémoire — La recherche vectorielle tourne toujours en local.
zstdQuelle implémentation de compression servira à l’enregistrement brut : celle native de Bun, celle de Node (22.15 ou plus récent), ou le repli WASM embarqué. Le repli est un avertissement — il marche, et il est environ deux fois plus lent. Aucune implémentation du tout est un échec, et EYAS n’enregistre alors rien plutôt que de remplir un tampon qu’il ne pourra jamais écrire.

La vérification du home EYAS sur les lignes CLI isolation (Grok CLI) et CLI isolation (Kimi Code CLI) :

Ce que doctor trouve dans <répertoire de données>/cli-homes/<fournisseur>Résultat
Pas encore crééok — la première exécution le crée
Un lien symbolique, ou pas un dossieréchec — EYAS refuse d’y lancer la CLI. Remède : supprimez-le ; l’exécution suivante le recrée
Un dossier lisible par d’autres utilisateursavertissement — il contient la connexion de la CLI. Remède : chmod 700 <dossier>
Un fichier qu’EYAS y gère manque ou a changé depuis qu’EYAS l’a écrit (Grok : config.toml, requirements.toml, trusted_folders.toml ; Kimi : mcp.json et les réglages d’EYAS dans config.toml)avertissement — EYAS réécrit ces fichiers avant l’exécution suivante ; un changement entre deux exécutions signifie donc que quelque chose d’autre modifie ce dossier
Tout est tel qu’EYAS l’a écritok — EYAS home and managed files intact

Environnement

EYAS_PORT, EYAS_HOST, EYAS_HOME, EYAS_DATA_DIR, EYAS_WORKSPACES_DIR, EYAS_CLAUDE_CODE_BIN, EYAS_GROK_BIN, EYAS_KIMI_BIN, EYAS_INSTALL_ROOT, EYAS_SKIP_WEB_BUILD, EYAS_SKIP_DOCS_BUILD, EYAS_FORCE_WEB_BUILD, EYAS_FORCE_DOCS_BUILD. Ce que font les variables de chemin et de runtime : voir Configuration.

Le port par défaut est 3100. Avec EYAS_SKIP_DOCS_BUILD=1, /docs renvoie 404 — voir FAQ.