Démarrer une session interactive

Les sessions interactives fournissent une interface conversationnelle avec Bob directement dans ton terminal, permettant une assistance en temps réel pour tes tâches de développement.

Session interactive de Bob Shell

Quand utiliser une session interactive

Les sessions interactives conviennent le mieux pour :

  • Les sessions de codage exploratoires.
  • Le débogage et le dépannage.
  • L'apprentissage de nouveaux concepts ou technologies.
  • Les tâches nécessitant plusieurs échanges.
  • Les projets où tu dois réviser les changements avant qu'ils soient appliqués.

Démarrer une session interactive

Utilise la sous-commande bob chat pour démarrer une session interactive dans ton terminal.

Syntaxe

bob chat [options]

Démarrer une session

Ouvre une nouvelle fenêtre de terminal.

Note

Quand tu démarres Bob Shell pour la première fois, tu dois te connecter avec ton IBMid et accepter le contrat de licence.

Navigue jusqu'au répertoire principal de ton projet.

Exécute la commande suivante pour démarrer une session interactive :

bob chat

Conseils pour une utilisation efficace

  • Sois précis dans tes demandes pour obtenir des réponses plus ciblées.
  • Utilise les références @ pour fournir du contexte de code si nécessaire.
  • Pour les tâches complexes, décompose-les en étapes plus petites.
  • Utilise les slash commands pour accéder rapidement aux fonctionnalités courantes.
  • Quand tu travailles avec de grandes bases de code, dirige Bob Shell vers les fichiers les plus pertinents.

Utilisation de base

Interagir avec Bob Shell

  • Tape tes instructions ou questions directement dans le terminal.
  • Appuie sur Entrée pour envoyer ton message à Bob.
  • Bob Shell répond avec son analyse et ses suggestions.
  • Pour l'utilisation d'outils (comme lire ou écrire des fichiers), tu es invité à approuver ou refuser chaque action.

Approbations d'outils

Quand Bob Shell demande à utiliser un outil, une boîte de dialogue d'approbation apparaît. La boîte de dialogue offre les options suivantes :

OptionDescription
Approve OnceAutoriser cet appel d'outil spécifique à continuer. Tu seras à nouveau invité pour les appels futurs.
Approve <group> tools for taskAutoriser tous les outils du même groupe d'outils pour le reste de la tâche. Non affiché pour les outils MCP.
Always Allow Command for taskAutoriser une commande shell spécifique pour le reste de la tâche.
RejectRefuser l'appel d'outil. Bob Shell ne continue pas avec l'action.

Tu peux aussi ajouter une note optionnelle lors de l'approbation ou du refus d'un appel. La note est transmise au modèle en tant que contexte supplémentaire.

Pour basculer l'approbation automatique sans ouvrir la boîte de dialogue, appuie sur Ctrl+F sur macOS ou Alt+F sur Windows, Linux et WSL.

Appuie sur Escape pour interrompre Bob pendant qu'une réponse est en cours de diffusion.

Conversations multi-tours

Bob Shell maintient le contexte tout au long de ta conversation, te permettant de :

  • Poser des questions de suivi.
  • Affiner des demandes précédentes.
  • Construire sur des réponses antérieures.

Référencer des fichiers et ressources

Utilise le symbole @ pour référencer des fichiers de ton projet :

Explain the functionality in @src/main.js

Cela indique à Bob Shell de lire et d'analyser le fichier spécifié avant de répondre.

  • Les fichiers sont intégrés jusqu'à 100 Ko par fichier.
  • Le contenu intégré total pour toutes les mentions @ est limité à 500 Ko.
  • Les répertoires affichent jusqu'à 50 entrées.

Tu peux aussi référencer des ressources Model Context Protocol (MCP) exposées par des serveurs connectés en utilisant le format server:resource-name :

@my-server:schema.json

Référencer des skills

Tape $ suivi du nom d'un skill pour ouvrir le sélecteur de skills et insérer une référence de skill dans ton prompt.

Voir les modifications de fichiers

Quand Bob Shell doit modifier des fichiers, il t'affiche les changements proposés dans le terminal avec une vue diff CLI.

Utiliser les slash commands

Tape / pour accéder à un menu de commandes disponibles :

  • Commandes intégrées telles que /help pour obtenir de l'aide
  • Commandes de changement de mode telles que /mode ask
  • Commandes personnalisées que tu as créées

