Uruchamianie sesji interaktywnej
Sesje interaktywne zapewniają interfejs konwersacyjny z Bob bezpośrednio w terminalu, umożliwiając pomoc w czasie rzeczywistym przy zadaniach deweloperskich.

Kiedy używać sesji interaktywnej
Sesje interaktywne sprawdzają się najlepiej w przypadku:
- Eksploracyjnych sesji kodowania.
- Debugowania i rozwiązywania problemów.
- Nauki nowych koncepcji lub technologii.
- Zadań wymagających wielu wymian zwrotnych.
- Projektów, w których musisz przeglądać zmiany przed ich zastosowaniem.
Uruchamianie sesji interaktywnej
Użyj podpolecenia bob chat, aby uruchomić sesję interaktywną w terminalu.
Składnia
bob chat [options]Uruchamianie sesji
Otwórz nowe okno terminala.
Gdy uruchamiasz Bob Shell po raz pierwszy, musisz zalogować się za pomocą IBMid i zaakceptować umowę licencyjną.
Przejdź do głównego katalogu swojego projektu.
Uruchom następujące polecenie, aby rozpocząć sesję interaktywną:
bob chatWskazówki dotyczące efektywnego użycia
- Bądź precyzyjny w swoich żądaniach, aby uzyskać bardziej trafne odpowiedzi.
- Używaj odwołań
@, aby zapewnić kontekst kodu w razie potrzeby. - W przypadku złożonych zadań dziel je na mniejsze kroki.
- Używaj slash commands, aby szybko uzyskać dostęp do popularnych funkcji.
- Podczas pracy z dużymi bazami kodu kieruj Bob Shell do najbardziej odpowiednich plików.
Podstawowe użycie
Interakcja z Bob Shell
- Wpisuj instrukcje lub pytania bezpośrednio w terminalu.
- Naciśnij Enter, aby wysłać wiadomość do Bob.
- Bob Shell odpowiada swoją analizą i sugestiami.
- W przypadku użycia narzędzi (np. odczytywania lub zapisywania plików) zostaniesz poproszony o zatwierdzenie lub odrzucenie każdej akcji.
Zatwierdzanie narzędzi
Gdy Bob Shell prosi o użycie narzędzia, pojawia się okno dialogowe zatwierdzenia. Okno dialogowe zapewnia następujące opcje:
| Opcja | Opis |
|---|---|
| Approve Once | Zezwól na wykonanie tego konkretnego wywołania narzędzia. Zostaniesz ponownie zapytany przy kolejnych wywołaniach. |
Approve <group> tools for task | Zezwól na wszystkie narzędzia w tej samej grupie narzędzi na czas trwania zadania. Nie jest wyświetlane dla narzędzi MCP. |
| Always Allow Command for task | Zezwól na konkretne polecenie powłoki na czas trwania zadania. |
| Reject | Odrzuć wywołanie narzędzia. Bob Shell nie kontynuuje akcji. |
Możesz również dodać opcjonalną notatkę podczas zatwierdzania lub odrzucania wywołania. Notatka jest przekazywana do modelu jako dodatkowy kontekst.
Aby przełączyć automatyczne zatwierdzanie bez otwierania okna dialogowego, naciśnij Ctrl+F na macOS lub Alt+F na Windows, Linux i WSL.
Naciśnij Escape, aby przerwać Bob, gdy odpowiedź jest przesyłana strumieniowo.
Rozmowy wieloturowe
Bob Shell utrzymuje kontekst przez całą rozmowę, co pozwala:
- Zadawać pytania uzupełniające.
- Doprecyzowywać poprzednie żądania.
- Budować na wcześniejszych odpowiedziach.
Odwoływanie się do plików i zasobów
Użyj symbolu @, aby odwołać się do plików w swoim projekcie:
Explain the functionality in @src/main.jsInformuje to Bob Shell o odczytaniu i przeanalizowaniu wskazanego pliku przed udzieleniem odpowiedzi.
- Pliki są dołączane do kontekstu do 100 KB na plik.
- Łączna ilość dołączonej treści ze wszystkich wzmianek
@jest ograniczona do 500 KB. - Katalogi pokazują do 50 pozycji.
Możesz też odwoływać się do zasobów Model Context Protocol (MCP) udostępnianych przez połączone serwery, używając formatu server:resource-name:
@my-server:schema.jsonOdwoływanie się do umiejętności
Wpisz $, a następnie nazwę umiejętności, aby otworzyć wybierak umiejętności i wstawić odwołanie do umiejętności w swoim zapytaniu.
Przeglądanie zmian w plikach
Gdy Bob Shell musi zmodyfikować pliki, pokazuje proponowane zmiany w terminalu z widokiem diff CLI.
Używanie slash commands
Wpisz /, aby uzyskać dostęp do menu dostępnych poleceń:
- Wbudowane polecenia, takie jak
/help, w celu uzyskania pomocy - Polecenia przełączania trybów, takie jak
/mode ask - Niestandardowe polecenia, które utworzyłeś
Aby zapoznać się z pełną listą dostępnych poleceń, zobacz Slash commands w Bob Shell.
Kolejka wiadomości
Gdy Bob aktywnie przesyła odpowiedź strumieniowo, możesz kolejkować dodatkowe wiadomości zamiast czekać. Naciśnij Tab, aby umieścić bieżące dane wejściowe w kolejce. Wiadomości w kolejce są wysyłane automatycznie w kolejności, gdy tylko każda tura dobiegnie końca.
| Klawisz | Akcja |
|---|---|
Tab | Dodaj bieżące dane do kolejki (lub wyślij natychmiast, gdy bezczynny) |
↑ | Przenieś fokus na listę kolejki |
Enter | Edytuj wybrany element w kolejce |
Tab (w kolejce) | Wyślij wybrany element natychmiast |
Delete / Backspace | Usuń wybrany element z kolejki |
Shift+K / Shift+J | Zmień kolejność wybranego elementu w górę / w dół |
Stopka statusu
Stopka poniżej pola wprowadzania pokazuje informacje o bieżącej sesji na żywo:
| Pole | Opis |
|---|---|
| Mode | Nazwa aktywnego trybu (na przykład Agent Mode) — czerwony sufiks (auto-approve) pojawia się, gdy automatyczne zatwierdzanie jest włączone |
| Context | Zużyte tokeny w stosunku do rozmiaru okna kontekstu, z wartością procentową |
| Cost | Skumulowany koszt bieżącego zadania w Bobcoinach (🅞) |
Zarządzanie sesją
Wznawianie poprzedniej sesji
Możesz wznowić poprzednią sesję podczas uruchamiania bob chat:
bob chat --resume <task-id>
bob chat --resume latestAby znaleźć identyfikator zadania poprzedniej sesji, użyj bob --list-tasks:
bob --list-tasksPrzyłączanie do nazwanej instancji
Użyj --instance-id, aby przyłączyć się do konkretnej nazwanej instancji zamiast uruchamiać nową:
bob chat --instance-id my-projectOgólne flagi narzędziowe
Niektóre flagi są wywoływane bezpośrednio za pomocą bob, a nie bob chat lub bob run. Dostępne są następujące flagi:
| Flaga | Opis |
|---|---|
--list-tasks [n|all] | Wyświetl zapisane zadania dla bieżącego workspace i zakończ. Domyślnie 20. Przekaż liczbę lub all, aby kontrolować, ile jest wyświetlanych. |
--limit <n> | Maksymalna liczba zadań do wyświetlenia za pomocą --list-tasks. |
--show-license | Wyświetl umowę licencyjną IBM i zakończ. |
Dane wyjściowe czytelne maszynowo
Gdy stdout nie jest TTY — na przykład podczas przekierowywania lub potokowania danych wyjściowych — --list-tasks przełącza się z tabeli czytelnej dla człowieka na NDJSON, z jednym obiektem JSON na wiersz.
Każdy wiersz ma następującą postać:
{"id":"<uuid>","title":"<string>","status":"<string>","workspace":"<file-uri>","updatedAt":<unix-ms>}| Pole | Typ | Opis |
|---|---|---|
id | string (UUID) | Unikalny identyfikator zadania, możliwy do użycia z --resume |
title | string | Tytuł zadania, powrót do pierwszej wiadomości, następnie id |
status | string | Status zadania (active, completed, paused) |
workspace | string (file URI) | Bezwzględna ścieżka workspace jako URI file: |
updatedAt | number | Znacznik czasu ostatniej aktualizacji w milisekundach Unix |
Przykłady
# Potok do jq
bob --list-tasks all | jq '.id'
# Zapisz do pliku, a następnie przetwórz
bob --list-tasks 100 > tasks.ndjson
# Wyświetl umowę licencyjną
bob --show-licenseOpcje
| Opcja | Opis |
|---|---|
--instance-id <id> | Przyłącz do konkretnej nazwanej instancji zamiast uruchamiać nową |
--resume <task-id> | Wznów poprzednie zadanie według identyfikatora zadania |
--resume latest | Wznów najnowsze zadanie |
--mode <mode> | Tryb startowy (na przykład agent, plan, ask) |
--log-level <level> | Szczegółowość logów: error, warn, info, debug lub trace |
--auto-approve | Pomija monity o zatwierdzenie narzędzi dla sesji. Nie ma efektu w niezaufanych folderach. |
--trust | Trwale oznacza bieżący folder jako zaufany, pomijając okno dialogowe zaufania przy pierwszym dostępie. Równoważne ręcznemu wybraniu „Zaufaj folderowi". Zobacz Zaufane foldery. |
--team-id <id> | Uruchom pod określonym identyfikatorem zespołu (wymagane przy użyciu klucza API typu general) |
Odinstalowywanie
Usuń Bob Shell ze swojego systemu, używając odpowiedniej metody dla swojej instalacji.
Uruchamianie sesji nieinteraktywnej
Sesje nieinteraktywne umożliwiają korzystanie z Bob Shell bezpośrednio z wiersza poleceń bez wchodzenia w sesję interaktywną. Użyj do automatyzacji, skryptów i zadań wsadowych.