Konfiguracja

Ignorowanie plików

Kontroluj, do których plików Bob może uzyskać dostęp, tworząc plik `.bobignore` w swoim projekcie.

Co to jest .bobignore?

  • Cel: Ochrona wrażliwych informacji, zapobieganie przypadkowym zmianom w artefaktach kompilacji lub dużych zasobach oraz ogólne definiowanie zakresu operacyjnego Bob w Twoim obszarze roboczym.
  • Jak używać: Utwórz plik o nazwie .bobignore w katalogu swojego obszaru roboczego. Wymień wzorce w tym pliku, aby poinformować Bob, które pliki i katalogi ma ignorować.

Bob aktywnie monitoruje plik .bobignore. Wszelkie wprowadzone zmiany są automatycznie przeładowywane, zapewniając, że Bob zawsze używa najbardziej aktualnych reguł. Sam plik .bobignore jest zawsze niejawnie ignorowany, więc Bob nie może zmieniać własnych reguł dostępu.

Składnia wzorców

Składnia .bobignore jest identyczna z .gitignore. Oto typowe przykłady:

PrzykładOpis
node_modules/Ignoruje cały katalog node_modules
*.logIgnoruje wszystkie pliki kończące się na .log
config/secrets.jsonIgnoruje określony plik
!important.logWyjątek; Bob nie zignoruje tego konkretnego pliku, nawet jeśli istnieje szerszy wzorzec jak *.log
build/Ignoruje katalog build
docs/**/*.mdIgnoruje wszystkie pliki Markdown w katalogu docs i jego podkatalogach

Aby dowiedzieć się więcej o składni, zapoznaj się z oficjalną dokumentacją Git dotyczącą .gitignore.

Jak narzędzia Bob wchodzą w interakcję z .bobignore

Reguły .bobignore są egzekwowane w narzędziach plikowych Bob:

Narzędzia do odczytu i zapisu

Te narzędzia sprawdzają .bobignore przed każdą operacją na pliku. Jeśli plik pasuje do ignorowanego wzorca, operacja jest blokowana:

  • read_file: Nie czyta ignorowanych plików.
  • write_file: Nie zapisuje ani nie tworzy ignorowanych plików.
  • apply_diff: Nie stosuje różnic do ignorowanych plików.
  • insert_content: Nie wstawia zawartości do ignorowanych plików.
  • search_and_replace: Nie modyfikuje ignorowanych plików.
  • GetSymbolsOverview: Nie analizuje ignorowanych plików w poszukiwaniu symboli kodu.

Odkrywanie i listowanie plików

  • Narzędzie list_files: Ignorowane pliki są pomijane na listach lub oznaczane symbolem 🔒 (patrz "Doświadczenie użytkownika" poniżej).
  • Szczegóły środowiska: Informacje o obszarze roboczym przekazywane Bob, takie jak otwarte karty i struktura projektu, są filtrowane, aby wykluczyć lub oznaczyć ignorowane elementy.

Wykonywanie poleceń

  • Narzędzie execute_command: Bob sprawdza, czy polecenie z predefiniowanej listy (takie jak cat lub grep) jest skierowane do ignorowanego pliku. Jeśli tak, polecenie jest blokowane. Polecenia spoza tej predefiniowanej listy nie są sprawdzane pod kątem .bobignore.

Ograniczenie: .bobignore i ustawienie piaskownicy obszaru roboczego ("Allow outside workspace tool requests") to dwie oddzielne kontrole. .bobignore ogranicza, do których plików w obszarze roboczym mogą uzyskać dostęp narzędzia plikowe Bob. Ustawienie piaskownicy obszaru roboczego kontroluje, czy narzędzia plikowe mogą działać poza katalogiem głównym obszaru roboczego. Żadna z tych kontroli nie ogranicza execute_command dla dowolnych operacji powłoki; polecenie powłoki nadal może tworzyć, modyfikować lub usuwać pliki w dowolnym miejscu, na które pozwala system operacyjny, niezależnie od tych ustawień.

Kluczowe ograniczenia i zakres

  • Skoncentrowane na obszarze roboczym: Reguły .bobignore mają zastosowanie tylko do plików i katalogów w bieżącym katalogu głównym obszaru roboczego Bob. Pliki poza tym zakresem nie są dotknięte.
  • Zakres execute_command: Egzekwowanie .bobignore dla execute_command obejmuje tylko predefiniowaną listę poleceń odczytujących pliki. Dowolne polecenia powłoki nie są ograniczane przez .bobignore ani przez ustawienie piaskownicy obszaru roboczego.
  • Nie jest pełną piaskownicą: .bobignore kontroluje dostęp narzędzi plikowych Bob w obszarze roboczym. Nie tworzy piaskownicy na poziomie systemu i nie ogranicza wykonywania poleceń powłoki.

Doświadczenie użytkownika i powiadomienia

  • Wskazówka wizualna (🔒): Na listach plików pliki ignorowane przez .bobignore mogą być oznaczone symbolem kłódki (🔒), w zależności od ustawienia showbobignoredFiles (domyślnie true).
  • Komunikaty o błędach: Jeśli operacja narzędzia jest zablokowana, Bob otrzymuje błąd: "Dostęp do [file_path] jest zablokowany przez ustawienia pliku .bobignore. Musisz spróbować kontynuować zadanie bez używania tego pliku lub poprosić użytkownika o aktualizację pliku .bobignore."
  • Powiadomienia czatu: Zazwyczaj zobaczysz powiadomienie w interfejsie czatu Bob, gdy akcja jest zablokowana z powodu .bobignore.

Ten przewodnik pomaga zrozumieć funkcję .bobignore, jej możliwości i obecne ograniczenia, dzięki czemu możesz skutecznie zarządzać interakcją Bob z Twoją bazą kodu.

Jak oceniasz ten temat?