BLUN Code · Terminal

BLUN Code CLI

Travaille sur tes fichiers directement depuis le terminal, lance des agents en arrière-plan et utilise Telegram ainsi que les outils média gérés.

Ce qui a changé depuis 9.1.605

DomaineCe que tu y gagnes
LinuxLe paquet npm s'installe à nouveau sous Linux. Sur Linux x64, le binaire du terminal est fourni.
Sessions longuesLors de la reprise, les entrées d'historique les plus récentes apparaissent en premier. Les pages plus anciennes restent accessibles.
DémarrageSur demande, King ouvre la session la plus récemment sélectionnée dans l'espace de travail approprié.
Effort de réflexionCtrl+L ouvre la sélection directement depuis le champ de saisie et conserve ton brouillon.
TelegramLes messages qui arrivent lors de la reprise sur un travail en cours restent dans la file d'attente.
WindowsLa version 9.1.620 termine complètement la console à la fermeture de la fenêtre.

Les modifications individuelles et leurs états de publication se trouvent dans le journal des modifications CLI.

Conditions préalables

  • Windows ou macOS sur x64 ou ARM64 ; en outre Linux
  • Node.js 24.15.0 ou version ultérieure de la série LTS 24
  • Node.js, npm et Git Bash sous Windows
  • Accès internet pour la connexion, les modèles d'IA et les outils gérés
  • un dossier de travail pour ton projet
Linux est de nouveau inclus dans le paquet npm

À partir de 9.1.617, le paquet peut à nouveau être installé sous Linux. À partir de 9.1.618, le terminal sur Linux x64 utilise un binaire fourni et n'a donc pas besoin de compilateur, même si npm 12 bloque les scripts d'installation. L'environnement d'exécution Node privé automatique reste la voie pour Windows et macOS ; sous Linux, une version Node appropriée doit être présente.

Node.js, npm et Git Bash sous Windows

Node.js exécute la console. npm installe et met à jour le paquet. L'installeur officiel de Node.js inclut npm. Git for Windows fournit Git Bash, le shell dont King a besoin ; Git Bash n'est pas installé avec Node.js.

Avant la première installation

  1. Installe Node.js 24 LTS (au moins 24.15.0) avec l'installeur MSI pour Windows disponible sur nodejs.org/en/download. Laisse npm et l'entrée PATH activés.

  2. Installe Git for Windows depuis gitforwindows.org.

  3. Ferme complètement le terminal et ouvre une nouvelle invite de commandes.

  4. Vérifie node --version, npm --version et git --version avant d'installer King.

    node --version
    npm --version
    git --version

Git for Windows inclut Git Bash. Tu peux lancer King depuis l'invite de commandes ou PowerShell ; il n'est pas nécessaire d'ouvrir en plus une fenêtre Git Bash.

Installation de Node.js et de npm : documentation officielle de npm.

Si node ou npm est introuvable

Node.js/npm est absent ou inaccessible via le PATH. Rouvre d'abord le terminal. Si l'erreur persiste, répare l'installation de Node.js en activant npm et l'entrée PATH.

where.exe node et where.exe npm affichent les chemins accessibles ; s'ils ne renvoient rien, le programme est introuvable via le PATH.

where.exe node
where.exe npm

Si PowerShell bloque npm.ps1, utilise npm.cmd au lieu d'assouplir la stratégie d'exécution.

npm.cmd --version
npm.cmd install -g blun-king-cli@latest

Si Git Bash est introuvable

Installe Git for Windows et rouvre le terminal. Si Git est installé dans un autre répertoire, définis BLUN_SHELL_PATH sur le chemin absolu du fichier bash.exe installé.

L'exemple suivant ne vaut que pour l'invite de commandes et cette session de terminal ; adapte le chemin à ton installation. Avant de définir la variable, vérifie que le fichier existe.

dir "C:\Program Files\Git\bin\bash.exe"
set "BLUN_SHELL_PATH=C:\Program Files\Git\bin\bash.exe"

Vérifier et maintenir Node.js à jour

Vérifie d'abord la version installée :

node --version
npm --version
Windows et macOS : BLUN gère l'environnement d'exécution requis

Si la version de Node présente est trop ancienne, BLUN télécharge automatiquement au premier démarrage un environnement d'exécution Node 24.15.0 privé et vérifié, pour Windows ou macOS sur les machines x64 et ARM64. Celui-ci se trouve dans %USERPROFILE%\.blun\runtime\node\ ou, selon le système, dans ~/.blun/runtime/node/. L'installation de Node à l'échelle du système et les autres programmes restent inchangés.

Pour l'installation ponctuelle via npm, Node et npm doivent déjà être présents. Un avertissement EBADENGINE peut apparaître avec une version de Node plus ancienne. Une fois l'installation réussie, il suffit de lancer une première fois king ou blun ; BLUN met alors en place son propre environnement d'exécution.

Solution de repli manuelle

Si le téléchargement automatique ou la vérification de la somme de contrôle échoue sous Windows ou macOS, installe Node.js 24 LTS manuellement :

  1. Ouvrir la page de téléchargement officielle

    Consulte nodejs.org/en/download et choisis Node.js 24 LTS.

  2. Exécuter l'installeur adapté

    Sous Windows, utilise l'installeur MSI. Sous macOS, utilise le paquet PKG. Choisis x64 ou ARM64 selon ta machine.

  3. Rouvrir complètement le terminal

    Les terminaux déjà ouverts utilisent souvent encore l'ancien chemin du programme.

  4. Vérifier à nouveau la version
    node --version
    npm --version
Contrôle de sécurité de l'environnement d'exécution installé automatiquement

BLUN télécharge uniquement, via HTTPS, la version officielle de Node définie à l'avance, limite la taille du téléchargement et le nombre de redirections, et vérifie la somme de contrôle SHA-256 publiée avant l'installation. En cas d'écart, rien n'est lancé ; la solution de repli manuelle s'affiche à la place.

Installation

  1. Vérifier les conditions préalables
    node --version
    npm --version

    Sous Windows et macOS, BLUN peut remplacer une ancienne version Node présente au premier démarrage par son environnement privé. Pour l'installation npm, Node et npm doivent déjà être appelables. Sous Linux, tu as besoin de Node.js 24.15.0 ou plus récent avant le démarrage.

    Node.js, npm et Git Bash sous Windows

  2. Installer la version stable actuelle
    npm install -g blun-king-cli@latest
  3. Vérifier l'installation
    blun --version
  4. Exécuter le diagnostic
    blun doctor
