Starten einer interaktiven Sitzung
Interaktive Sitzungen bieten eine Konversationsschnittstelle zu Bob direkt in deinem Terminal und ermöglichen Echtzeitunterstützung bei deinen Entwicklungsaufgaben.

Wann eine interaktive Sitzung sinnvoll ist
Interaktive Sitzungen eignen sich am besten für:
- Explorative Coding-Sitzungen.
- Debugging und Fehlerbehebung.
- Erlernen neuer Konzepte oder Technologien.
- Aufgaben, die mehrere Hin-und-Her-Austausche erfordern.
- Projekte, bei denen du Änderungen vor der Anwendung prüfen möchtest.
Interaktive Sitzung starten
Verwende den Unterbefehl bob chat, um eine interaktive Sitzung in deinem Terminal zu starten.
Syntax
bob chat [options]Sitzung starten
Öffne ein neues Terminalfenster.
Wenn du Bob Shell zum ersten Mal startest, musst du dich mit deiner IBMid anmelden und die Lizenzvereinbarung akzeptieren.
Navigiere zum Hauptverzeichnis deines Projekts.
Führe den folgenden Befehl aus, um eine interaktive Sitzung zu starten:
bob chatTipps für effektive Nutzung
- Sei spezifisch in deinen Anfragen, um gezieltere Antworten zu erhalten.
- Verwende
@-Referenzen, um bei Bedarf Code-Kontext bereitzustellen. - Teile komplexe Aufgaben in kleinere Schritte auf.
- Nutze Slash-Befehle, um schnell auf häufige Funktionen zuzugreifen.
- Weise Bob Shell bei großen Codebasen auf die relevantesten Dateien hin.
Grundlegende Verwendung
Mit Bob Shell interagieren
- Gib deine Anweisungen oder Fragen direkt im Terminal ein.
- Drücke Enter, um deine Nachricht an Bob zu senden.
- Bob Shell antwortet mit seiner Analyse und Vorschlägen.
- Bei der Tool-Nutzung (z. B. Lesen oder Schreiben von Dateien) wirst du aufgefordert, jede Aktion zu genehmigen oder abzulehnen.
Tool-Genehmigungen
Wenn Bob Shell ein Tool verwenden möchte, erscheint ein Genehmigungsdialog. Der Dialog bietet folgende Optionen:
| Option | Beschreibung |
|---|---|
| Approve Once | Diesen spezifischen Tool-Aufruf zulassen. Du wirst bei zukünftigen Aufrufen erneut gefragt. |
Approve <group> tools for task | Alle Tools in derselben Tool-Gruppe für den Rest der Aufgabe zulassen. Wird für MCP-Tools nicht angezeigt. |
| Always Allow Command for task | Einen bestimmten Shell-Befehl für den Rest der Aufgabe zulassen. |
| Reject | Den Tool-Aufruf ablehnen. Bob Shell führt die Aktion nicht aus. |
Du kannst beim Genehmigen oder Ablehnen eines Aufrufs auch eine optionale Notiz hinzufügen. Die Notiz wird dem Modell als zusätzlicher Kontext weitergeleitet.
Um Auto-Approve umzuschalten, ohne den Genehmigungsdialog zu öffnen, drücke Ctrl+F auf macOS oder Alt+F auf Windows, Linux und WSL.
Drücke Escape, um Bob während des Streamens einer Antwort zu unterbrechen.
Mehrstufige Konversationen
Bob Shell behält den Kontext während der gesamten Konversation bei und ermöglicht dir:
- Folgefragen zu stellen.
- Frühere Anfragen zu verfeinern.
- Auf früheren Antworten aufzubauen.
Dateien und Ressourcen referenzieren
Verwende das Symbol @, um auf Dateien in deinem Projekt zu verweisen:
Explain the functionality in @src/main.jsBob Shell liest und analysiert die angegebene Datei, bevor es antwortet.
- Dateien werden bis zu 100 KB pro Datei eingebettet.
- Der gesamte eingebettete Inhalt über alle
@-Erwähnungen hinweg ist auf 500 KB begrenzt. - Verzeichnisse zeigen bis zu 50 Einträge an.
Du kannst auch Model Context Protocol (MCP)-Ressourcen, die von verbundenen Servern bereitgestellt werden, im Format server:resource-name referenzieren:
@my-server:schema.jsonSkills referenzieren
Gib $ gefolgt von einem Skill-Namen ein, um den Skill-Picker zu öffnen und eine Skill-Referenz in deine Eingabe einzufügen.
Dateiänderungen anzeigen
Wenn Bob Shell Dateien ändern muss, werden die vorgeschlagenen Änderungen im Terminal als CLI-Diff-Ansicht dargestellt.
Slash-Befehle verwenden
Gib / ein, um ein Menü verfügbarer Befehle aufzurufen:
- Integrierte Befehle wie
/helpzur Hilfe - Moduswechselbefehle wie
/mode ask - Von dir erstellte benutzerdefinierte Befehle
Eine vollständige Liste der verfügbaren Befehle findest du unter Slash-Befehle in Bob Shell.
Nachrichtenwarteschlange
Wenn Bob gerade eine Antwort streamt, kannst du weitere Nachrichten in die Warteschlange stellen, anstatt zu warten. Drücke Tab, um die aktuelle Eingabe in die Warteschlange zu stellen. Nachrichten in der Warteschlange werden automatisch der Reihe nach gesendet, sobald jede Runde abgeschlossen ist.
| Taste | Aktion |
|---|---|
Tab | Aktuelle Eingabe in die Warteschlange stellen (oder sofort senden, wenn inaktiv) |
↑ | Fokus in die Warteschlangenliste verschieben |
Enter | Ausgewähltes Element in der Warteschlange bearbeiten |
Tab (in der Warteschlange) | Ausgewähltes Element sofort senden |
Delete / Backspace | Ausgewähltes Element aus der Warteschlange entfernen |
Shift+K / Shift+J | Ausgewähltes Element nach oben / unten verschieben |
Statusfußzeile
Die Fußzeile unterhalb des Eingabefelds zeigt Live-Sitzungsinformationen:
| Feld | Beschreibung |
|---|---|
| Mode | Name des aktiven Modus (z. B. Agent Mode) — ein roter (auto-approve)-Zusatz erscheint, wenn Auto-Approve aktiviert ist |
| Context | Verwendete Tokens im Verhältnis zur Kontextfenstergröße, mit Prozentangabe |
| Cost | Akkumulierte Kosten für die aktuelle Aufgabe in Bobcoins (🅞) |
Sitzungsverwaltung
Vorherige Sitzung fortsetzen
Du kannst eine vorherige Sitzung beim Start von bob chat fortsetzen:
bob chat --resume <task-id>
bob chat --resume latestUm die Task-ID einer früheren Sitzung zu finden, verwende bob --list-tasks:
bob --list-tasksAn eine benannte Instanz anhängen
Verwende --instance-id, um an eine bestimmte benannte Instanz anzuhängen statt eine neue zu starten:
bob chat --instance-id my-projectAllgemeine Utility-Flags
Einige Flags werden direkt mit bob aufgerufen, nicht mit bob chat oder bob run. Die folgenden Flags sind verfügbar:
| Flag | Beschreibung |
|---|---|
--list-tasks [n|all] | Gespeicherte Aufgaben für den aktuellen Workspace auflisten und beenden. Standardmäßig 20. Übergib eine Zahl oder all, um zu steuern, wie viele angezeigt werden. |
--limit <n> | Maximale Anzahl der mit --list-tasks anzuzeigenden Aufgaben. |
--show-license | Die IBM-Lizenzvereinbarung anzeigen und beenden. |
Maschinenlesbarer Output
Wenn stdout kein TTY ist — zum Beispiel beim Pipen oder Umleiten der Ausgabe — wechselt --list-tasks von einer menschenlesbaren Tabelle zu NDJSON, mit einem JSON-Objekt pro Zeile.
Jede Zeile hat folgende Form:
{"id":"<uuid>","title":"<string>","status":"<string>","workspace":"<file-uri>","updatedAt":<unix-ms>}| Feld | Typ | Beschreibung |
|---|---|---|
id | string (UUID) | Eindeutige Aufgaben-ID, verwendbar mit --resume |
title | string | Aufgabentitel, fällt zurück auf erste Nachricht, dann id |
status | string | Aufgabenstatus (active, completed, paused) |
workspace | string (file URI) | Absoluter Workspace-Pfad als file:-URI |
updatedAt | number | Zeitstempel der letzten Aktualisierung in Unix-Millisekunden |
Beispiele
# In jq pipen
bob --list-tasks all | jq '.id'
# In Datei speichern und dann verarbeiten
bob --list-tasks 100 > tasks.ndjson
# Lizenzvereinbarung anzeigen
bob --show-licenseOptionen
| Option | Beschreibung |
|---|---|
--instance-id <id> | An eine bestimmte benannte Instanz anhängen statt eine neue zu starten |
--resume <task-id> | Eine vorherige Aufgabe anhand der Task-ID fortsetzen |
--resume latest | Die zuletzt bearbeitete Aufgabe fortsetzen |
--mode <mode> | Startmodus (z. B. agent, plan, ask) |
--log-level <level> | Protokoll-Ausführlichkeit: error, warn, info, debug oder trace |
--auto-approve | Tool-Genehmigungsdialoge für die Sitzung unterdrücken. Hat keine Auswirkung in nicht vertrauenswürdigen Ordnern. |
--trust | Den aktuellen Ordner dauerhaft als vertrauenswürdig markieren und den ersten Vertrauensdialog überspringen. Entspricht der manuellen Auswahl von „Ordner vertrauen". Siehe Vertrauenswürdige Ordner. |
--team-id <id> | Unter einer bestimmten Team-ID ausführen (erforderlich bei Verwendung eines API-Schlüssels vom Typ general) |
Deinstallation
Entferne Bob Shell von deinem System mit der passenden Methode für deine Installation.
Starten einer nicht-interaktiven Sitzung
Nicht-interaktive Sitzungen bieten eine Methode zur Verwendung von Bob Shell direkt von der Befehlszeile aus, ohne eine interaktive Sitzung zu starten. Geeignet für Automatisierung, Skripting und Stapelverarbeitungsaufgaben.