Aider诀窍:开源 CLI AI 编程助手——独立开发者神作。
Aider 作为独立开发者圈子里口碑爆棚的 CLI AI 编程助手,核心优势在于它的 Git 原生集成和多文件协作能力。但很多人只是把它当成一个高级的代码补全工具,这太浪费了。下面这5个技巧,能让你真正榨干它的潜力。
.aider.conf.yml 定制你的专属工作流很多人直接在命令行敲参数,但真正高效的做法是项目根目录下建一个 .aider.conf.yml。你可以在这里预设模型、温度参数、甚至自动忽略哪些文件。
model: deepseek-coder
temperature: 0.2
auto-commits: true
lint: true
map-refresh: files
restore-chat-history: true
关键设置是 restore-chat-history: true——这样你关闭终端再打开,Aider 能记住之前的对话上下文。配合 map-refresh: files,它只会在文件变更时才刷新代码地图,性能开销极低。把这个文件提交到 Git 仓库,团队所有人都能共享这套配置。
/read-only 和 read-only-files 保护关键代码Aider 默认会修改它认为需要改的文件,但有时候你只想让它“参考”某些代码,而不是动它们。比如你的 API 路由定义文件或者数据库模型,这些核心骨架你希望保持稳定。
在对话中输入 /read-only src/routes.ts src/models/db.ts,Aider 会把这两个文件标记为只读。它依然能读取内容来理解上下文,但绝对不会擅自修改。更彻底的做法是在 .aider.conf.yml 里加一行 read-only-files: [src/routes.ts, src/models/db.ts],永久生效。
这个技巧在重构时尤其有用——你让 Aider 改业务逻辑,但核心框架纹丝不动。
/diff 和 /undo 实现“安全试错”Aider 的 Git 集成不只是自动 commit 那么简单。当你让它改代码时,先用 /diff 预览改动——它会展示所有即将发生的变更,按文件分组。你可以在终端里上下翻看,确认没问题再继续。
如果改了之后发现不对劲,直接输入 /undo,Aider 会自动执行 git checkout -- <files> 回退到上一个 commit 状态。这个操作比手动 git reset 快得多,而且不会丢失你的对话历史。
更骚的操作是:你可以让 Aider 连续改多个文件,每次改完都用 /diff 确认,最后只保留满意的部分,不满意的直接 /undo 回去。这种“试错式开发”效率极高。
--lint 和 --test 构建自动验证闭环很多人不知道 Aider 可以直接调用 linter 和测试框架。启动时加上 --lint,每次 Aider 修改完代码,它会自动运行 eslint 或 pylint,如果 lint 报错,它会尝试自动修复。
配合 --test-cmd 参数更强大。比如你的项目用 Vitest:
aider --lint --test-cmd "npx vitest run"
这样每次 Aider 改完代码,先 lint 修复格式问题,再跑测试用例。测试挂了的话,Aider 会把测试输出作为上下文,尝试修复失败的测试。你只需要坐在那里看它迭代,偶尔确认一下大方向就行。
注意:测试命令要能快速执行,超过 30 秒的测试套件建议用 --test-cmd "npx vitest run --changed" 只跑变更相关的测试。
/run 和 /git 实现“对话即 DevOps”Aider 的 /run 命令可以在对话中直接执行 shell 命令。比如你让 Aider 重构了一个模块,然后输入 /run npm run build,它能立即看到构建结果。如果报错,它会自动分析错误日志并尝试修复。
更进阶的用法是结合 /git 命令。输入 /git log --oneline -5 查看最近提交,然后告诉 Aider:“把第三个 commit 里的改动应用到当前分支”。它会把 commit diff 读进来,然后执行代码迁移。
这个技巧让 Aider 从一个“代码生成器”变成了“完整的开发工作站”——你不需要离开终端,所有操作都在对话中完成。