疑難排解 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.crtIDE 整合
連線失敗
錯誤: Bob Shell 無法連接至 IDE。
原因: Bob Shell Companion 擴充功能可能未安裝或未執行,或 Bob Shell 可能在工作區目錄外執行。
解決方案:
- 在您的 IDE 中安裝 Bob Shell Companion 擴充功能。
- 在終端機中切換至您的工作區目錄。
- 從工作區目錄啟動 Bob Shell。
- 在 Bob Shell 中執行
/ide enable。
在 dev container 中連線失敗
錯誤: 在 dev container 中執行時 Bob Shell 無法連接至 IDE。
原因: Bob Shell 連接埠未從 dev container 轉發至主機。
解決方案:
- 在 dev container 內的終端機中取得 Bob Shell 連接埠:
輸出範例:echo $BOB_SHELL_CLI_IDE_SERVER_PORT42991 - 在您的 IDE 中開啟命令面板並選擇 Forward a Port。
- 加入步驟 1 中顯示的連接埠(例如
42991)。 - 啟動 Bob Shell:
bob - 啟用 IDE 整合:
或檢查連線狀態:/ide enable/ide status
無法連接至 IDE companion 擴充功能
錯誤: 🔴 Disconnected: Failed to connect to IDE companion extension
原因: Bob Shell Companion 擴充功能未安裝、未啟用或未在您的 IDE 中執行。
解決方案:
- 確認 Bob Shell Companion 擴充功能已在您的 IDE 中安裝並啟用。
- 在您的 IDE 中開啟新的終端機。
- 在 Bob Shell 中執行
/ide enable。
連線意外中斷
錯誤: 🔴 Disconnected: IDE connection error. The connection was lost unexpectedly
原因: IDE 連線因網路問題或 IDE 重新啟動而中斷。
解決方案:
- 執行
/ide enable重新連線。 - 如果問題持續,請重新啟動您的 IDE。
目錄不符
錯誤: 🔴 Disconnected: Directory mismatch
原因: Bob Shell 在不同於您 IDE 中開啟的工作區目錄中執行。
解決方案:
- 切換至您 IDE 中開啟的同一目錄。
- 從該目錄重新啟動 Bob Shell。
未開啟工作區資料夾
錯誤: 🔴 Disconnected: To use this feature, please open a workspace folder
原因: 您的 IDE 中未開啟任何資料夾或工作區。
解決方案:
- 在您的 IDE 中開啟資料夾或工作區。
- 重新啟動 Bob Shell。
不支援 IDE 整合
錯誤: IDE integration is not supported in your current environment
原因: Bob Shell 未在受支援 IDE 的整合式終端機中執行。
解決方案: 從受支援 IDE 的整合式終端機中執行 Bob Shell。
設定問題
.bobignore 無法運作
錯誤: Bob Shell 忽略您想讓它存取的檔案,或存取您想讓它忽略的檔案。
原因: .bobignore 檔案可能有衝突的模式、不正確的模式順序,或位於錯誤的位置。變更可能尚未生效。
解決方案:
- 檢查您的
.bobignore檔案是否有衝突的模式。 - 確保更具體的模式(例如帶有
!的否定模式)放在一般模式之後。 - 變更
.bobignore後重新啟動您的 Bob Shell 工作階段。 - 如果相對路徑無法正常運作,請使用絕對路徑。
- 確認
.bobignore檔案位於您的專案根目錄。
設定未套用
錯誤: Bob Shell 設定變更未生效。
原因: 設定檔可能位於錯誤的位置、含有無效的 JSON 語法,或被更高優先順序的設定來源覆寫。變更可能尚未生效。
解決方案:
- 確認設定檔位置:
- 專案設定:專案目錄中的
.bob/settings.json - 使用者設定:主目錄中的
~/.bob/settings.json
- 專案設定:專案目錄中的
- 確認 JSON 語法有效(使用 JSON 驗證器)。
- 記住設定優先順序:
- 命令列引數(最高優先順序)
- 環境變數
- 專案設定
- 使用者設定
- 系統預設值(最低優先順序)
- 變更設定檔後重新啟動 Bob Shell。
自訂指示未載入
錯誤: 自訂指示未套用至 Bob Shell 工作階段。
原因: 自訂指示檔案可能位於錯誤的位置、副檔名不正確,或未載入至目前上下文。
解決方案:
- 確認檔案位於正確位置:
- 工作區範圍:專案根目錄中的
.bob/rules/ - 模式專屬:專案根目錄中的
.bob/rules-{modeSlug}/
- 工作區範圍:專案根目錄中的
- 確認檔案具有正確的副檔名(
.md、.txt或.xml)。 - 使用
/memory refresh重新載入所有上下文檔案。 - 使用
/memory show確認目前上下文。
命令執行問題
找不到命令
錯誤: command not found: bob
原因: Bob Shell 未正確安裝或不在您系統的 PATH 中。
解決方案:
- 確認 Bob Shell 已安裝:
which bob - 如果未找到,請依照安裝指示重新安裝 Bob Shell。
- 確認您的 shell
PATH包含 Bob Shell 安裝目錄。
Shell 模式無法運作
錯誤: Shell 模式(! 命令)無法執行命令。
原因: 您可能未在空提示符下輸入 !、缺少必要的權限,或命令本身可能無效。
解決方案:
- 確認您是在空提示符下輸入
!。 - 確認您有執行 shell 命令的必要權限。
- 先嘗試直接在終端機中執行命令,確認它能正常運作。
效能問題
回應緩慢
錯誤: Bob Shell 回應請求緩慢。
原因: 網路連線問題、載入太多檔案作為上下文,或上下文中包含大型二進位檔案。
解決方案:
- 確認您的網路連線。
- 使用
.bobignore減少上下文中的檔案數量。 - 避免包含大型二進位檔案或
node_modules/等目錄。 - 考慮使用更具體的
@檔案參照,而非載入所有檔案。
高記憶體使用量
錯誤: Bob Shell 消耗過多記憶體。
原因: 載入太多檔案作為上下文、大型目錄未排除,或記憶體檔案中有循環匯入。
解決方案:
- 限制載入作為上下文的檔案數量。
- 使用
.bobignore排除大型目錄。 - 在長時間工作階段中定期重新啟動 Bob Shell。
- 檢查您的記憶體檔案中是否有循環匯入。
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 目錄,Bob Shell 使用目前工作目錄作為工作區根目錄。