---
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 存儲庫中，則它存儲在 `./<project-slug>/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`
- **項目插件**（僅當您使用每個項目配置時）
  - `<your-project>/.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 上遇到性能緩慢、文件訪問問題或終端問題，請嘗試使用[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` 運行以查看終端中的輸出
3. 確保您擁有最新版本`opencode upgrade`

---

### 身份驗證問題

1. 嘗試使用 TUI 中的 `/connect` 命令重新進行身份驗證
2. 檢查您的 API 密鑰是否有效
3. 確保您的網絡允許連接到提供商的 API

---

### 型號不可用

1. 檢查您是否已通過提供商的身份驗證
2. 驗證配置中的型號名稱是否正確
3. 某些型號可能需要特定的訪問權限或訂閱

如果您遇到`ProviderModelNotFoundError`，您很可能是錯誤的
在某處引用模型。
模型應該像這樣引用：`<providerId>/<modelId>`

示例：

- `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` 的順序查找剪貼板工具。
