18/Documentation
Commandes
Chaque verbe collie, l'ajout de collie à votre PATH, et les actions Herdr qui reflètent les verbes sur une installation gérée par Herdr
Chaque verbe utilise le format collie <verb>. C'est la syntaxe canonique sur toutes les installations, implémentée directement dans le binaire (cli/). Avant d'ajouter collie à votre PATH (ci-dessous), exécutez bin/collie <verb> depuis la racine du dépôt. Sur une installation gérée par Herdr, ces mêmes verbes s'enregistrent comme des actions Herdr (ci-dessous) au comportement identique.
Si l'hôte exécute plusieurs instances, préfixez chaque verbe par COLLIE_INSTANCE=<name>. Consultez Plusieurs instances de Collie sur un même hôte.
| Verbe | Commande | Description |
|---|---|---|
| Démarrer | collie start | Construire si nécessaire, servir, afficher l'URL |
| Arrêter | collie stop | Mettre le bridge en pause ; ne supprime rien |
| Redémarrer | collie restart | Arrêter, puis démarrer |
| Statut | collie status | La bannière Collie est en cours d'exécution + les URL |
| URL | collie url | Afficher l'URL du tailnet |
| QR | collie qr | La même URL sous forme de code scannable |
| Version | collie version | La version en cours d'exécution (0.x.y+sha) |
| Skill | collie skill | Le récapitulatif Collie destiné aux agents, pour un agent de codage IA opérant dans votre terminal (aussi collie --skill). collie skill install, uninstall, sync, status et print gèrent le skill walky talky dans les fichiers d'instructions de vos agents ; collie update exécute sync après chaque mise à jour (Installer le skill) |
| Docs | collie docs · collie docs <name> · collie docs --all | Ces pages, extraites directement du binaire |
| Update | collie update | Préparer la dernière version de votre majeure, basculer dessus, redémarrer et vérifier (--check vérifications préalables, --status rapports, --major en franchit une) |
| Rollback | collie update --rollback | Rétablir la version précédente (pas sur un checkout géré par Herdr, qui n'en a aucune de prête) |
| Uninstall | collie uninstall | Supprimer le service ; conserver .env et l'installation |
| Pair | collie pair · collie pair --expires <duration> | Affichez un code à 8 caractères et un QR code, valables 10 minutes ; scannez le QR code pour ouvrir Settings → System → Paired devices avec le code prérempli, ou saisissez le code manuellement pour l'obtenir associé. Sans --expires, le jeton n'expire jamais et la commande le signale ; avec cette option (12h, 30d, 2w), la commande affiche la date à laquelle le jeton cessera de fonctionner une fois réclamé. Un script réclame le code avec son propre libellé, par exemple script, et l'associe une fois (Définir une expiration pour un appareil) |
| Devices | collie devices list · collie devices revoke <label> · collie devices set-expiry <label> <duration> · collie devices clear-expiry <label> | Listez / révoquez les appareils associés, ou modifiez la date à laquelle l'un d'eux expire. list affiche l'expiration de chaque appareil sous la forme no expiry, expires <date> ou EXPIRED <date>. set-expiry calcule une nouvelle durée de validité à partir de maintenant ; clear-expiry le supprime. Un libellé correspond exactement, ou sans tenir compte de la casse si un seul appareil correspond |
| Link | collie link · collie unlink | Ajouter collie à votre PATH (ci-dessous) |
| Logs | collie logs | Suivre le journal du service |
| Configuration | collie config show · collie config check · collie config init | Affichez chaque paramètre avec sa source, validez le fichier ou écrivez un config.toml commenté (le fichier de configuration) |
| Agents durables | collie durable attach <name> --socket <path> · collie durable attach <name> --url <url> --token-env <VAR> · collie durable detach <name> · collie durable list | Ajoutez un agent durable à sources.json, supprimez-le ou listez chaque agent durable avec l'état que lui attribue le bridge en cours d'exécution. attach et detach s'appliquent au prochain redémarrage, ou immédiatement avec --restart. Options, sortie et codes de retour : Agents durables |
| Walky-talky | collie walky who · collie walky send <address> <text> · collie walky reply <id> <text> · collie walky inbox · collie walky status <id> | Envoyez un message à une session d'agent depuis un terminal, ou d'un agent à un autre (Walky-talky) |
| Voice | collie stt setup · stt test · stt status · stt off | Configurer / vérifier / désactiver saisie vocale |
| Clés de push | collie push-keys | Générez la paire de clés VAPID dans votre .env |
| Test de push | collie push-test | Envoyez une notification pour vérifier le fonctionnement |
Le CLI inclut également build, serve, unserve, doctor et crew … pour les tâches moins fréquentes.
start et status affichent tous deux la bannière Collie est en cours d'exécution : un indicateur d'état et la version, puis une ligne service, local et tailnet. Premier lancement l'affiche en entier, y compris ce qu'un échec de vérification d'état affiche à la place. La version indiquée est lue depuis l'empreinte du bundle servi, reflétant le build actif.
Ink ou texte brut. Les commandes start, status, doctor, crew add et crew status affichent une interface de terminal interactive lorsque stdout est un TTY. Passer --plain, ou rediriger la sortie vers un tube, un fichier, le journal systemd ou un exécuteur de CI, bascule sur une sortie brute ligne par ligne.
collie doctor indique l'état qu'il a lu. Sa première ligne indique le nom de l'instance (default, ou le nom dans COLLIE_INSTANCE) et le répertoire d'état qu'il lit. Si vous exécutez deux voies sur une même machine, vérifiez cette ligne avant de vous fier au reste, car un shell avec le mauvais COLLIE_INSTANCE lit la mauvaise voie. --json fournit les deux mêmes valeurs que instance et stateDir sur l'entrée collie.
collie doctor liste vos programmes agents. Chaque programme pour lequel Collie dispose d'un profil de saisie reçoit une ligne harness-<name> : le fichier que Collie exécuterait sur le PATH de votre shell de connexion, la version qu'il a affichée, et le verdict du profil sur cette version. Une version supérieure à la plage vérifiée n'est qu'une simple remarque, car les envois au sein d'un tour restent fiables. La ligne avertit lorsque le fichier est résolu mais que sa version ne peut pas être lue, par exemple un wrapper placé en premier sur PATH qui nécessite $HOME, ou une installation corrompue : tant que la version n'est pas lisible, Collie traite chaque envoi vers ce programme comme provisoire. Un programme non installé affiche not installed. Dans --json, chaque ligne comporte également harness, binary, version et profileStatus.
La ligne nomme la copie présente sur votre PATH, car collie doctor n'a pas de volet à inspecter. Un envoi sur Herdr interroge le programme qui s'exécute dans son volet, ainsi un volet exécutant une autre copie, lancée par son chemin complet ou installée dans un projet, affiche la version de cette copie sur ses reçus.
Ajoutez collie à votre PATH
Exécutez collie link pour publier ~/.local/bin/collie :
bin/collie link # ~/.local/bin/collie → <checkout>/bin/collie
collie status # from anywhere
bin/collie unlink # take the name back downIl crée un lien symbolique vers le binaire du checkout, afin que les futures mises à jour de collie build prennent effet immédiatement sans étapes supplémentaires (ADR 0021). La commande remplace les liens existants d'autres checkouts Collie et affiche celui qu'elle a écrasé. Elle refuse d'écraser les fichiers non-Collie situés à cet emplacement. unlink supprime le lien symbolique uniquement s'il cible votre checkout actuel.
Si ~/.local/bin est absent de votre PATH, link vous avertit et se termine. Il ne modifie jamais le profil de votre shell. Exécutez collie doctor pour vérifier la ligne path-link et voir vers quel checkout la commande simple collie pointe.
Actions Herdr
S'applique uniquement à une installation gérée par Herdr créé avec herdr plugin install AltanS/collie ou herdr plugin link. Herdr est l'un des cinq multiplexeurs pris en charge par Collie. Ces actions correspondent directement à l'adaptateur : chaque action transmet le verbe au même binaire collie documenté dans le tableau ci-dessus. Sur les installations binaires créées via scripts/install.sh, les actions de plugin n'existent pas, et collie <verb> est la seule syntaxe.
Collie enregistre ces actions dans herdr-plugin.toml. Exécutez-les avec herdr plugin action invoke <id> --plugin herdr.collie, ou affichez-les avec herdr plugin action list --plugin herdr.collie :
<id> | Verbe équivalent | Description |
|---|---|---|
start | collie start | Compiler si nécessaire, démarrer le service, tailscale serve, afficher l'URL et la bannière |
stop | collie stop | Mettre le bridge en pause ; ne supprime rien |
restart | collie restart | stop + start |
status | collie status | La bannière Collie est en cours d'exécution : disponibilité ✓/⚠, version, URLs |
url | collie url | Afficher l'URL du tailnet |
version | collie version | Afficher la version en cours d'exécution (0.x.y+sha) |
update | collie update | Mettre à jour le checkout (pull, ou fetch + re-detach) + recompiler + redémarrer |
uninstall | collie uninstall | Arrêter le service (conserve .env et le checkout) |
push-keys | collie push-keys | Écrire une paire de clés VAPID dans le .env lu par le service |
push-test | collie push-test | Envoyer une notification push à chaque appareil abonné |
qr, pair, devices, link, logs, stt et config n'ont pas d'action de plugin correspondante car ils nécessitent un terminal, des arguments positionnels, ou les deux. Exécutez-les sous forme de collie <verb>.
Les actions Herdr renvoient l'enveloppe JSON de Herdr au lieu de la bannière du terminal. Consultez la sortie standard (stdout) capturée de l'action avec herdr plugin log list --plugin herdr.collie, ou exécutez directement collie <verb> pour afficher la sortie en ligne. La sortie de herdr plugin list --json reflète la version mise en cache lors de plugin link, et non la version active. Pour les clones liés, update recrée automatiquement les liens pour corriger le cache. Vous pouvez forcer cette opération avec herdr plugin link "$(pwd)". Herdr ≥0.8.0 relit le manifeste sur le disque à chaque invocation.
Remarque.scripts/collie-ctl.sh <verb>reste pris en charge. Il fonctionne comme un shim d'amorçage : il localise Bun, compilebin/colliesi le checkout en est dépourvu, et transmet argv. Un clone fraîchement lié utilise ce chemin pour compiler son binaire initial. Les actions Herdr continuent de pointer vers ce script car Herdr <0.8.0 fige les définitions d'actions mises en cache au moment de l'installation (ADR 0006). Chaque verbe est implémenté une seule fois dans le binaire compilé situé danscli/.
Modifier cette page sur GitHub