ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Qwen3-Coder 评估工具链中 aider 的完整选项参考:从命令行参数到源码实现

Qwen3-Coder 评估工具链中 aider 的完整选项参考:从命令行参数到源码实现 Qwen3-Coder 评估工具链中 aider 的完整选项参考从命令行参数到源码实现【免费下载链接】Qwen3-CoderQwen3-Coder is the code version of Qwen3, the large language model series developed by Qwen team.项目地址: https://gitcode.com/GitHub_Trending/co/Qwen3-Coder导读本文以 Qwen3-Coder 开源仓库内置的 aider 评估工具文档 options.md 为主体系统梳理 aider 的全部命令行选项模型选择、模型设置、历史文件、输出样式、Git 集成、代码修复与批量提交、以及各类运行模式参数。读者读完本文将掌握 aider 每一个参数的语义、默认值、对应环境变量与常用别名并能从源码层面理解这些参数如何被解析、如何与.aider.conf.yml、.env配置文件联动从而在评估与日常编码场景中精准配置 aider。一、这份参考文档是什么options.md 是 aider 的官方选项参考Options reference它并非手写维护而是由源码自动生成。文档中有一段 cog 标记!--[[[cog from aider.args import get_md_help cog.out(get_md_help()) ]]]--也就是说这份 Markdown 是通过调用 args.py 中的get_md_help()函数生成的。该函数将COLUMNS环境变量设为 70、构造get_parser([], None)解析器再套用MarkdownHelpFormatter格式化输出最终落盘成文档。这意味着文档与代码严格同步任何参数的新增、改名、默认值调整都会反映到本文所描述的内容中阅读这份参考 阅读aider --help文档开头的 usage 摘要与实际 CLI 帮助完全一致格式转换器是透明的args_formatter.py 中的MarkdownHelpFormatter把 argparse 的标准帮助渲染成### 选项标题 帮助文本 默认值 环境变量 别名的 Markdown 结构同时还提供了YamlHelpFormatter生成.aider.conf.yml样例与DotEnvFormatter生成.env样例。运行aider --help可以随时在终端查看同样内容而python -m aider.args md则可直接在本地重新生成这份 Markdown。二、参数从何而来四种配置来源与查找顺序所有选项都可以通过四种途径设置且有着固定的优先级与查找顺序。核心实现在 main.py 与 args.py命令行参数优先级最高直接传给解析器环境变量configargparse通过auto_env_var_prefixAIDER_自动为每个选项绑定AIDER_*环境变量部分 API Key 例外见下配置文件.aider.conf.yml按--config指定路径 → 当前目录 → git 仓库根目录 → 主目录的顺序查找main.py代码内默认值在 args.py 中每个参数定义处写死。关于配置文件更完整的说明见 aider_conf.mdaider 依次在以下位置寻找.aider.conf.yml并加载最先找到的那一个通过--config filename显式指定的文件当前目录git 仓库根目录主目录。一个容易被忽略的细节是YAML 中的列表写法不是标准语法必须写成行内方括号形式例如read: [CONVENTIONS.md, anotherfile.txt, thirdfile.py]此外.aider.conf.yml中只能放置 OpenAI 与 Anthropic 的 API Key其余所有 API 的密钥应存放在.env文件详见 dotenv.md。--env-file默认加载 git 根目录下的.env。三、Main主对话模型选择这部分决定用哪个模型与你对话。模型快捷选项本质上都是--model的语法糖——在 args.py 中它们全部通过actionstore_const、destmodel将固定的模型名写入model参数因此--opus --4o同时出现时后者覆盖前者。选项作用默认模型名环境变量别名--openai-api-key指定 OpenAI API Key—OPENAI_API_KEY--anthropic-api-key指定 Anthropic API Key—ANTHROPIC_API_KEY--model指定主对话模型随模型设置而定AIDER_MODEL--opus使用 claude-3-opusclaude-3-opus-20240229AIDER_OPUS--sonnet使用 claude-3-5-sonnetclaude-3-5-sonnet-20240620AIDER_SONNET--4使用 gpt-4gpt-4-0613AIDER_4-4--4o使用 gpt-4ogpt-4o-2024-08-06AIDER_4O--mini使用 gpt-4o-minigpt-4o-miniAIDER_MINI--4-turbo使用 gpt-4-turbogpt-4-1106-previewAIDER_4_TURBO--35turbo使用 gpt-3.5-turbogpt-3.5-turboAIDER_35TURBO--35-turbo、--3、-3--deepseek使用 deepseek/deepseek-coderdeepseek/deepseek-coderAIDER_DEEPSEEK四、Model Settings模型行为调优本组参数控制模型连接、编辑格式与仓库地图repo map等核心行为。选项作用默认值环境变量备注--list-models列出与部分模型名匹配的已知模型—AIDER_LIST_MODELS别名--models支持模糊匹配--openai-api-base指定 API 基础 URL—OPENAI_API_BASE对接兼容 OpenAI 协议的服务时必配--openai-api-type指定 api_type—OPENAI_API_TYPE如 Azure--openai-api-version指定 api_version—OPENAI_API_VERSION--openai-api-deployment-id指定 deployment_id—OPENAI_API_DEPLOYMENT_ID--openai-organization-id指定 OpenAI 组织 ID—OPENAI_ORGANIZATION_ID--model-settings-file未知模型的自定义设置文件.aider.model.settings.ymlAIDER_MODEL_SETTINGS_FILE--model-metadata-file未知模型的上下文窗口与成本元数据.aider.model.metadata.jsonAIDER_MODEL_METADATA_FILE--verify-ssl连接模型时校验 SSL 证书TrueAIDER_VERIFY_SSL反向别名--no-verify-ssl--edit-format指定 LLM 使用的编辑格式随模型而定AIDER_EDIT_FORMAT别名--chat-mode--weak-model提交信息与聊天历史摘要所用的轻量模型随--model而定AIDER_WEAK_MODEL--show-model-warnings仅使用有元数据的模型并给出警告TrueAIDER_SHOW_MODEL_WARNINGS反向别名--no-show-model-warnings--map-tokensrepo map 建议使用的 token 数0 表示禁用1024AIDER_MAP_TOKENS类型 int--map-refresh控制 repo map 刷新频率autoAIDER_MAP_REFRESH可选值见下--cache-prompts启用提示词缓存FalseAIDER_CACHE_PROMPTS反向别名--no-cache-prompts--cache-keepalive-pings以 5 分钟间隔 ping 保持缓存热度的次数0AIDER_CACHE_KEEPALIVE_PINGS类型 int--map-multiplier-no-files未指定文件时 repo map token 的倍数2AIDER_MAP_MULTIPLIER_NO_FILES类型 float--max-chat-history-tokens聊天历史最大 token 数使用模型自身的值AIDER_MAX_CHAT_HISTORY_TOKENS类型 int--env-file指定要加载的 .env 文件git 根目录下.envAIDER_ENV_FILE见 main.py关于--map-refresh源码中给出了受限的取值集合args.pychoices[auto, always, files, manual]auto由 aider 自行判断何时刷新always每次都重建地图files仅在文件变更时刷新manual完全手动控制。--verify-ssl、--cache-prompts、--show-model-warnings等参数在源码中都使用argparse.BooleanOptionalActionargs.py因此它们天然同时拥有正向与反向两种写法如--verify-ssl/--no-verify-ssl方便在配置文件与命令行之间互相覆盖。五、History Files对话历史与日志选项作用默认值环境变量--input-history-file聊天输入历史文件git 根目录下.aider.input.historyAIDER_INPUT_HISTORY_FILE--chat-history-file聊天历史文件Markdowngit 根目录下.aider.chat.history.mdAIDER_CHAT_HISTORY_FILE--restore-chat-history恢复上一次的聊天历史消息FalseAIDER_RESTORE_CHAT_HISTORY--llm-history-file记录与 LLM 的完整对话如.aider.llm.history无AIDER_LLM_HISTORY_FILE注意历史文件的默认值并非写死而是由git_root动态拼接args.py在有 git 仓库时位于仓库根目录无仓库时则落在当前目录。六、Output Settings终端输出与配色选项作用默认值环境变量--dark-mode适配深色终端背景FalseAIDER_DARK_MODE--light-mode适配浅色终端背景FalseAIDER_LIGHT_MODE--pretty启用彩色美化输出TrueAIDER_PRETTY--stream启用流式输出TrueAIDER_STREAM--user-input-color用户输入颜色#00cc00AIDER_USER_INPUT_COLOR--tool-output-color工具输出颜色无AIDER_TOOL_OUTPUT_COLOR--tool-error-color工具报错颜色#FF2222AIDER_TOOL_ERROR_COLOR--tool-warning-color工具警告颜色#FFA500AIDER_TOOL_WARNING_COLOR--assistant-output-color助手输出颜色#0088ffAIDER_ASSISTANT_OUTPUT_COLOR--code-themeMarkdown 代码主题defaultAIDER_CODE_THEME--show-diffs提交变更时显示 diffFalseAIDER_SHOW_DIFFS--code-theme除默认值外还支持monokai、solarized-dark、solarized-light等主题args.py。--pretty与--stream同样采用BooleanOptionalAction可用--no-pretty、--no-stream关闭。七、Git Settings与 Git 仓库的集成aider 的核心理念是在 git 仓库内自动提交每次 AI 修改本组参数掌控这一切。选项作用默认值环境变量--git是否查找并使用 git 仓库TrueAIDER_GIT--gitignore是否将.aider*加入.gitignoreTrueAIDER_GITIGNORE--aiderignore指定 aider 忽略文件git 根目录下.aiderignoreAIDER_AIDERIGNORE--subtree-only仅考虑 git 仓库当前子树内的文件FalseAIDER_SUBTREE_ONLY--auto-commits自动提交 LLM 产生的改动TrueAIDER_AUTO_COMMITS--dirty-commits仓库发现脏文件时仍允许提交TrueAIDER_DIRTY_COMMITS--attribute-author在 git author 中标记 aiderTrueAIDER_ATTRIBUTE_AUTHOR--attribute-committer在 git committer 中标记 aiderTrueAIDER_ATTRIBUTE_COMMITTER--attribute-commit-message-authoraider 撰写的提交信息加aider:前缀FalseAIDER_ATTRIBUTE_COMMIT_MESSAGE_AUTHOR--attribute-commit-message-committer所有提交信息加aider:前缀FalseAIDER_ATTRIBUTE_COMMIT_MESSAGE_COMMITTER--commit用合适的提交信息提交所有待提交改动后退出FalseAIDER_COMMIT--commit-prompt自定义生成提交信息的提示词—AIDER_COMMIT_PROMPT--dry-run试运行不修改任何文件FalseAIDER_DRY_RUN--attribute-author/--attribute-committer与两个--attribute-commit-message-*是两对容易混淆的概念前两者控制 git 元数据中的身份标记默认开启后两者控制提交信息前缀默认关闭四者均为BooleanOptionalAction。值得注意的边界行为aider 只支持 git 索引版本 1 或 2 的仓库。在 main.py 中遇到旧版本仓库时 aider 会给出两条修复建议git update-index --index-version2或直接以aider --no-git在不使用 git 的情况下继续工作。八、Fixing and committing自动修复循环这是 aider 的自查自纠能力改完代码后自动跑 lint 与测试发现问题再让 LLM 修复。选项作用默认值环境变量--lint对给定文件未指定则对脏文件执行 lint 并修复FalseAIDER_LINT--lint-cmd为不同语言指定 lint 命令可多次使用[]AIDER_LINT_CMD--auto-lint改动后自动执行 lintTrueAIDER_AUTO_LINT--test-cmd指定运行测试的命令[]AIDER_TEST_CMD--auto-test改动后自动运行测试FalseAIDER_AUTO_TEST--test运行测试并修复发现的问题FalseAIDER_TEST--lint-cmd的取值格式为语言: 命令例如aider --lint-cmd python: flake8 --selectE9,F63,F7,F82在 args.py 中该参数使用actionappend可以多次累加为不同语言配置各自的检查命令。--test-cmd同理可重复指定。九、Other Settings其余运行模式选项作用默认值环境变量别名--file指定要编辑的文件可多次使用—AIDER_FILE--read指定只读文件可多次使用—AIDER_READ--vim终端启用 VI 编辑模式FalseAIDER_VIM--voice-language语音使用的 ISO 639-1 语言代码enAIDER_VOICE_LANGUAGE--chat-language聊天界面语言跟随系统AIDER_CHAT_LANGUAGE--version输出版本号后退出——--just-check-update检查更新并以退出码返回状态FalseAIDER_JUST_CHECK_UPDATE--check-update启动时检查新版本TrueAIDER_CHECK_UPDATE--no-check-update--install-main-branch从 main 分支安装最新版FalseAIDER_INSTALL_MAIN_BRANCH--upgrade从 PyPI 升级到最新版FalseAIDER_UPGRADE--update--apply直接应用给定文件中的改动调试用—AIDER_APPLY--yes对所有确认一律回答 yes—AIDER_YES-v/--verbose输出详细日志FalseAIDER_VERBOSE--show-repo-map打印 repo map 后退出调试FalseAIDER_SHOW_REPO_MAP--show-prompts打印系统提示词后退出调试FalseAIDER_SHOW_PROMPTS--exit完成启动流程后、在接收输入前退出调试FalseAIDER_EXIT--message发送单条消息后退出关闭聊天模式—AIDER_MESSAGE--msg、-m--message-file从文件读取消息发送后退出—AIDER_MESSAGE_FILE-f--encoding输入输出编码utf-8AIDER_ENCODING--config指定配置文件依次搜索 git 根、当前目录、主目录—-c--gui在浏览器中运行 aiderFalseAIDER_GUI--browser--suggest-shell-commands是否建议 shell 命令TrueAIDER_SUGGEST_SHELL_COMMANDS--no-suggest-shell-commands其中--config在 args.py 中被标记为is_config_fileTrue即该选项本身就是配置文件开关。--gui对应仓库内的 gui.py 实现可在浏览器中提供同样的结对编程界面。十、实战配置示例1. 组合快捷模型参数与长参数# 方式一命令行 aider --sonnet --map-tokens 2048 --auto-test --no-show-diffs # 方式二等效的 .aider.conf.yml放到 git 根目录 sonnet: true map-tokens: 2048 auto-test: true show-diffs: false2. 使用 .env 存放密钥与端点在 git 根目录创建.env参考 dotenv.md 与DotEnvFormatter生成的样例OPENAI_API_KEYsk-xxx OPENAI_API_BASEhttps://your-compatible-endpoint/v13. 非交互式批量使用# 单条消息完成任务后退出 aider --message 为 utils.py 补上单元测试 --file utils.py # 从文件读取提示词 aider --message-file prompt.txt --read CONVENTIONS.md4. 仅提交不对话aider --commit --commit-prompt 写一条简洁的中文提交信息十一、从源码理解这份参考的生成机制这份参考文档本身就是一个极佳的可维护性范例。完整的生成链条是args.py 用configargparse.ArgumentParser构建解析器auto_env_var_prefixAIDER_让所有参数自动获得AIDER_*环境变量API Key 这类参数则显式指定env_var见 args.pyget_md_help()args.py把解析器交给MarkdownHelpFormatter渲染出默认值 环境变量 别名的标准章节同一套参数定义被YamlHelpFormatter与DotEnvFormatter复用args_formatter.py分别生成 aider_conf.md 中的样例 YAML 与.env样例——三份输出、一份事实来源从根源上杜绝了文档与代码漂移。对于希望在本仓库中评估或研究 aider 的开发者还可以进一步阅读 models.py模型与元数据管理、repomap.py--map-tokens背后仓库地图的实际构建逻辑与 linter.py--auto-lint的实现从而将本文的参数视角升级为实现视角。十二、小结一句话记忆aider --help即本文是全部参数的权威清单且由 args.py 自动生成文档永远与代码一致三档配置命令行最高优先级AIDER_*环境变量 .aider.conf.yml按--config→ 当前目录 → git 根 → 主目录查找 代码默认值两组易混参数--attribute-*git 元数据身份vs--attribute-commit-message-*提交信息前缀--auto-lint默认开vs--auto-test默认关两个实用调试开关--dry-run试运行不落盘、--exit/--show-prompts/--show-repo-map查看启动期内部状态。【免费下载链接】Qwen3-CoderQwen3-Coder is the code version of Qwen3, the large language model series developed by Qwen team.项目地址: https://gitcode.com/GitHub_Trending/co/Qwen3-Coder创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表