Back

开始使用 Aider:终端中的 AI 驱动编码工具

开始使用 Aider:终端中的 AI 驱动编码工具

如果你厌倦了在终端和 IDE 之间切换以获取 AI 代码辅助,Aider 提供了一个令人信服的替代方案。这个开源的 Aider AI 编码助手将 LLM 驱动的结对编程直接带到你的命令行,与现有的 git 仓库无缝协作,无需任何 IDE 插件或浏览器标签页。

核心要点

  • Aider 将 AI 结对编程直接带到你的终端,可与任何 git 仓库配合使用
  • 支持多种 LLM,包括 GPT-4 系列(如 GPT-4o)、Claude 3.7 Sonnet 和本地模型
  • 自动为所有 AI 生成的更改创建描述性 git 提交
  • 使用云模型时,每个功能的成本通常在 $0.01-0.10 之间

什么是 Aider?理解终端优先的方法

Aider 是一个命令行工具,它将你的本地 git 仓库连接到现代 LLM,如 GPT-4o、Claude 3.5 Sonnet 或 DeepSeek。与作为 IDE 扩展运行的 GitHub Copilot 或 Cursor 不同,Aider 采用终端工作流,自然融入以命令行为中心的开发实践。

该工具创建一个仓库映射——本质上是函数签名和文件结构的集合——为 LLM 提供关于整个代码库的上下文。这使得智能的多文件编辑能够尊重项目架构,同时通过自动的描述性提交保持干净的 git 历史记录。

安装:适应不同工作流的多种方式

使用 pip 快速设置

最简单的安装方式是使用 Python 的包管理器:

python -m pip install aider-install

对于隔离环境,考虑使用 pipx 或 uv:

pipx install aider-chat
# 或
uv tool install aider-chat

Docker 替代方案

用于完全隔离或 CI/CD 集成:

docker pull paulgauthier/aider
docker run -it --volume $(pwd):/app paulgauthier/aider --openai-api-key $OPENAI_API_KEY

前置条件和故障排除

Aider 需要 Python 3.9+ 和 git。常见的安装问题包括:

  • Python 版本冲突:使用虚拟环境或 pyenv
  • Windows 上的权限错误:以管理员身份运行 PowerShell
  • 缺少 git:通过系统的包管理器安装

核心工作流:AI 结对编程 CLI 实战

启动会话

导航到任何 git 仓库并启动 Aider:

cd your-project
aider

该工具默认以”代码模式”启动,准备进行直接的文件编辑。

将文件添加到上下文

指定 Aider 要处理的文件:

# 从特定文件开始
aider src/main.js src/utils.js

# 或在会话期间添加文件
/add src/components/Button.jsx

专业提示:只添加需要编辑的文件。Aider 会自动从相关文件中提取上下文,无需显式添加它们,从而保持 token 使用效率。

通过自然语言进行更改

使用简单的中文或英文请求更改:

为 fetchData 函数添加带重试逻辑的错误处理

将 UserService 类重构为使用依赖注入

为身份验证模块编写单元测试

Aider 在提交前会显示差异,确保每次更改的透明度。

高效工作流的基本斜杠命令

AI 结对编程 CLI 体验围绕这些关键命令展开:

  • /add - 将文件包含在编辑上下文中
  • /drop - 移除文件以释放 token 空间
  • /undo - 撤销 Aider 最后一次提交
  • /diff - 查看最近的更改
  • /model claude-3-5-sonnet - 在会话中切换 LLM
  • /tokens - 监控上下文使用和成本
  • /run pytest - 执行测试并让 Aider 修复失败

配置:API 密钥和环境设置

设置 LLM 连接

在项目根目录或主目录中创建 .env 文件:

OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
DEEPSEEK_API_KEY=...

对于通过 Ollama 使用本地模型:

# 首先启动 Ollama 服务器
ollama serve

# 然后与 Aider 一起使用
aider --model ollama/deepseek-coder-v2

使用 YAML 进行高级配置

创建 .aider.conf.yml 以保存持久设置:

model: gpt-4o
auto-commits: true
dark-mode: true
edit-format: diff

Aider 与 IDE 工具对比:做出正确选择

Aider 的优势场景

Aider 终端工作流特别适合以下开发者:

  • 偏好 vim、emacs 或基于终端的编辑器
  • 通过 SSH 在远程服务器上大量工作
  • 重视 git 优先的开发和干净的提交历史
  • 需要可脚本化、可重现的 AI 辅助
  • 希望完全控制 LLM 选择和成本

与 IDE 扩展相比的权衡

与 Copilot 或 Cursor 不同,Aider:

  • 需要显式的文件上下文管理
  • 不提供内联补全
  • 独立于编辑器选择工作
  • 提供 token 使用的完全透明度
  • 支持通过聊天命令在会话中切换多个 LLM

成本优化和性能

使用 /tokens 监控 token 使用情况,并通过以下方式优化:

  • 使用 /drop 移除不必要的文件
  • 对于简单任务切换到高效模型如 DeepSeek
  • 使用 --cache-prompts 为 Anthropic 模型启用提示缓存
  • 对隐私敏感的代码使用本地模型

使用 GPT-4o 时,每个功能实现的典型成本在 $0.01-0.10 之间,使用 DeepSeek 或本地模型则更低。

结论

Aider 代表了 AI 辅助开发的不同理念——优先考虑终端效率、git 集成和开发者控制,而不是 IDE 便利性。对于习惯命令行工作流、希望在不离开终端的情况下获得透明、强大的 AI 辅助的开发者来说,Aider 提供了传统 IDE 工具的有力替代方案。它能够与任何编辑器配合使用、支持多个 LLM 并保持干净的 git 历史记录,这使得它对于具有多样化工具偏好或严格开发工作流的团队特别有价值。

常见问题

可以,Aider 通过 Ollama 支持本地模型,并可以连接到任何兼容 OpenAI 的 API 端点。你可以在本地运行 CodeLlama 或 DeepSeek 等模型,以完全控制代码的隐私性。

Aider 在你当前的 git 分支上操作并创建标准提交。如果在合并期间出现冲突,你可以使用 git 正常解决它们。然后 Aider 可以通过分析合并后的代码来帮助修复任何产生的问题。

Aider 所做的每个更改都会通过描述性消息提交到 git。使用 /undo 命令可以立即撤销最后一次提交,或使用标准 git 命令来挑选或撤销特定更改。

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay