aider,把靠谱的“AI 搭档”塞进终端,一句话改代码、顺手 commit。。。
今天刷到个玩意儿,有点上头…aider。别急着把它当成“又一个写代码的聊天窗”,我更愿意把它想成:把一个“靠谱的终端搭档”塞进命令行里——你在 repo 里说一句“把登录页加个验证码”,它就开始乖乖读代码、改文件、给你打补丁、顺手提交 commit 信息,还能倒带。官方一句话也挺直白:AI pair programming in your terminal。就是那种,不用跳出编辑器,不用来回复制粘贴,直接让它改现存项目。
先说“落地好用”的那几招。aider 跟 git 绑得很深,聊天里就能 /diff 看变更、/undo 撤回上一步、/commit 一键提交,还能/git跑原生命令,这下不用在三个窗口里切来切去,爽点拉满。对了,它还给代码库建“地图”,大概就是帮模型理解全局结构,处理大项目更稳;支持的语言也广,从 Python、JS 到 Go、Rust、C++ 那一串,常见的基本都能跑。
最让我会心一笑的是它的“架构师—编辑”双模配合。怎么说呢,就是那个…它不是一股脑儿让一个模型又想又改,而是先让 Architect 模式把方案说清楚,再用 Editor 模式把这些方案翻译成具体的文件编辑指令。听起来像在公司里“架构出文档、工程落地改码”的分工,减少瞎改。
装它也不麻烦。官方更推荐 pipx:pipx install aider-chat,Python 3.9–3.12 都行;如果你总是被依赖折磨,还可以用他们的“aider-install”一键装,隔离环境、自动配好依赖,甚至会用 uv 加速,省一堆坑。嗯,对,我就是那个被包管理气到的人。
模型这块,它挺“海王”的:OpenAI 的 o1/o3/GPT-4o、Anthropic 的 Claude 3.7 Sonnet、DeepSeek、Gemini,甚至本地的 Ollama,只要走 OpenAI 兼容 API 基本都能接。想切换就aider --model <名字>;要省心,用 OpenRouter 也可;要白嫖,Gemini 2.5 Pro Exp 在它的教程里算“可用选项”。反正一句话:别把模型限制死,挑你手里最能打的那只。
我随手捏了三个“落地位姿”,脑补下真实场景: 1.“给遗留项目补锅”:你在 monorepo 里扔一句“把这段 SQL 注入点修掉,顺便加个回归测试”,aider 先聊聊思路,再动刀改文件,最后 /diff 看补丁,满意就 /commit,不满意 /undo 反悔,效率比“AI 生成→我手改→再贴回去”那种流程顺。 2.“问不改”安全带:切到ask模式就只聊不改,适合读陌生代码、让它解释框架里那坨魔法宏。等思路清楚了,再回 code/architect模式真正下手。 3.“本地优先”小黑屋:公司断网环境?走 OpenAI 兼容端点或本地模型,把接口和 KEY 配进环境变量,一样带你飞(当然,模型弱就别怪它不会精确返还“可执行编辑指令”了)。
说点“坑”,别神化:过度自信:模型要是不给力,会出现“它在输出代码,你的文件却没被正确编辑”的尴尬。解决法子很现实:换强一点的模型,或者先用 ask让它把方案捋清楚再改。依赖地雷:用 Homebrew/AUR 这类包管理装过的朋友可能踩过坑,官方也直说了,优先 aider-install / uv / pipx,少走弯路。历史上下文:新开会话想让它知道最近几次改了啥?把git diff丢进上下文,别让它对着空气拍脑袋。
要不要试?我建议这样来一遍:第一步,装好(pipx install aider-chat 或 aider-install),把 API KEY 配到环境变量;第二步,在一个小项目里试“完整闭环”,比如“给 Flask/Next.js 加个登录页+验证码+单测”,看它如何从方案→补丁→提交这一气呵成;第三步,切到 architect 模式感受“先想后改”的节奏;最后,把/diff、/undo、/commit 这三板斧练熟,基本就能把它当靠谱搭档用了。
反正我看下来的结论是——aider更像“把靠谱协作流程塞进终端”的那类工具:会读你的代码,会给出成体系的修改,会把变更纳入 git 的秩序里。它不是魔法棒,但在“基于现有代码库,快速、安全地完成一小步可交付改动”这件事上,确实省了你一堆来回切换与无效沟通…对了,如果你真跑起来了,记得模型别太吝啬,强点的搭档,常常能少改十次。
-END-
我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html