使用 .env 文件配置

您可以使用 .env 文件来存储与 aider 一起使用的模型 API 密钥和其他设置。 您也可以在 .env 文件中设置许多通用的 aider 选项。

aider 会在以下位置查找 .env 文件:

  • 您的主目录
  • Git 仓库的根目录
  • 当前目录
  • 通过 --env-file <filename> 参数指定的文件

如果上述文件存在,它们将按顺序加载。最后加载的文件将具有优先级。

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

示例 .env 文件

下面是一个示例 .env 文件,您也可以从 GitHub 下载

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

# aider 示例 .env 文件

# 可放置在 Git 仓库根目录

# 或使用 `aider --env <fname>` 指定
##########################################################

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

# 大语言模型参数:
#

# 包含 xxx_API_KEY 参数和您的 LLM 所需的其他参数

# 详情请参阅 https://aider.chat/docs/llms.html


## OpenAI
#OPENAI_API_KEY=


## Anthropic
#ANTHROPIC_API_KEY=

##...

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

# 主模型:


## 指定用于主聊天会话的模型
#AIDER_MODEL=

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

# API 密钥和设置:


## 指定 OpenAI API 密钥
#AIDER_OPENAI_API_KEY=


## 指定 Anthropic API 密钥
#AIDER_ANTHROPIC_API_KEY=


## 指定 API 基础 URL
#AIDER_OPENAI_API_BASE=


## (已弃用,使用 --set-env OPENAI_API_TYPE=<value>)
#AIDER_OPENAI_API_TYPE=


## (已弃用,使用 --set-env OPENAI_API_VERSION=<value>)
#AIDER_OPENAI_API_VERSION=


## (已弃用,使用 --set-env OPENAI_API_DEPLOYMENT_ID=<value>)
#AIDER_OPENAI_API_DEPLOYMENT_ID=

## (已弃用,请使用 --set-env OPENAI_ORGANIZATION=<value>)
#AIDER_OPENAI_ORGANIZATION_ID=


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


## 为提供商设置API密钥(例如:--api-key provider=<key> 会设置 PROVIDER_API_KEY=<key>)
#AIDER_API_KEY=

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

# 模型设置:


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


## 为未知模型指定包含aider模型设置的文件
#AIDER_MODEL_SETTINGS_FILE=.aider.model.settings.yml


## 为未知模型指定包含上下文窗口和成本信息的文件
#AIDER_MODEL_METADATA_FILE=.aider.model.metadata.json


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


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


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


## 连接模型时验证SSL证书(默认:True)
#AIDER_VERIFY_SSL=true


## API调用的超时时间(秒)(默认:None)
#AIDER_TIMEOUT=


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


## 为主聊天使用architect编辑格式
#AIDER_ARCHITECT=


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


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


## 指定用于编辑任务的模型(默认取决于--model)
#AIDER_EDITOR_MODEL=


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


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


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

## 聊天历史记录的软性令牌限制,超过此限制后将开始进行摘要处理。若未指定,默认使用模型的 max_chat_history_tokens 值。
#AIDER_MAX_CHAT_HISTORY_TOKENS=

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

# 缓存设置:


## 启用提示词缓存 (默认: False)
#AIDER_CACHE_PROMPTS=false


## 以5分钟间隔发送保活ping的次数,用于保持提示词缓存活跃 (默认: 0)
#AIDER_CACHE_KEEPALIVE_PINGS=false

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

# 仓库映射设置:


## 建议用于仓库映射的令牌数量,设为0则禁用此功能
#AIDER_MAP_TOKENS=


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


## 未指定文件时的映射令牌乘数 (默认: 2)
#AIDER_MAP_MULTIPLIER_NO_FILES=true

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

# 历史文件:


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


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


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


## 将LLM对话记录保存到此文件 (例如: .aider.llm.history)
#AIDER_LLM_HISTORY_FILE=

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

# 输出设置:


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


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


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


## 启用/禁用流式响应 (默认: True)
#AIDER_STREAM=true


## 设置用户输入文本的颜色 (默认: #00cc00)
#AIDER_USER_INPUT_COLOR=#00cc00


