<!-- title: 别把Aider当补全：八道终端暗门 -->
<!-- domain: tips-tricks -->

> 你可能装过 Aider、跑过一次 `aider` 就把它归类成"另一个能改代码的 CLI"。但它的真正威力藏在八个几乎没人教的暗门里：双模型省钱、仓库地图、watch 联动、Playbook 复用、网页喂料、测试闭环、语音驱动、无头批处理。这篇按"操作步骤+预期效果+适用场景"逐道拆开，附省钱账。终端党这一篇就够把 Aider 从补全工具升级成主力 agent。

## 为什么这一篇值得你停下来看

国内技术圈聊 AI 编码，热度几乎全在 Cursor、Claude Code、Copilot、Trae 这些 GUI/订阅制产品上。Aider（[aider.chat](https://aider.chat/)，仓库 [Aider-AI/aider](https://github.com/Aider-AI/aider)，作者 Paul Gauthier）常年挤在 HN 头条和 r/LocalLLaMA 讨论里，却在国内被当成"开源小众 CLI"。这是一个典型的认知差：

- **它纯开源、纯本地、纯 git 原生**——所有改动自动 commit、可 `/undo` 回滚，不像云端 agent 把你的代码拽上别人服务器。
- **它能接任何模型**——Claude、GPT，也能接 DeepSeek、GLM-4.6、Qwen 这类便宜/OpenAI 兼容的国产模型，配 `.aider.model.settings.yml` 还能精确算成本。
- **它的 edit format（SEARCH/REPLACE 块）是业内公认改代码最稳的格式之一**，连很多商业 agent 都在借鉴。

但 90% 的用户只做了三件事：`aider` 启动 → `/add` 几个文件 → 打字让它改。下面的八道暗门，是把 Aider 用透的关键。

---

## 暗门一：Architect 双模型——强模型动脑，便宜模型动手

这是 Aider 最被低估的省钱杠杆。默认情况下，你选的模型既要"想方案"又要"写 SEARCH/REPLACE 块"，全程按高端模型计价。Architect 模式把这两件事拆开：

```bash
aider --architect \
      --model claude-sonnet-4-6 \
      --editor-model deepseek/deepseek-chat
```

- **Architect 模型**（Sonnet）只输出自然语言方案，token 产出量小。
- **Editor 模型**（DeepSeek，约 $0.27/$1.10 每百万 token）负责把方案落成实际代码块，吃掉大部分输出 token。

**预期效果**：一次大型重构里，80% 的高价输出 token 转移到 DeepSeek 上，整体成本可压到原来的 1/3 到 1/5，质量却几乎不掉——因为"动脑"的还是强模型。**适用场景**：跨多文件重构、设计新模块、写有难度的算法。

---

## 暗门二：Repo Map 仓库地图——别再手动 `/add` 全部文件

很多人以为 Aider "只知道你 `/add` 进来的文件"。错。它默认会用 tree-sitter 给**整个仓库**建一张"仓库地图"（repo map）：文件、类、函数签名、调用关系，压缩成几百到几千 token 喂给模型。所以即使你不 `/add`，模型也知道项目里有哪些函数可以调用。

两道隐藏开关让这张地图更好用：

```bash
aider --map-tokens 2048        # 控制地图大小，大仓库调高
echo "vendor/\ndist/\n*.lock" > .aiderignore   # 像写 .gitignore 一样排除噪音
```

- `--map-tokens`：地图预算。小项目 1024 够，几万行的中后台建议 2048~4096。
- `.aiderignore`：把 `node_modules`、`vendor`、生成的代码挡在地图外，既省 token 又减少模型被噪音误导。
- `--map-refresh auto|manual|always`：控制地图刷新频率。

**预期效果**：模型在没读全文件的情况下就能正确引用项目里已有的工具函数，少编造不存在的 API。**适用场景**：中大型存量项目、接手别人的代码库。

---

## 暗门三：Watch 模式——让 VS Code 当主力，Aider 当军师

Aider 自带编辑器，但很多人更想留在 VS Code 里写。`--watch` 就是这座桥：

```bash
aider --watch --no-auto-commits
```

启动后，你在 VS Code 里**手动编辑或保存的文件**，Aider 会自动把它们加进上下文。配合 `/ask` 模式（只回答、不改文件），就形成"我改代码、它实时点评/找 bug"的工作流，全程不用切窗口。

**预期效果**：你专注写，Aider 盯着你每次保存，主动指出问题或建议下一步。**适用场景**：边写边审、TDD、对一段不熟悉的库做探索式开发。

---

## 暗门四：`/save` 与 `/load`——把工作流存成可复用的 Playbook

这是几乎没人提的复利功能。每次你都要 `/add` 一堆文件、贴一段固定的审查指令？把它存成模板：

```
/save code-review-checklist
```

下次直接：

```
/load code-review-checklist
```

Aider 会**还原当时加进上下文的文件 + 那条指令**。等于你在终端里养了一组"提示词 + 文件集"的可复用 Playbook。

**预期效果**：重构清单、安全审查清单、PR 描述模板、新成员 onboarding 脚本，一次配好反复用，省掉每次重复 `/add` 与组织 prompt 的时间。**适用场景**：团队有重复工程动作（发版前自检、迁移模板、SQL 改动审查）。

---

## 暗门五：`/web` 与 `/read-only`——把网页、文档、参考代码直接喂进去

写代码时最烦的是"我得切出去看官方文档/报错页/竞品实现"。Aider 内置网页抓取：

```
/web https://platform.openai.com/docs/...        # 抓官方文档进上下文
/web https://stackoverflow.com/q/123456          # 报错页直接喂
/read-only src/legacy/auth.py                    # 只读参考，不会被它改坏
```

- `/web <url>`：抓取并清洗网页内容，加进对话。适合读新版 API 文档、看某个库的 changelog。
- `/read-only <file>`（或启动加 `--read`）：把文件设为只读上下文。给模型看"参考实现"或"不要动的核心逻辑"，又不会被它顺手改飞。

**预期效果**：模型按最新文档写代码，而不是凭半年前的训练记忆瞎编；参考实现不会被误改。**适用场景**：用刚发布的新 API、跨语言移植（把 Python 参考只读喂进去让它翻译成 Go）。

---

## 暗门六：`/test` + `--auto-lint`——改完自动验证的闭环

让 AI 改代码最大的风险是"改完不知道有没有破坏"。Aider 把验证内建进循环：

```bash
aider --auto-lint --test-cmd "pytest -q"
```

- `--auto-lint`：每次改完文件自动跑 linter（ruff/eslint 等），把 lint 报错再喂回模型自修。
- `/test`（聊天里输入）：跑你设定的测试命令，**Aider 会读失败用例并继续修，直到通过或它认输**。

**预期效果**：形成"改→lint→测试→修"的自动闭环，很多小重构可以丢一句话就走开喝杯咖啡。**适用场景**：有测试覆盖的项目、修 bug 时让它跑到测试变绿。

---

## 暗门七：语音驱动 + `/tokens` 实时盯成本

两个小众但极其好用的开关：

```bash
aider --voice-language zh       # 或 en、ja 等
```

启动后按住快捷键说话，Aider 用 OpenAI 的 whisper 转写当 prompt。**边口述需求边让它改**，对"我一边想一边说"型开发者极友好，也适合给同事录一段口述让它直接落地。

而 `/tokens` 是你的成本仪表盘：输入它，Aider 列出每个文件、仓库地图、本轮对话各占多少 token、花了多少钱。配合 `--stats` 在退出时打印总账。

**预期效果**：用嘴驱动比打字快，且随时知道这一轮烧了多少钱，及时 `/drop` 大文件或换便宜模型。**适用场景**：长会话、预算敏感的项目、做 demo 边讲边改。

---

## 暗门八：配置文件 + 无头模式——一次配置，跑批/CI 自动改

最后一道，把 Aider 从"交互工具"变成"自动化基建"。

**项目级/全局配置**（`.aider.conf.yml`，放仓库根或 `~/.aider.conf.yml`）：

```yaml
model: openai/glm-4.6
auto-commits: true
auto-lint: true
map-tokens: 2048
cache-prompts: true          # 对 Anthropic/部分模型启用 prompt 缓存
test-cmd: "pytest -q"
```

配合 `.aider.model.settings.yml` 给自定义模型定义计价和 edit format，`/tokens` 才能给出真实金额。

**无头/批处理**：`--message` 让 Aider 跑完一条指令就退出，`--yes` 自动确认：

```bash
# CI 里给一组文件批量改名/迁移
aider --message "把 utils.js 里的 var 全改成 const/let" --yes --no-stream

# 一次性让它在 5 个仓库各修一个 typo
for repo in ~/work/*; do (cd "$repo" && aider --message "修 README 拼写" --yes); done
```

**预期效果**：配置一次永久生效；CI/批处理里让 Aider 当"无人值守的批量改码工"。**适用场景**：批量重构、定时跑代码体检、给一堆仓库做统一迁移。

---

## 一图看懂：Aider 全闭环工作流

下面这张流程图把八道暗门串成一条可落地的日常工作流，看清每道暗门在循环里的位置：

```text
flowchart TD
    A[aider --watch 启动<br/>暗门三: 编辑器联动] --> B[Repo Map 自动构建全仓库地图<br/>暗门二]
    B --> C{你说出/打出需求}
    C -->|语音转写| C1[暗门七: --voice-language]
    C --> D[/web 抓文档 + /read-only 喂参考<br/>暗门五]
    D --> E[Architect 双模型拆分<br/>暗门一: 强模型规划→便宜模型执行]
    E --> F[SEARCH/REPLACE 改文件]
    F --> G[自动 lint + /test 闭环<br/>暗门六]
    G -->|失败| E
    G -->|通过| H[git 自动 commit]
    H --> I[/tokens 看成本<br/>暗门七]
    I --> J{满意?}
    J -->|否, 想重来| K[/undo 回滚]
    J -->|复用这套流程| L[/save 存成 Playbook<br/>暗门四]
    J -->|无人值守| M[.aider.conf.yml + --message<br/>暗门八: 进 CI/批量]
    K --> C
```

---

## 信息差总结：你以为的 vs 真相

| 维度 | 大多数人的认知 | Aider 暗门真相 |
|---|---|---|
| **模型成本** | 一个高端模型扛全场，按高端价计费 | Architect 拆双模型，省 60%~80% |
| **上下文** | 必须手动 `/add` 文件 | Repo Map 自动懂全仓库，只加关键文件 |
| **编辑器** | 必须用 Aider 自带界面 | `--watch` 让 VS Code 当主力，Aider 当军师 |
| **工作流复用** | 每次重新组织 prompt 和文件 | `/save`/`/load` 存成可复用 Playbook |
| **查文档** | 切浏览器复制粘贴 | `/web` 直接抓，`/read-only` 只读喂参考 |
| **验证** | 改完手动跑测试 | `--auto-lint`+`/test` 自动闭环自修 |
| **输入方式** | 只能打字 | `--voice-language` 语音驱动 |
| **自动化** | 只能交互式用 | `.aider.conf.yml`+`--message --yes` 进 CI 批量 |

---

## 行动指南：今晚就能动手

1. **装上**：`python -m pip install aider-chat` 或 `uv tool add aider-chat`，或 macOS `brew install aider`。
2. **配国产模型省钱**：`aider --model openai/glm-4.6 --openai-api-base <你的endpoint>`，先跑通基础对话。
3. **试 Architect**：复制暗门一的命令，跑一次跨文件重构，用 `/tokens` 对比单模型 vs 双模型的花费。
4. **建 Playbook**：把你最常用的"发版前自检"用 `/save` 存下来，团队共享 `.aider.conf.yml`。
5. **挂进 CI**：挑一个重复性的机械改动（统一 import 顺序、改 typo），用 `aider --message "..." --yes` 跑批，观察效果再扩大范围。

> 进阶玩家还可以叠加 prompt 缓存（`--cache-prompts`）和 `--thinking-token`（Claude 系列扩展思考预算），把成本和推理深度都拧到自己想要的档位。

---

## 参考来源

- Aider 官网与文档：[aider.chat](https://aider.chat/) / [docs](https://aider.chat/docs/)
- GitHub 仓库（含 issues 里的社区技巧）：[Aider-AI/aider](https://github.com/Aider-AI/aider)
- 斜杠命令全表：[aider.chat/docs/usage/commands.html](https://aider.chat/docs/usage/commands.html)
- 全部配置选项（`--map-tokens`/`--watch`/`--architect` 等）：[aider.chat/docs/config/options.html](https://aider.chat/docs/config/options.html)

---
> 本文由「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 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
