Risoluzione dei problemi

Risoluzione dei problemi di Bob Shell

Trova soluzioni ai problemi che potresti incontrare quando usi Bob Shell.

Autenticazione

Errori di certificato

Errore: Unable to verify certificate

Causa: Sei su una rete aziendale con un firewall che intercetta e ispeziona il traffico SSL/TLS. Questo richiede che un certificato CA radice personalizzato sia considerato attendibile da Node.js.

Soluzione: Imposta la variabile d'ambiente NODE_EXTRA_CA_CERTS con il percorso assoluto del file del certificato CA radice aziendale:

export NODE_EXTRA_CA_CERTS=/path/to/your/corporate-ca.crt

Integrazione IDE

Connessione non riuscita

Errore: Bob Shell non riesce a connettersi all'IDE.

Causa: L'estensione Bob Shell Companion potrebbe non essere installata o in esecuzione, oppure Bob Shell potrebbe essere in esecuzione al di fuori della directory workspace.

Soluzione:

  1. Installa l'estensione Bob Shell Companion nel tuo IDE.
  2. Naviga nella directory del tuo workspace nel terminale.
  3. Avvia Bob Shell dalla directory workspace.
  4. Esegui /ide enable in Bob Shell.

Connessione non riuscita in un dev container

Errore: Bob Shell non riesce a connettersi all'IDE quando è in esecuzione all'interno di un dev container.

Causa: La porta di Bob Shell non viene inoltrata dal dev container alla macchina host.

Soluzione:

  1. Ottieni la porta di Bob Shell dal terminale all'interno del dev container:
    echo $BOB_SHELL_CLI_IDE_SERVER_PORT
    Output di esempio: 42991
  2. Apri il Command Palette nel tuo IDE e seleziona Forward a Port.
  3. Aggiungi la porta mostrata nel passaggio 1 (per esempio, 42991).
  4. Avvia Bob Shell:
    bob
  5. Abilita l'integrazione IDE:
    /ide enable
    Oppure controlla lo stato della connessione:
    /ide status

Connessione all'estensione companion IDE non riuscita

Errore: 🔴 Disconnected: Failed to connect to IDE companion extension

Causa: L'estensione Bob Shell Companion non è installata, non è abilitata o non è in esecuzione nel tuo IDE.

Soluzione:

  1. Verifica che l'estensione Bob Shell Companion sia installata e abilitata nel tuo IDE.
  2. Apri un nuovo terminale nel tuo IDE.
  3. Esegui /ide enable in Bob Shell.

Connessione persa inaspettatamente

Errore: 🔴 Disconnected: IDE connection error. The connection was lost unexpectedly

Causa: La connessione IDE è stata interrotta a causa di un problema di rete o del riavvio dell'IDE.

Soluzione:

  1. Esegui /ide enable per riconnetterti.
  2. Se il problema persiste, riavvia l'IDE.

Mancata corrispondenza della directory

Errore: 🔴 Disconnected: Directory mismatch

Causa: Bob Shell è in esecuzione in una directory diversa rispetto al workspace aperto nel tuo IDE.

Soluzione:

  1. Naviga nella stessa directory aperta nel tuo IDE.
  2. Riavvia Bob Shell da quella directory.

Nessuna cartella workspace aperta

Errore: 🔴 Disconnected: To use this feature, please open a workspace folder

Causa: Nessuna cartella o workspace è aperto nel tuo IDE.

Soluzione:

  1. Apri una cartella o un workspace nel tuo IDE.
  2. Riavvia Bob Shell.

Integrazione IDE non supportata

Errore: IDE integration is not supported in your current environment

Causa: Bob Shell non è in esecuzione dal terminale integrato di un IDE supportato.

Soluzione: Esegui Bob Shell dal terminale integrato di un IDE supportato.

Problemi di configurazione

.bobignore non funziona

Errore: Bob Shell ignora i file a cui vuoi che acceda, o accede a file che vuoi che ignori.

Causa: Il file .bobignore potrebbe avere pattern in conflitto, ordine dei pattern errato, o trovarsi nella posizione sbagliata. Le modifiche potrebbero non aver ancora avuto effetto.

Soluzione:

  1. Controlla il tuo file .bobignore per pattern in conflitto.
  2. Assicurati che i pattern più specifici (come le negazioni con !) vengano dopo i pattern generali.
  3. Riavvia la sessione di Bob Shell dopo aver apportato modifiche a .bobignore.
  4. Usa percorsi assoluti se i percorsi relativi non funzionano come previsto.
  5. Verifica che il file .bobignore si trovi nella directory radice del tuo progetto.

Le impostazioni non si applicano

Errore: Le modifiche alle impostazioni di Bob Shell non hanno effetto.

Causa: Il file di impostazioni potrebbe trovarsi nella posizione sbagliata, avere una sintassi JSON non valida, o essere sostituito da fonti di configurazione con priorità più alta. Le modifiche potrebbero non aver ancora avuto effetto.