## 设置工具输出的颜色 (默认: None)
#AIDER_TOOL_OUTPUT_COLOR=


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


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

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


## 设置补全菜单的文本颜色(默认:终端默认文本颜色)
#AIDER_COMPLETION_MENU_COLOR=


## 设置补全菜单的背景颜色(默认:终端默认背景颜色)
#AIDER_COMPLETION_MENU_BG_COLOR=


## 设置补全菜单当前选中项的文本颜色(默认:终端默认背景颜色)
#AIDER_COMPLETION_MENU_CURRENT_COLOR=


## 设置补全菜单当前选中项的背景颜色(默认:终端默认文本颜色)
#AIDER_COMPLETION_MENU_CURRENT_BG_COLOR=


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


## 提交更改时显示差异(默认:False)
#AIDER_SHOW_DIFFS=false

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

# Git设置:


## 启用/禁用查找git仓库(默认:True)
#AIDER_GIT=true


## 启用/禁用将.aider*添加到.gitignore(默认:True)
#AIDER_GITIGNORE=true


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


## 指定aider忽略文件(默认:git根目录下的.aiderignore)
#AIDER_AIDERIGNORE=.aiderignore


## 仅考虑git仓库当前子树中的文件
#AIDER_SUBTREE_ONLY=false


## 启用/禁用自动提交LLM更改(默认:True)
#AIDER_AUTO_COMMITS=true


## 当发现仓库有未提交更改时启用/禁用提交(默认:True)
#AIDER_DIRTY_COMMITS=true


## 在git作者名称中标注aider代码更改(默认:True)。如果显式设置为True,将覆盖--attribute-co-authored-by的优先级。
#AIDER_ATTRIBUTE_AUTHOR=

## 在 git 提交者名称中标注 aider 的提交 (默认: True)。如果显式设置为 True,将覆盖 --attribute-co-authored-by 对 aider 编辑的优先级
#AIDER_ATTRIBUTE_COMMITTER=


## 如果变更由 aider 发起,在提交消息前添加 'aider: ' 前缀 (默认: False)
#AIDER_ATTRIBUTE_COMMIT_MESSAGE_AUTHOR=false


## 在所有提交消息前添加 'aider: ' 前缀 (默认: False)
#AIDER_ATTRIBUTE_COMMIT_MESSAGE_COMMITTER=false


## 在提交消息中使用 Co-authored-by 尾部标注 aider 的编辑 (默认: True)。如果为 True,除非显式设置为 True,否则将优先于默认的 --attribute-author 和 --attribute-committer 行为
#AIDER_ATTRIBUTE_CO_AUTHORED_BY=true


## 使用 --no-verify 启用/禁用 git 预提交钩子 (默认: False)
#AIDER_GIT_COMMIT_VERIFY=false


## 使用合适的提交消息提交所有待处理变更,然后退出
#AIDER_COMMIT=false


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


## 执行空运行而不修改文件 (默认: False)
#AIDER_DRY_RUN=false


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


## 启用/禁用监视文件中的 AI 编码注释 (默认: False)
#AIDER_WATCH_FILES=false

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

# 修复和提交:


## 对提供的文件或未暂存的文件进行代码检查和修复
#AIDER_LINT=false


## 指定针对不同语言运行的检查命令,例如:"python: flake8 --select=..." (可多次使用)
#AIDER_LINT_CMD=


## 启用/禁用变更后自动代码检查 (默认: True)
#AIDER_AUTO_LINT=true


## 指定运行测试的命令
#AIDER_TEST_CMD=


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


## 运行测试,修复发现的问题然后退出
#AIDER_TEST=false

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

# 分析:


## 启用/禁用当前会话的分析功能 (默认: 随机)
#AIDER_ANALYTICS=

## 指定记录分析事件的文件
#AIDER_ANALYTICS_LOG=


## 永久禁用分析功能
#AIDER_ANALYTICS_DISABLE=false


## 将分析数据发送至自定义 PostHog 实例
#AIDER_ANALYTICS_POSTHOG_HOST=


## 将分析数据发送至自定义 PostHog 项目
#AIDER_ANALYTICS_POSTHOG_PROJECT_API_KEY=

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

# 升级相关:


