Brancher un fournisseur

Piloter un CLI

Dix états, pas deux booléens : ce que Deskworth sait d’un outil en ligne de commande, comment une connexion se lance, et ce qui est refusé délibérément.

DISPONIBLEÉcrit et couvert par des tests, pas encore observé en exécution réelleDeskworth · publié · mis à jour · 2 sources · Deskworth OS 0.0.48

Livré dans la construction courante. Vous pouvez le faire sur votre machine aujourd’hui.

L’écran de réglages savait deux choses d’un fournisseur : installé, et utilisable. Deux booléens décrivent un fournisseur au repos. Ils ne disent rien de ce qui se passe pendant qu’on le connecte, et ils n’empêchent rien, un bouton de connexion sur un binaire absent, un test lancé sur un fournisseur déconnecté, une annulation montrée pour un fournisseur qui ne faisait rien. Trois écrans que deux booléens laissent construire sans broncher.

#Les dix états

Ils ne se replient pas les uns dans les autres. Non installé, installé mais déconnecté, et la connexion a échoué sont trois situations différentes qui réclament trois gestes différents.

ÉtatCe que cela veut direCe que vous faites
unknownRien n’a encore été lu. Pas encore regardé n’est pas la même chose qu’absent.Rien, cet état dure le temps de la première lecture.
detectingDeskworth regarde le chemin et interroge le CLI sur sa session.Attendre.
missingAucun binaire de ce nom n’est dans le chemin.Installer le CLI de l’éditeur.
signed_outLe binaire répond ; la session non. L’état le plus fréquent, et le plus mal lu, cela a l’air de fonctionner.Se connecter.
connectingUne connexion est en cours. Une adresse n’est montrée que si le CLI en a imprimé une et qu’elle a passé le filtre d’adresses.Terminer la connexion dans votre navigateur.
readyLe binaire est là et sa session tient.Rien. Lancer un bureau.
testingUne vraie requête est en vol.Attendre.
failedLa dernière tentative a échoué, et Deskworth dit pourquoi dans ses propres mots, jamais dans ceux du CLI.Lire la raison ; elle nomme le geste.
timed_outLa tentative a dépassé son délai. Distinct de « failed » : il n’y a rien à réparer, il y a quelque chose à refaire.Réessayer.
cancelledVous l’avez arrêtée. Distinct d’un échec, personne n’a rien cassé.Rien.

PreuveUne seule fonction de transition est la porte entre ces états. Un geste qui n’a pas de sens depuis l’état courant y est refusé, et non plus loin, là où il aurait déjà démarré un processus.

#Se connecter

Une connexion est une liste d’arguments figée attachée à un identifiant d’éditeur, et la façade choisit parmi trois identifiants connus, elle ne choisit pas un programme. Il n’y a aucune chaîne à échapper puisqu’il n’y a aucun interpréteur, et aucun argument à valider puisque aucun argument ne vient de l’interface.

ÉditeurConnexionOù elle a le droit de vous mener
AnthropicUne sous-commande figée du binaire claudeDeux hôtes déclarés, comparés entiers
OpenAIUne sous-commande figée du binaire codexDeux hôtes déclarés, comparés entiers
GoogleAucune, le CLI n’a pas de commande de connexionNulle part. Deskworth montre une phrase au lieu d’un bouton

LimiteCette dernière ligne est un fait, pas un oubli. Donner à un CLI un bouton de connexion qui ne mène nulle part est exactement le genre de promesse que cet écran existe pour retirer.

#Le filtre d’adresses

Une connexion imprime beaucoup de choses. L’une d’elles peut être une page à ouvrir. Quatre conditions décident si Deskworth l’ouvre, et en manquer une seule veut dire que l’adresse ne passe pas du tout, ni caviardée, ni montrée en grisé : elle ne passe pas.

  1. Elle est en https. Rien d’autre n’est ouvert.
  2. Son hôte est l’un des hôtes déclarés pour cet éditeur, comparé en entier, un sosie qui se contente de finir par le bon suffixe est refusé.
  3. Elle ne porte aucun identifiant embarqué dans son autorité. Un navigateur les afficherait dans sa barre d’adresse, et c’est la forme d’une fausse page de connexion.
  4. L’hôte est lu par l’analyseur qu’emploie le client HTTP. Deux analyseurs en désaccord sur la fin d’un nom d’hôte sont une porte, et cette porte a déjà été trouvée.

#Le délai

Une connexion dispose de trois minutes : de quoi ouvrir un navigateur, se connecter et passer un second facteur. Plus court, une connexion honnête expire sous les doigts de l’opérateur ; plus long, un CLI qui attend une saisie que personne ne fera occupe une place pour rien.

PreuveCe qui décide du succès est une vraie sonde, pas le code de sortie de la commande de connexion. Une connexion peut sortir proprement sans laisser de session derrière elle, et un écran qui ferait confiance au code de sortie annoncerait une connexion qui n’existe pas.

#Ce qu’une exécution passe réellement au CLI

Au-delà de la connexion, une carte démarre le CLI avec un jeu de drapeaux figé : un flux d’entrée et de sortie structuré, la déclaration du serveur d’outils local, un mode de configuration strict, et une liste d’approbation explicite. Deux d’entre eux méritent une phrase.

  • Le mode de configuration strict isole plus que la déclaration d’outils. Mesuré le 2026-08-26, deux crochets de session de l’opérateur lui-même injectaient un style de sortie et un outil sans rapport dans le contexte d’une carte d’analyse financière. Le même drapeau ferme aussi la frontière des fichiers, sans lui, une carte a lu le journal d’une carte voisine.
  • La liste d’approbation de la ligne de commande n’est pas la liste de refus du fichier déposé. Elles font l’inverse l’une de l’autre, et les deux sont nécessaires : l’approbation déposée est ignorée tant que l’atelier n’est pas approuvé, ce qu’une salle de données créée il y a quelques secondes n’est jamais.

#Sources

  1. The provider manifest, generated by the coreDeskworthinternal registry · providers-manifest.json · Deskworth OS 0.0.23 · lu à bcae42d · publié 2026-09-10 · lu 2026-09-10Document interne, non publié
  2. Deskworth OS, product state at 0.0.23Deskworthinternal handover report · Deskworth OS 0.0.23 · commit produit 5968ef0 · lu à bcae42d · publié 2026-09-10 · lu 2026-09-10Document interne, non publié