トラブルシューティング

Bob Shell のトラブルシューティング

Bob Shell の使用中に発生する可能性のある問題の解決策を見つけます。

認証

証明書エラー

エラー: Unable to verify certificate

原因: SSL/TLS トラフィックを傍受・検査するファイアウォールが設定された企業ネットワーク上にいます。Node.js がカスタムルート CA 証明書を信頼するように設定する必要があります。

解決策: NODE_EXTRA_CA_CERTS 環境変数に企業のルート CA 証明書ファイルの絶対パスを設定します:

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

IDE 統合

接続に失敗する

エラー: Bob Shell が IDE に接続できません。

原因: Bob Shell Companion 拡張機能がインストールされていないか実行されていない、または Bob Shell がワークスペースディレクトリ以外で実行されている可能性があります。

解決策:

  1. IDE に Bob Shell Companion 拡張機能をインストールします。
  2. ターミナルでワークスペースディレクトリに移動します。
  3. ワークスペースディレクトリから Bob Shell を起動します。
  4. Bob Shell で /ide enable を実行します。

開発コンテナ内で接続に失敗する

エラー: 開発コンテナ内で実行している場合、Bob Shell が IDE に接続できません。

原因: Bob Shell のポートが開発コンテナからホストマシンに転送されていません。

解決策:

  1. 開発コンテナ内のターミナルから Bob Shell のポートを確認します:
    echo $BOB_SHELL_CLI_IDE_SERVER_PORT
    出力例:42991
  2. IDE でコマンドパレットを開き、Forward a Port を選択します。
  3. ステップ 1 で表示されたポート(例:42991)を追加します。
  4. Bob Shell を起動します:
    bob
  5. IDE 統合を有効にします:
    /ide enable
    または接続状態を確認します:
    /ide status

IDE Companion 拡張機能への接続に失敗する

エラー: 🔴 Disconnected: Failed to connect to IDE companion extension

原因: Bob Shell Companion 拡張機能が IDE にインストールされていない、有効になっていない、または実行されていません。

解決策:

  1. Bob Shell Companion 拡張機能が IDE にインストールされ、有効になっていることを確認します。
  2. IDE で新しいターミナルを開きます。
  3. Bob Shell で /ide enable を実行します。

予期せず接続が失われる

エラー: 🔴 Disconnected: IDE connection error. The connection was lost unexpectedly

原因: ネットワークの問題または IDE の再起動により、IDE との接続が中断されました。

解決策:

  1. /ide enable を実行して再接続します。
  2. 問題が続く場合は IDE を再起動します。

ディレクトリの不一致

エラー: 🔴 Disconnected: Directory mismatch

原因: Bob Shell が IDE で開いているワークスペースとは異なるディレクトリで実行されています。

解決策:

  1. IDE で開いているディレクトリと同じディレクトリに移動します。
  2. そのディレクトリから Bob Shell を再起動します。

ワークスペースフォルダーが開かれていない

エラー: 🔴 Disconnected: To use this feature, please open a workspace folder

原因: IDE にフォルダーまたはワークスペースが開かれていません。

解決策:

  1. IDE でフォルダーまたはワークスペースを開きます。
  2. Bob Shell を再起動します。

IDE 統合がサポートされていない

エラー: IDE integration is not supported in your current environment

原因: Bob Shell がサポートされている IDE の統合ターミナル内から実行されていません。

解決策: サポートされている IDE の統合ターミナル内から Bob Shell を実行します。

設定の問題

.bobignore が機能しない

エラー: Bob Shell がアクセスしてほしいファイルを無視している、またはアクセスしてほしくないファイルにアクセスしています。

原因: .bobignore ファイルにパターンの競合、パターンの順序の誤り、または場所の誤りがある可能性があります。変更がまだ反映されていない場合もあります。

解決策:

  1. .bobignore ファイルで競合するパターンを確認します。
  2. より具体的なパターン(! による否定など)が一般的なパターンの後に来るようにします。
  3. .bobignore を変更した後は Bob Shell セッションを再起動します。
  4. 相対パスが期待どおりに動作しない場合は絶対パスを使用します。
  5. .bobignore ファイルがプロジェクトのルートディレクトリにあることを確認します。

設定が適用されない

エラー: Bob Shell の設定変更が反映されません。

原因: 設定ファイルの場所が間違っている、JSON 構文が無効、または優先度の高い設定ソースで上書きされている可能性があります。変更がまだ反映されていない場合もあります。

