POST

Aider:在终端里和 DeepSeek 结对写代码,改完自动提交

5 万 star 的命令行编程助手。它读你的 Git 仓库,改哪几个文件由它决定,每次都生成一个独立的 commit,回滚方便。

图形界面的 AI 编程工具一堆,但有一类人只想要一件事:在终端里,跟它说清楚要改什么,然后看 diff。

Aider 就是给这类人的。5 万 star,地址:

https://github.com/Aider-AI/aider

它最特别的地方:自动 commit

每完成一次修改,它给你生成一个 Git 提交,提交信息是它写的(“fix: 处理空字符串导致的崩溃"这种)。

好处很直接:改坏了就 git revert,不用手动存副本,也不用担心它把你的工作区搞乱。

这一点比很多 IDE 插件强——那些工具改完你得自己收拾。

装

python -m pip install aider-install
aider-install

或者:

pip install aider-chat

Windows 上建议用 WSL 或者 PowerShell 直接装,路径别带中文。

接 DeepSeek

两种方式,配一次就行:

# 方式一:环境变量
export DEEPSEEK_API_KEY=sk-你的key

# 运行
aider --model deepseek/deepseek-chat

或者写进 ~/.aider.conf.yml:

model: deepseek/deepseek-chat

之后在仓库目录里直接 aider 就进去了。

基本用法

进去之后是这样一个界面:

> 把 utils/date.ts 里的 formatDate 改成支持时区参数

它会:

  1. 找相关文件(你也可以用 /add 手动指定);
  2. 提出修改;
  3. 显示 diff;
  4. 应用,然后 commit。

常用命令:

命令作用
/add 文件把文件加进上下文
/drop 文件移出上下文
/diff看这次改了什么
/undo撤销上一次修改
/run 命令让它跑命令并看输出
/architect先出方案不动手

为什么它省 token

Aider 有一项"仓库地图”(repo map):它不全量读你的代码,而是先建一张结构图(哪些文件、哪些函数、怎么调用的),需要时再精确读取。

这比"把整个项目塞进上下文"省太多了。项目越大,差距越明显。

实际用起来的感觉

做小而明确的改动,很顺。“把这个函数改成 async"“加上错误处理"“给这个类补测试”,几秒钟的事。

做跨文件的改动,要盯着。它可能只改了一半,或者改错地方。

它不擅长"理解你的意图”。你说"优化一下性能”,它可能给你加个缓存。说"这里感觉不太对",它会瞎猜。说得越具体,它做得越好。

会踩的坑

它自动 commit 了,但你不想要这些提交 设置里可以关 --no-auto-commits,改成只改不提交。

路径有中文,报编码错误 Windows 上的老问题。项目放英文路径。

它读不到新加的文件 仓库地图有缓存,/refresh 一下。

改完代码样式全变了 你项目里没配 formatter。装 prettier/black,让它跑。

花费超预期 一次对话可能几十万 token(它反复读文件)。用 /tokens 看当前用量,及时清上下文。

和 IDE 插件的取舍

  • Aider:终端里,快,可控,diff 清楚,适合熟悉 Git 的人;
  • Cline / Roo:图形界面,能跑测试、能看报错闭环,适合想"让它自己搞定"的人。

我自己的用法:小改动用 Aider,需要反复试错的任务用 IDE 智能体。

它适合谁

  • 天天用终端和 Git 的;
  • 想要"看得见每一处改动"的;
  • 在大仓库里工作,需要省 token 的。

不适合:不熟悉 Git 的(它的核心优势你用不上);不习惯命令行的。

最后

Aider 的思路很老派:AI 是个工具,你是指挥的人。

它不假装自己能自动完成一切,而是把每一步都摆在明面上——改了什么、为什么改、提交记录是什么。

在 AI 编程工具越来越"自动"的今天,这种克制反而少见。

有问题留言。

👁 - 次浏览

留言

← 返回首页