# Aider (/zh-Hant/docs/guides/aider)

透過 OpenAI 相容 API，以 cheapaimodel 的模型執行 Aider 程式設計助理。



Aider 以 `openai/` 模型前綴連接 OpenAI 相容 API：把 Base URL 與 Key 指向 cheapaimodel，並在模型 ID 前加上 `openai/`。

|          | Aider 設定                                | 值                                                               |
| -------- | --------------------------------------- | --------------------------------------------------------------- |
| Base URL | `OPENAI_API_BASE` 或 `--openai-api-base` | `https://api.cheapaimodel.ai/v1`                                |
| API Key  | `OPENAI_API_KEY` 或 `--openai-api-key`   | 你在控制台 [API Key](https://console.cheapaimodel.ai/keys) 頁面建立的 Key |
| 模型 ID    | `--model`                               | `openai/glm-5.3`，或 `openai/` 加上[目錄](/zh-Hant/models)中的任何模型 ID   |

## 設定 [#設定]

```bash title="終端機"
python -m pip install aider-install
aider-install
```

然後在你的專案中執行：

```bash title="終端機"
export OPENAI_API_BASE="https://api.cheapaimodel.ai/v1"
export OPENAI_API_KEY="$CHEAPAIMODEL_API_KEY"
aider --model openai/glm-5.3
```

Aider 會去掉前綴，向 `/v1/chat/completions` 請求 `glm-5.3`。

若想保留設定，又不想為所有工具匯出 `OPENAI_*` 變數，可以改寫進 Aider 的設定檔：

```yaml title="~/.aider.conf.yml"
model: openai/glm-5.3
openai-api-base: https://api.cheapaimodel.ai/v1
openai-api-key: sk-...
```

Aider 也會讀取 git 儲存庫根目錄的 `.aider.conf.yml`。含有 Key 的檔案不要納入版本控制。

## 模型警告 [#模型警告]

啟動時，對於沒有中繼資料的模型，Aider 會印出 `Unknown context window size and costs, using sane defaults`，並可能建議相近的名稱，例如 `zai/glm-5.3`。請保留 `openai/glm-5.3`：建議的名稱會直接呼叫其他供應商，而不是 cheapaimodel。Aider 的文件說明這個警告可以忽略，因為 Aider 不會強制執行 token 上限。

要隱藏警告，可以加上 `--no-show-model-warnings`，或在家目錄的 `.aider.model.metadata.json` 中描述這個模型：

```json title="~/.aider.model.metadata.json"
{
  "openai/glm-5.3": {
    "max_input_tokens": CONTEXT_LENGTH,
    "litellm_provider": "openai",
    "mode": "chat"
  }
}
```

請把 `CONTEXT_LENGTH` 換成模型頁面上的上下文長度，例如 [glm-5.3](/zh-Hant/models/glm-5.3)。Aider 不知道 cheapaimodel 的價格；你的花費請在控制台的[活動](https://console.cheapaimodel.ai/activity)頁面查看。

## 常見錯誤 [#常見錯誤]

* **`litellm.BadRequestError: LLM Provider NOT provided`。** 模型 ID 沒有 `openai/` 前綴。請使用 `--model openai/glm-5.3`。
* **Aider 以 `gpt-4o` 啟動，每個請求都失敗。** 沒有指定 `--model`（或設定檔中的 `model:`）時，Aider 看到 `OPENAI_API_KEY` 就會選用預設的 OpenAI 模型，例如 `gpt-4o`，弱模型為 `gpt-4o-mini`。我們不提供這些 ID。請一律指定模型。
* **`--weak-model` 或 `--editor-model` 的請求失敗。** 它們與 `--model` 規則相同：加上 `openai/` 前綴並使用目錄中的 ID，例如 `--weak-model openai/glm-5.3-flash`。兩者都沒設定時，Aider 會都使用主模型。
* **「The API provider's servers are down or overloaded」並不斷重試。** Aider 對所有 `503` 都這樣顯示。如果從第一個請求就失敗，請檢查模型 ID：我們不提供的 ID 會回傳 `503` 與 `model_not_found`。其他情況請參閱[錯誤](/zh-Hant/docs/concepts/errors)。
* **`fault filter abort` 或 `Invalid URL (POST /v1/chat/completions/chat/completions)`。** 兩者都是 Base URL 寫錯造成的 `404`：前者表示漏了 `/v1`，後者表示 Base URL 中包含了端點路徑。請設定為 `https://api.cheapaimodel.ai/v1`，不多也不少。