## 检查更新并通过退出码返回状态
#AIDER_JUST_CHECK_UPDATE=false


## 启动时检查新版 aider
#AIDER_CHECK_UPDATE=true


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


## 安装主分支的最新版本
#AIDER_INSTALL_MAIN_BRANCH=false


## 将 aider 升级至 PyPI 最新版本
#AIDER_UPGRADE=false

########

# 运行模式:


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


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


## 在浏览器中运行 aider(默认:False)
#AIDER_GUI=false


## 启用 aider 与网页界面间的自动复制粘贴(默认:False)
#AIDER_COPY_PASTE=false


## 应用指定文件的更改而非运行聊天(调试用)
#AIDER_APPLY=


## 使用主模型的编辑器格式应用剪贴板内容作为编辑
#AIDER_APPLY_CLIPBOARD_EDITS=false


## 完成所有启动活动后退出,不接收用户输入(调试用)
#AIDER_EXIT=false


## 打印仓库映射并退出(调试用)
#AIDER_SHOW_REPO_MAP=false


## 打印系统提示并退出(调试用)
#AIDER_SHOW_PROMPTS=false

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

# 语音设置:


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


## 使用 ISO 639-1 代码指定语音语言(默认:自动)
#AIDER_VOICE_LANGUAGE=en


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

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

# 其他设置:

## 禁止提示或尝试安装 Playwright 进行网页抓取 (默认值: False)
#AIDER_DISABLE_PLAYWRIGHT=false


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


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


## 在终端中使用 VI 编辑模式 (默认值: False)
#AIDER_VIM=false


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


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


## 对所有确认自动回答"是"
#AIDER_YES_ALWAYS=


## 启用详细输出
#AIDER_VERBOSE=false


## 启动时加载并执行 /commands 文件中的命令
#AIDER_LOAD=


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


## 写入文件时使用的换行符 (默认值: 平台默认)
#AIDER_LINE_ENDINGS=platform


## 指定要加载的 .env 文件 (默认值: git 根目录下的 .env)
#AIDER_ENV_FILE=.env


## 启用/禁用 shell 命令建议 (默认值: True)
#AIDER_SUGGEST_SHELL_COMMANDS=true


## 启用/禁用带历史记录和自动补全的高级输入模式 (默认值: True)
#AIDER_FANCY_INPUT=true


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


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


## 指定用于通知的自定义命令。如果未指定,可能会使用操作系统默认命令。
#AIDER_NOTIFICATIONS_COMMAND=


## 启用/禁用检测并提供将 URL 添加到聊天的功能 (默认值: True)
#AIDER_DETECT_URLS=true


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


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

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

# 已弃用的模型设置:

## 为主聊天使用 claude-3-opus-20240229 模型(已弃用,请使用 --model 参数)
#AIDER_OPUS=false


## 为主聊天使用 anthropic/claude-3-7-sonnet-20250219 模型(已弃用,请使用 --model 参数)
#AIDER_SONNET=false


## 为主聊天使用 claude-3-5-haiku-20241022 模型(已弃用,请使用 --model 参数)
#AIDER_HAIKU=false


## 为主聊天使用 gpt-4-0613 模型(已弃用,请使用 --model 参数)
#AIDER_4=false


## 为主聊天使用 gpt-4o 模型(已弃用,请使用 --model 参数)
#AIDER_4O=false


## 为主聊天使用 gpt-4o-mini 模型(已弃用,请使用 --model 参数)
#AIDER_MINI=false


## 为主聊天使用 gpt-4-1106-preview 模型(已弃用,请使用 --model 参数)
#AIDER_4_TURBO=false


## 为主聊天使用 gpt-3.5-turbo 模型(已弃用,请使用 --model 参数)
#AIDER_35TURBO=false


## 为主聊天使用 deepseek/deepseek-chat 模型(已弃用,请使用 --model 参数)
#AIDER_DEEPSEEK=false


## 为主聊天使用 o1-mini 模型(已弃用,请使用 --model 参数)
#AIDER_O1_MINI=false


## 为主聊天使用 o1-preview 模型(已弃用,请使用 --model 参数)
#AIDER_O1_PREVIEW=false

目录