什么是 Aider?
Aider 是一款开源的终端 AI 编程助手,由 Paul Gauthier 于 2023 年创建并在 GitHub 上开源。它的核心理念非常直接:让 AI 直接在你的终端里操作 Git 仓库中的代码文件。你不需要安装任何 IDE 插件,也不需要切换到网页版聊天界面——打开终端,启动 Aider,用自然语言描述你想做的改动,它就会自动编辑代码并提交 Git commit。
与 Cursor、Copilot 这类 IDE 内嵌工具不同,Aider 完全运行在命令行中,天然适合喜欢终端工作流的开发者。它支持超过 100 种编程语言,并且可以连接 OpenAI、Anthropic、Google、DeepSeek 等多种 AI 模型,甚至可以完全使用本地 Ollama 模型实现离线编程。
在 2026 年的 AI 编程工具生态中,Aider 已经积累了超过 3 万颗 GitHub Star,成为终端 AI 编程领域最受欢迎的项目之一。无论你是全栈开发者、后端工程师还是 DevOps 工程师,只要你在终端里写代码,Aider 都能成为你的得力助手。
核心功能特性
Git 原生集成:Aider 的每次代码修改都会自动生成 Git commit,commit message 由 AI 根据改动内容智能生成。你可以随时用 git diff 查看 AI 做了什么,用 git revert 回滚不满意的修改。这意味着 AI 的每一步操作都有完整的版本记录,永远不会丢失代码。
多文件协同编辑:不同于只能修改单个文件的工具,Aider 可以同时理解和编辑多个文件。当你说”把用户认证逻辑从 controller 移到 service 层”,它会同时分析并修改相关的多个文件,保持代码一致性。
Architect 模式:这是 Aider 的高级功能,使用两个 AI 模型协作完成复杂任务——一个负责规划(如 Claude Opus),一个负责执行(如 GPT-4o-mini)。规划模型先分析需求并制定详细方案,执行模型再按方案逐步修改代码。这种双模型架构显著提升了复杂重构任务的准确率。
语音编程:Aider 内置语音输入支持,你可以对着麦克风描述需求,它会自动将语音转为文字并执行。这对于习惯口述思路的开发者来说非常实用。
代码库上下文感知:Aider 使用 tree-sitter 解析代码结构,能自动识别仓库中的类、函数、导入关系和依赖图。当你提问时,它会自动拉取相关文件作为上下文,无需手动添加。
Repository Map(仓库地图):Aider 会为整个代码库生成一个结构化的”地图”,包含所有文件和符号的摘要。这个地图帮助 AI 快速定位需要修改的代码位置,即使面对大型项目也能高效工作。
安装和配置
Aider 的安装非常简单,推荐使用官方安装器:
pip install aider-install
aider-install
或者用 pipx 隔离安装:
pipx install aider-install
aider-install
macOS 用户也可以用 Homebrew:
brew install aider
安装完成后,需要配置 AI 模型的 API Key:
# 使用 OpenAI
export OPENAI_API_KEY=your-key-here
# 使用 Anthropic Claude
export ANTHROPIC_API_KEY=your-key-here
# 使用 Google Gemini
export GEMINI_API_KEY=your-key-here
# 使用 DeepSeek
export DEEPSEEK_API_KEY=your-key-here
你也可以在 ~/.aider.conf.yml 中设置默认模型和偏好:
model: claude-3.5-sonnet
edit-format: diff
auto-commits: true
dark-mode: true
基本使用方法
进入你的 Git 仓库目录,运行 aider 即可启动交互式会话:
cd your-project
aider
在对话中直接用自然语言描述需求:
> 给 User 模型添加一个 email 验证功能
> 把 calculate_total 函数的逻辑重构为独立的方法
> 为 /api/users 端点添加分页支持
> 修复第 42 行的空指针异常
Aider 会分析代码、生成修改方案、编辑文件,然后自动 commit。你可以用 /diff 查看本次修改的详细差异,用 /undo 撤销上一次操作。
常用斜杠命令:
/add filename.py:将文件添加到对话上下文/ask "问题":只问问题,不修改代码(只读模式)/run pytest:运行命令并让 AI 分析输出结果/lint:自动检测并修复代码风格问题/map:显示当前仓库地图/model claude-3.5-sonnet:切换 AI 模型/tokens:显示当前上下文消耗的 token 数量
支持的 AI 模型
Aider 支持主流 AI 提供商的模型,以下是 2026 年的推荐选择:
| 模型 | 提供商 | 特点 | 适用场景 |
|---|---|---|---|
| Claude 3.5 Sonnet | Anthropic | 代码质量高,理解力强 | 复杂重构、架构设计 |
| GPT-4o | OpenAI | 速度快,性价比高 | 日常小改动、快速迭代 |
| Gemini 2.0 Pro | 超大上下文窗口 | 大型代码库分析 | |
| DeepSeek V3 | DeepSeek | 价格极低,质量不错 | 频繁使用、预算有限 |
| Ollama + Qwen | 本地 | 完全离线,隐私安全 | 敏感代码、无网环境 |
对于预算有限的独立开发者,推荐 DeepSeek 或本地 Ollama 模型。对于生产级代码重构,Claude 3.5 Sonnet 的准确率最高。Gemini 2.0 Pro 的 200 万 token 上下文窗口则特别适合分析大型遗留代码库。
与 Cursor/Copilot 对比
| 特性 | Aider | Cursor | GitHub Copilot |
|---|---|---|---|
| 运行环境 | 终端 | VS Code Fork | IDE 插件 |
| 开源 | ✅ 完全开源 | ❌ 闭源 | ❌ 闭源 |
| 价格 | 免费(自带 API Key) | $20/月 | $10/月 |
| Git 集成 | 自动 commit | 手动 | 无 |
| 多文件编辑 | ✅ | ✅ | 有限 |
| 模型选择 | 自由切换 | 受限 | 仅 OpenAI |
| 离线支持 | ✅ (Ollama) | ❌ | ❌ |
| SSH 远程使用 | ✅ 原生支持 | 需 Remote SSH | 需 IDE |
Aider 最大的优势是完全开源 + 模型自由。你可以今天用 Claude,明天换 GPT-4o,后天试 DeepSeek,不受平台锁定。对于习惯终端工作流的开发者,Aider 比 Cursor 更轻量,比 Copilot 更灵活。
不过 Aider 也有劣势:它没有代码补全功能(只能整块修改),没有图形化 diff 界面,学习曲线比 IDE 插件更陡。如果你更习惯可视化操作,Cursor 可能是更好的选择。
实战案例
案例 1:批量添加单元测试
> 为 utils/auth.py 中的所有函数添加 pytest 单元测试,覆盖正常和异常路径
Aider 会读取源文件,分析每个函数的签名、参数类型和业务逻辑,生成完整的测试文件,包括边界条件和异常情况的测试用例,然后自动 commit。
案例 2:框架迁移
> 将 /api/v1/users 端点从 Flask 迁移到 FastAPI,保留所有原有功能
Aider 会同时修改路由定义、请求验证、响应格式、错误处理等多个文件,保持 API 行为完全一致。
案例 3:测试驱动修复
> 运行 pytest,分析所有失败的测试并修复
Aider 运行测试套件,分析每个失败的错误信息和堆栈跟踪,定位问题代码并逐一修复,然后重新运行测试验证。
案例 4:自动生成文档
> 为所有公开函数添加 Google 风格的 docstring,包含参数类型和返回值说明
案例 5:性能优化
> 分析 database.py 中的慢查询,添加合适的索引和查询优化
Aider 会读取数据库操作代码,识别全表扫描、N+1 查询等性能问题,添加索引定义和优化查询语句。
案例 6:依赖升级
> 将项目从 Python 3.9 升级到 3.12,修复所有不兼容的语法和依赖
Aider 会扫描整个代码库,找出使用了已废弃 API 的地方,更新 requirements.txt,并修复所有兼容性问题。
常见问题
Q: Aider 会上传我的代码到云端吗? A: 代码会发送到你配置的 AI 模型提供商的 API(如 OpenAI、Anthropic)。如果使用 Ollama 本地模型,代码完全不会离开你的电脑。对于涉及商业机密的代码,建议使用本地模型。
Q: 支持非 Git 项目吗?
A: Aider 强依赖 Git 进行版本管理。建议在使用前 git init 初始化仓库,这样所有修改都有版本记录,可以随时回滚。这是 Aider 的安全网设计。
Q: Token 消耗大吗?费用如何控制?
A: 取决于代码库大小和模型选择。使用 GPT-4o 每次对话约消耗 2000-5000 tokens,Claude 约 3000-8000 tokens。建议日常小改用便宜的模型(如 DeepSeek,每次不到 1 美分),复杂重构再用贵的模型。用 /tokens 命令随时监控消耗。
Q: 和 Claude Code 有什么区别? A: Claude Code 是 Anthropic 官方的终端 AI 工具,只能使用 Claude 模型,与 Anthropic 生态深度绑定。Aider 是开源项目,支持多种模型,更灵活但需要自己配置 API Key。如果你已经是 Claude 重度用户,两者可以互补使用。
Q: 如何处理大型代码库? A: Aider 的 Repository Map 功能会自动生成代码库的结构摘要,帮助 AI 快速定位相关代码。对于超大型项目(10 万行以上),建议按模块拆分对话,或使用 Gemini 2.0 Pro 的超大上下文窗口。
相关资源: