Posts 开源免费!Aider:强大的命令行 AI 编程助手,代码生成、Git 管理、多模型全搞定
Post
Cancel

开源免费!Aider:强大的命令行 AI 编程助手,代码生成、Git 管理、多模型全搞定

Aider 简介

Aider是一款基于命令行的开源AI编程助手,通过集成大型语言模型(LLM)实现代码的实时协作开发。它支持在终端中直接与AI结对编程,自动完成代码修改、生成Git提交记录,并能无缝衔接本地Git仓库项目。相比其他 ai 开发工具(如:GitHub Copilot、Cline、Cursor)都是基于 ide 或者 ide 的插件,而 Aider 是交互式命令行界面 ,它允许开发者直接在终端中与 AI 对话,描述需求并实时查看代码变化。更加轻量级,适合喜欢命令行操作的开发者。并且支持多文件生成和修改,能够智能分析项目结构并进行全局修改。

官方网站

Aider 有哪些让人眼前一亮的特性?

  • 多模型支持:兼容 Claude 3.5 Sonnet、GPT-4o、DeepSeek 等主流LLM,开发者可随意切换模型。
  • Git深度集成:自动追踪代码变更并生成提交信息,简化版本控制流程。
  • 跨语言适配:支持Python、JavaScript、TypeScript等多种编程语言

安装方式

1
2
3
4
5
6
7
8
# pip 设置清华源加速
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# aider-install 安装过程会使用 uv 安装,为了加速安装过程,可以把 uv 的镜像源改成清华的源
export UV_DEFAULT_INDEX="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
# 安装 aider 安装程序
python -m pip install aider-install
# 执行 aider 安装程序
aider-install

使用方法

从一个项目开始

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 进入你的代码库目录
cd /to/your/project

# 通过 DeepSeek 的 API 使用 DeepSeek
aider --model deepseek --api-key deepseek=your-key-goes-here

# 通过 Anthropic 的 API 使用 Claude 3.5 Sonnet
aider --model sonnet --api-key anthropic=your-key-goes-here

# 通过 OpenAI 的 API 使用 GPT-4o
aider --model gpt-4o --api-key openai=your-key-goes-here

# 通过 OpenRouter 的 API 使用 Sonnet
aider --model openrouter/anthropic/claude-3.5-sonnet --api-key openrouter=your-key-goes-here

# 通过 OpenRouter 的 API 使用 DeepSeek-V3
aider --model openrouter/deepseek/deepseek-chat --api-key openrouter=your-key-goes-here

# 通过硅基流动的 API 使用 DeepSeek-V3 及其他模型方法
aider --model openai/deepseek-ai/DeepSeek-V3 --openai-api-base https://api.siliconflow.cn/v1 --openai-api-key your-key-goes-here

硅基流动DeepSeek满血版 注册即送14元免费额度(2000万Tokens)

如果项目目录是全新的没有初始化 git 仓库,会提示是否初始化 git 仓库,选择 y 即可。可能还有其他提示,按照提示操作即可。 aider 新建项目设置

chat 模式说明及切换

  • /code - 代码模式,Aider 将会修改你的代码以满足你的请求。
  • /architect - 架构师模式,Aider 会首先提出解决方案,然后询问你是否希望将该方案转换为对文件的修改。
  • /ask - 聊天模式,Aider 会回答有关你代码的问题,但永远不会修改代码。
  • /help - 帮助模式,Aider 会回答关于如何使用 Aider、配置、故障排除等方面的问题,初次使用会安装一些依赖的库。

ask模式,可以进行聊天对话,不会直接修改代码

ask模式

code模式,可以生成或修改代码

  • 切换到从的模式
  • 添加文件 spider.py ,按提示确认是否生产该文件
  • 按要求生成代码,提示词:实现一个基于httpx库抓取网页内容的函数
  • ai 会按照要求生成代码,并且会提示是否要执行必要的命令安装依赖,以及测试使用方法等

具体操作过程看下方截图:

code 模式

architect 模式,可以生成或修改代码,并且会先提出解决方案,然后询问是否修改代码

  • 输入 /architect 切换到架构师模式
  • 按要求生成一个计算器网页项目,提示词:开发个网页版的计算器,界面参考 macos 版自带计算器,技术方案用 taiwindcss html 原生js 等,不要用 vue react 等框架,合理规划文件存放位置。

具体操作过程看下方截图: 架构师模式演示

命令行模式如何输入多行内容

  1. 直接从剪贴板粘贴多行内容,也可以使用命令 /paste 命令将剪贴板的内容粘贴进去。
  2. 使用 { 符号开始,输入完之后 } 符号结束,中间的内容就是多行内容。
  3. Option+EnterAlt+Enter 可以换行,按 Enter 键结束输入多行内容。
  4. 使用 /multiline-mode 命令切换到多行模式,这个时候按 Enter 键会换行,按 Option+EnterAlt+Enter 键会结束输入多行内容。

chat 模式下的详细命令说明

命令描述
/add将文件添加到聊天中,以便 aider 能够编辑或详细审查它们
/architect使用两种不同的模型进入架构师/编辑模式。如果未提供提示,则直接切换到架构师/编辑模式
/ask询问有关代码库的问题而不修改任何文件。如果未提供提示,则切换到提问模式
/chat-mode切换到新的聊天模式
/clear清除聊天记录
/code请求对代码进行修改。如果未提供提示,则切换到代码模式
/commit提交在聊天之外对仓库所做的修改(提交信息可选)
/copy将上一条助手消息复制到剪贴板
/copy-context将当前聊天上下文复制为 Markdown 格式,便于粘贴到网页用户界面
/diff显示自上一条消息以来的更改差异
/drop从聊天会话中移除文件,以释放上下文空间
/editor打开编辑器以编写提示
/exit退出应用程序
/git运行 git 命令(输出不显示在聊天中)
/help询问有关 aider 的问题
/lint对聊天中的文件或所有未提交文件进行代码检查并修复
/load从文件中加载并执行命令
/ls列出所有已知文件,并标明哪些已包含在聊天会话中
/map打印当前仓库结构图
/map-refresh强制刷新仓库结构图
/model切换到新的大语言模型(LLM)
/models搜索可用模型列表
/multiline-mode切换多行模式(交换 Enter 和 Meta+Enter 的行为)
/paste从剪贴板粘贴图片或文本到聊天中。可选地为图片提供名称
/quit退出应用程序
/read-only向聊天中添加仅供参考的文件,或将已添加的文件设为只读
/report通过打开 GitHub 问题单来报告问题
/reset移除所有文件并清除聊天记录
/run运行 shell 命令,并可选地将输出添加到聊天中(别名:!)
/save将命令保存到文件中,以便重构当前聊天会话中的文件
/settings打印当前设置
/test运行 shell 命令,在非零退出码时将输出添加到聊天中
/tokens报告当前聊天上下文中使用的 token 数量
/undo撤销 aider 执行的最后一次 git 提交
/voice录制并转录语音输入
/web抓取网页,将其转换为 Markdown 格式并发送为消息

其他说明

除了使用命令行交互,还可以打开网页版界面

启动的时候增加参数 --browser 即可打开网页版界面,如下:

1
2
# 这里是使用硅基流动的 DeepSeek-V3 模型的例子
aider --browser --model openai/deepseek-ai/DeepSeek-V3 --openai-api-base https://api.siliconflow.cn/v1 --openai-api-key your-key-goes-here

web 界面如下图:

aider web 界面

如果使用了像 claude sonnet3.5 这种多模态模型,可以输入图片,比如网页截图,让 ai 生成代码,或者进行对话

  • 在聊天中使用 /add <图片文件名>
  • 使用 /paste 将剪贴板中的图片粘贴到聊天中。

抓取网页内容(比如一些 api 文档)到当前聊天窗口

  • 使用 /web <url> 命令,可以抓取网页内容到当前聊天窗口,然后可以让 ai 生成代码,或者进行对话。
  • 直接将 URL 粘贴到聊天中,aider 会询问您是否要添加它。

除了在命令中设置 api-key 和 base-url,还可以把这些配置写入配置文件

1
2
3
4
5
6
7
8
9
10
# Mac/Linux, 在终端执行下面命令,或者保存到配置文件 .bashrc 里
export OPENAI_API_KEY=<key>
export OPENAI_API_BASE=https://api.siliconflow.cn/v1

# Windows, setx 设置之后重启终端生效
setx   OPENAI_API_KEY <key> 
setx   OPENAI_API_BASE https://api.siliconflow.cn/v1

# 然后启动 aider 的时候就不需要指定这些信息了
aider --model openai/deepseek-ai/DeepSeek-V3

真诚邀请您走进我的知识小宇宙,关注我个人的公众号,在这里,我将不时为您献上独家原创且极具价值的技术内容分享。每一次推送,都倾注了我对技术领域的独特见解与实战心得,旨在与您共享成长过程中的每一份收获和感悟。您的关注和支持,是我持续提供优质内容的最大动力,让我们在学习的道路上并肩同行,共同进步,一起书写精彩的成长篇章!

AI文字转语音
AI个性头像生成
This post is licensed under CC BY 4.0 by the author.

Zed IDE 介绍及如何添加 DeepSeek-V3 和 DeepSeek-R1 api?[同时附硅基流动的 DeepSeek-V3 和 DeepSeek-R1 接口设置]

打破知识壁垒!这些社群共享的免费资源库,让你的学习效率翻倍

Trending Tags