
通过网关在 Aider 中使用 Claude:ANTHROPIC_API_BASE、配置文件、架构师模式与问题修复
Aider 的每次模型调用都通过 LiteLLM 发送,因此将其指向网关需要调整 LiteLLM 设置,而非 Aider 设置。对于 Claude,这意味着将 ANTHROPIC_API_BASE 设为网关的主机根地址,并使用带有以下前缀的模型名称: anthropic/ 。另有两项不太显眼的设置同样重要:较新的 Claude ID 需要添加模型设置条目,否则 Aider 会回退到整文件编辑,并且不使用代码仓库映射。
安装 Aider
python -m pip install aider-install
aider-install
# or the one-line installer (installs Python 3.12 if needed)
curl -LsSf https://aider.chat/install.sh | shpowershell -ExecutionPolicy ByPass -c "irm https://aider.chat/install.ps1 | iex"如果之后找不到 aider 命令(这在 Windows 上很常见), python -m aider 可运行同一个程序。
通过网关连接 Claude
export ANTHROPIC_API_KEY=your_gateway_key
export ANTHROPIC_API_BASE=https://aiprimetech.io
aider --model anthropic/claude-sonnet-5setx ANTHROPIC_API_KEY your_gateway_key
setx ANTHROPIC_API_BASE https://aiprimetech.io
# open a new terminal, then:
aider --model anthropic/claude-sonnet-5/v1 ,也不带末尾斜杠。LiteLLM 会追加 /v1/messages ,因此 https://aiprimetech.io/v1 会变成 /v1/v1/messages 并返回 404,而末尾斜杠会导致路径中出现双斜杠。Aider 自身的文档未介绍自定义 Anthropic 基础 URL。该变量由 LiteLLM 读取,它会先检查 ANTHROPIC_API_BASE ,然后检查 ANTHROPIC_BASE_URL,也就是 Claude Code 使用的变量。两者均可;如果都已设置,则 ANTHROPIC_API_BASE 优先。
保留模型名称中的 anthropic/ 前缀。如果没有提供商前缀,LiteLLM 不知道应将不熟悉的名称发送到哪里,并会失败,报错为 LLM Provider NOT provided.
将设置写入配置文件
Aider 会读取 .aider.conf.yml 和 .env ,依次从您的主目录、git 仓库根目录和当前目录读取,后读取的文件优先。主目录中的文件适用于所有项目。
model: anthropic/claude-sonnet-5
weak-model: anthropic/claude-haiku-4-5
set-env:
- ANTHROPIC_API_BASE=https://aiprimetech.io
model-settings-file: ~/.aider.model.settings.yml
model-metadata-file: ~/.aider.model.metadata.jsonANTHROPIC_API_KEY=your_gateway_keyweak-model 负责处理提交消息和聊天历史摘要,因此在此处使用低价模型可节省每次会话的费用。 set-env 会在任何模型调用之前将该变量复制到环境中,这样就无需将基础 URL 写入 shell 配置文件。
在较新模型上保留差异编辑和代码仓库映射
Aider 根据模型名称选择编辑格式。它能识别的名称,包括含有 sonnet-4-, opus-4- 或 haiku-4-的名称,会使用 diff 编辑和代码仓库映射。它无法识别的名称,例如 claude-sonnet-5,会回退到重写整个文件,并弃用代码仓库映射。这会让编辑速度更慢、费用更高。添加设置条目即可恢复正确行为:
- name: anthropic/claude-sonnet-5
edit_format: diff
use_repo_map: true
weak_model_name: anthropic/claude-haiku-4-5
- name: anthropic/claude-opus-5-5
edit_format: diff
use_repo_map: true
weak_model_name: anthropic/claude-haiku-4-5
editor_model_name: anthropic/claude-sonnet-5
editor_edit_format: editor-diff未知模型还会触发警告: Unknown context window size and costs, using sane defaults。这条警告本身无害,但 Aider 随后会假定上下文窗口无限、价格为零。元数据文件可为其提供实际数值:
{
"anthropic/claude-sonnet-5": {
"max_tokens": 64000,
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"input_cost_per_token": 0.000002,
"output_cost_per_token": 0.00001,
"litellm_provider": "anthropic",
"mode": "chat"
},
"anthropic/claude-opus-5-5": {
"max_tokens": 64000,
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"input_cost_per_token": 0.000004,
"output_cost_per_token": 0.00002,
"litellm_provider": "anthropic",
"mode": "chat"
}
}这些价格是 Anthropic 按 token 计费的标价,因此 Aider 的费用显示的是标价费用;网关的实际收费更低。即使模型支持更大的输入,200K 的输入限制仍是安全的工作上限。
架构师模式:用一个模型规划,用另一个模型编辑
aider --architect --model anthropic/claude-opus-5-5 --editor-model anthropic/claude-sonnet-5在架构师模式下,主模型提出更改方案,编辑模型将其转化为文件修改。使用更强的模型规划、较便宜的模型编辑,通常比两个环节都使用强模型更省钱。在会话中, /architect 会切换到该模式,仅用于一条消息,而 /chat-mode architect 会在会话剩余时间内切换到该模式。
OpenAI 兼容接入方式
网关还支持 OpenAI Chat Completions 格式,可通过同一账户以这种方式使用 GPT 模型。采用这种接入方式时,基础 URL 确实需要包含 /v1,且模型名称需要带上 openai/ 前缀:
export OPENAI_API_KEY=your_gateway_key
export OPENAI_API_BASE=https://aiprimetech.io/v1
aider --model openai/claude-sonnet-5对于 Claude,优先使用上面的原生接入方式:模型元数据和提示词缓存与 Anthropic 格式相匹配。如果环境中意外设置了 OPENAI_BASE_URL ,LiteLLM 会优先使用它,而不是 OPENAI_API_BASE.
模型
| 模型 ID | 适用场景 |
|---|---|
claude-sonnet-5 | 编程和智能体任务的默认选择:速度快、能力强、价格适中。 |
claude-opus-5-5 | 更复杂的推理、大规模重构、长时间运行的智能体任务。 |
claude-fable-5-1 | 能力最强,价格也最高;留给最困难的任务使用。 |
claude-haiku-4-5 | 价格低、速度快:标题、摘要、分类和小步骤。 |
Aider 的简短别名(sonnet, opus, haiku)指向较旧的模型 ID,因此请明确指定模型名称。带有旧日期的 ID,例如 claude-3-5-sonnet-20241022 ,已不再提供服务。
故障排查
| 你会看到什么 | 原因 | 解决方法 |
|---|---|---|
404 / NotFoundError | /v1 在 ANTHROPIC_API_BASE,因此路径变为 /v1/v1/messages | 设置主机根地址, https://aiprimetech.io,末尾不带斜杠 |
LLM Provider NOT provided | 模型名称缺少提供商前缀 | 使用 anthropic/claude-sonnet-5 |
AuthenticationError:无法验证你的身份 | 运行 Aider 的 shell 中缺少密钥,或使用了其他端点的密钥 | echo $ANTHROPIC_API_KEY;在 Windows 上,执行以下操作后打开新的终端: setx |
| 重写整个文件,不使用仓库映射 | Aider 无法识别模型名称 | 添加上面的 .aider.model.settings.yml 条目 |
Unknown context window size and costs | 缺少该模型的元数据 | 添加元数据文件,或忽略警告 |
| token 限制错误 | 聊天中的文件过多或过大 | /tokens 以查看用量, /drop 文件, /clear 历史记录 |
RateLimitError | 已达到并发或速率限制 | Aider 会按退避策略重试;避免使用同一个密钥运行多个会话 |
| 模型不受支持 | 模型 ID 已过时或拼写有误 | 使用上表中的 ID |
对于来自模型端而非 Aider 的错误,请参阅 Claude API 错误指南.
常见问题
如何在 Aider 中使用自定义 Anthropic 基础 URL?
Aider 会读取 ANTHROPIC_BASE_URL 吗?
为什么 Aider 在使用新的 Claude 模型时会重写整个文件?
Aider 可以使用 OpenAI 兼容端点吗?
获取 API 密钥,无需 Anthropic 账户,也无需加入候补名单。
获取你的 API 密钥AI Prime Tech 是独立的 API 网关,与 Anthropic 无关联,未获得其背书,也不是其经销商。Claude 及相关模型名称是其各自所有者的商标。