Résultat attendu

blun --version affiche un numéro de version. blun doctor vérifie les fichiers de configuration et signale les réglages invalides. Les commandes de version citées précédemment vérifient que Node.js, npm et Git sont appelables.

Démarrage et connexion

Profil, espace de travail et session

Un profil sélectionne l'identité King distincte et ses réglages. Un espace de travail détermine quels fichiers de projet sont ouverts. Une session contient l'historique de la conversation et l'état de travail. Une nouvelle session n'est donc ni un nouveau compte ni automatiquement un worktree Git isolé.

king --profile mein-king

--profile appartient au lanceur king. Pour un espace de travail Git isolé, utilise blun workspace create <nom> ; pour poursuivre une conversation, la sélection de session. La référence du terminal explique ces commandes et leurs prérequis.

Quelle commande de démarrage utiliser ?

CommandeComportementÀ utiliser quand
blunDémarre la console sans connexion Telegram automatique.tu veux travailler uniquement en local ou dans le terminal.
kingDémarre la même console et y connecte un plugin Telegram configuré.l'agent doit aussi recevoir des messages Telegram.

Se connecter pour la première fois

  1. Démarrer la connexion
    blun login
  2. Terminer la connexion dans le navigateur

    Connecte-toi avec ton compte BLUN puis reviens à la console.

  3. Ouvrir le dossier de projet et démarrer
    cd "C:\Pfad\zu\deinem\Projekt"
    king

Tu peux aussi saisir /login dans une console déjà lancée. Tu n'as pas besoin de copier de clé API dans un fichier de configuration.

Reprendre une session

Avec /sessions, tu ouvres la sélection de sessions. Tu peux aussi indiquer un identifiant exact, un titre exact ou un début d'identifiant unique. En cas de plusieurs résultats, tu choisis la session souhaitée dans la liste.

/sessions Refonte-API

Pour la dernière session du dossier de travail actuel, tu démarres King dans le terminal normal avec :

king --continue

À partir de 9.1.606, l'affichage charge d'abord les entrées d'historique les plus récentes. Par défaut, elles sont d'environ 200 ; les messages et étapes d'outils appartenant ensemble restent complets et peuvent dépasser ce nombre. Tu atteins les pages plus anciennes via la navigation dans l'historique. L'historique de conversation enregistré et le contexte du modèle ne sont pas raccourcis par cette limite d'affichage.

Tu peux régler la taille cible de l'affichage entre 1 et 2000 au démarrage interactif :

king --continue --history-limit 400

Ouvrir la session la plus récemment sélectionnée au démarrage

Si tu reviens régulièrement au même travail, tu peux ajouter ce réglage dans ton ~/.blun/tui.toml existant. Sous Windows, le fichier se trouve normalement dans %USERPROFILE%\.blun\tui.toml.

resume_last_selected = true

Place la ligne dans la partie supérieure du fichier, avant une section comme [editor]. Les autres réglages restent conservés. La sélection est enregistrée en fonction du compte, de l'agent, du dossier de travail et de l'environnement d'exécution. Une session explicitement indiquée a la priorité. Si la sélection enregistrée n'est plus disponible, une nouvelle session commence. Avec false, tu désactives à nouveau cette option de démarrage.

Choisir un profil

/profile ou /profiles ouvre la sélection de profils. Pendant un travail en cours ou avec des messages en attente, le profil actuel reste actif ; choisis l'autre profil dès que la session est prête.

System32 n'est pas un dossier de projet

Avant de lancer King, place-toi dans ton dossier utilisateur depuis l'invite de commandes avec cd /d "%USERPROFILE%". Tu peux aussi te placer dans l'un de tes propres dossiers de projet existants. Dans PowerShell, accède à ton dossier utilisateur avec Set-Location $HOME. Lance ensuite king.

cd /d "%USERPROFILE%"
king

Choisir le dossier de travail (9.1.603)

Si tu choisis un autre dossier de travail sous Windows, une boîte de dialogue de sélection de dossier s'ouvre. Tu peux toujours saisir le chemin à la main. Si tu annules la boîte de dialogue, tu reviens à la sélection du dossier sans qu'aucun dossier soit retenu.

Si aucune boîte de dialogue de sélection de dossier n'est disponible, la console demande le chemin. Sur les autres systèmes d'exploitation, le chemin continue d'être saisi manuellement.

Si, au démarrage, un dossier situé dans le répertoire Windows est repris ou enregistré, la sélection du dossier propose ton dossier utilisateur. Les chemins saisis à la main sont toujours vérifiés comme auparavant.

Résultat attendu

La ligne d'état affiche ton compte, le dossier de travail et le modèle actif. La ligne de saisie accepte ton message.

Travail quotidien

Définir l'effort de réflexion et les autorisations

Depuis 9.1.609, Ctrl+L ouvre la sélection de l'effort de réflexion directement depuis le champ de saisie. Ton texte saisi reste conservé. Pendant que King travaille, un changement est refusé ; rouvre la sélection dès que la session est prête. Les niveaux disponibles dépendent du modèle actif.

L'effort de réflexion détermine avec quelle rigueur le modèle travaille avant de répondre. Les niveaux plus élevés peuvent prendre nettement plus de temps.

blun --effort high --permission-mode manual
OptionValeurs possiblesSignification
--effortlow, medium, high, xhigh, maxRigueur et temps de calcul de la réponse.
--permission-modeManuel (manual), Automatique (auto)Fréquence à laquelle la console demande une confirmation avant d'appeler un outil.
--plansans valeurDémarre en mode Plan avant que les modifications ne soient exécutées.

Choisir le style de sortie

/output-style ouvre le sélecteur de style. Les styles disponibles sont Standard, Concis, Proactif, Explicatif et Apprentissage. Le choix s'applique immédiatement à la session en cours et est enregistré comme style par défaut pour les démarrages suivants.

Les règles restent prioritaires

Le style de sortie ne prévaut ni sur les règles du mode Plan ni sur les règles d'autorisation.

Condenser le contexte actif