Pour une liste complète des commandes disponibles, consulte Slash commands dans Bob Shell.

File d'attente de messages

Quand Bob diffuse activement une réponse, tu peux mettre en file d'attente des messages supplémentaires plutôt qu'attendre. Appuie sur Tab pour mettre en file d'attente la saisie actuelle. Les messages en file d'attente sont envoyés automatiquement dans l'ordre dès que chaque tour se termine.

ToucheAction
TabMettre en file d'attente la saisie actuelle (ou soumettre immédiatement si inactif)
Déplacer le focus vers la liste de la file d'attente
EnterModifier l'élément sélectionné dans la file d'attente
Tab (dans la file d'attente)Envoyer immédiatement l'élément sélectionné
Delete / BackspaceSupprimer l'élément sélectionné de la file d'attente
Shift+K / Shift+JRéordonner l'élément sélectionné vers le haut / bas

Pied de page de statut

Le pied de page sous le champ de saisie affiche des informations de session en direct :

ChampDescription
ModeNom du mode actif (par exemple, Agent Mode) — un suffixe rouge (auto-approve) apparaît quand l'approbation automatique est activée
ContextTokens utilisés par rapport à la taille de la fenêtre de contexte, avec un pourcentage
CostCoût accumulé pour la tâche actuelle en Bobcoins (🅞)

Gestion des sessions

Reprendre une session précédente

Tu peux reprendre une session précédente au démarrage de bob chat :

bob chat --resume <task-id>
bob chat --resume latest

Pour trouver l'ID de tâche d'une session précédente, utilise bob --list-tasks :

bob --list-tasks

Se connecter à une instance nommée

Utilise --instance-id pour te connecter à une instance nommée spécifique plutôt que d'en démarrer une nouvelle :

bob chat --instance-id my-project

Flags utilitaires généraux

Certains flags sont invoqués directement avec bob, pas avec bob chat ou bob run. Les flags suivants sont disponibles :

FlagDescription
--list-tasks [n|all]Lister les tâches sauvegardées pour le workspace actuel et quitter. Par défaut 20. Passe un nombre ou all pour contrôler combien sont affichées.
--limit <n>Nombre maximum de tâches à afficher avec --list-tasks.
--show-licenseAfficher le contrat de licence IBM et quitter.

Sortie lisible par machine

Quand stdout n'est pas un TTY — par exemple, quand tu rediriges ou canalises la sortie — --list-tasks passe d'un tableau lisible par l'humain à NDJSON, avec un objet JSON par ligne.

Chaque ligne a la forme suivante :

{"id":"<uuid>","title":"<string>","status":"<string>","workspace":"<file-uri>","updatedAt":<unix-ms>}
ChampTypeDescription
idstring (UUID)Identifiant unique de tâche, utilisable avec --resume
titlestringTitre de la tâche, revenant au premier message, puis id
statusstringStatut de la tâche (active, completed, paused)
workspacestring (file URI)Chemin absolu du workspace en tant qu'URI file:
updatedAtnumberHorodatage de dernière mise à jour en millisecondes Unix

Exemples

# Canaliser vers jq
bob --list-tasks all | jq '.id'

# Sauvegarder dans un fichier puis traiter
bob --list-tasks 100 > tasks.ndjson

# Afficher le contrat de licence
bob --show-license

Options

OptionDescription
--instance-id <id>Se connecter à une instance nommée spécifique plutôt que d'en démarrer une nouvelle
--resume <task-id>Reprendre une tâche précédente par son ID
--resume latestReprendre la tâche la plus récente
--mode <mode>Mode de démarrage (par exemple, agent, plan, ask)
--log-level <level>Verbosité des logs : error, warn, info, debug, ou trace
--auto-approveSupprimer les invites d'approbation d'outils pour la session. N'a aucun effet dans les dossiers non fiables.
--trustPersister le dossier actuel comme fiable, en sautant la boîte de dialogue de confiance du premier accès. Équivalent à sélectionner manuellement « Faire confiance au dossier ». Voir Dossiers fiables.
--team-id <id>Exécuter sous un ID d'équipe spécifique (requis lors de l'utilisation d'une clé API de type general)
Comment trouvez-vous ce sujet ?