openclaw devices
Gérez les demandes d’appairage d’appareils et les jetons propres aux appareils.
Options courantes
--url <url>: URL WebSocket du Gateway (utilise par défautgateway.remote.urllorsqu’elle est configurée)--token <token>: jeton du Gateway (si requis)--password <password>: mot de passe du Gateway (authentification par mot de passe)--timeout <ms>: délai d’expiration RPC--json: sortie JSON (recommandée pour les scripts)
Commandes
openclaw devices list
Répertorie les demandes d’appairage en attente et les appareils appairés.
operatorLabel provenant de devices rename), puis displayName du client, puis clientId, puis deviceId.
openclaw devices approve [requestId] [--latest]
Approuve une demande d’appairage en attente à partir de son requestId exact. Si requestId est omis ou si --latest est transmis, la commande affiche uniquement un aperçu de la demande en attente la plus récente, puis se termine (code 1) ; relancez-la avec l’identifiant exact de la demande pour l’approuver.
Si un appareil retente l’appairage avec des informations d’authentification modifiées (rôle, portées ou clé publique), OpenClaw remplace l’entrée en attente précédente par une nouvelle entrée dotée d’un nouveau
requestId. Exécutez openclaw devices list juste avant l’approbation pour obtenir l’identifiant actuel.- Si l’appareil est déjà appairé et demande des portées plus larges ou un autre rôle, OpenClaw conserve l’approbation existante et crée une nouvelle demande de mise à niveau en attente. Comparez
RequestedetApproveddansopenclaw devices list, ou affichez un aperçu avec--latest, avant d’approuver. - L’approbation d’un rôle
nodeou de tout autre rôle non-opérateur nécessiteoperator.admin.operator.pairingsuffit pour approuver les appareils d’opérateur, mais uniquement si les portées d’opérateur demandées restent comprises dans les propres portées de l’appelant. Consultez Portées de l’opérateur. - Si
gateway.nodes.pairing.autoApproveCidrsest configuré, les premières demandes avecrole: nodeprovenant d’adresses IP clientes correspondantes peuvent être approuvées automatiquement avant d’apparaître dans cette liste. Cette option est désactivée par défaut et ne s’applique jamais aux clients opérateurs ou navigateurs, ni aux demandes de mise à niveau. gateway.nodes.pairing.sshVerify(activé par défaut) approuve automatiquement les premières demandes avecrole: nodelorsque le Gateway vérifie la clé de l’appareil par SSH auprès de l’hôte du Node. Les demandes peuvent donc passer à l’état approuvé peu après leur apparition. DéfinissezsshVerify: falsepour désactiver la vérification SSH ; ce réglage est indépendant deautoApproveCidrs, que vous devez donc également désactiver pour imposer un appairage exclusivement manuel.
openclaw devices reject <requestId>
Rejette une demande d’appairage d’appareil en attente.
openclaw devices remove <deviceId>
Supprime une entrée d’appareil appairé.
operator.admin.
openclaw devices rename --device <id> --name <label>
Attribue un libellé d’opérateur à un appareil appairé. Les libellés sont un état géré du côté du propriétaire : ils persistent après les réparations d’appairage et les nouvelles approbations de rôle, et ne modifient pas le deviceId stable.
--nameest obligatoire, ses espaces de début et de fin sont supprimés, il ne peut pas être vide et sa longueur est limitée à 64 caractères.- Les surfaces d’affichage (liste de la CLI, inventaire de l’interface de contrôle) privilégient le libellé de l’opérateur par rapport au nom d’affichage indiqué par le client.
- Un appelant non administrateur utilisant un appareil appairé ne peut renommer que son propre appareil. Le renommage d’un autre appareil nécessite
operator.admin.
openclaw devices clear --yes [--pending]
Supprime en masse les appareils appairés. Nécessite --yes.
--pending rejette également toutes les demandes d’appairage en attente.
openclaw devices rotate --device <id> --role <role> [--scope <scope...>]
Renouvelle le jeton d’un appareil pour un rôle, avec la possibilité de mettre à jour ses portées.
- Le rôle cible doit déjà exister dans le contrat d’appairage approuvé de cet appareil ; le renouvellement ne peut pas créer un nouveau rôle non approuvé.
- L’omission de
--scoperéutilise les portées approuvées mises en cache du jeton enregistré lors des reconnexions ultérieures. La transmission de valeurs--scopeexplicites remplace l’ensemble de portées enregistré pour les futures reconnexions avec un jeton mis en cache. - Un appelant non administrateur utilisant un appareil appairé ne peut renouveler que le jeton de son propre appareil, et l’ensemble de portées cible doit rester compris dans les propres portées d’opérateur de l’appelant ; le renouvellement ne peut ni créer ni conserver un jeton plus étendu que celui que possède déjà l’appelant.
openclaw devices revoke --device <id> --role <role>
Révoque le jeton d’un appareil pour un rôle.
operator.admin. L’ensemble de portées cible doit également rester compris dans les propres portées d’opérateur de l’appelant ; les appelants disposant uniquement des droits d’appairage ne peuvent pas révoquer les jetons d’opérateur d’administration ou d’écriture.
Remarques
- Ces commandes nécessitent la portée
operator.pairing(ouoperator.admin). Les rôles d’appareil non-opérateur nécessitent toujoursoperator.admin; consultez Portées de l’opérateur. - Le renouvellement et la révocation des jetons restent limités à l’ensemble de rôles d’appairage approuvés et à la base de référence des portées de l’appareil. Une entrée de jeton mise en cache isolée ne crée pas de cible de gestion de jetons.
- Pour les sessions utilisant un jeton d’appareil appairé, la gestion entre appareils (
remove,rename,rotate,revoke) est limitée à l’appareil de l’appelant, sauf si celui-ci dispose deoperator.admin. - Le renouvellement d’un jeton renvoie un nouveau jeton (sensible) — traitez-le comme un secret.
- Si la portée d’appairage n’est pas disponible sur local loopback et qu’aucune option
--urlexplicite n’est transmise,listetapprovepeuvent se rabattre sur l’état d’appairage local.
Liste de contrôle pour corriger la dérive des jetons
Utilisez cette procédure lorsque l’interface de contrôle ou d’autres clients continuent d’échouer avecAUTH_TOKEN_MISMATCH, AUTH_DEVICE_TOKEN_MISMATCH ou AUTH_SCOPE_MISMATCH.
-
Confirmez la source actuelle du jeton du Gateway :
-
Répertoriez les appareils appairés et identifiez l’identifiant de l’appareil concerné :
-
Renouvelez le jeton d’opérateur de l’appareil concerné :
-
Si le renouvellement ne suffit pas, supprimez l’appairage obsolète et approuvez-le de nouveau :
- Réessayez la connexion du client avec le jeton partagé ou le mot de passe actuel.
- Ordre de priorité normal pour l’authentification à la reconnexion : jeton partagé ou mot de passe explicite en premier, puis
deviceTokenexplicite, puis jeton d’appareil enregistré, puis jeton d’amorçage. - La récupération fiable après
AUTH_TOKEN_MISMATCHpeut temporairement envoyer ensemble le jeton partagé et le jeton d’appareil enregistré lors d’une seule nouvelle tentative limitée. AUTH_SCOPE_MISMATCHsignifie que le jeton de l’appareil a été reconnu, mais qu’il ne contient pas l’ensemble de portées demandé ; corrigez le contrat d’approbation de l’appairage et des portées avant de modifier l’authentification partagée du Gateway.
Approbation initiale de Paperclip / openclaw_gateway
Les agents Paperclip qui se connectent au moyen de l’adaptateur openclaw_gateway suivent la même procédure d’approbation d’appairage d’appareil lors de la première exécution que tout autre nouveau client. Si Paperclip signale openclaw_gateway_pairing_required, approuvez l’appareil en attente, puis réessayez.
openclaw devices approve <requestId> ; vérifiez les détails, puis relancez cette commande avec l’identifiant de la demande pour l’approuver. Pour un Gateway distant ou des identifiants explicites, transmettez les mêmes options lors de l’aperçu et de l’approbation :
adapterConfig.devicePrivateKeyPem persistante dans Paperclip au lieu de le laisser générer une nouvelle identité d’appareil éphémère à chaque exécution :
openclaw devices list pour confirmer qu’une demande en attente existe.