Konfiguration

Benutzerdefinierte Modi

Passe Bobs Verhalten an, indem du benutzerdefinierte Modi mit spezialisierten Rollen, Werkzeugeinschränkungen und Team-Workflows erstellst. Konfiguriere sie global oder pro Projekt im YAML-Format.

Warum benutzerdefinierte Modi verwenden

  • Spezialisierung: Optimieren Sie Modi für bestimmte Aufgaben wie Dokumentationserstellung, Test-Engineering oder Sicherheitsüberprüfungen
  • Sicherheit: Beschränken Sie Befehle oder Dateizugriff für sensible Operationen
  • Teamzusammenarbeit: Teilen Sie standardisierte Workflows in Ihrem Team
  • Experimentieren: Testen Sie verschiedene Konfigurationen, ohne andere Modi zu beeinflussen

Moduskomponenten

KomponenteBeschreibung
SlugEindeutige Kennung, die intern und für modusspezifische Anweisungsdateien verwendet wird
NameAnzeigename, der in der Bob-Oberfläche angezeigt wird
RollendefinitionKernidentität und Expertise, die Bobs Persönlichkeit und Verhalten definiert
Wann zu verwenden(Optional) Anleitung, wann dieser Modus zu verwenden ist, wird vom Orchestrator für Aufgabenkoordination verwendet
Verfügbare WerkzeugeWerkzeuggruppen und Dateizugriffsberechtigungen, die der Modus verwenden kann
Benutzerdefinierte Anweisungen(Optional) Zusätzliche Verhaltensrichtlinien oder Regeln
Beschreibung(Optional) Kurze Zusammenfassung, die in der Modusauswahl angezeigt wird
Erlaubte Subagenten(Optional) Beschränkt, welche Subagenten-Voreinstellungen der Modus verwenden kann

Wie man benutzerdefinierte Modi erstellt

Sie können benutzerdefinierte Modi erstellen, indem Sie das Einstellungsmenü verwenden oder Konfigurationsdateien manuell bearbeiten.

Das Einstellungsmenü verwenden

  1. Klicken Sie auf das -Symbol im Bob-Panel, um die Einstellungen zu öffnen.
  2. Wählen Sie die Registerkarte Modi.
  3. Klicken Sie auf die -Schaltfläche, um einen neuen Modus zu erstellen.
  4. Füllen Sie die Felder für Name, Slug, Speicherort, Rollendefinition, Wann zu verwenden (optional), Beschreibung (optional), Verfügbare Werkzeuge und Benutzerdefinierte Anweisungen aus.
  5. Klicken Sie auf Speichern.

Bob speichert den neuen Modus im YAML-Format. Sie können Dateityp-Einschränkungen für die edit-Werkzeuggruppe durch manuelle YAML-Konfiguration hinzufügen.

Konfigurationsdateien manuell bearbeiten

Sie können Moduskonfigurationsdateien im YAML-Format manuell bearbeiten:

  • Globale Modi: Bearbeiten Sie ~/.bob/settings/custom_modes.yaml über Einstellungen → Modi → Globale Modi bearbeiten
  • Projektmodi: Bearbeiten Sie .bob/custom_modes.yaml in Ihrem Projekt. Klicken Sie auf Einstellungen → Modi → Projektmodi bearbeiten

Diese Dateien definieren ein Array von benutzerdefinierten Modi im YAML-Format.

Beispiel (~/.bob/settings/custom_modes.yaml oder .bob/custom_modes.yaml):

customModes:
  - slug: docs-writer
    name: 📝 Dokumentationsschreiber
    description: Schreibt und überarbeitet Markdown-Dokumentation.
    roleDefinition: Sie sind ein technischer Redakteur, der sich auf klare Dokumentation spezialisiert hat.
    whenToUse: Verwenden Sie diesen Modus zum Schreiben und Bearbeiten von Dokumentation.
    customInstructions: Konzentrieren Sie sich auf Klarheit und Vollständigkeit in der Dokumentation.
    groups:
      - read
      - - edit
        - fileRegex: ".*\\.(md|mdx)$"
          description: Nur Markdown-Dateien
      - skill

Moduskonfigurationseigenschaften

Verfügbare Werkzeuggruppen

  • read: Dateien und Verzeichnisse lesen
  • edit: Dateien ändern (kann mit fileRegex eingeschränkt werden)
  • execute: Terminal-Befehle ausführen
  • mcp: Auf MCP-Server zugreifen
  • skill: Skills laden
  • workflow: Vordefinierte Workflows starten
  • todo: Aufgaben-Todo-Listen aktualisieren
  • subtask: Unteraufgaben erstellen
  • subagent: Subagenten erzeugen
  • mode: Zu einem anderen Modus wechseln

Dateieinschränkungen für das Bearbeitungswerkzeug

Beschränken Sie, welche Dateien ein Modus bearbeiten kann, mit fileRegex im YAML-Format:

