> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siflow.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# Aider

> 了解如何在 Aider 中配置 OpenAI-compatible provider 和 API Key，接入 siflow endpoint，并使用算秩模型进行终端 AI 结对编程。

[Aider](https://aider.chat) 是一个基于 git diff 工作流的终端 AI 结对编程工具。您可以通过 OpenAI-compatible 集成，将 Aider 连接到 siflow endpoint。

## 配置

### 1. 安装 Aider

<CodeGroup>
  ```bash pip (official installer) theme={null}
  python -m pip install aider-install && aider-install
  ```

  ```bash uv theme={null}
  uv tool install --force --python python3.12 --with pip aider-chat@latest
  ```
</CodeGroup>

### 2. 配置模型

在 [API 密钥](https://console.siflow.cn/model-inference/api_keys) 页面创建 API Key，然后将算秩配置添加到 `~/.aider.conf.yml`。Aider 每次启动、在每个终端中都会读取该文件。

```yaml theme={null}
model: openai/glm-5.2
openai-api-base: https://api.siflow.cn/model-api/v1
openai-api-key: <Your API Key>
```

配置时请注意以下事项：

* 本文配置以 `glm-5.2` 模型为例。`glm-5.2` 等推理模型可能会在最终回复前输出 reasoning content，体感速度可能更慢。如果更看重速度，可以切换到非推理模型。
* 模型名称中的 `openai/` 为固定前缀，使得请求走 Aider 的 OpenAI-compatible 集成。不存在 `siflow_` 前缀的变体。
* 如果只想在当前会话中配置，也可以设置 `OPENAI_API_BASE` 和 `OPENAI_API_KEY`，然后运行 `aider --model openai/glm-5.2`。新的终端会话会丢失这些 export。
* 除了 `~/.aider.conf.yml`，`OPENAI_API_BASE` 和 `OPENAI_API_KEY` 也可以放在 `.env` 文件中。Aider 会依次搜索 home 目录、git repo 根目录和当前目录；后查到的位置优先级更高。

配置模型后，进入您的项目目录，然后启动 Aider：

```bash theme={null}
cd <your-project>
aider
```

<Tip>
  Commit message 和 chat-history summary 由单独的 weak model 生成。如果希望使用 `DeepSeek-V4-Flash` 承担该角色，可以添加 `--weak-model openai/DeepSeek-V4-Flash`。
</Tip>

### 3. 清除“unknown model”告警

首次启动时，Aider 可能显示类似告警：

```text theme={null}
Warning for openai/glm-5.2: Unknown context window size and costs, using sane defaults. Did you mean openai/gpt-5.2?
```

当 Aider 的模型数据库还没有包含算秩模型 ID 时，这是预期现象。Aider 会回退到默认值，并可能建议一个相似模型名。遇到 documentation prompt 时选择 **N**，并忽略模型名建议。

如果想要清除该警告，请在项目根目录添加 `.aider.model.metadata.json`：

```json theme={null}
{
  "openai/glm-5.2": {
    "max_tokens": 8192,
    "max_input_tokens": 131072,
    "max_output_tokens": 8192,
    "input_cost_per_token": 0,
    "output_cost_per_token": 0,
    "litellm_provider": "openai",
    "mode": "chat"
  }
}
```

* `litellm_provider` 字段必须与模型名称中的前缀一致。Aider 会在 home 目录、git repo 根目录和当前目录中查找该文件；后查到的位置优先级更高。也可以显式传入 `--model-metadata-file <path>`。
* 请根据模型的实际上下文窗口调整 `max_input_tokens`。

## 验证

在交互模式中，让 Aider 做一个小改动，例如给 README 添加一行，并确认它能生成并应用 diff。

也可以使用非交互方式验证连接：

```bash theme={null}
aider --model openai/glm-5.2 --message "say ok" --no-git --yes-always
```

## 其他模式

同一套算秩配置也适用于 Aider 的其他模式：

* **One-shot**：`--message "<task>"` 发送一条指令、应用结果并退出，适合脚本化任务。
* **Browser UI**：`aider --browser` 在浏览器中运行 Aider。该模式是 experimental。
* **Watch mode**：`aider --watch-files` 会监听 repo 中的 AI comments。例如，在文件中写入 `// add a factorial() function ai!`，Aider 会识别该请求。`AI!` 请求修改，`AI?` 用于提问。
