La file de commandes d’OpenClaw
Voies et concurrence, les quatre modes de file, orienter une réponse en cours, les surcharges par session, et le budget de travail d’arrière-plan
OpenClaw sérialise les exécutions de réponse automatique entrantes de chaque canal par une minuscule file en processus, pour que plusieurs exécutions d’agent n’entrent pas en collision sur des ressources partagées comme l’état de session, les journaux et l’entrée de la CLI, tandis que les sessions tournent toujours en parallèle. Voici le fonctionnement des voies, les valeurs par défaut, les quatre modes qui décident ce que fait un message quand une exécution est déjà active, les options et leur priorité, les garanties de durabilité, le budget d’arrière-plan partagé avec le travail de maintenance, et les classifications que les diagnostics utilisent quand quelque chose paraît bloqué.
Voies et valeurs par défaut
- Une file FIFO consciente des voies vide chaque voie sous un plafond de concurrence : un pour les voies non configurées, huit pour la voie des sous-agents, et pour la voie principale le parallélisme processeur disponible borné entre huit et seize ; la voie principale est plafonnée globalement par la valeur par défaut de concurrence maximale.
- Les exécutions CLI, embarquées et Codex partagent la même voie de clé de session, si bien que chaque tour y attend avant d’acquérir la réclamation d’exécution de la session et que changer d’environnement ne peut pas démarrer un tour concurrent ; chaque exécution de session est ensuite mise en file dans la voie globale.
- Les indicateurs de saisie se déclenchent à la mise en file là où le canal le permet, si bien que l’expérience est inchangée pendant qu’une exécution attend ; avec la journalisation verbeuse, une exécution en file note quand elle a attendu plus de deux secondes environ.
- Sans réglage, chaque surface entrante utilise le mode steer, un anti-rebond intégré d’une demi-seconde, un plafond de vingt messages en file, et une politique de suppression qui résume ce qu’elle supprime.
L’orientation dans le même tour est la valeur par défaut.
Les quatre modes
Steer injecte un message dans l’environnement actif : un outil déjà en cours se termine, les appels séquentiels non commencés sont sautés, l’orientation devient visible avant le prochain lancement d’outil ou la prochaine décision de modèle, et le serveur d’application Codex reçoit une orientation groupée appliquée à la prochaine frontière de modèle ; si l’exécution ne peut pas accepter d’orientation, OpenClaw attend sa fin puis lance le prompt. Followup n’oriente pas et met chaque message en file pour un tour ultérieur. Collect regroupe les messages en file en un seul tour de suite après la fenêtre de calme, en vidant les fils différents séparément pour préserver le routage. Interrupt interrompt l’exécution active de cette session et lance le message le plus récent. Avec le streaming partiel ou par blocs, l’orientation peut ressembler à plusieurs courtes réponses à mesure que l’exécution atteint ses frontières, et steer n’interrompt jamais les outils en cours, donc interrupt est le mode pour un message qui doit arrêter le travail courant. Une réponse en texte brut à une question d’agent en attente va à cette question avant le traitement ordinaire de la file, est vérifiée contre les permissions du créateur de la question, et est signalée comme incertaine plutôt que renvoyée quand un engagement a pu avoir lieu sans confirmation.
Options, priorité, durabilité
- Les options : une fenêtre de calme anti-rebond avec des unités de temps, qui en mode steer de Codex fixe aussi la fenêtre d’orientation ; un plafond d’au moins un ; et une politique de suppression qui résume, en gardant des résumés compacts des entrées supprimées comme suite synthétique, supprime les anciennes en silence, ou rejette le message le plus récent quand la file est pleine. La priorité des modes est la surcharge par session, puis le réglage par canal, puis le mode global, puis steer ; les options fixées par session l’emportent sur la configuration, suivies de l’anti-rebond propre au canal, des valeurs par défaut des extensions et des valeurs intégrées.
- Par session, une commande de file seule enregistre le mode, les options se combinent sur une ligne, et default ou reset efface la surcharge. Un prompt qui attend dans la file de suite ou de collecte garde une identité d’annulation possédée par la passerelle, si bien qu’une interruption avec son identifiant d’exécution l’annule tant qu’il est en file, et qu’une interruption pour une session sans identifiant annule d’abord les tours en file autorisés puis les exécutions actives, pour que vider la file ne promeuve jamais du travail dans une session à moitié arrêtée.
- Une entrée ordinaire de l’interface de contrôle vers une session existante est stockée dans la base par agent avant que la passerelle ne l’acquitte, le mode collect ajoute le tour combiné et marque ses sources consommées en une seule transaction, et un arrêt de la passerelle avant qu’une entrée en file n’atteigne la transcription la laisse comme entrée interrompue qui exige un renvoi explicite ; la file en mémoire n’est pas rejouée, mais les messages de canaux conservés par l’admission durable restent relançables quand une tentative en file est abandonnée avant adoption.
Les sessions d’OpenClaw explique la session que chaque voie protège, et Les commandes slash d’OpenClaw la surface de commandes à laquelle appartient la directive de file.
Des voies pour le travail d’arrière-plan
La voie principale est à l’échelle du processus pour les tours entrants ; les exécutions de battement de cœur utilisent une voie cron imbriquée bornée pour l’admission globale afin qu’un travail d’arrière-plan lent ne bloque pas les réponses, les tours cron isolés tiennent une place cron pendant que leur exécution interne utilise la voie imbriquée, et les flux de sous-agents et imbriqués ont leurs propres voies, tous suivis comme tâches d’arrière-plan sans threads de travail ni dépendances externes. Les revues du Skill Workshop et les complétions d’arrière-plan des extensions, dreaming compris, partagent un budget distinct de trois exécutions simultanées, une au plus pour les revues et jusqu’à trois pour une extension, et un ordonnanceur qui attend du travail d’arrière-plan ne tient pas de place lui-même ; la superposition d’activité rapporte tout cela dans une seule ligne d’arrière-plan. Quand les commandes paraissent bloquées, les journaux verbeux montrent les lignes de mise en file ; les diagnostics classent une session qui reste en traitement comme longue quand la progression est récente, bloquée quand elle ne l’est pas, et coincée pour une comptabilité de session périmée récupérable, et coincée comme bloquée au-delà du seuil d’interruption peuvent déclencher une récupération qui libère la voie de session. Les sous-agents d’OpenClaw couvre la voie au plafond de huit, et Le dreaming d’OpenClaw le travail nocturne qui vit dans le budget d’arrière-plan.
Sur Diali
Sur Diali, la file tourne avec les valeurs amont par défaut dans chaque assistant : envoyer deux messages de suite oriente la réponse en cours plutôt que d’en démarrer une seconde, et le mode interrupt est à une commande quand vous voulez que le premier message soit abandonné. OpenClaw hébergé sur Diali est l’assistant.
- Une exécution par session à la fois ; les sessions en parallèle.
- Steer, followup, collect, interrupt.
- Trois exécutions d’arrière-plan, partagées avec le dreaming et le Workshop.
Arrêtez de lire, construisez le vôtre
Configurez un agent, choisissez un canal, et faites-le travailler dans l’application que vous gardez déjà ouverte.