BLUN Code surveille le contexte actif pour la prochaine requête au modèle, et non simplement tout l'historique enregistré. La limite effective dépend du modèle, du compte et du budget de condensation. Les parties les plus anciennes sont résumées par étapes de taille limitée ; chaque étape réserve de la place pour son résumé.

Pendant l'opération, la conversation affiche par exemple Verdichte ~941,2k Tokens … · 2/~10 · 90 %. 2/~10 indique l'étape en cours et le nombre total d'étapes estimé. 90 % correspond au taux d'occupation mesuré de la fenêtre du modèle pour l'appel de condensation en cours. Si une étape échoue ou ne réduit pas le contexte, le contexte d'origine est conservé.

Dès 75 % de la limite effective de condensation, une petite condensation sans perte allège les anciens résultats d'outils volumineux et les arguments des appels d'outils terminés. Pour une fenêtre de modèle de 1 048 576 tokens et une condensation complète à 256 000 tokens, ce seuil se situe à 192 000 tokens. Les 20 derniers messages, les textes normaux de l'utilisateur et l'historique brut enregistré restent inchangés.

Démarrer manuellement

/compact lance immédiatement la même opération. Une instruction facultative indique ce qui doit être conservé.

Condenser de manière proactive à la fin d'une étape de travail

L'utilisateur n'a pas besoin de saisir de commande. Dès que le contexte actif atteint la moitié de la limite à laquelle la condensation complète se déclenche automatiquement, King peut choisir CompactConversation à l'issue d'une étape de travail. L'outil planifie, pour la fin de l'étape d'outil en cours, l'opération de condensation sûre déjà existante. Il n'ouvre pas de tour supplémentaire ; si la condensation échoue, l'historique d'origine reste inchangé.

Surmonter une brève surcharge du serveur

En cas de surcharge du serveur pour laquelle une nouvelle tentative est explicitement autorisée (HTTP 429 avec x-should-retry: true), BLUN King attend le délai indiqué par Retry-After et renvoie la même requête deux fois au maximum. Les erreurs d'authentification, de quota et les autres erreurs ne permettant pas de nouvelle tentative entraînent toujours un arrêt immédiat. Si le serveur reste surchargé après ces tentatives limitées, l'utilisateur reçoit comme avant le message d'erreur explicite.

Reprendre le travail délégué après une interruption du fournisseur

Si un agent délégué individuel ou un membre d'un essaim d'agents perd la connexion au fournisseur, reçoit une réponse vide du fournisseur ou voit son flux s'interrompre pour cause d'inactivité, ou si le serveur renvoie HTTP 408/500/502/503/504, BLUN King reprend le même agent à partir de son historique persistant. Pour les agents individuels ainsi que pour les interruptions d'essaim autres que HTTP 429, la première reprise intervient après deux secondes d'attente et la deuxième après cinq secondes ; ensuite, l'erreur d'origine reste visible. Dans un essaim, HTTP 429 reste soumis à sa propre règle de surcharge, distincte et plus longue. Les erreurs d'authentification, de paiement ou de quota, de politique d'utilisation, de contexte, d'outil et de code ainsi que les annulations manuelles ne déclenchent pas de reprise automatique. Chaque tentative de reprise réutilise l'ID d'agent existant afin que le travail déjà terminé ne soit pas répété.

Externaliser les résultats d'outils volumineux

Pour les résultats d'outils textuels de plus de 12 000 caractères, BLUN King enregistre le contenu complet dans le dossier de session privé tool-results. Les requêtes ultérieures au modèle conservent les 1 000 premiers et les 1 000 derniers caractères, le nombre exact de caractères omis et le output_path. Les résultats mixtes contenant des médias et les résultats déjà tronqués restent inchangés. Une micro-condensation ultérieure conserve le chemin.

La version 9.1.104 permet aux commandes shell exécutées au premier plan d'aller jusqu'à leur terme normal, même lorsqu'elles produisent des sorties très volumineuses. King écrit en continu jusqu'à 16 Mio dans le journal privé de la tâche, ignore la sortie au-delà de cette limite et renvoie le code de sortie réel au lieu d'arrêter le processus en raison du volume de sortie. Les petites sorties, les tâches en arrière-plan, les limites de temps et les annulations manuelles restent inchangées.

Read output_path

Exemple : un résultat de recherche de 30 000 caractères reste entièrement disponible dans le fichier local. Le modèle voit immédiatement le début ainsi que le résultat final ou l'erreur ; grâce au chemin, l'agent ne lit que les sections nécessaires au lieu de renvoyer les 30 000 caractères à chaque étape du modèle.

Lots de résultats d'outils parallèles

Depuis la version 9.1.99, King traite en outre comme un lot les résultats purement textuels qui se suivent directement. Si ce lot dépasse 12 000 caractères au total alors que chaque résultat pris isolément est plus petit, King externalise, parmi les résultats d'au moins 3 000 caractères, autant des plus volumineux que nécessaire pour repasser sous la limite. Des références lisibles restent dans le contexte du modèle ; l'historique brut de la session et les médias restent inchangés. L'événement de télémétrie tool_result_batch_offloaded ne signale que le nombre et la taille en caractères, sans contenu ni chemin.

Externaliser les messages utilisateur volumineux

Si un véritable message de l'utilisateur contient plus de 200 000 caractères de texte, BLUN King enregistre le texte complet dans le dossier privé conversation-history. Le contexte du modèle conserve les cinq premières et les cinq dernières lignes, des indications de taille et un output_path. À l'aide de Read et du output_path, l'agent ne lit que les pages nécessaires. Les images, l'audio et les autres éléments non textuels restent joints. La transcription visible et l'historique brut enregistré contiennent toujours le message d'origine complet. Les messages d'exactement 200 000 caractères restent entièrement dans le contexte ; il en va de même en cas d'échec de l'enregistrement.

Limiter les recherches Grep volumineuses

Dans le mode de sortie content, Grep arrête ripgrep après offset plus head_limit plus une ligne d'aperçu complète. Cette ligne supplémentaire sert uniquement à détecter s'il existe une page suivante. Avec head_limit=250 et offset=0, au plus 251 lignes de résultats complètes sont lues. Avec head_limit=0, pour count_matches et pour les résultats files_with_matches triés par date de modification, King continue de lire le résultat complet.