groups:
  - read
  - - edit
    - fileRegex: ".*\\.(js|ts)$"
      description: Nur JavaScript- und TypeScript-Dateien

Häufige Regex-Muster

MusterPasst aufBeispieldateien
.*\.md$Markdown-Dateienreadme.md, docs/guide.md
^src/.*Dateien im src-Verzeichnissrc/app.js, src/components/button.tsx
`.*.(cssscss)$`CSS- und SCSS-Dateien
`^(?!.*(testspec)).*.(jsts)$`
Tipp:

Bitten Sie Bob, Regex-Muster für Sie zu generieren, anstatt sie manuell zu schreiben.

Wichtige Validierungsregeln

  • slug darf nur Buchstaben, Zahlen und Bindestriche verwenden.
  • Halten Sie jeden slug eindeutig. Doppelte Slugs können verhindern, dass Modi korrekt geladen werden.
  • Verwenden Sie nur unterstützte Gruppennamen. Unbekannte Gruppennamen gewähren keinen Zugriff.
  • Wenn Sie groups weglassen, erhält der Modus keine gruppierten Werkzeuge.
  • Wenn Sie allowedSubagents festlegen, sind nur die aufgelisteten Subagenten-Voreinstellungen in diesem Modus verfügbar.
  • Ungültige fileRegex-Werte können verhindern, dass die Modusdatei geladen wird.

Modusspezifische Anweisungen hinzufügen

Sie können modusspezifische Anweisungen entweder mit einer Verzeichnisstruktur (bevorzugt) oder einer einzelnen Datei hinzufügen.

Bevorzugte Methode (Verzeichnisstruktur):

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

Alternative Methode (einzelne Datei):

.bobrules-{mode-slug}

Die Verzeichnismethode hat Vorrang, wenn beide existieren. Dateien im Verzeichnis werden alphabetisch geladen und mit der customInstructions-Eigenschaft aus Ihrer Moduskonfiguration kombiniert.

Um modusspezifische Anweisungen hinzuzufügen:

  1. Erstellen Sie ein .bob/rules-{mode-slug}/-Verzeichnis in Ihrem Projektstamm (oder eine .bobrules-{mode-slug}-Datei).
  2. Fügen Sie Anweisungsdateien zum Verzeichnis hinzu (z.B. 01-style-guide.md und 02-formatting.txt).

Bob lädt diese Anweisungen automatisch, wenn Sie den Modus verwenden.

Wie man Standardmodi überschreibt

Sie können Standard-Bob-Modi (wie Agent, Ask oder Plan) überschreiben, indem Sie einen benutzerdefinierten Modus mit demselben Slug in Ihrer Projektkonfiguration erstellen.

Um einen Standardmodus zu überschreiben:

  1. Klicken Sie auf das -Symbol im Bob-Panel, um die Einstellungen zu öffnen.
  2. Wählen Sie die Registerkarte Modi.
  3. Klicken Sie auf Projektmodi bearbeiten, um die .bob/custom_modes.yaml-Datei zu bearbeiten.
  4. Fügen Sie Ihre Moduskonfiguration mit dem Slug des Standardmodus hinzu, den Sie überschreiben möchten:
customModes:
  - slug: ask  # Entspricht dem Standard-Ask-Modus
    name: ❓ Ask
    roleDefinition: Du bist ein kompetenter Assistent für diese React- und TypeScript-Codebasis.
    whenToUse: Verwende diesen Modus, um Fragen zur Codebasis zu stellen.
    customInstructions: Verweise immer auf relevante Dateien in deinen Antworten. Schlage den Ask-Modus vor, wenn der Benutzer Änderungen vornehmen möchte.
    groups:
      - read
      - mcp
      - skill

Projektspezifische Überschreibungen haben Vorrang vor globalen Überschreibungen, die Vorrang vor Standardwerten haben.

YAML-Format

YAML ist das bevorzugte und empfohlene Format für benutzerdefinierte Modi:

YAML-Vorteile:

  • Besser lesbar mit einrückungsbasierter Struktur
  • Unterstützt Kommentare (#)
  • Sauberere Mehrzeilen-String-Syntax
  • Weniger Interpunktion erforderlich
  • Einfacher zu bearbeiten und zu pflegen

Automatische Migration:

  • Globale Modi: Automatisch von Legacy-custom_modes.json zu custom_modes.yaml beim Start migriert
  • Projektmodi: Beim Bearbeiten über die Benutzeroberfläche in YAML konvertiert

Während Legacy-JSON-Formatdateien aus Gründen der Abwärtskompatibilität weiterhin unterstützt werden, sollten alle neuen Modi im YAML-Format erstellt werden.

Mehr erfahren

Probiere es praktisch aus und erweitere Bobs Fähigkeiten, indem du einen benutzerdefinierten Product-Manager-Modus erstellst.

Wie ist dieses Thema?