YAML 配置文件

aider 的大部分选项都可以在 .aider.conf.yml 文件中设置。 aider 会依次在以下位置查找该配置文件:

  • 用户主目录
  • Git 仓库根目录
  • 当前工作目录

如果存在上述文件,它们将按顺序加载。后加载的文件会覆盖先前的设置。

你也可以通过 --config <filename> 参数指定配置文件,此时只会加载指定的单个配置文件。

请参阅 API 密钥配置文档 了解如何配置和存储您的 API 密钥。

关于列表的说明

值列表可以通过以下两种方式指定:

使用项目符号列表:

read:
  - CONVENTIONS.md
  - anotherfile.txt
  - thirdfile.py

或者使用逗号和方括号:

read: [CONVENTIONS.md, anotherfile.txt, thirdfile.py]

YAML 配置文件示例

下方是一个 YAML 配置文件的示例,你也可以 从 GitHub 下载

##########################################################

# 示例 .aider.conf.yml

# 此文件列出了所有有效的配置项

# 可放置在用户主目录或 Git 仓库根目录
##########################################################


# 注意:YAML 配置文件中只能设置 OpenAI 和 Anthropic 的 API 密钥

# 所有 API 的密钥都可以存储在 .env 文件中

# https://aider.chat/docs/config/dotenv.html

##########

# 选项:


## 显示此帮助信息并退出
#help: xxx

#############

# 主模型:


## 指定用于主聊天对话的模型
#model: xxx

########################

# API 密钥和设置:


## 指定 OpenAI API 密钥
#openai-api-key: xxx


## 指定 Anthropic API 密钥
#anthropic-api-key: xxx


## 指定 API 基础 URL
#openai-api-base: xxx

(已弃用,请使用 –set-env OPENAI_API_TYPE=)

#openai-api-type: xxx

(已弃用,请使用 –set-env OPENAI_API_VERSION=)

#openai-api-version: xxx

(已弃用,请使用 –set-env OPENAI_API_DEPLOYMENT_ID=)

#openai-api-deployment-id: xxx

(已弃用,请使用 –set-env OPENAI_ORGANIZATION=)

#openai-organization-id: xxx

设置环境变量(用于控制API设置,可多次使用)

#set-env: xxx

多值设置示例:

#set-env:

- xxx

- yyy

- zzz

