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 ```