如果你现在改代码还在按月给 Cursor、GitHub Copilot 交订阅费,那你大概率没认真看过一个叫 Aider 的开源 CLI 工具。它就摆在 GitHub 上(Aider-AI/aider,两万多星),但国内绝大多数人只用过它"对话改代码"这一个动作,相当于买了辆跑车只挂一档开。
Aider 真正值钱的不是"能用",而是它模型无关——DeepSeek、GLM、通义、本地 Ollama 模型随便接,你为代码付的钱可以压到接近零;外加一堆藏在 /help 里的暗门开关,能把它从"聊天框"变成"自动驾驶的提交机器"。这一轮情报我把它和 Cursor、Claude Code 都区分开,专门拆 Aider 的八个被埋没的开关。每一个都附了命令行,照着复制就能用。
你可能要问:这不就是又一个 AI 编程 CLI 吗?它和 Claude Code、Cline、Codex CLI 有什么不一样?
核心就一句话:Aider 是唯一一个把"双模型分工"和"git 原生提交"做进骨子里的开源终端工具。 它不绑定任何厂商,你的 API key 给谁、用哪个模型、花多少钱,全是你自己说了算。而且它有一个公开的 Aider Leaderboard(代码改写基准榜),专门测哪个模型"真正会改代码、而不是只会聊天"——这是国内选模型时被严重忽略的硬参考。
但今天这篇不谈对比,只挖暗门。下面这八个,是我从它的官方文档和真实使用里扒出来、中国用户几乎没人提的。
/architect 双模型分工——让贵的模型只说一句话这是 Aider 最杀的一个功能,也是它区别于所有聊天型工具的根本。
原理:你不用一个又贵又聪明的模型从头干到尾。Aider 把活拆成两步——
怎么开:
# 启动时直接指定双模型
aider --architect \
--model deepseek/deepseek-reasoner \
--editor-model deepseek/deepseek-chat
或者进会话后输入 /architect 切换。
预期效果:贵模型一整次任务里可能只跑一两轮推理,剩下的脏活累活(大段 SEARCH/REPLACE 改写)全甩给便宜模型。一个中型重构,账单能压到原来的两三成。这是真正的方法差+价格差叠加。
适用场景:任何超过简单改注释的重构、跨文件改动。
/voice ——动嘴改代码很多人不知道 Aider 终端里能用嘴说话驱动它改代码。
怎么开:在 Aider 会话里直接输入 /voice,它会调起麦克风,把你的口述转成文字作为指令。
预期效果:双手不用离开键盘想逻辑时,或边对着设计稿讲解边让它改,比手敲 prompt 快得多。
适用场景:边看屏幕边口述需求、做 demo 直播时边说边改、或者纯粹懒。
这个功能在国内几乎零讨论,属于典型的"认知差"。
普通做法是把文件一股脑塞进上下文,token 烧得飞快。Aider 用 tree-sitter 给你整个代码库生成一张"地图"——函数名、类名、调用关系,压缩到几千 token 里。
怎么调:
# 限制仓库地图占用多少 token,默认会自适应
aider --map-tokens 2048
# 会话里手动刷新地图
/map-refresh
预期效果:模型知道 auth.py 里有个 login() 函数、被 routes.py 调用,于是它能主动告诉你"这个改动会影响 login 调用链"。而你只 /add 了当前文件,没把整个仓库倒进去。
适用场景:中大仓库、跨文件理解需求。这是 Aider 相比"全量灌库"工具的隐形护城河。
/test + --lint 自动修复闭环这是把 Aider 从"工具"变成"流水线工人"的关键组合。
怎么开:
# 启动时告诉它怎么跑测试、怎么 lint
aider --test "pytest" --lint "ruff check --fix"
会话里:
/test:它跑测试,读报错,自己改,再跑,循环到通过;/lint:对刚改的文件跑 lint,自动修。flowchart TD
A[改完代码] --> B[输入 /test]
B --> C{测试是否通过?}
C -->|失败| D[aider 读取报错]
D --> E[自动改写代码]
E --> B
C -->|通过| F[git auto-commit 完成]
C -->|通过| G[可选: /lint 收尾]
G --> F
预期效果:你下一条指令"重构这个模块并保证所有测试过",然后去倒杯咖啡,回来它已经改完、测过、提交了。
适用场景:有测试套件的项目、CI 强制 lint 的团队仓库。
.aider.conf.yml + .aiderignore 持久化——别每次重敲一长串每次启动敲一长串 flag 是新手最大的劝退点。Aider 支持配置文件固化。
怎么开:在仓库根目录放一个 .aider.conf.yml:
model: deepseek/deepseek-reasoner
architect: true
editor-model: deepseek/deepseek-chat
auto-commits: true
test: pytest
lint: "ruff check --fix"
map-tokens: 2048
再放一个 .aiderignore(语法和 .gitignore 一样),把 node_modules、dist、锁文件排除掉。
预期效果:以后 aider 一个词回车,所有偏好自动加载。团队还能把这个文件提交进 git,全队共享同一套 AI 编码配置。
适用场景:团队协作、长期维护的项目。
/save /load 会话存档——把"思考过程"存成可复用资产和 Claude Code 的 /compact 不一样,Aider 的 /save 是把整段会话(包括它改了哪些文件、怎么改的)存成一个文件,之后 /load 能完整重放。
怎么开:
/save refactor-auth-session # 存档
/load refactor-auth-session # 重新载入
预期效果:
- 一次复杂重构做了一半被打断,存档明天接着干;
- 把"某个 bug 的排查+修复过程"存档,下次遇到类似问题,先 /load 让模型带着上次的记忆;
- 团队成员遇到同类问题,直接 load 你的存档复用思路。
适用场景:长任务、跨天协作、需要复用排查经验。
--watch-files + 只读文件——和你的 IDE 双向同步很多人在 VS Code 里手改了一行,又跑回 Aider 重复说明,很割裂。
怎么开:
aider --watch-files
它会监听文件变化,你在编辑器里手改的,它自动同步进上下文。
而只读文件是另一个被低估的暗门——你想让模型看 API.md、数据库 schema、但绝对不准它改:
/read-only docs/API.md # 命令行
# 或会话里直接说:
read-only schema.sql
预期效果:模型把 schema 当参考资料用,但手被绑住,不会"自作主张"动你的关键文件。
适用场景:参考文档/配置很多、但只允许动源码的场景;防止误改生产配置。
/tokens 成本仪表 + --reasoning-effort 省思考 token最后是两个跟账单直接挂钩的开关。
/tokens:会话里随时输入,显示当前每条消息的 token 用量和累计花费。Aider 默认会持续显示运行成本(--show-token-counts 可加强)。
--reasoning-effort:对支持思考的模型(o3、DeepSeek-R1 等)控制它"想多深":
aider --model o3-mini --reasoning-effort low # 简单改动,少思考省 token
aider --model o3-mini --reasoning-effort high # 难题,让它深想
flowchart LR
A[需求难度] --> B{判断}
B -->|简单改注释/小修| C[reasoning-effort low<br/>思考 token 少]
B -->|复杂重构/算法| D[reasoning-effort high<br/>让它深想]
C --> E["/tokens 盯花费"]
D --> E
E --> F[按需切换]
预期效果:思考 token 是推理模型最大的隐形账单。把简单活调到 low,配合 /tokens 实时盯盘,月底账单肉眼可见地降下来。
适用场景:重度用推理模型、对成本敏感的个人/小团队。
| 维度 | 多数人的认知(你知道的) | Aider 老手的玩法(别人不知道的) |
|---|---|---|
| 改代码成本 | 按 Cursor/Copilot 月费交 | Aider 免费 + 接 DeepSeek/GLM,几乎零成本 |
| 模型用法 | 一个模型从头干到尾 | /architect 双模型,贵的只跑一次 |
| 仓库理解 | 全量文件灌上下文 | Repo Map 树状图,几千 token 看懂全仓 |
| 测试修复 | 自己跑测试、自己贴报错 | /test 自动读错→改→重试闭环 |
| 配置 | 每次手敲一长串 | .aider.conf.yml 全队共享 |
| 思考成本 | 默认让模型想到底 | --reasoning-effort 按难度调,/tokens 盯盘 |
| 输入方式 | 只会键盘 | /voice 动嘴改码 |
装上、接国产模型(15 分钟)
bash
pip install aider-chat
export DEEPSEEK_API_KEY=你的key # 或用 GLM、OpenRouter、本地 Ollama
aider --model deepseek/deepseek-chat
先跑通最基础的"对话改代码",确认能 auto-commit。
开双模型 + 配置文件(30 分钟)
写一个 .aider.conf.yml,把 architect: true 和 test 命令固化下来。先在一个有测试的小项目上跑一次重构,对比账单。
试 /test 闭环和 Repo Map(1 小时)
找一个中型仓库,让它"重构某模块并保证测试全过",体验从指令到自动提交的完整流水线。同时去 Aider Leaderboard(aider.chat/docs/leaderboards/)挑一个性价比最高的模型固定下来。
走完这三步,你就从"给 AI 交月费的聊天框用户"升级成"用开源 CLI 把代码成本压到地板"的老手了。
本文由「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 等场景全覆盖。