Reprendre précisément la lecture des fichiers volumineux

Les fichiers volumineux continuent d'être lus page par page. Si Read atteint sa limite interne de 1 000 lignes et que le fichier contient d'autres lignes, le résultat indique la valeur exacte du line_offset suivant. Exemple : une lecture commencée à la ligne 2001 se poursuit avec line_offset=3001. En fin de fichier, ou lorsqu'une portion plus petite a été lue délibérément, aucune indication n'apparaît. Ainsi, l'agent ne tire pas de conclusions d'un extrait incomplet et ne relit pas le fichier depuis la première ligne.

Utiliser les fils de conversation

CommandeUtile quand
/undo [nombre]Quand tu veux annuler les dernières étapes de la conversation.
/forkQuand tu veux essayer une nouvelle voie à partir de l'état actuel.
/btwQuand un second agent doit répondre à une question annexe pendant que l'agent principal continue son travail.

Agents en arrière-plan

Les agents en arrière-plan apparaissent dans la vue des agents avec leur tâche et leur statut. Tu peux ouvrir la sortie d'un agent, lui envoyer une question complémentaire ou l'arrêter. Les hooks et les diagnostics intégrés du serveur de langage vérifient les fichiers modifiés après chaque écriture ou modification.

La version 9.1.105 ajoute TaskUpdate pour les agents en arrière-plan en cours d'exécution. King transmet des instructions supplémentaires au même agent actif à la prochaine étape sûre du modèle, sans l'arrêter ni lancer un autre agent. Les tâches inconnues ou déjà terminées, les tâches shell ainsi que les agents qui n'acceptent plus de mise à jour continuent d'être refusés.

La version 9.1.106 permet aux profils d'agents d'exclure des outils en les désignant par leur nom. King n'applique ces exclusions qu'après avoir assemblé les outils chargés en permanence, ceux chargés dynamiquement à la demande et les outils MCP. Les profils standard coder, explore et plan ne peuvent, via Telegram, ni répondre, ni réagir, ni modifier de messages, ni télécharger de pièces jointes ; l'agent principal n'est pas concerné. Ainsi, les agents délégués n'envoient pas de messages en contournant l'agent principal, et leurs requêtes au modèle contiennent moins de schémas d'outils. Les outils désignés par leur nom mais introuvables sont signalés de manière visible.

La version 9.1.107 affiche les erreurs des fournisseurs dans un langage compréhensible pour les clients ; les codes d'erreur internes et les indications destinées au support n'y apparaissent pas. /help propose une liste de commandes navigable avec les touches fléchées et ouvre, avec la flèche droite ou la touche Entrée, une description détaillée de la commande sélectionnée.

La version 9.1.108 supprime de la projection du modèle les indications système identiques injectées à plusieurs reprises. Pour chaque type d'indication, la copie exacte la plus récente reste visible. Les indications modifiées, les messages normaux de l'utilisateur, les appels d'outils, les contenus mixtes et l'historique brut enregistré de la session restent inchangés. Ainsi, les données envoyées au fournisseur sont moins volumineuses dans les longues sessions, sans que l'historique enregistré, les exports ou les reprises soient tronqués.

Charger les outils et les Skills à la demande

Depuis la version 9.1.595, King charge de nouveau de manière ciblée les schémas d'outils facultatifs via ToolSearch, au lieu d'envoyer le catalogue complet avec chaque requête. La sélection conservée est limitée ; les outils restent accessibles par la recherche, même si leur schéma n'est pas envoyé à ce moment-là. Les vérifications d'autorisation habituelles s'appliquent toujours. Les grands catalogues de Skills sont fournis sous une forme compacte et paginée.

Pour les salutations brèves, King peut utiliser un extrait limité du dialogue le plus récent. Les instructions système sont conservées ; pour une demande de travail, l'historique de travail conservé est de nouveau pris en compte. Cela ne supprime aucun message enregistré. Une salutation n'a donc pas de coût fixe en tokens : le contexte système, les outils, les répétitions et la vérification des réponses continuent de contribuer à la consommation.

/context affiche la taille de contexte estimée de la prochaine requête et la limite qui s'y applique. /context-doctor (ou /tokens) complète l'affichage avec les données de diagnostic disponibles ; /usage affiche la vue de la consommation et des quotas. Les valeurs estimées, la consommation cumulée de la session et les tokens réellement facturés sont des grandeurs différentes.

Les grands catalogues d'outils sont explorés via la recherche d'outils si nécessaire. Depuis 9.1.615, le budget d'outils suit la fenêtre de contexte déclarée par le fournisseur. Les outils trouvés restent disponibles à l'étape suivante ; leurs descriptions complètes n'ont pas besoin d'être envoyées à chaque mandat.

/context doctor : distingue l'historique enregistré, les nombres de tokens estimés et la taille en octets de la requête sérialisée. Il affiche les contributions relevées des règles AGENTS, des fichiers Mistake, de Memory, des Skills et des définitions d'outils. L'absence de données de provenance ne signifie pas zéro octet.

Les octets de requête, les nombres de tokens estimés, la consommation cumulée de la session et les tokens facturés sont des grandeurs différentes. L'affichage de la consommation tient aussi compte de la vérification des réponses. /usage cost, avec les coûts journaliers ou mensuels, ne fait pas partie de cette version. Des coûts plus faibles ou des réponses plus rapides en production ne sont pas démontrés.

Chaque tentative HTTP reçoit un nouveau x-request-id, sauf si l'appelant en fournit un. Les identifiants fournis restent inchangés et ne sont pas journalisés comme un texte externe arbitraire. L'identifiant sert à rapprocher les mesures côté client et côté serveur ; ce n'est pas une clé de facturation.

Pilotage des sessions dans la version 9.1.604

/queue : affiche ou modifie la manière dont cette session traite les messages entrants. Les modes disponibles sont steer, followup, collect et interrupt ; reset ou default supprime le réglage propre à la session.

Sans réglage propre à la session, King utilise steer avec 500 millisecondes de délai de regroupement et une taille de lot maximale de 20 messages. /queue affiche les valeurs en vigueur ; /queue reset supprime uniquement le réglage propre à la session.

steer transmet les nouvelles entrées au prochain point de transfert approprié ; si ce n'est pas possible, elles attendent l'exécution suivante. followup attend la fin de l'exécution en cours. collect regroupe les entrées ; interrupt interrompt l'exécution en cours au profit des nouvelles entrées.

