Konfiguracja

Niestandardowe tryby

Dostosuj działanie Bob, tworząc niestandardowe tryby ze specjalizowanymi rolami, ograniczeniami narzędzi i zespołowymi workflow. Konfiguruj je globalnie lub dla konkretnego projektu w formacie YAML.

Dlaczego warto używać niestandardowych trybów

  • Specjalizacja: Optymalizuj tryby dla określonych zadań, takich jak pisanie dokumentacji, inżynieria testów lub przeglądy bezpieczeństwa
  • Bezpieczeństwo: Ogranicz polecenia lub dostęp do plików dla wrażliwych operacji
  • Współpraca zespołowa: Udostępniaj ustandaryzowane przepływy pracy w całym zespole
  • Eksperymentowanie: Testuj różne konfiguracje bez wpływu na inne tryby

Komponenty trybu

KomponentOpis
SlugUnikalny identyfikator używany wewnętrznie i dla plików instrukcji specyficznych dla trybu
NazwaNazwa wyświetlana pokazywana w interfejsie Bob
Definicja roliPodstawowa tożsamość i wiedza specjalistyczna, która definiuje osobowość i zachowanie Bob
Kiedy używać(Opcjonalne) Wskazówki dotyczące tego, kiedy używać tego trybu, używane przez Orchestrator do koordynacji zadań
Dostępne narzędziaGrupy narzędzi i uprawnienia dostępu do plików, których może używać tryb
Niestandardowe instrukcje(Opcjonalne) Dodatkowe wytyczne behawioralne lub reguły
Opis(Opcjonalne) Krótkie podsumowanie wyświetlane w selektorze trybów
Dozwolone subagenty(Opcjonalne) Ogranicza, których presetów subagentów może używać tryb

Jak tworzyć niestandardowe tryby

Możesz tworzyć niestandardowe tryby, używając menu ustawień lub ręcznie edytując pliki konfiguracyjne.

Użyj menu ustawień

  1. Kliknij ikonę w panelu Bob, aby otworzyć Ustawienia.
  2. Wybierz kartę Tryby.
  3. Kliknij przycisk , aby utworzyć nowy tryb.
  4. Wypełnij pola dla Nazwa, Slug, Lokalizacja zapisu, Definicja roli, Kiedy używać (opcjonalne), Opis (opcjonalne), Dostępne narzędzia i Niestandardowe instrukcje.
  5. Kliknij Zapisz.

Bob zapisuje nowy tryb w formacie YAML. Możesz dodać ograniczenia typu pliku dla grupy narzędzi edit poprzez ręczną konfigurację YAML.

Edytuj pliki konfiguracyjne ręcznie

Możesz ręcznie edytować pliki konfiguracyjne trybu w formacie YAML:

  • Tryby globalne: Edytuj ~/.bob/settings/custom_modes.yaml przez Ustawienia → Tryby → Edytuj tryby globalne
  • Tryby projektu: Edytuj .bob/custom_modes.yaml w swoim projekcie. Kliknij Ustawienia → Tryby → Edytuj tryby projektu

Te pliki definiują tablicę niestandardowych trybów w formacie YAML.

Przykład (~/.bob/settings/custom_modes.yaml lub .bob/custom_modes.yaml):

customModes:
  - slug: docs-writer
    name: 📝 Documentation Writer
    description: Pisze i poprawia dokumentację Markdown.
    roleDefinition: Jesteś pisarzem technicznym specjalizującym się w jasnej dokumentacji.
    whenToUse: Użyj tego trybu do pisania i edytowania dokumentacji.
    customInstructions: Skup się na jasności i kompletności w dokumentacji.
    groups:
      - read
      - - edit
        - fileRegex: ".*\\.(md|mdx)$"
          description: Tylko pliki Markdown
      - skill

Właściwości konfiguracji trybu

Dostępne grupy narzędzi

  • read: Czytaj pliki i katalogi
  • edit: Modyfikuj pliki (można ograniczyć za pomocą fileRegex)
  • execute: Wykonuj polecenia terminala
  • mcp: Uzyskaj dostęp do serwerów MCP
  • skill: Ładuj umiejętności
  • workflow: Uruchamiaj predefiniowane przepływy pracy
  • todo: Aktualizuj listy zadań TODO
  • subtask: Twórz podzadania
  • subagent: Twórz subagenty
  • mode: Przełącz na inny tryb

Ograniczenia plików dla narzędzia edit

Ogranicz, które pliki może edytować tryb, używając fileRegex w formacie YAML:

