--- title: 故障排除 description: 常見問題以及如何解決它們。 --- 要調試 opencode 問題,請首先檢查其存儲在磁盤上的日誌和本地數據。 --- ## 紀錄 日誌文件寫入: - **macOS/Linux**:`~/.local/share/opencode/log/` - **Windows**:按`WIN+R`並粘貼`%USERPROFILE%\.local\share\opencode\log` 日誌文件以時間戳命名(例如`2025-01-09T123456.log`),並保留最近的 10 個日誌文件。 您可以使用 `--log-level` 命令行選項設置日誌級別以獲取更詳細的調試信息。例如,`opencode --log-level DEBUG`。 --- ## 貯存 opencode 將會話數據和其他應用程式數據存儲在磁盤上: - **macOS/Linux**:`~/.local/share/opencode/` - **Windows**:按`WIN+R`並粘貼`%USERPROFILE%\.local\share\opencode` 該目錄包含: - `auth.json` - 身份驗證數據,例如 API 密鑰、OAuth 令牌 - `log/` - 應用程式日誌 - `project/` - 項目特定數據,例如會話和消息數據 - 如果項目位於 Git 存儲庫中,則它存儲在 `.//storage/` 中 - 如果不是 Git 存儲庫,則存儲在 `./global/storage/` 中 --- ## 桌面應用程式 opencode Desktop 在後台運行本地 opencode 服務器(`opencode-cli` sidecar)。大多數問題是由行為不當的插件、損壞的緩存或錯誤的服務器設置引起的。 ### 快速檢查 - 完全退出並重新啟動應用程式。 - 如果應用程式顯示錯誤屏幕,請單擊“**重新啟動**”並複制錯誤詳細信息。 - 僅限 macOS:`opencode` 菜單 -> **重新加載 Webview**(如果 UI 為空白/凍結,則有幫助)。 --- ### 禁用插件 如果桌面應用程式在啟動時崩潰、掛起或行為異常,請首先禁用插件。 #### 檢查全局配置 打開全局配置文件並查找 `plugin` 密鑰。 - **macOS/Linux**:`~/.config/opencode/opencode.jsonc`(或`~/.config/opencode/opencode.json`) - **macOS/Linux**(較舊的安裝):`~/.local/share/opencode/opencode.jsonc` - **Windows**:按`WIN+R`並粘貼`%USERPROFILE%\.config\opencode\opencode.jsonc` 如果您配置了插件,請通過刪除密鑰或將其設置為空數組來暫時禁用它們: ```jsonc { "$schema": "https://opencode.ai/config.json", "plugin": [], } ``` #### 檢查插件目錄 opencode 還可以從磁盤加載本地插件。暫時將它們移開(或重命名文件夾)並重新啟動桌面應用程式: - **全局插件** - **macOS/Linux**:`~/.config/opencode/plugins/` - **Windows**:按`WIN+R`並粘貼`%USERPROFILE%\.config\opencode\plugins` - **項目插件**(僅當您使用每個項目配置時) - `/.opencode/plugins/` 如果應用程式再次開始工作,請一次重新啟用一個插件,以找出導致問題的插件。 --- ### 清除緩存 如果禁用插件沒有幫助(或者插件安裝被卡住),請清除緩存,以便 opencode 可以重建它。 1. 完全退出 opencode Desktop。 2. 刪除緩存目錄: - **macOS**:Finder -> `Cmd+Shift+G` -> 粘貼`~/.cache/opencode` - **Linux**:刪除`~/.cache/opencode`(或運行`rm -rf ~/.cache/opencode`) - **Windows**:按`WIN+R`並粘貼`%USERPROFILE%\.cache\opencode` 3. 重新啟動 opencode 桌面。 --- ### 修復服務器連接問題 opencode Desktop 可以啟動自己的本地服務器(默認)或連接到您配置的服務器 URL。 如果您看到 **“連接失敗”** 對話框(或者應用程式永遠無法通過啟動屏幕),請檢查自定義服務器 URL。 #### 清除桌面默認服務器 URL 在主屏幕中,單擊服務器名稱(帶有狀態點)以打開服務器選取器。在“**默認服務器**”部分中,單擊“**清除**”。 #### 從您的配置中刪除`server.port` / `server.hostname` 如果您的 `opencode.json(c)` 包含 `server` 部分,請將其暫時刪除並重新啟動桌面應用程式。 #### 檢查環境變量 如果您在環境中設置了 `OPENCODE_PORT`,桌面應用程式將嘗試將該端口用於本地服務器。 - 取消設置`OPENCODE_PORT`(或選擇一個空閒端口)並重新啟動。 --- ### Linux:Wayland / X11 問題 在 Linux 上,某些 Wayland 設置可能會導致空白窗口或合成器錯誤。 - 如果您在 Wayland 上且應用程式空白/崩潰,請嘗試使用 `OC_ALLOW_WAYLAND=1` 啟動。 - 如果這讓事情變得更糟,請將其刪除並嘗試在 X11 會話下啟動。 --- ### Windows:WebView2 運行時 在 Windows 上,opencode Desktop 需要 Microsoft Edge **WebView2 運行時**。如果應用程式打開為空白窗口或無法啟動,請安裝/更新 WebView2,然後重試。 --- ### Windows:一般性能問題 如果您在 Windows 上遇到性能緩慢、文件訪問問題或terminal問題,請嘗試使用[WSL(適用於 Linux 的 Windows 子系統)](/docs/windows-wsl)。 WSL 提供了一個可以與 opencode 功能更加無縫協作的 Linux 環境。 --- ### 通知不顯示 opencode Desktop 僅在以下情況下顯示系統通知: - 在您的操作系統設置中啟用 opencode 通知,並且 - 應用程式窗口未聚焦。 --- ### 重置桌面應用程式存儲(最後的手段) 如果應用程式無法啟動並且您無法從 UI 內部清除設置,請重置桌面應用程式的保存狀態。 1. 退出 opencode Desktop。 2. 查找並刪除這些文件(它們位於 opencode Desktop 應用程式數據目錄中): - `opencode.settings.dat`(桌面默認服務器 URL) - `opencode.global.dat` 和 `opencode.workspace.*.dat`(UI 狀態,如最近的服務器/項目) 快速找到目錄: - **macOS**:Finder -> `Cmd+Shift+G` -> `~/Library/Application Support`(然後搜索上面的文件名) - **Linux**:在 `~/.local/share` 下搜索上述文件名 - **Windows**:按`WIN+R` -> `%APPDATA%`(然後搜索上面的文件名) --- ## 尋求幫助 如果您遇到 opencode 問題: 1. **在 GitHub 上報告問題** 報告錯誤或請求功能的最佳方式是通過我們的 GitHub 存儲庫: [**github.com/anomalyco/opencode/issues**](https://github.com/anomalyco/opencode/issues) 在創建新問題之前,請搜索現有問題以查看您的問題是否已被報告。 2. **加入我們的不和諧** 如需實時幫助和社區討論,請加入我們的 Discord 服務器: [**opencode.ai/discord**](https://opencode.ai/discord) --- ## 常見問題 以下是一些常見問題以及解決方法。 --- ### opencode 無法啟動 1. 檢查日誌中是否有錯誤消息 2. 嘗試使用 `--print-logs` 運行以查看terminal 中的輸出 3. 確保您擁有最新版本`opencode upgrade` --- ### 身份驗證問題 1. 嘗試使用 TUI 中的 `/connect` 命令重新進行身份驗證 2. 檢查您的 API 密鑰是否有效 3. 確保您的網絡允許連接到提供商的 API --- ### 型號不可用 1. 檢查您是否已通過提供商的身份驗證 2. 驗證配置中的型號名稱是否正確 3. 某些型號可能需要特定的訪問權限或訂閱 如果您遇到`ProviderModelNotFoundError`,您很可能是錯誤的 在某處引用模型。 模型應該像這樣引用:`/` 示例: - `openai/gpt-4.1` - `openrouter/google/gemini-2.5-flash` - `opencode/kimi-k2` 要了解您可以訪問哪些模型,請運行`opencode models` --- ### 提供者初始化錯誤 如果遇到 ProviderInitError,您的配置可能無效或損壞。 要解決這個問題: 1. 首先,按照 [供應商指南](/docs/providers) 驗證您的提供商是否已正確設置 2. 如果問題仍然存在,請嘗試清除存儲的配置: ```bash rm -rf ~/.local/share/opencode ``` 在 Windows 上,按 `WIN+R` 並刪除:`%USERPROFILE%\.local\share\opencode` 3. 使用 TUI 中的 `/connect` 命令向您的提供商重新進行身份驗證。 --- ### AI_APICallError 和提供商套件問題 如果您遇到 API 調用錯誤,這可能是由於過時的提供商套件造成的。 opencode 根據需要動態安裝提供商套件(OpenAI、Anthropic、Google 等)並將其緩存在本地。 要解決提供商套件問題: 1. 清除提供商套件緩存: ```bash rm -rf ~/.cache/opencode ``` 在 Windows 上,按 `WIN+R` 並刪除:`%USERPROFILE%\.cache\opencode` 2. 重新啟動 opencode 以重新安裝最新的提供商套件 這將強制 opencode 下載最新版本的提供商套件,這通常可以解決模型參數和 API 更改的兼容性問題。 --- ### 複製/粘貼在 Linux 上不起作用 Linux 用戶需要安裝以下剪貼板實用程序之一才能使用複制/粘貼功能: **對於 X11 系統:** ```bash apt install -y xclip # or apt install -y xsel ``` **對於 Wayland 系統:** ```bash apt install -y wl-clipboard ``` **對於無頭環境:** ```bash apt install -y xvfb # and run: Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & export DISPLAY=:99.0 ``` opencode 將檢測您是否使用 Wayland 並更喜歡 `wl-clipboard`,否則它將嘗試按 `xclip` 和 `xsel` 的順序查找剪貼板工具。