解決策:

  1. 設定ファイルの場所を確認します:
    • プロジェクト設定:プロジェクトディレクトリ内の .bob/settings.json
    • ユーザー設定:ホームディレクトリの ~/.bob/settings.json
  2. JSON 構文が有効であることを確認します(JSON バリデーターを使用)。
  3. 設定の優先順位を確認します:
    • コマンドライン引数(最高優先度)
    • 環境変数
    • プロジェクト設定
    • ユーザー設定
    • システムデフォルト(最低優先度)
  4. 設定ファイルを変更した後は Bob Shell を再起動します。

カスタム指示が読み込まれない

エラー: カスタム指示が Bob Shell セッションに適用されていません。

原因: カスタム指示ファイルの場所が間違っている、ファイルの拡張子が正しくない、または現在のコンテキストに読み込まれていない可能性があります。

解決策:

  1. ファイルが正しい場所にあることを確認します:
    • ワークスペース全体:プロジェクトルートの .bob/rules/
    • モード固有:プロジェクトルートの .bob/rules-{modeSlug}/
  2. ファイルの拡張子が正しいことを確認します(.md.txt、または .xml)。
  3. /memory refresh を使用してすべてのコンテキストファイルを再読み込みします。
  4. /memory show を使用して現在のコンテキストを確認します。

コマンド実行の問題

コマンドが見つからない

エラー: command not found: bob

原因: Bob Shell が正しくインストールされていないか、システムの PATH に含まれていません。

解決策:

  1. Bob Shell がインストールされていることを確認します:
    which bob
  2. 見つからない場合は、インストール手順に従って Bob Shell を再インストールします。
  3. シェルの PATH に Bob Shell のインストールディレクトリが含まれていることを確認します。

シェルモードが機能しない

エラー: シェルモード(! コマンド)がコマンドを実行しません。

原因: 空のプロンプトで ! を入力していない、必要な権限がない、またはコマンド自体が無効な可能性があります。

解決策:

  1. 空のプロンプトで ! を入力していることを確認します。
  2. シェルコマンドを実行するために必要な権限があることを確認します。
  3. ターミナルで直接コマンドを実行して動作するか確認します。

パフォーマンスの問題

レスポンスが遅い

エラー: Bob Shell がリクエストへの応答が遅い。

原因: ネットワーク接続の問題、コンテキストに読み込まれているファイルが多すぎる、または大きなバイナリファイルがコンテキストに含まれている可能性があります。

解決策:

  1. ネットワーク接続を確認します。
  2. .bobignore を使ってコンテキスト内のファイル数を減らします。
  3. node_modules/ などの大きなバイナリファイルやディレクトリを含めないようにします。
  4. すべてのファイルを読み込む代わりに、@ による具体的なファイル参照の使用を検討します。

メモリ使用量が多い

エラー: Bob Shell が過剰なメモリを消費しています。

原因: コンテキストに読み込まれているファイルが多すぎる、大きなディレクトリが除外されていない、またはメモリファイルに循環インポートがある可能性があります。

解決策:

  1. コンテキストに読み込むファイル数を制限します。
  2. .bobignore を使って大きなディレクトリを除外します。
  3. 長いセッション中は定期的に Bob Shell を再起動します。
  4. メモリファイルの循環インポートを確認します。

Bob Shell のデバッグのヒント

デバッグログを有効にする

セッションのログ詳細度を上げるには、--log-level フラグまたは BOB_LOG_LEVEL 環境変数を使用します:

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

設定ファイルで永続的なログレベルを設定することもできます:

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

Bob Shell のバージョンを確認する

Bob Shell のバージョンを確認するには次のコマンドを実行します:

インタラクティブセッション:

/about

非インタラクティブセッション:

bob --version

ログファイル

Bob Shell は ~/.bob/logs/shell/ にログファイルを書き込みます。ログファイルは自動的にローテーションされます:

  • 最大 10 個のログファイルが保持されます
  • 各ファイルは最大 5 MB に制限されます

セッションの現在のログファイルを確認するには:

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

問題を報告する際は関連するログの抜粋を共有してください。

ワークスペースルートの解決

Bob Shell は現在の作業ディレクトリから上位ディレクトリに向かって .git ディレクトリまたは .bob ディレクトリを探し、最初に見つかったものをワークスペースルートとします。

.git または .bob ディレクトリが見つからない場合は、現在の作業ディレクトリをワークスペースルートとして使用します。

このトピックはいかがですか?