/queue collect debounce:500ms batch:10

Les valeurs admises vont de debounce:0ms à debounce:60s et de batch:1 à batch:100. batch limite la taille d'un lot sans supprimer les messages excédentaires. Il n'existe pas d'option cap: ni drop:. La règle de file d'attente et l'affichage de la consommation sont conservés lors de la reprise de la même session. Les nouveaux messages ordinaires des canaux ne déclenchent plus automatiquement d'interruption au bout de 30 secondes.

/session [ID|titre] : ouvre le sélecteur de session ou choisit une session d'après son identifiant exact, son titre exact ou un préfixe d'identifiant non ambigu. Si plusieurs sessions correspondent, le sélecteur s'ouvre.

/question : rouvre les questions en attente. Replier une question ne revient ni à y répondre ni à la rejeter.

/usage : affiche la consommation et les quotas disponibles. off, tokens et full enregistrent le mode d'affichage pour cette session. reset supprime ce réglage ; inherit, clear et default sont équivalents.

/settings : ouvre les paramètres, y compris les options d'affichage locales.

9.1.605

/context map affiche la répartition en octets disponible pour la dernière requête relevée. /context list, /context detail et /context doctor ouvrent le rapport détaillé. Celui-ci distingue les fichiers d'instructions, Memory, les Skills, les définitions d'outils et les textes d'historique associés. Les mesures manquantes restent signalées comme non disponibles ; elles ne sont pas comptées comme nulles.

king --message "Vérifie les tests en attente" transmet un premier message à la console interactive. Après le consentement au démarrage et la sélection de la session, il est traité par les vérifications habituelles des messages et par la file d'attente. Son contenu n'est pas interprété comme une commande slash ou shell. Le consentement au démarrage et les vérifications d'autorisation ne sont pas contournés pour autant.

/abort interrompt l'opération en cours sans supprimer les entrées en attente. /stop supprime en plus les entrées en attente. /exit ferme toujours la console. Il s'agit de commandes locales de la console, et non de commandes supplémentaires à distance via Telegram.

La ligne supplémentaire agent/session en bas de l'écran disparaît. La sélection de session et le diagnostic restent accessibles via les commandes existantes.

Distinguer le contexte actuel de l'historique enregistré

Un long historique enregistré n'a pas besoin de tenir entièrement dans une seule requête au modèle. King peut condenser le contexte de travail actif et fournir les anciennes sorties d'outils via des références vérifiées. Les originaux complets restent conservés pour une relecture ciblée.

Depuis 9.1.617, l'aperçu des grandes sorties d'outils tient également compte de la fenêtre de contexte disponible. Au rechargement de la même session, les instructions de plugin inchangées ne sont pas toujours réajoutées. Avec /context doctor, tu vérifies la requête saisie ; /context map affiche sa répartition en octets disponible.

Pour les fichiers d'instructions comme AGENTS.md, la console King s'applique depuis 9.1.614 : ils restent complets tant que la limite de requête le permet. Les fichiers plus grands n'arrêtent pas un mandat uniquement à cause de leur taille. L'ancienne troncature générale de 9.1.613 ne décrit donc plus le comportement actuel de la console.

Garder les tâches et les sorties visibles

Une liste de tâches trop longue se déplie avec Ctrl+T. Les longues sorties d'outils apparaissent tronquées dans l'historique et peuvent être développées avec Ctrl+O. La zone de saisie, l'indicateur d'activité et les deux lignes d'état font partie de la console. /tasks ouvre les tâches en arrière-plan ; /copy copie la dernière réponse disponible. La référence des commandes contient toutes les commandes intégrées ainsi que l'aperçu des raccourcis clavier et des outils d'agent.

Surveiller les tours de longue durée

Depuis la version 9.1.40, la console signale un tour lorsqu'aucun nouveau résultat d'outil n'est arrivé depuis 20 minutes. La ligne d'état affiche la durée d'exécution, le dernier outil utilisé et le nombre d'erreurs répétées. Cinq appels consécutifs en échec du même outil avec les mêmes arguments mettent fin au tour avec un message d'erreur explicite, au lieu de le laisser se poursuivre sans que personne ne s'en aperçoive.

Seuils réglables

Les opérateurs peuvent ajuster les deux seuils avec BLUN_TURN_WATCHDOG_IDLE_MINUTES et BLUN_TURN_WATCHDOG_MAX_FAILED_REPETITIONS.

Skills, plugins et MCP

Les Skills sont des instructions de travail réutilisables. Les plugins peuvent en outre fournir des outils, des Skills et leurs propres commandes. MCP relie la console à des serveurs d'outils configurés.

Utiliser les Skills existants

Décris ton mandat de manière concrète afin que King puisse trouver les instructions appropriées. Pour une instruction précise, tu saisis / dans le champ de saisie et tu choisis le Skill proposé. Les Skills intégrés apparaissent sous leur nom ; tes propres Skills normalement sous /skill:<nom>. Les suggestions de ton installation affichent les noms réellement disponibles.

/skill:angebot-pruefen vérifie l'offre dans le dossier du projet

Cet exemple fonctionne après avoir créé ton propre Skill nommé angebot-pruefen. Si plusieurs instructions entrent en considération, tu peux d'abord demander à King une comparaison et une recommandation.

Ajouter sa propre instruction

Crée par exemple .agents/skills/angebot-pruefen/SKILL.md dans le projet. Un fichier de Skill contient un nom, une description du domaine d'application et les étapes de travail proprement dites :

---
name: angebot-pruefen
description: vérifier les offres concernant l'étendue des prestations, les délais et les questions ouvertes.
---

Lis l'offre complète.
Vérifie l'étendue des prestations, les délais, les exclusions et les questions ouvertes.
Nomme pour chaque constatation le passage correspondant dans le document.
Affiche le résultat avant de modifier des fichiers.

Les Skills de projet sont également recherchés dans .blun/skills. Pour des instructions valables pour plusieurs de tes projets, il existe ~/.agents/skills et ~/.blun/skills. Sous Windows, ~ désigne ton dossier utilisateur. Après l'ajout, redémarre King ou recharge la session avec /reload dès qu'elle est prête, et vérifie les suggestions de barre oblique.

