导语: 你在用的Cursor每月20刀,而海外老手圈子里一直流传着一个免费的开源终端工具——Aider。多数人装上它只干一件事:打开终端,像聊天一样让它写代码,然后得出结论“不如Cursor好用”。这就错过了它真正的杀手锏:它能反过来住进你现有的任何编辑器,把VS Code、Vim甚至记事本全部变成AI编辑器;能接DeepSeek、本地Ollama模型把成本打到接近零;还能一条命令批量改码、自动跑测试修bug。这篇把官方文档里藏得最深的八个开关一次拧开,全部亲验自aider.chat官方文档,每条都给你可直接复制的命令。
Aider(官网 aider.chat)是一个跑在终端里的AI结对编程工具,工具本身开源免费,你只需要为底层模型付API费用。它最强的地方在于“不挑食”——官方文档 Connecting to LLMs 页面明确列出它当前的最佳模型阵容:Gemini 2.5 Pro、DeepSeek R1 和 V3、Claude 3.7 Sonnet、OpenAI o3/o4-mini/GPT-4.1。
注意这个列表里有两个对中国用户极其友好的名字:
也就是说:Cursor月费20美元能干的事,Aider用DeepSeek每月几美元就能干,甚至一分钱不花。这是第一个信息差。
这是全文最值钱的一条。运行:
aider --watch-files
之后它不再等你打字,而是盯着整个仓库的文件。你在任何编辑器里写代码注释,只要以AI开头或结尾,它都会注意到:
# Add error handling for NaN and less than zero. AI!
规则非常精细(来自官方 Watch 文档):
AI? = 只提问、不动代码;AI! = 触发动手,收集全部AI注释作为指令;AI注释,最后一条用AI!收网,实现跨文件协同修改;ai!甚至光秃秃的ai!都能触发,模型会看上下文猜你的意图;#AI注释并保存,这个文件就会被自动加进会话,比敲/add还快;适用场景: 公司电脑装不了AI插件、你用Vim/Emacs、或者你就是不想换编辑器——终端挂一个Aider,全世界都是你的AI IDE。
聊天里输入/voice,开始录音,说完按回车,你的话会被转成文字指令,Aider直接按指令改代码。加上参数切换语言:
aider --voice-language zh
--voice-language接受ISO 639-1语言代码,zh即普通话。音频格式支持wav/webm/mp3(后两种需要ffmpeg)。官方文档里的演示:对着麦克风说"add a factorial endpoint that uses math factorial",它直接改好app.py并自动git commit。
适用场景: 复杂逻辑口述比打字快、边看设计文档边改码、手腱鞘炎的兄弟。
大多数人用AI写码最大的痛点是“不知道该喂哪个文件”。Aider用tree-sitter给整个仓库建一张结构地图(repo map),自动把最相关的符号和签名塞进上下文。相关旋钮都在:
--map-tokens:控制地图token预算,设0可关闭;--map-refresh:刷新频率,auto/always/files/manual四档,省钱选manual;--show-repo-map:直接打印地图,看看它到底给模型“看”了什么。适用场景: 接手几十万行的祖传老项目,你根本不知道改动会波及哪里——这正是repo map的主场。
Aider不是只能交互聊天。--message(缩写-m)让它处理完一条指令就退出:
aider -m "把所有 print 调试语句删掉" src/
配套的还有--message-file(从文件读长指令)、--load(启动时执行一批斜杠命令)、--commit(给当前所有改动生成合适的提交信息然后退出)。把这几样串进shell脚本,就是一条自动重构流水线。
适用场景: 批量迁移API调用、几十个文件统一换写法、甚至放进CI里让机器人干活。
三个参数组成一个“自愈回路”:
--lint-cmd "python: flake8 --select=..." 定义lint命令,--auto-lint默认开启,改完代码自动跑lint、报错自动修;--test-cmd "pytest" 定义测试命令,配--auto-test每次改动后自动跑测试,失败自动修;--test则是“跑测试→修问题→退出”一条龙,专为无人值守设计。适用场景: 接手一个测试一大半红的烂摊子,睡前挂上--test,第二天看它修到哪了。
aider --architect --model o3 --editor-model deepseek
--architect开启双模型分工:主模型只负责“想方案”,--editor-model指定的便宜模型负责把方案落成真实代码编辑。再加上--weak-model,连提交信息生成、历史摘要都丢给廉价模型。一层一层往下省。更狠的是--cache-prompts开启prompt缓存,--cache-keepalive-pings每5分钟发一次心跳保住缓存不过期,长会话的API账单能再砍一截。
适用场景: 想用顶级模型的脑子、又不想为每个字的输出付顶级价格。
aider --read CONVENTIONS.md --chat-language zh --commit-language zh
--read挂载的文件是只读常驻上下文,每次对话都在场,模型永远不会跑偏你的团队规范。--chat-language/--commit-language让对话和提交信息都说中文。再配合.aider.conf.yml把这些参数写死在项目根目录、.env存API key、.aiderignore排除不想被分析的目录——整个团队git pull下来就能用同一套配置开工。
适用场景: 团队协作、多人共用一套AI编程规范。
Aider默认每次改动自动git commit(--auto-commits,默认开启),提交信息由模型生成。这意味着:
/undo一步回滚;--dry-run只出方案不动文件;--attribute-commit-message-committer和--attribute-co-authored-by(默认开启)都给你。适用场景: 让AI大规模动你的代码而不心慌——每一刀都有后悔药。
flowchart TD
A["终端启动 aider --watch-files"] --> B["在任意编辑器里写AI注释"]
B --> C{"注释结尾是 AI! 还是 AI?"}
C -->|"AI? 提问"| D["只回答 不改代码"]
C -->|"AI! 动手"| E["收集全部AI注释"]
E --> F["附上repo map定位上下文"]
F --> G["生成补丁并自动commit"]
G --> H["自动清理AI注释"]
H --> I["不满意 聊天里 /undo 回滚"]
| 你以为的 | 实际上 |
|---|---|
| Aider是又一个要订阅的AI IDE | 开源免费,只付模型API钱,可接DeepSeek/免费/本地模型 |
| 必须在它的终端里打字聊天 | --watch-files后,任何编辑器写注释就能指挥它 |
| 用它得手动挑文件喂上下文 | repo map自动给全仓库画地图,--map-tokens可调 |
| 中文语音写代码不可能 | /voice加--voice-language zh即可 |
| 双模型分工是Cursor的专利 | --architect + --editor-model + --weak-model三级省钱 |
| AI改码没法管代码风格 | --read常驻规范文件 + .aider.conf.yml团队统一配置 |
| 让AI大改代码风险高 | 默认自动commit,/undo随时回滚 |
.env里放入你的DEEPSEEK_API_KEY(或OpenRouter免费key),跑aider --model deepseek体验一把;--watch-files,在现有项目的任意文件里写一行# 试试这个功能 ai!,感受“注释指挥”;CONVENTIONS.md,用--read挂载,提交时观察代码风格是否稳了;--test-cmd "pytest" --test过夜,早上验收。参考来源:
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
