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
| Komponent | Opis |
|---|---|
| Slug | Unikalny identyfikator używany wewnętrznie i dla plików instrukcji specyficznych dla trybu |
| Nazwa | Nazwa wyświetlana pokazywana w interfejsie Bob |
| Definicja roli | Podstawowa 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ędzia | Grupy 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ń
- Kliknij ikonę w panelu Bob, aby otworzyć Ustawienia.
- Wybierz kartę Tryby.
- Kliknij przycisk , aby utworzyć nowy tryb.
- Wypełnij pola dla Nazwa, Slug, Lokalizacja zapisu, Definicja roli, Kiedy używać (opcjonalne), Opis (opcjonalne), Dostępne narzędzia i Niestandardowe instrukcje.
- 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.yamlprzez Ustawienia → Tryby → Edytuj tryby globalne - Tryby projektu: Edytuj
.bob/custom_modes.yamlw 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
- skillWłaściwości konfiguracji trybu
Dostępne grupy narzędzi
read: Czytaj pliki i katalogiedit: Modyfikuj pliki (można ograniczyć za pomocąfileRegex)execute: Wykonuj polecenia terminalamcp: Uzyskaj dostęp do serwerów MCPskill: Ładuj umiejętnościworkflow: Uruchamiaj predefiniowane przepływy pracytodo: Aktualizuj listy zadań TODOsubtask: Twórz podzadaniasubagent: Twórz subagentymode: 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 TypeScriptTypowe wzorce regex
| Wzorzec | Dopasowuje | Przykładowe pliki |
|---|---|---|
.*\.md$ | Pliki Markdown | readme.md, docs/guide.md |
^src/.* | Pliki w katalogu src | src/app.js, src/components/button.tsx |
| `.*.(css | scss)$` | Pliki CSS i SCSS |
| `^(?!.*(test | spec)).*.(js | ts)$` |
Poproś Bob o wygenerowanie wzorców regex zamiast pisać je ręcznie.
Ważne reguły walidacji
slugmusi 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
fileRegexmogą 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):
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:
- Utwórz katalog
.bob/rules-{mode-slug}/w katalogu głównym projektu (lub plik.bobrules-{mode-slug}). - Dodaj pliki instrukcji do katalogu (na przykład
01-style-guide.mdi02-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:
- Kliknij ikonę w panelu Bob, aby otworzyć Ustawienia.
- Wybierz kartę Tryby.
- Kliknij Edytuj tryby projektu, aby edytować plik
.bob/custom_modes.yaml. - 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
- skillNadpisania 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.jsondocustom_modes.yamlprzy 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.
Ignorowanie plików
Kontroluj, do których plików Bob może uzyskać dostęp, tworząc plik `.bobignore` w swoim projekcie.
Persony agentów
Twórz wielokrotnego użytku pliki person, które definiują rolę, fokus i dostęp do tooli subagenta. Określ, czego szuka subagent, jak formatuje wyniki i czego nie może robić.