Pour un dossier de Skills explicitement choisi, tu peux démarrer King ainsi :

king --skills-dir "./meine-skills"

Cette option remplace la recherche automatique dans les dossiers de Skills de l'utilisateur et du projet pour ce démarrage. Tu peux la répéter pour plusieurs dossiers. Un Skill issu de GitHub doit se trouver dans un tel dossier avec sa structure de dossiers et un SKILL.md valide.

Installer et gérer les plugins

/plugins ouvre la gestion des plugins. Tu y consultes le marché et vérifies les plugins existants. Les commandes list, info, install, enable, disable et remove sont également disponibles.

/plugins list

Pour l'installation, tu saisis /plugins install <source> ou tu choisis une entrée du catalogue. Vérifie la source et les informations affichées, puis confirme l'installation proposée. Un plugin désactivé reste installé ; remove le retire après confirmation. Un plugin peut proposer ses propres commandes de barre oblique, par exemple /<plugin>:<commande>.

Vérifier les connexions d'outils

Avec /mcp, tu ouvres la vue MCP. La gestion des plugins affiche également les serveurs MCP d'un plugin. Une instruction installée ne remplace pas une connexion au service concerné. Vérifie dans la vue respective si la connexion est active avant de faire dépendre un mandat de celle-ci.

Objectifs, travail récurrent et sous-agents

Traiter un objectif jusqu'au résultat

/goal enregistre un objectif concret. Décris le résultat souhaité, les modifications autorisées et ce qui permet de reconnaître l'achèvement.

/goal Vérifie les tests ouverts, corrige les causes dans le projet et affiche les résultats des vérifications.

Avec /goal status, tu vérifies l'état. /goal pause met l'objectif en pause, /goal resume le reprend et /goal cancel le termine et le supprime. /goal edit <objectif> modifie le mandat ; /goal replace <objectif> remplace explicitement l'objectif actif.

Avec /goal next <objectif>, tu réserves un mandat suivant. /goal next manage ouvre la gestion de ces objectifs suivants. Un nouveau mandat ou la reprise d'un objectif ne commence que lorsque la session est prête.

Répéter une tâche

/loop répète une invite à l'intervalle choisi. Indique toujours ce qui doit être vérifié et à quel résultat King doit t'informer.

/loop 10m Vérifie les résultats de test existants et signale uniquement les nouvelles erreurs.

/loop status, /loop pause, /loop resume et /loop stop pilotent la répétition. Mettre en pause une répétition et interrompre un travail en cours sont des actions séparées : pour le travail en cours, il existe /abort et /stop.

Poser une question à côté du mandat principal

/btw <question> lance une question secondaire dans une conversation dérivée. /swarm <tâche> répartit une tâche explicitement mandatée sur plusieurs agents. Avec /tasks, tu vois les tâches en arrière-plan et leurs résultats.

Pour un plan encore ouvert, /premortem, /idea, /chancenradar et /curiosity sont également disponibles. Leurs différences, limites et commandes de pilotage se trouvent dans la référence des commandes.

Mandats ponctuels sans interface interactive

Avec -p, tu transmets un mandat unique depuis le terminal normal. King affiche le résultat et termine l'appel. C'est par exemple adapté à un résumé dans un script.

king -p "Résume brièvement le README de ce projet."

Pour les programmes, tu peux choisir --output-format json ou --output-format stream-json. Sans cette option, le texte est affiché.

king -p "Résume brièvement le README de ce projet." --output-format json

Le message de démarrage interactif --message et l'affichage de l'historique --history-limit appartiennent au démarrage interactif et ne peuvent pas être combinés avec -p.

Vérification des réponses dans la version 9.1.600

La vérification des réponses reste limitée dans le temps : les vérificateurs généraux disposent de 30 secondes. Après le signal de départ du composant hôte de confiance, la vérification linguistique native dispose, une seule fois par tentative externe, de 90 secondes au maximum pour le premier contenu textuel. Le délai d'attente est remis à 30 secondes à chaque contenu textuel produit dans la longueur de sortie autorisée, ainsi qu'à chaque transition ordonnée vers la validation et vers la vérification du justificatif.

Indépendamment de cela, une limite totale de 120 secondes s'applique à chaque tentative externe ; deux tentatives externes au maximum sont autorisées. Avant l'acceptation d'une validation, le temps réellement écoulé est vérifié à nouveau, y compris en cas d'appels de minuteur retardés. Une progression tardive ne peut pas renouveler un délai expiré. Les signaux d'annulation restent pris en compte. Le lien avec le texte exact de la réponse, la validité temporelle du justificatif de validation et l'autorisation continuent d'être vérifiés.

La version 9.1.604 inclut AgentSpine 0.73.0 et Translate Native 6.155.0 ; le protocole Guard reste en version 6.20.0. Cela ne prouve pas pour autant que les erreurs HTTP 502 soient corrigées en production. L'état de publication et les limitations connues figurent dans le journal des modifications.

Images, vidéo et son

La BLUN Code CLI dispose de huit outils média gérés. Une fois la connexion établie et si le service média est joignable, tu n'as à saisir ni adresse de serveur ni identifiant de modèle. Décris le résultat souhaité ; la console choisit l'outil adapté.

TâcheOutilRésultat
Générer une imageGenerateImageTâche de génération d'image avec identifiant de récupération
Générer une vidéoGenerateVideoTâche de génération de vidéo avec identifiant de récupération
Générer de la paroleGenerateSpeechFichier audio à partir d'un texte
Comprendre une imageUnderstandImageDescription de l'image ou réponse à son sujet
Comprendre une vidéoUnderstandVideoDescription de la vidéo ou réponse à son sujet
Sonoriser une vidéoDubVideoVidéo avec piste sonore générée
Synchroniser les lèvresLipSyncMediaImage ou vidéo synchronisée sur une piste sonore
Récupérer une tâcheGetMediaStatut ou fichier finalisé

Ce que tu vois pendant les tâches longues

  • processing : la tâche est toujours en cours.
  • failed : la tâche est terminée et n'aboutira plus.
  • ready : le résultat peut être récupéré.
Synchronisation labiale

La réservation actuelle prévoit jusqu'à 35 minutes environ. Il s'agit d'une limite supérieure, et non d'une moyenne mesurée. Le service n'affiche pas encore de progression en pourcentage.

