Slash-Befehle
Erstelle benutzerdefinierte Slash-Befehle, um Workflows zu automatisieren und Teampraktiken zu standardisieren.
Gib zum Einstieg / in Bob Shell ein, um alle verfügbaren Befehle zu sehen, oder erstelle deine eigenen, indem du eine Markdown-Datei zu .bob/commands/ oder ~/.bob/commands/ hinzufügst.
Integrierte Befehle
Bob Shell enthält die folgenden integrierten Slash-Befehle:
| Befehl | Aliases | Beschreibung |
|---|---|---|
/help | Alle verfügbaren Slash-Befehle anzeigen | |
/clear | Bildschirm leeren und Konversationsverlauf zurücksetzen | |
/condense | Das Kontextfenster intelligent komprimieren, um Platz freizugeben | |
/copy | Ein Element aus dem Konversationsverlauf in die Zwischenablage kopieren | |
/mode | Den aktiven Modus wechseln (öffnet einen Picker) | |
/permissions | /trust | Tool-Genehmigungsberechtigungen anzeigen und verwalten |
/resume | /history | Eine frühere Konversation durchsuchen und fortsetzen |
/settings | Bob Shell-Einstellungen anzeigen und bearbeiten | |
/mcp | Konfigurierte MCP-Server verwalten | |
/manage-secrets | Secrets für MCP-Server-Konfigurationen verwalten | |
/skills | Eine Skill-Referenz in den Prompt einfügen | |
/init | Bob im aktuellen Workspace initialisieren | |
/status | Sitzungsstatus, Nutzung und Versionsinformationen anzeigen | |
/team | Ein Team auswählen | |
/logs | Die neueste Protokolldatei mit dem System-Viewer öffnen | |
/docs | Bob Shell-Dokumentation im Browser öffnen | |
/bug | Einen Fehlerbericht einreichen | |
/exit | /quit, /close | Die CLI beenden |
/manage-secrets-Unterbefehle
Secrets ermöglichen es dir, sensible Werte (wie API-Schlüssel) zu speichern und sie in MCP-Server-Konfigurationen zu referenzieren, ohne sie fest einzukodieren.
| Unterbefehl | Verwendung | Beschreibung |
|---|---|---|
set | /manage-secrets set KEY VALUE | Einen Secret-Wert speichern |
list | /manage-secrets list | Alle gespeicherten Secret-Schlüssel auflisten |
rm | /manage-secrets rm KEY | Einen gespeicherten Secret entfernen |
Secrets werden verschlüsselt in ~/.bob/settings/ gespeichert und können in MCP-Server-Konfigurationen mit der ${KEY}-Syntax referenziert werden.
Warum Slash-Befehle verwenden?
Slash-Befehle bieten mehrere wichtige Vorteile:
- Workflow-Automatisierung: Komplexe mehrstufige Prozesse in einzelne Befehle umwandeln
- Team-Standardisierung: Befehle im gesamten Team für konsistente Praktiken teilen
- Kontexterhaltung: Projektspezifischen Kontext in jedem Befehl einbeziehen
- Schneller Zugriff: Fuzzy-Suche und Autovervollständigung für sofortige Befehlserkennung
Wie Slash-Befehle funktionieren
Wenn du / in Bob Shell eingibst, erscheint ein Menü mit allen verfügbaren Befehlen. Diese Befehle kommen aus zwei Quellen:
| Befehlstyp | Quelle | Zweck |
|---|---|---|
| Benutzerdefinierte Workflow-Befehle | .bob/commands/ oder ~/.bob/commands/ | Vom Nutzer erstellte Automatisierung für bestimmte Aufgaben |
| Modebefehle | Integrierte und benutzerdefinierte Modi | Bobs Betriebskontext wechseln |
Benutzerdefinierte Befehle erstellen
Benutzerdefinierte Befehle erweitern Bobs Funktionalität durch Hinzufügen von Markdown-Dateien in bestimmte Verzeichnisse:
| Ort | Geltungsbereich | Pfad |
|---|---|---|
| Projektspezifisch | Nur im aktuellen Projekt verfügbar | .bob/commands/ in deinem Workspace-Stammverzeichnis |
| Global | In allen Projekten verfügbar | ~/.bob/commands/ in deinem Home-Verzeichnis |
Der Dateiname wird zum Befehlsnamen. Zum Beispiel:
.bob/commands/
├── review.md → /review
├── test-api.md → /test-api
└── deploy-check.md → /deploy-checkVerarbeitung von Befehlsnamen
Beim Erstellen von Befehlen über die UI verarbeitet Bob Shell Befehlsnamen automatisch:
- Konvertiert zu Kleinbuchstaben
- Ersetzt Leerzeichen durch Bindestriche
- Entfernt Sonderzeichen
- Entfernt führende und nachfolgende Bindestriche
Beispiel: "My Cool Command!" wird zu my-cool-command
Einfaches Befehlsformat
Erstelle einen einfachen Befehl durch Hinzufügen einer Markdown-Datei:
Help me review this code for security issues and suggest improvements.Erweiterter Befehl mit Frontmatter
Füge Metadaten mit Frontmatter für erweiterte Funktionalität hinzu:
---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.Frontmatter-Felder
| Feld | Zweck | Beispiel |
|---|---|---|
description | Erscheint im Befehlsmenü | "Create a new API endpoint" |
argument-hint | Zeigt erwartete Argumente | "<endpoint-name> <http-method>" |
Tool-Genehmigungsdialog
Wenn Bob Shell ein Tool verwenden möchte, erscheint ein Genehmigungsdialog. Der Dialog bietet folgende Optionen:
| Option | Beschreibung |
|---|---|
| Approve Once | Diesen spezifischen Tool-Aufruf zulassen. Du wirst bei zukünftigen Aufrufen erneut gefragt. |
Approve <group> tools for task | Alle Tools in derselben Tool-Gruppe für den Rest der Aufgabe zulassen. Wird für MCP-Tools nicht angezeigt. |
| Always Allow Command for task | Einen bestimmten Shell-Befehl für den Rest der Aufgabe zulassen. |
| Reject | Den Tool-Aufruf ablehnen. Bob Shell führt die Aktion nicht aus. |
Du kannst beim Genehmigen oder Ablehnen eines Tool-Aufrufs auch eine optionale Notiz hinzufügen. Die Notiz wird in den Konversationskontext einbezogen, damit Bob Shell sein Verhalten entsprechend anpassen kann.
Um eine gestreamte Antwort zu unterbrechen, bevor Bob Shell fertig ist, drücke Esc.
Befehlsverwaltung in Bob Shell
Bob Shell unterstützt dieselben Slash-Befehle wie Bob IDE. Obwohl Bob Shell keine dedizierte UI zur Verwaltung von Befehlen bietet, kannst du:
- Befehlsdateien manuell im Verzeichnis
.bob/commands/in deinem Projekt oder~/.bob/commands/in deinem Home-Verzeichnis erstellen - Vorhandene Befehlsdateien mit einem beliebigen Texteditor bearbeiten
Slash-Befehle verwenden
Gib / in Bob Shell ein, um ein vereinheitlichtes Menü mit den folgenden Befehlstypen zu sehen:
- Vereinheitlichtes Menü: Benutzerdefinierte Befehle und Moduswechselbefehle erscheinen gemeinsam
- Autovervollständigung: Beginne zu tippen, um Befehle zu filtern (z. B. zeigt
/samsample-command-namean) - Fuzzy-Suche: Befehle auch bei Teilübereinstimmungen finden
- Beschreibungsvorschau: Befehlsbeschreibungen im Menü anzeigen
- Visuelle Indikatoren: Modebefehle werden durch spezielle Icons von benutzerdefinierten Befehlen unterschieden
/mode code Switch to Code mode
/mode ask Switch to Ask mode
/review Review code for security issues
/api-endpoint <endpoint-name> <http-method>Argumenthinweise
Argumenthinweise bieten sofortige Hilfe für Slash-Befehle und zeigen dir, welche Art von Informationen du angeben sollst, wenn ein Befehl zusätzliche Eingaben erwartet.
Wenn du / eingibst, um das Befehlsmenü aufzurufen, zeigen Befehle, die Argumente erwarten, einen hellgrauen Hinweis daneben an. Dieser Hinweis zeigt dir, welche Art von Argument der Befehl erwartet.
Zum Beispiel:
/mode <mode_slug>- Der Hinweis<mode_slug>zeigt an, dass du einen Modusnamen wiecodeoderdebugangeben solltest/api-endpoint <endpoint-name> <http-method>- Zeigt an, dass du sowohl einen Endpoint-Namen als auch eine HTTP-Methode benötigst
Nach Auswahl des Befehls wird er in das Chat-Eingabefeld gefolgt von einem Leerzeichen eingefügt. Der Hinweis wird nicht eingefügt; er ist nur ein visueller Leitfaden, der dir hilft zu wissen, was du als nächstes eingeben musst. Du musst dann das Argument manuell nach dem Befehl eingeben.
Argumenthinweise zu benutzerdefinierten Befehlen hinzufügen
Du kannst Argumenthinweise zu deinen benutzerdefinierten Befehlen mit dem Feld argument-hint im Frontmatter hinzufügen:
---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.Dies wird im Befehlsmenü als /api-endpoint <endpoint-name> <http-method> angezeigt.
Best Practices für Argumenthinweise
- Sei spezifisch: Verwende beschreibende Platzhalter wie
<file-path>statt generischer wie<arg> - Zeige mehrere Argumente: Wenn dein Befehl mehrere Eingaben benötigt, zeige sie alle:
<source> <destination> - Verwende ein einheitliches Format: Umschließe Platzhalter immer mit spitzen Klammern:
<placeholder> - Halte es prägnant: Hinweise sollten kurz und klar sein
Häufige Fragen zu Argumenten
| Frage | Antwort |
|---|---|
| Was passiert, wenn ich das Argument nicht angebe? | Der Befehl funktioniert möglicherweise nicht wie erwartet, oder er fordert dich zur Eingabe weiterer Informationen auf. Der Hinweis hilft dir, es beim ersten Mal richtig zu machen. |
| Haben alle Befehle Hinweise? | Nein, nur Befehle, die für die Aufnahme von Argumenten ausgelegt sind, haben Hinweise. Befehle, die ohne zusätzliche Eingaben funktionieren, zeigen keine Hinweise an. |
| Kann ich einen Befehl verwenden, ohne den Hinweis zu ersetzen? | Der Hinweistext (wie <mode_slug>) muss durch tatsächliche Werte ersetzt werden. Das Belassen des Hinweistexts führt wahrscheinlich dazu, dass der Befehl fehlschlägt oder sich unerwartet verhält. |
Best Practices
Benennung von Befehlen
- Verwende beschreibende, handlungsorientierte Namen
- Halte Namen prägnant, aber klar
- Verwende Bindestriche für Mehrteil-Befehle
- Vermeide generische Namen wie
helpodertest - Hinweis: Namen werden automatisch slugifiziert (Kleinbuchstaben, Sonderzeichen entfernt)
- Die Erweiterung
.mdwird automatisch hinzugefügt/entfernt, wie erforderlich
Befehlsinhalt
- Beginne mit einer klaren Anweisung
- Verwende strukturierte Formate (Listen, Abschnitte)
- Füge spezifische Anforderungen ein
- Referenziere Projektkonventionen
- Halte Befehle auf eine einzelne Aufgabe fokussiert
Organisation
- Gruppiere verwandte Befehle in Unterverzeichnissen
- Verwende einheitliche Benennungsmuster
- Dokumentiere komplexe Befehle
- Bringe deine Befehle unter Versionskontrolle
- Teile Team-Befehle im Projekt-Repository
Fehlerbehebung
Befehle erscheinen nicht
Wenn deine Befehle nicht im Menü erscheinen:
- Dateispeicherort prüfen: Stelle sicher, dass benutzerdefinierte Befehlsdateien in
.bob/commands/oder~/.bob/commands/liegen - Dateiendung überprüfen: Benutzerdefinierte Befehle müssen
.md-Dateien sein
Befehl nicht gefunden
Wenn ein Slash-Befehl nicht gefunden wird, sieht das LLM:
The slash command '/unknown-command' was not found. Please check the command name and try again.Befehlskonflikte
- Benutzerdefinierte Projektbefehle überschreiben globale benutzerdefinierte Befehle mit demselben Namen
- Verwende eindeutige Namen, um Konflikte zu vermeiden
- Bei der Erstellung doppelter Namen über die UI werden Zahlen angehängt (z. B.
new-command-1,new-command-2)
Über Modebefehle
Das Slash-Menü enthält Moduswechselbefehle (wie /mode code, /mode ask), die den Betriebsmodus der KI grundlegend ändern — sie fügen nicht nur Text ein, sondern wechseln den gesamten KI-Kontext. Von dir erstellte benutzerdefinierte Modi erscheinen ebenfalls als Slash-Befehle (z. B. wird ein Modus mit dem Slug reviewer zu /reviewer). Diese Modebefehle können nicht durch benutzerdefinierte Workflow-Befehle überschrieben werden.
Plattformübergreifende Kompatibilität
Slash-Befehle funktionieren identisch in Bob Shell und Bob IDE. Das bedeutet:
- In einer Umgebung erstellte Befehle können in der anderen verwendet werden
- Dieselbe Befehlssyntax und dasselbe Verhalten gelten in beiden Umgebungen
- Team-geteilte Befehle funktionieren konsistent, unabhängig davon, welche Oberfläche Teammitglieder verwenden
MCP
Bob Shell unterstützt das Model Context Protocol (MCP), mit dem Sie Bobs Fähigkeiten durch Verbindung zu externen Diensten und Tools erweitern können.
Modi
Modi sind spezialisierte Personas, die das Verhalten von Bob auf deine spezifischen Aufgaben abstimmen. Jeder Modus bietet unterschiedliche Funktionen und Zugriffsebenen, um dir zu helfen, bestimmte Ziele effizienter zu erreichen.