Comandi slash
Crea comandi slash personalizzati per automatizzare i flussi di lavoro e standardizzare le pratiche del team.
Per iniziare, digita / in Bob Shell per vedere tutti i comandi disponibili, oppure crea i tuoi aggiungendo un file markdown in .bob/commands/ o ~/.bob/commands/.
Comandi integrati
Bob Shell include i seguenti comandi slash integrati:
| Comando | Alias | Descrizione |
|---|---|---|
/help | Mostra tutti i comandi slash disponibili | |
/clear | Pulisce lo schermo e reimposta la cronologia della conversazione | |
/condense | Condensa intelligentemente la finestra di contesto per liberare spazio | |
/copy | Copia un elemento dalla cronologia della conversazione negli appunti | |
/mode | Cambia la modalità attiva (apre un selettore) | |
/resume | Sfoglia e riprendi una conversazione precedente | |
/settings | Visualizza e modifica le impostazioni di Bob Shell | |
/mcp | Gestisci i server MCP configurati | |
/manage-secrets | Gestisci i segreti usati nelle configurazioni dei server MCP | |
/skills | Inserisce un riferimento a una skill nel prompt | |
/init | Inizializza Bob nel workspace corrente | |
/status | /info | Visualizza lo stato della sessione, l'utilizzo e le informazioni sulla versione |
/team | Seleziona un team | |
/logs | Apre l'ultimo file di log con il visualizzatore di sistema | |
/docs | Apre la documentazione di Bob Shell nel browser | |
/bug | Invia una segnalazione di bug | |
/exit | /quit, /close | Esci dalla CLI |
Sottocomandi /manage-secrets
I segreti ti permettono di archiviare valori sensibili (come le API key) e di farvi riferimento nelle configurazioni dei server MCP senza codificarli in modo fisso.
| Sottocomando | Utilizzo | Descrizione |
|---|---|---|
set | /manage-secrets set KEY VALUE | Archivia un valore segreto |
list | /manage-secrets list | Elenca tutte le chiavi segrete archiviate |
rm | /manage-secrets rm KEY | Rimuove un segreto archiviato |
I segreti vengono archiviati in modo cifrato in ~/.bob/settings/ e possono essere referenziati nelle configurazioni dei server MCP usando la sintassi ${KEY}.
Perché usare i comandi slash?
I comandi slash offrono diversi vantaggi chiave:
- Automazione del flusso di lavoro: Trasforma processi complessi a più passaggi in comandi singoli
- Standardizzazione del team: Condividi i comandi con il tuo team per pratiche coerenti
- Preservazione del contesto: Includi il contesto specifico del progetto in ogni comando
- Accesso rapido: Ricerca fuzzy e completamento automatico per la scoperta istantanea dei comandi
Come funzionano i comandi slash
Quando digiti / in Bob Shell, appare un menu che mostra tutti i comandi disponibili. Questi comandi provengono da due fonti:
| Tipo di comando | Fonte | Scopo |
|---|---|---|
| Comandi di flusso di lavoro personalizzati | .bob/commands/ o ~/.bob/commands/ | Automazione creata dall'utente per task specifici |
| Comandi di modalità | Modalità integrate e personalizzate | Cambia il contesto operativo di Bob |
Creare comandi personalizzati
I comandi personalizzati estendono le funzionalità di Bob aggiungendo file markdown a directory specifiche:
| Posizione | Ambito | Percorso |
|---|---|---|
| Specifico del progetto | Disponibile solo nel progetto corrente | .bob/commands/ nella radice del tuo workspace |
| Globale | Disponibile in tutti i progetti | ~/.bob/commands/ nella tua home directory |
Il nome del file diventa il nome del comando. Per esempio:
.bob/commands/
├── review.md → /review
├── test-api.md → /test-api
└── deploy-check.md → /deploy-checkElaborazione del nome del comando
Quando si creano comandi tramite l'UI, Bob Shell elabora automaticamente i nomi dei comandi:
- Converte in minuscolo
- Sostituisce gli spazi con i trattini
- Rimuove i caratteri speciali
- Rimuove i trattini iniziali e finali
Esempio: "My Cool Command!" diventa my-cool-command
Formato base del comando
Crea un comando semplice aggiungendo un file markdown:
Help me review this code for security issues and suggest improvements.Comando avanzato con frontmatter
Aggiungi metadati usando il frontmatter per funzionalità avanzate:
---
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.Campi del frontmatter
| Campo | Scopo | Esempio |
|---|---|---|
description | Appare nel menu dei comandi | "Create a new API endpoint" |
argument-hint | Mostra gli argomenti attesi | "<endpoint-name> <http-method>" |
Dialogo di approvazione degli strumenti
Quando Bob Shell richiede di usare uno strumento, appare un dialogo di approvazione. Il dialogo fornisce le seguenti opzioni:
| Opzione | Descrizione |
|---|---|
| Approva una volta | Consenti questa specifica chiamata allo strumento. Ti verrà chiesto di nuovo per le chiamate future. |
Approva gli strumenti <group> per il task | Consenti tutti gli strumenti nello stesso gruppo di strumenti per il resto del task. Non mostrato per gli strumenti MCP. |
| Consenti sempre il comando per il task | Consenti un comando shell specifico per il resto del task. |
| Rifiuta | Nega la chiamata allo strumento. Bob Shell non procede con l'azione. |
Puoi anche aggiungere una nota opzionale quando approvi o rifiuti una chiamata allo strumento. La nota viene inclusa nel contesto della conversazione in modo che Bob Shell possa adeguare il suo comportamento di conseguenza.
Per interrompere una risposta in streaming prima che Bob Shell finisca, premi Esc.
Gestione dei comandi in Bob Shell
Bob Shell supporta gli stessi comandi slash di Bob IDE. Anche se Bob Shell non fornisce un'UI dedicata per la gestione dei comandi, puoi:
- Creare file di comando manualmente nella directory
.bob/commands/nel tuo progetto o~/.bob/commands/nella tua home directory - Modificare i file di comando esistenti con qualsiasi editor di testo
Usare i comandi slash
Digita / in Bob Shell per vedere un menu unificato che contiene i seguenti tipi di comandi:
- Menu unificato: I comandi personalizzati e i comandi di cambio modalità appaiono insieme
- Completamento automatico: Inizia a digitare per filtrare i comandi (es.
/sammostrasample-command-name) - Ricerca fuzzy: Trova i comandi anche con corrispondenze parziali
- Anteprima descrizione: Visualizza le descrizioni dei comandi nel menu
- Indicatori visivi: I comandi di modalità si distinguono dai comandi personalizzati con icone speciali
/mode code Switch to Code mode
/mode ask Switch to Ask mode
/review Review code for security issues
/api-endpoint <endpoint-name> <http-method>Suggerimenti per gli argomenti
I suggerimenti per gli argomenti forniscono assistenza immediata per i comandi slash, mostrandoti che tipo di informazioni fornire quando un comando si aspetta input aggiuntivo.
Quando digiti / per aprire il menu dei comandi, i comandi che si aspettano argomenti mostrano un suggerimento grigio chiaro accanto ad essi. Questo suggerimento indica che tipo di argomento si aspetta il comando.
Per esempio:
/mode <mode_slug>- Il suggerimento<mode_slug>indica che dovresti fornire un nome di modalità comecodeodebug/api-endpoint <endpoint-name> <http-method>- Mostra che hai bisogno sia del nome dell'endpoint che del metodo HTTP
Dopo aver selezionato il comando, questo verrà inserito nell'input della chat seguito da uno spazio. Il suggerimento non viene inserito; è solo una guida visiva per aiutarti a sapere cosa digitare dopo. Devi quindi digitare manualmente l'argomento dopo il comando.
Aggiungere suggerimenti per gli argomenti ai comandi personalizzati
Puoi aggiungere suggerimenti per gli argomenti ai tuoi comandi personalizzati usando il campo argument-hint nel frontmatter:
---
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.Questo verrà visualizzato come /api-endpoint <endpoint-name> <http-method> nel menu dei comandi.
Best practice per i suggerimenti degli argomenti
- Sii specifico: Usa segnaposto descrittivi come
<file-path>invece di generici come<arg> - Mostra più argomenti: Se il tuo comando ha bisogno di più input, mostrarli tutti:
<source> <destination> - Usa un formato coerente: Racchiudi sempre i segnaposto tra parentesi angolari:
<placeholder> - Mantienilo conciso: I suggerimenti devono essere brevi e chiari
Domande frequenti sugli argomenti
| Domanda | Risposta |
|---|---|
| Cosa succede se non fornisco l'argomento? | Il comando potrebbe non funzionare come previsto, oppure potrebbe chiederti ulteriori informazioni. Il suggerimento è lì per aiutarti a farlo bene la prima volta. |
| Tutti i comandi hanno suggerimenti? | No, solo i comandi progettati per accettare argomenti avranno suggerimenti. I comandi che funzionano senza input aggiuntivo non mostreranno suggerimenti. |
| Posso usare un comando senza sostituire il suggerimento? | Il testo del suggerimento (come <mode_slug>) deve essere sostituito con valori effettivi. Lasciare il testo del suggerimento probabilmente causerà il fallimento del comando o un comportamento inaspettato. |
Best practice
Denominazione dei comandi
- Usa nomi descrittivi e orientati all'azione
- Mantieni i nomi concisi ma chiari
- Usa i trattini per i comandi con più parole
- Evita nomi generici come
helpotest - Nota: i nomi vengono automaticamente convertiti in slug (minuscolo, caratteri speciali rimossi)
- L'estensione
.mdviene aggiunta/rimossa automaticamente secondo necessità
Contenuto dei comandi
- Inizia con una direttiva chiara
- Usa formati strutturati (elenchi, sezioni)
- Includi requisiti specifici
- Fai riferimento alle convenzioni del progetto
- Mantieni i comandi focalizzati su un singolo task
Organizzazione
- Raggruppa i comandi correlati in sottodirectory
- Usa pattern di denominazione coerenti
- Documenta i comandi complessi
- Gestisci i tuoi comandi con il controllo versione
- Condividi i comandi del team nel repository del progetto
Risoluzione dei problemi
I comandi non appaiono
Se i tuoi comandi non appaiono nel menu:
- Controlla la posizione del file: Assicurati che i file dei comandi personalizzati siano in
.bob/commands/o~/.bob/commands/ - Verifica l'estensione del file: I comandi personalizzati devono essere file
.md
Comando non trovato
Quando un comando slash non viene trovato, l'LLM vedrà:
The slash command '/unknown-command' was not found. Please check the command name and try again.Conflitti tra comandi
- I comandi personalizzati del progetto sostituiscono i comandi personalizzati globali con lo stesso nome
- Usa nomi univoci per evitare conflitti
- Quando si creano nomi duplicati tramite l'UI, vengono aggiunti dei numeri (es.
new-command-1,new-command-2)
Informazioni sui comandi di modalità
Il menu slash include comandi per il cambio di modalità (come /mode code, /mode ask) che cambiano fondamentalmente la modalità operativa dell'AI — non si limitano a inserire testo ma cambiano l'intero contesto dell'AI. Anche le modalità personalizzate che crei appaiono come comandi slash (es. una modalità con slug reviewer diventa /reviewer). Questi comandi di modalità non possono essere sostituiti da comandi di flusso di lavoro personalizzati.
Compatibilità multipiattaforma
I comandi slash funzionano in modo identico sia in Bob Shell che in Bob IDE. Questo significa che:
- I comandi creati in un ambiente possono essere usati nell'altro
- La stessa sintassi e lo stesso comportamento dei comandi si applicano in entrambi gli ambienti
- I comandi condivisi dal team funzionano in modo coerente indipendentemente dall'interfaccia usata dai membri del team
MCP
Bob Shell supporta il Model Context Protocol (MCP), che ti consente di estendere le capacità di Bob connettendoti a servizi e strumenti esterni.
Modi
I modi sono personas specializzate che adattano il comportamento di Bob ai tuoi compiti specifici. Ogni modo offre capacità e livelli di accesso diversi per aiutarti a raggiungere obiettivi particolari in modo più efficiente.