Configurer Telegram

Pour utiliser Telegram, il te faut ton propre bot ; lance ensuite BLUN King avec la commande king. Le couplage reste ensuite valable ; il n'est pas nécessaire de le refaire à chaque démarrage.

  1. Créer un bot sur Telegram

    Ouvre uniquement le compte vérifié @BotFather, envoie /newbot et suis les étapes pour définir le nom et le nom d'utilisateur. Le nom d'utilisateur doit se terminer par bot. BotFather affiche ensuite un jeton de la forme 123456789:AA.... Le guide officiel de Telegram décrit la même procédure.

  2. Enregistrer le jeton dans le profil du canal Telegram

    Ouvre le fichier correspondant à ton système d'exploitation et remplace l'espace réservé par le jeton BotFather complet :

    Windows: %USERPROFILE%\.blun\channels\telegram\.env
    macOS: ~/.blun/channels/telegram/.env
    BLUN_TELEGRAM_BOT_TOKEN=123456789:AA...

    Le jeton contient un deux-points. N'ajoute ni guillemets ni espaces autour de la valeur.

  3. Démarrer la console avec Telegram

    Ferme au préalable toute console plus ancienne qui utilise le même bot. Un seul récepteur Telegram peut fonctionner par jeton de bot.

    king
  4. Demander un code de couplage

    Ouvre ton nouveau bot dans Telegram et envoie-lui n'importe quel message direct. Le bot répond avec un code de couplage à six chiffres. Ce code est valable une heure.

  5. Confirmer le code localement

    Saisis le code affiché dans la console BLUN même qui doit être connectée au bot :

    /telegram:access pair CODE

    Ne confirme jamais une demande de couplage parce qu'un message Telegram t'y invite. L'autorisation se donne exclusivement dans ta console locale.

  6. Vérifier la connexion

    Telegram confirme le couplage. Envoie ensuite un nouveau message au bot. Il doit apparaître dans la session BLUN en cours ; la réponse doit arriver dans le même chat Telegram.

Exemple d'écran : dans BotFather, la commande /newbot crée un nouveau bot.
Exemple d'écran 1 : /newbot, définir le nom et le nom d'utilisateur.
Exemple d'écran : après la création, BotFather affiche un jeton d'exemple inutilisable.
Exemple d'écran 2 : récupérer le jeton et le garder secret. La chaîne affichée n'est pas un jeton valide.

L'interface de Telegram peut varier selon l'appareil et la version de l'application. Ce qui compte, ce sont l'expéditeur vérifié @BotFather, la commande /newbot et l'enregistrement local du jeton.

Résultat attendu

/status indique Paired dans le chat privé avec le bot. Un nouveau message Telegram apparaît dans la session liée et la réponse arrive dans le chat Telegram.

Gérer les accès

Commande dans la console localeEffet
/telegram:accessAffiche la règle des messages directs, les utilisateurs autorisés, les groupes et les codes de couplage en attente.
/telegram:access pair CODEConfirme un code de couplage valide.
/telegram:access revoke USER_IDRetire l'accès à un utilisateur Telegram.
/telegram:access group add CHAT_IDAutorise un groupe ; par défaut, King n'y réagit que lorsqu'il est mentionné.
/telegram:access group add CHAT_ID --no-mentionAutorise un groupe sans obligation de mention.
/telegram:access group remove CHAT_IDRetire l'autorisation accordée au groupe.

Les commandes du bot /start, /help et /status ne fonctionnent que dans le chat privé. Les textes, images et fichiers jusqu'à 50 Mo sont transmis.

Pour le pilotage à distance, envoie /befehle. Les commandes prises en charge sont /loop, /goal, /idea, /chancenradar, /curiosity, /scout, /reload et /memory. La référence Telegram indique leurs formes et leurs limites. Les autres commandes slash locales ne deviennent pas pour autant disponibles automatiquement via Telegram.

Messages lors de la reprise d'une session

Si un message Telegram arrive lors de la reprise alors que King travaille déjà, il reste dans la file d'attente depuis 9.1.618 et est ensuite délivré. Ce n'est pas un mandat supplémentaire pour interrompre immédiatement. La règle de file d'attente choisie peut être vérifiée avec /queue.

Si la connexion ne fonctionne pas

  • Pas de code de couplage : vérifie le jeton, démarre avec king au lieu de blun et écris un message direct au bot.
  • Le couplage reste en attente : exécute /telegram:access pair CODE dans la console locale liée. Au-delà d'une heure, demande un nouveau code en envoyant un nouveau message.
  • 409 Conflict : une deuxième console ou un ancien processus Telegram utilise le même jeton. Ne laisse tourner qu'une seule console King avec ce bot.
  • Les messages n'arrivent pas : la console King doit continuer de tourner. Vérifie avec /status dans le chat privé avec le bot si le compte est couplé.
  • Jeton publié par erreur : révoque-le immédiatement auprès de @BotFather, crée un nouveau jeton et remplace la valeur dans le fichier .env.

Memory et Mistakes

Au premier démarrage après connexion, la console t'interroge séparément sur le Memory personnel et sur la transmission de données d'erreur expurgées.

  • Le oui comme le non sont enregistrés. Un refus ne déclenche pas de nouvelle question à chaque démarrage.
  • Les décisions sont indépendantes. Une modification concernant Mistakes n'écrase pas Memory, et inversement.
  • Sans accord explicite, rien n'est écrit dans le canal concerné.

Compléter Memory volontairement

blun memory remember "Tiens compte de cette décision à l'avenir"

Cet appel nécessite l'accord du compte connecté et un service Memory personnel accessible. Les notes de persona, les métadonnées d'outils locales et les outils de mémoire fournis via MCP sont des voies distinctes.

Mémoire d'outils locale

King peut consigner les appels d'outils terminés comme métadonnées locales : nom de l'outil, moment, statut et, pour les outils de fichiers, éventuellement le chemin. Les entrées ne contiennent ni arguments d'outils complets, ni sorties, ni commandes, ni clés.

/memory tools status

Avec /memory tools on respectivement /memory tools off, tu pilotes l'enregistrement. /memory tools status indique s'il est actif. Cette fonction est distincte de la mémoire personnelle et du protocole complet de session.