groups:
  - read
  - - edit
    - fileRegex: ".*\\.(js|ts)$"
      description: Tylko pliki JavaScript i TypeScript

Typowe wzorce regex

WzorzecDopasowujePrzykładowe pliki
.*\.md$Pliki Markdownreadme.md, docs/guide.md
^src/.*Pliki w katalogu srcsrc/app.js, src/components/button.tsx
`.*.(cssscss)$`Pliki CSS i SCSS
`^(?!.*(testspec)).*.(jsts)$`
Wskazówka:

Poproś Bob o wygenerowanie wzorców regex zamiast pisać je ręcznie.

Ważne reguły walidacji

  • slug musi używać tylko liter, cyfr i myślników.
  • Zachowaj unikalność każdego slug. Duplikaty slug mogą uniemożliwić prawidłowe ładowanie trybów.
  • Używaj tylko obsługiwanych nazw grup. Nieznane nazwy grup nie przyznają dostępu.
  • Jeśli pominiesz groups, tryb nie otrzyma żadnych zgrupowanych narzędzi.
  • Jeśli ustawisz allowedSubagents, tylko wymienione presety subagentów będą dostępne w tym trybie.
  • Nieprawidłowe wartości fileRegex mogą uniemożliwić załadowanie pliku trybu.

Dodaj instrukcje specyficzne dla trybu

Możesz dodać instrukcje specyficzne dla trybu, używając struktury katalogów (preferowane) lub pojedynczego pliku.

Preferowana metoda (struktura katalogów):

01-style-guide.md
02-formatting.txt

Alternatywna metoda (pojedynczy plik):

.bobrules-{mode-slug}

Metoda katalogowa ma pierwszeństwo, jeśli istnieją obie. Pliki w katalogu są ładowane alfabetycznie i łączone z właściwością customInstructions z konfiguracji trybu.

Aby dodać instrukcje specyficzne dla trybu:

  1. Utwórz katalog .bob/rules-{mode-slug}/ w katalogu głównym projektu (lub plik .bobrules-{mode-slug}).
  2. Dodaj pliki instrukcji do katalogu (na przykład 01-style-guide.md i 02-formatting.txt).

Bob automatycznie ładuje te instrukcje, gdy używasz trybu.

Jak nadpisać domyślne tryby

Możesz nadpisać domyślne tryby Bob (takie jak Agent, Ask lub Plan), tworząc niestandardowy tryb z tym samym slug w konfiguracji projektu.

Aby nadpisać domyślny tryb:

  1. Kliknij ikonę w panelu Bob, aby otworzyć Ustawienia.
  2. Wybierz kartę Tryby.
  3. Kliknij Edytuj tryby projektu, aby edytować plik .bob/custom_modes.yaml.
  4. Dodaj konfigurację trybu ze slug domyślnego trybu, który chcesz nadpisać:
customModes:
  - slug: ask  # Dopasowuje domyślny tryb Ask
    name: ❓ Ask
    roleDefinition: Jesteś kompetentnym asystentem dla tej bazy kodu React i TypeScript.
    whenToUse: Używaj tego trybu do zadawania pytań o bazę kodu.
    customInstructions: Zawsze odwołuj się do odpowiednich plików w odpowiedziach. Zasugeruj tryb Ask, jeśli użytkownik próbuje wprowadzić zmiany.
    groups:
      - read
      - mcp
      - skill

Nadpisania specyficzne dla projektu mają pierwszeństwo przed nadpisaniami globalnymi, które mają pierwszeństwo przed wartościami domyślnymi.

Format YAML

YAML jest preferowanym i zalecanym formatem dla niestandardowych trybów:

Zalety YAML:

  • Bardziej czytelny dzięki strukturze opartej na wcięciach
  • Obsługuje komentarze (#)
  • Czystsza składnia wieloliniowych ciągów znaków
  • Wymaga mniej znaków interpunkcyjnych
  • Łatwiejszy do edycji i utrzymania

Automatyczna migracja:

  • Tryby globalne: Automatycznie migrowane z przestarzałego custom_modes.json do custom_modes.yaml przy uruchomieniu
  • Tryby projektu: Konwertowane do YAML podczas edycji przez UI

Chociaż pliki w przestarzałym formacie JSON są nadal obsługiwane ze względu na kompatybilność wsteczną, wszystkie nowe tryby powinny być tworzone w formacie YAML.

Dowiedz się więcej

Wypróbuj to w praktyce i rozszerz możliwości Bob, tworząc niestandardowy tryb product managera.

Jak oceniasz ten temat?