Soluzione:

  1. Controlla la posizione del file di impostazioni:
    • Impostazioni del progetto: .bob/settings.json nella directory del tuo progetto
    • Impostazioni utente: ~/.bob/settings.json nella tua home directory
  2. Verifica che la sintassi JSON sia valida (usa un validatore JSON).
  3. Ricorda l'ordine di precedenza della configurazione:
    • Argomenti da riga di comando (priorità più alta)
    • Variabili d'ambiente
    • Impostazioni del progetto
    • Impostazioni utente
    • Default di sistema (priorità più bassa)
  4. Riavvia Bob Shell dopo aver modificato i file di impostazioni.

Le istruzioni personalizzate non vengono caricate

Errore: Le istruzioni personalizzate non vengono applicate alle sessioni di Bob Shell.

Causa: I file di istruzioni personalizzate potrebbero trovarsi nella posizione sbagliata, avere estensioni di file errate, o non essere caricati nel contesto corrente.

Soluzione:

  1. Verifica che i file si trovino nella posizione corretta:
    • A livello di workspace: .bob/rules/ nella radice del tuo progetto
    • Specifico per modalità: .bob/rules-{modeSlug}/ nella radice del tuo progetto
  2. Controlla che i file abbiano le estensioni corrette (.md, .txt o .xml).
  3. Usa /memory refresh per ricaricare tutti i file di contesto.
  4. Usa /memory show per verificare il contesto corrente.

Problemi di esecuzione dei comandi

Comando non trovato

Errore: command not found: bob

Causa: Bob Shell non è installato correttamente o non è nel PATH del tuo sistema.

Soluzione:

  1. Verifica che Bob Shell sia installato:
    which bob
  2. Se non trovato, reinstalla Bob Shell seguendo le istruzioni di installazione.
  3. Controlla che il PATH della tua shell includa la directory di installazione di Bob Shell.

La modalità shell non funziona

Errore: La modalità shell (comando !) non esegue i comandi.

Causa: Potresti non stare digitando ! a un prompt vuoto, mancare dei permessi necessari, o il comando stesso potrebbe non essere valido.

Soluzione:

  1. Verifica di stare digitando ! a un prompt vuoto.
  2. Controlla di avere i permessi necessari per eseguire i comandi shell.
  3. Prova a eseguire il comando direttamente nel tuo terminale prima per verificare che funzioni.

Problemi di prestazioni

Tempi di risposta lenti

Errore: Bob Shell risponde lentamente alle richieste.

Causa: Problemi di connettività di rete, troppi file caricati come contesto, o file binari di grandi dimensioni inclusi nel contesto.

Soluzione:

  1. Controlla la tua connessione di rete.
  2. Riduci il numero di file nel contesto usando .bobignore.
  3. Evita di includere file binari di grandi dimensioni o directory come node_modules/.
  4. Considera l'uso di riferimenti a file più specifici con @ invece di caricare tutti i file.

Utilizzo elevato della memoria

Errore: Bob Shell consuma memoria eccessiva.

Causa: Troppi file caricati come contesto, directory di grandi dimensioni non escluse, o import circolari nei file di memoria.

Soluzione:

  1. Limita il numero di file caricati come contesto.
  2. Usa .bobignore per escludere le directory di grandi dimensioni.
  3. Riavvia Bob Shell periodicamente durante le sessioni lunghe.
  4. Controlla eventuali import circolari nei tuoi file di memoria.

Suggerimenti per il debug di Bob Shell

Abilitare il logging di debug

Per aumentare la verbosità del log per una sessione, usa il flag --log-level o la variabile d'ambiente BOB_LOG_LEVEL:

bob run --log-level debug "Explain @app.js"
BOB_LOG_LEVEL=debug bob chat

Puoi anche impostare un livello di log persistente nel tuo file di impostazioni:

{
  "logging": {
    "logLevel": "debug"
  }
}

Verificare la versione di Bob Shell

Esegui il seguente comando per vedere la tua versione di Bob Shell:

Sessione interattiva:

/about

Sessione non interattiva:

bob --version

File di log

Bob Shell scrive i file di log in ~/.bob/logs/shell/. I file di log ruotano automaticamente:

  • Vengono conservati al massimo 10 file di log
  • Ogni file è limitato a 5 MB

Per trovare il file di log corrente per una sessione:

ls -lt ~/.bob/logs/shell/ | head

Condividi gli estratti di log rilevanti quando segnali problemi.

Risoluzione della radice del workspace

Bob Shell determina la radice del workspace risalendo dalla directory di lavoro corrente finché non trova una directory .git o una directory .bob. La prima corrispondenza diventa la radice del workspace.

Se non viene trovata nessuna directory .git o .bob, Bob Shell usa la directory di lavoro corrente come radice del workspace.

Come valuti questo argomento?