Vérifier l'état de Mistakes

blun mistakes status

La référence du terminal explique l'envoi, la nouvelle tentative, la synchronisation, la surveillance ainsi que la suppression ou la restauration motivée. Une destination configurée et son authentification sont requises pour le transfert.

Mises à jour

Au démarrage, la console vérifie si une nouvelle version stable est disponible. La boîte de dialogue propose trois options :

  1. mettre à jour maintenant,
  2. ignorer pour cette fois,
  3. attendre la prochaine version.

Tu peux aussi lancer explicitement une mise à jour :

king update

Après une mise à jour réussie, BLUN affiche la version précédente et la version installée ainsi que les principales modifications. Si Telegram est configuré, BLUN envoie une seule fois la même notification aux chats directs autorisés. Les groupes ne reçoivent aucune notification automatique de mise à jour.

Voir le journal des modifications

Distinguer l'installation de la session en cours

blun --version vérifie la version installée. Une session déjà ouverte peut continuer d'utiliser le code chargé auparavant. Ferme toi-même la session concernée et relance-la ; /version affiche ensuite la version qu'elle exécute.

Diagnostic

MessageSignificationProchaine étape
EBADENGINE ou Unsupported engineLa version de Node utilisée par npm est antérieure à 24.15.0.Sous Windows ou macOS, terminer l'installation et lancer BLUN une fois pour que l'environnement d'exécution Node privé soit mis en place. Si npm s'arrête avant, installer Node.js 24 LTS manuellement.
EBADPLATFORMLe paquet chargé ne correspond pas au système d'exploitation ou à l'architecture. Les versions plus anciennes excluaient Linux ; à partir de 9.1.617, Linux est de nouveau inclus.Vérifie la version du paquet avec npm view blun-king-cli@latest version et utilise le paquet actuel pour ta plateforme.
king : commande introuvableSi une erreur npm est apparue auparavant, BLUN King n'a pas été installé.Corriger d'abord EBADENGINE ou EBADPLATFORM, puis relancer la commande d'installation npm.
Promise.withResolvers is not a functionBLUN a été lancé avec un environnement d'exécution Node trop ancien.Sous Windows ou macOS, installer la version actuelle de BLUN et relancer avec king. Si l'environnement d'exécution privé ne se met pas en place, installer Node.js 24 LTS manuellement et rouvrir le terminal.
Model "blun/king" is not configuredLe profil ne contient aucune entrée de modèle valide.Exécuter blun doctor et vérifier le profil actif.
Connexion Telegram : aucun jeton détectéLe jeton est absent ou n'a pas le format BotFather.Enregistrer le jeton complet avec le deux-points et relancer king.
Telegram 409 ConflictPlusieurs récepteurs en cours d'exécution utilisent le même jeton de bot.Fermer tous les processus King ou Telegram en double et ne lancer qu'une seule console avec king.
Pending pairingL'utilisateur Telegram n'a pas encore été autorisé localement.Confirmer le code affiché dans la console liée avec /telegram:access pair CODE.
client key not recognizedUne clé d'accès a été envoyée, mais elle n'est pas reconnue.Se déconnecter, se reconnecter et relancer la tâche.
billing service did not answerUn service BLUN n'est pas accessible.Réessaie plus tard ; l'erreur ne vient pas de ta tâche.
blun doctor

Windows : fermer la fenêtre et redémarrer

La version 9.1.620 corrige la fin complète lors de la fermeture de la fenêtre de la console. Ainsi, au prochain démarrage, aucune instance restée active ne devrait plus déclencher le message « déjà en cours d'exécution ». La fin régulière depuis la console reste /exit.

Si le message apparaît encore, vérifie d'abord la version installée et si la console concernée tourne encore. Une session active ne peut avoir qu'un seul propriétaire en écriture. Ne supprime aucun fichier de verrouillage tant que la console associée travaille encore.

Quand « Condensation en pause » apparaît

Depuis 9.1.619, King ne compte que les erreurs de condensation directement successives. Après une condensation réussie, une erreur antérieure isolée n'est plus un motif de blocage supplémentaire. Le message « Condensation en pause » désigne les tentatives de résumé échouées ; il n'affirme plus de manière générale que ton contexte est plein. Vérifie le message exact et le diagnostic avant de redémarrer la session.

Distinguer les erreurs des temps d'attente

Depuis la version 9.1.596, une interruption automatique au profit des messages Telegram en attente n'est plus signalée comme un appui sur la touche Escape. Une véritable annulation manuelle reste distincte.

La version 9.1.597 reconnaît les messages d'erreur qui mentionnent explicitement un dépassement de la limite de contexte, y compris dans une réponse d'erreur de passerelle. Avant le début d'une sortie, une nouvelle tentative, en nombre limité, avec une limite de sortie réduite est possible. Les messages et les outils ne sont pas supprimés pour autant. Cela ne corrige ni une erreur de connexion générale ni une panne de service.

Constat historique dans 9.1.597 : Une limite inférieure déclarée pour le nombre de jetons d'entrée pouvait déclencher une autre tentative échouée et des condensations inutiles. Le constat a été reproduit le 17 septembre 2026. Les corrections ultérieures et leurs états de publication respectifs sont documentés dans le journal des modifications.

Les longs temps d'attente indiqués par Retry-After et la pause restante après la reprise d'une session sont pris en compte. Un redémarrage ne permet pas de contourner un temps d'attente demandé.

Journaux pour l'analyse des erreurs

Les appels d'outils et leurs résultats figurent dans le journal de session wire.jsonl. Pour un diagnostic ciblé, tu peux utiliser /export-debug-zip. Avant toute transmission, vérifie que le contenu ne comporte pas de données privées. Un journal d'erreurs tenu délibérément, comme mistake.md, ne remplace pas ces journaux d'événements.

Les limites, en toute transparence

  • L'IA peut se tromper. Vérifie les affirmations importantes, les fichiers et les commandes exécutées.
  • Les outils gérés nécessitent une connexion et des services BLUN accessibles.
  • Les tâches média n'affichent pas encore de progression en pourcentage. processing est un état, pas une indication de durée.
  • Une réponse 200 ou une vérification partielle au vert ne prouve que la partie mesurée. Vérifie un parcours allant de la première saisie de l'utilisateur jusqu'au résultat.