为提供商设置API密钥(例如:–api-key provider= 会设置 PROVIDER_API_KEY=

#api-key: xxx

多值设置示例:

#api-key:

- xxx

- yyy

- zzz

#################

模型设置:

列出匹配(部分)MODEL名称的已知模型

#list-models: xxx

为未知模型指定包含aider模型设置的文件

#model-settings-file: .aider.model.settings.yml

为未知模型指定包含上下文窗口和成本信息的文件

#model-metadata-file: .aider.model.metadata.json

添加模型别名(可多次使用)

#alias: xxx

多值设置示例:

#alias:

- xxx

- yyy

- zzz

设置 reasoning_effort API参数(默认:未设置)

#reasoning-effort: xxx

为支持该功能的模型设置思考token预算。使用0表示禁用。(默认:未设置)

#thinking-tokens: xxx

连接模型时验证SSL证书(默认:True)

#verify-ssl: true

API调用超时时间(秒)(默认:None)

#timeout: xxx

指定LLM应使用的编辑格式(默认取决于模型)

#edit-format: xxx

为主聊天使用architect编辑格式

#architect: false

启用/禁用自动接受architect变更(默认:True)

#auto-accept-architect: true

指定用于提交消息和聊天历史摘要的模型(默认取决于–model)

#weak-model: xxx

指定编辑器任务使用的模型(默认取决于 –model 参数)

#editor-model: xxx

指定编辑器模型的编辑格式(默认:取决于编辑器模型)

#editor-edit-format: xxx

仅使用具有可用元数据的模型(默认:True)

#show-model-warnings: true

检查模型是否接受 reasoning_effort/thinking_tokens 等设置(默认:True)

#check-model-accepts-settings: true

聊天历史记录的软性 token 限制,超过后将开始摘要。若未指定,默认使用模型的 max_chat_history_tokens 值。

#max-chat-history-tokens: xxx

#################

缓存设置:

启用提示词缓存(默认:False)

#cache-prompts: false

以5分钟间隔发送保活 ping 的次数(默认:0)

#cache-keepalive-pings: false

###################

仓库映射设置:

建议用于仓库映射的 token 数量,设为 0 表示禁用

#map-tokens: xxx

控制仓库映射的刷新频率。可选值:auto(自动)、always(总是)、files(文件变更时)、manual(手动)(默认:auto)

#map-refresh: auto

未指定文件时的映射 token 乘数(默认:2)

#map-multiplier-no-files: true

################

历史文件:

指定聊天输入历史文件(默认:.aider.input.history)

#input-history-file: .aider.input.history

指定聊天历史记录文件(默认:.aider.chat.history.md)

#chat-history-file: .aider.chat.history.md

恢复之前的聊天历史消息(默认:False)

#restore-chat-history: false

将 LLM 对话记录到指定文件(例如 .aider.llm.history)

#llm-history-file: xxx

##################

输出设置:

使用适合深色终端背景的颜色方案(默认:False)

#dark-mode: false

使用适合浅色终端背景的颜色方案(默认:False)

#light-mode: false

启用/禁用美观的彩色输出(默认:True)

#pretty: true

启用/禁用流式响应(默认值:True)

#stream: true

设置用户输入颜色(默认值:#00cc00)

#user-input-color: “#00cc00”

设置工具输出颜色(默认值:None)

#tool-output-color: “xxx”

设置工具错误消息颜色(默认值:#FF2222)

#tool-error-color: “#FF2222”

设置工具警告消息颜色(默认值:#FFA500)

#tool-warning-color: “#FFA500”

设置助手输出颜色(默认值:#0088ff)

#assistant-output-color: “#0088ff”

设置补全菜单颜色(默认值:终端默认文本颜色)

#completion-menu-color: “xxx”

设置补全菜单背景颜色(默认值:终端默认背景颜色)

#completion-menu-bg-color: “xxx”

设置补全菜单当前项颜色(默认值:终端默认背景颜色)

#completion-menu-current-color: “xxx”

设置补全菜单当前项背景颜色(默认值:终端默认文本颜色)

#completion-menu-current-bg-color: “xxx”

设置Markdown代码主题(默认值:default,其他选项包括monokai、solarized-dark、solarized-light或Pygments内置样式,参见https://pygments.org/styles获取可用主题)

#code-theme: default

提交变更时显示差异(默认值:False)

#show-diffs: false

###############

Git设置:

启用/禁用查找Git仓库(默认值:True)

#git: true

启用/禁用将.aider*添加到.gitignore(默认值:True)

#gitignore: true

启用/禁用将.gitignore中列出的文件添加到Aider的编辑范围

#add-gitignore-files: false

指定aider忽略文件(默认值:Git根目录中的.aiderignore)

#aiderignore: .aiderignore

仅考虑Git仓库当前子树中的文件

#subtree-only: false

启用/禁用自动提交LLM变更(默认值:True)

#auto-commits: true

当仓库存在未提交更改时是否允许提交(默认:True)

#dirty-commits: true

在 git 作者名称中标注 aider 的代码修改(默认:True)。若显式设为 True,将优先于 –attribute-co-authored-by 设置

#attribute-author: xxx

在 git 提交者名称中标注 aider 的提交(默认:True)。若显式设为 True,对于 aider 的编辑将优先于 –attribute-co-authored-by 设置

#attribute-committer: xxx

如果修改由 aider 发起,在提交消息前添加 ‘aider: ‘ 前缀(默认:False)

#attribute-commit-message-author: false

在所有提交消息前添加 ‘aider: ‘ 前缀(默认:False)

#attribute-commit-message-committer: false

在提交消息的 Co-authored-by 尾部标注 aider 的编辑(默认:True)。若为 True,此设置将优先于默认的 –attribute-author 和 –attribute-committer 行为,除非它们被显式设为 True

#attribute-co-authored-by: true

提交时是否启用 –no-verify 跳过 git 预提交钩子(默认:False)

#git-commit-verify: false

用合适的提交消息提交所有待处理更改,然后退出

#commit: false

指定生成提交消息的自定义提示词

#commit-prompt: xxx

执行空运行而不实际修改文件(默认:False)

#dry-run: false

跳过 git 仓库的完整性检查(默认:False)

#skip-sanity-check-repo: false

是否启用监听文件中的 AI 编码注释(默认:False)

#watch-files: false

########################

修复与提交相关配置:

对指定文件或未提交文件进行代码检查和修复

#lint: false

为不同语言指定 lint 命令,例如:”python: flake8 –select=…“(可多次使用)

#lint-cmd: xxx

多值配置示例:

#lint-cmd:

- xxx

- yyy

- zzz

是否在更改后自动执行代码检查(默认:True)

#auto-lint: true

指定测试运行命令

#test-cmd: xxx

启用/禁用变更后自动测试(默认:False)

#auto-test: false

运行测试,修复发现的问题后退出

#test: false

############

分析统计:

为当前会话启用/禁用分析统计(默认:随机)

#analytics: xxx

指定记录分析事件的文件

#analytics-log: xxx

永久禁用分析统计

#analytics-disable: false

将分析数据发送到自定义 PostHog 实例

#analytics-posthog-host: xxx

将分析数据发送到自定义 PostHog 项目

#analytics-posthog-project-api-key: xxx

############

升级相关:

检查更新并通过退出码返回状态

#just-check-update: false

启动时检查新版本

#check-update: true

新版本首次运行时显示发布说明(默认:None,询问用户)

#show-release-notes: xxx

从主分支安装最新版本

#install-main-branch: false

从 PyPI 升级 aider 到最新版本

#upgrade: false

显示版本号并退出

#version: xxx

########

运行模式:

指定发送给LLM的单一消息,处理回复后退出(禁用聊天模式)

#message: xxx

指定包含发送给LLM消息的文件,处理回复后退出(禁用聊天模式)

#message-file: xxx

在浏览器中运行 aider(默认:False)

#gui: false

启用 aider 和 Web UI 之间的自动复制粘贴聊天内容(默认:False)

#copy-paste: false

应用给定文件的变更而不运行聊天(调试用)

#apply: xxx

使用主模型的编辑器格式将剪贴板内容作为编辑应用

#apply-clipboard-edits: false

完成所有启动活动后退出,不接受用户输入(调试用)

#exit: false

打印仓库映射图并退出(调试用)

#show-repo-map: false

打印系统提示并退出(调试用)

#show-prompts: false

#################

语音设置:

语音录制的音频格式(默认:wav)。webm 和 mp3 需要 ffmpeg

#voice-format: wav

使用 ISO 639-1 代码指定语音语言(默认:auto)

#voice-language: en

指定语音录制的输入设备名称

#voice-input-device: xxx

#################

其他设置:

永不提示或尝试安装 Playwright 进行网页抓取(默认:False)

#disable-playwright: false

指定要编辑的文件(可多次使用)

#file: xxx

多值指定方式如下:

#file:

- xxx

- yyy

- zzz

指定只读文件(可多次使用)

#read: xxx

多值指定方式如下:

#read:

- xxx

- yyy

- zzz

在终端中使用 VI 编辑模式(默认:False)

#vim: false

指定聊天使用的语言(默认:None,使用系统设置)

#chat-language: xxx

指定提交信息使用的语言(默认:None,用户语言)

#commit-language: xxx

对所有确认自动回答”是”

#yes-always: false

启用详细输出

#verbose: false

启动时加载并执行文件中的 /commands

#load: xxx

指定输入输出的编码格式(默认:utf-8)

#encoding: utf-8

写入文件时使用的行尾符(默认:平台相关)

#line-endings: platform

指定配置文件(默认:在 git 根目录、当前工作目录或家目录中搜索 .aider.conf.yml)

#config: xxx

指定要加载的 .env 文件(默认:git 根目录中的 .env)

#env-file: .env

启用/禁用 shell 命令建议(默认:True)

#suggest-shell-commands: true

启用/禁用带历史记录和补全的高级输入(默认:True)

#fancy-input: true

启用/禁用多行输入模式(使用 Meta-Enter 提交,默认:False)

#multiline: false

启用/禁用当 LLM 响应就绪时的终端铃声通知(默认:False)

#notifications: false

指定用于通知的自定义命令(替代终端铃声)。若未指定,将使用操作系统的默认命令。

#notifications-command: xxx

启用/禁用检测并建议将URL添加到聊天中(默认:True)

#detect-urls: true

指定 /editor 命令使用的编辑器

#editor: xxx

打印指定SHELL的自动补全脚本并退出。支持的shell:bash, tcsh, zsh。示例:aider –shell-completions bash

#shell-completions: xxx

############################

已弃用的模型设置:

使用 claude-3-opus-20240229 模型作为主聊天模型(已弃用,请改用 –model)

#opus: false

使用 anthropic/claude-3-7-sonnet-20250219 模型作为主聊天模型(已弃用,请改用 –model)

#sonnet: false

使用 claude-3-5-haiku-20241022 模型作为主聊天模型(已弃用,请改用 –model)

#haiku: false

使用 gpt-4-0613 模型作为主聊天模型(已弃用,请改用 –model)

#4: false

使用 gpt-4o 模型作为主聊天模型(已弃用,请改用 –model)

#4o: false

使用 gpt-4o-mini 模型作为主聊天模型(已弃用,请改用 –model)

#mini: false

使用 gpt-4-1106-preview 模型作为主聊天模型(已弃用,请改用 –model)

#4-turbo: false

使用 gpt-3.5-turbo 模型作为主聊天模型(已弃用,请改用 –model)

#35turbo: false

使用 deepseek/deepseek-chat 模型作为主聊天模型(已弃用,请改用 –model)

#deepseek: false

使用 o1-mini 模型作为主聊天模型(已弃用,请改用 –model)

#o1-mini: false

使用 o1-preview 模型作为主聊天模型(已弃用,请改用 –model)

#o1-preview: false ```


目录