<!-- title: HN最爱终端AI：Aider八个冷门杀招 -->
<!-- domain: tips-tricks -->

如果你是 Cursor / Claude Code 重度用户，大概率没认真用过 Aider。这个纯终端的 AI pair programmer 长年霸占 Hacker News 首页、GitHub Star 破 30k，是海外 senior 工程师"远程 ssh 上服务器改代码"时的标配——但国内技术圈聊 AI 编码，十个有九个只说 Cursor。这篇文章不是给你念 `/add` `/commit` 这种入门命令，而是挖出 Aider 八个 90% 用户没碰过的冷门开关：从 repo map 的 pagerank 算法、到把贵模型和便宜模型拆开用的 architect 模式、到直接丢进 CI 跑批的 `--message` 自动化。每一个都附带操作步骤、适用场景和省下的真金白银。

## 先说清楚：为什么 Aider 是被中国开发者严重低估的终端老炮

Aider（https://aider.chat）由 Paul Gauthier 维护，定位很纯粹：**一个跑在终端里、跟 git 深度绑定的 AI 结对编程工具**。它没有花哨的 IDE 界面，但它做对了几件事——所有改动自动 git commit（可一键 `/undo`）、用 tree-sitter 给整个仓库建"知识图谱"喂给模型、自带一套公开的编辑基准（aider benchmark，SWE Bench 的前身之一）。

它的真实使用画面是这样的：你 ssh 到一台没装 Cursor 的生产机，`aider` 一敲，丢一句"把 `auth.py` 里的 token 校验改成支持 refresh"，它改完直接 commit。海外 devops / 后端 / infra 圈子爱死这个工作流，因为**不是所有环境都能塞进一个 VS Code**。中国开发者常年在 GUI 里，错过了一个真正"服务器原生"的 AI 编码工具。

下面八个杀招，按"冷门程度 + 实用价值"排序。

## 杀招一：Repo Map 不是文件树，是一张 pagerank 排序的知识图谱

大多数人以为 Aider 的 repo map 就是个 `tree` 命令的输出。错。

它用 **tree-sitter** 解析整个仓库，提取每个文件的类、函数、方法签名，然后用一个**类似 Google PageRank 的算法**给这些符号排序——排序依据是"哪些符号被当前正在编辑的文件引用最多"。也就是说，你正在改 `payment.py`，repo map 会自动把 `order.py`、`refund.py` 里相关函数的签名顶到前面，喂给模型；那些八竿子打不着的工具类则被压缩或省略。

**操作步骤**：
1. 在 Aider 里输入 `/map`，你会看到当前喂给模型的仓库地图（带签名，不只是文件名）。
2. 想强制刷新，用 `/map-refresh`（改了大量代码后模型可能用了旧地图）。
3. 在项目根放一个 `.aiderignore`，把 `node_modules/`、`dist/`、生成文件排除掉，map 会更准、token 更省。

**预期效果**：复杂仓库下，模型不再需要你手动 `/add` 每一个相关文件，它"自己知道"该参考谁。这是 Aider 在大型 codebase 上比裸 Cursor 更稳的核心原因之一。

**适用场景**：10 万行以上的老项目、微服务多仓、跨文件重构。

## 杀招二：Architect 模式——把贵模型当架构师，把便宜模型当码农

这是 Aider 最该被吹、却最少人用的省钱开关。

`/architect` 开启后，工作流拆成两段：
- **架构师模型**（你设的强模型，比如 Claude Opus）只负责"想"——输出一份纯文本的实现方案。
- **编辑器模型**（你设的便宜模型，比如 DeepSeek 或 GLM）只负责"敲"——把方案落成具体的 search-replace 编辑。

**操作步骤**：
```bash
aider --architect \
      --model claude-opus-4-8 \
      --editor-model deepseek/deepseek-chat
```
或在交互里：
```
/architect
/editor-model deepseek/deepseek-chat
```

**预期效果**：复杂的逻辑设计交给贵模型（token 量小，因为它只输出方案不输出大段 diff），机械的、长文本的 diff 落地交给便宜模型。复杂重构任务能砍掉 40%-70% 的成本，质量几乎不掉。

**适用场景**：长任务、大重构、批量迁移脚本——凡是 diff 量大的活儿。

## 杀招三：CONVENTIONS.md + /read ——让 AI 自动遵守你的项目规矩

Aider 会**自动读取项目根目录的 `CONVENTIONS.md`**（早期版本是 `CONVENTIONS.md`，现在也认 `.aider/` 下的约定文件）。你把"本项目的命名规范、禁止用某库、错误处理方式、提交格式"写进去，每次启动它都会带进上下文。

配合 `/read`（read-only 文件）和 `/add`（可编辑文件）区分：
- `/add src/models/user.py` —— 模型可以改它。
- `/read src/models/schema.py` —— 模型只能看、不能动（比如你只想让它参考接口定义，别瞎改）。

**预期效果**：团队级规范一次写好，不用每次对话重复贴。新人 onboarding 仓库时，AI 改的代码天然符合团队 lint 风格。

## 杀招四：--watch 模式——把 AI 编程变成"写注释触发"

`--watch` 让 Aider 盯着文件变化。你可以建立一个 `chat.md`（或任意 watch 文件），直接在里面用自然语言写需求，保存，Aider 自动读取并执行；也可以在源码里用特殊注释标记 TODO，让它接着干。

**操作步骤**：
```bash
aider --watch
# 然后在另一个终端：echo "给 utils/time.py 加一个支持时区参数的 format 函数" >> chat.md
```

**适用场景**：
- 双屏工作：左边编辑器看代码，右边终端 Aider 自动响应你的 markdown 指令。
- 长 pipeline：把一组需求写进 `tasks.md`，逐条让 Aider 消化。

这恰好是中国用户最缺的"非交互式"心智——很多人以为 AI 编码必须盯着一个对话框。

## 杀招五：--message / --message-file ——把 Aider 塞进 CI 跑批

Aider 支持完全非交互式运行，这意味着它能进 **CI/CD、GitHub Actions、cron**。

**操作步骤**：
```bash
aider --yes-always \
      --no-auto-commits \
      --message "把所有 console.log 替换成 logger.debug，并加 logger 配置" \
      && git diff
```
- `--yes-always`：跳过所有确认（CI 必备）。
- `--message` / `--message-file`：一次性任务指令。
- `--no-auto-commits`：CI 里你想自己控制 commit。

**真实用法**：海外团队拿它在 PR 里跑"自动补测试""自动修 lint""自动升级依赖版本"的批处理 job。一个仓库几百个重复重构，写个脚本喂给 Aider，一晚上跑完。

**适用场景**：批量代码迁移（框架升级、API 改名）、自动生成单元测试、定时清理 TODO。

## 杀招六：/web ——终端里直接搜网，不切窗口

Aider 内置 `/web <query>`，会在对话里直接做网页搜索并把摘要喂给模型。改代码时遇到"这个库新版 API 怎么调"，不用切浏览器、不用复制粘贴文档。

```
/web LangChain 0.3 如何初始化 ChatModel
```

模型拿到搜索结果后再结合你的代码改。对**离线文档不全、又不想中断终端流**的 server-side 工作流特别友好。

## 杀招七：/test + 自动 lint ——闭环到"绿"为止

```
/test pytest tests/
```
Aider 会跑你指定的测试命令，**失败后自动读取报错、继续修，直到通过或放弃**。配合它默认开启的 lint（改完文件自动 lint 并尝试修 lint error），形成"改 → 测 → lint → 修"的闭环。

**操作步骤**（写在 `.aider.conf.yml` 里持久化）：
```yaml
test-cmd: pytest tests/
auto-test: true
lint-cmd:
  - "python: ruff check --fix"
  - "src/**.js: eslint --fix"
```

**预期效果**：TDD 场景下，你写一个失败测试，Aider 自动迭代到全绿。这是它比纯补全工具强的地方——它真的会"跑"你的代码。

## 杀招八：/voice、图片粘贴、/undo ——被忽略的人机交互细节

几个小而美的冷门开关：
- **`/voice`（或 `--voice`）**：直接对着麦克风说话输入需求，终端原生支持。开车/做饭时口述需求录下来让它改，海外播客圈有不少人这么用。
- **图片输入**：`/add screenshot.png` 或 `/paste`（剪贴板里复制的报错截图直接喂进去）。前端改样式、对着设计稿改代码特别好用。
- **`/undo`**：撤销上一条 AI 改动（含 commit）。因为 Aider 每步都 commit，`/undo` 等于一个安全的"后悔药"，鼓励你大胆让它试错。
- **`/tokens`**：实时看当前上下文吃了多少 token、花了多少钱。配合 `--cache-prompts`（开启 Anthropic prompt caching），长会话能再省一笔。

## 架构师模式 + Repo Map 协同流程

```mermaid
flowchart TD
    A[启动 aider --architect] --> B[tree-sitter 扫描全仓]
    B --> C{pagerank 排序符号}
    C --> D[生成精简 Repo Map]
    D --> E[架构师模型<br/>Claude Opus 出方案]
    E --> F[编辑器模型<br/>DeepSeek/GLM 落 diff]
    F --> G[自动 git commit]
    G --> H{跑 /test + lint}
    H -- 失败 --> F
    H -- 通过 --> I[/undo 可回滚/]
    I --> J[/tokens 查花费/]
```

## 信息差总结：你知道的 vs 海外 senior 玩的

| 维度 | 大多数中国开发者以为的 | Aider 实际能做的 |
|------|----------------------|----------------|
| 使用形态 | 必须装 GUI / IDE 插件 | 纯终端，ssh 上服务器就能用 |
| 仓库理解 | 手动 `@file` 一个个喂 | pagerank 排序的 repo map 自动喂 |
| 成本控制 | 一个模型扛全部 | architect 拆"贵模型想 + 便宜模型敲" |
| 自动化 | 只能交互式 | `--message` 直接进 CI 跑批 |
| 规范约束 | 每次对话重复贴 | `CONVENTIONS.md` 自动加载 |
| 安全网 | 怕 AI 改坏不敢用 | 每步 commit + `/undo` 随时回滚 |
| 闭环 | 改完我手动跑测试 | `/test` 自动迭代到全绿 |

## 行动指南：今晚就能上手的三步

1. **安装并接上便宜模型**：`pip install aider-chat`，配一个 DeepSeek 或 GLM 的 API key（Aider 支持任意 OpenAI 兼容接口）。先用便宜模型跑日常编辑，把 Opus 留给 architect。
2. **在一个老项目里开 architect + repo map**：`aider --architect --model claude-opus-4-8 --editor-model deepseek`，丢一个跨文件重构任务，对比一下和 Cursor 的 token 账单。建一个 `.aiderignore` 排掉生成物。
3. **挑一个重复劳动写进 CI**：找仓库里"给所有函数补 docstring""升级某 API 用法"这类批量活，用 `aider --yes-always --message-file tasks.md` 在 GitHub Actions 里跑一个 nightly job。

预算敏感的团队，强烈建议把日常 edit 默认模型设成 DeepSeek/GLM，只在大任务手动 `/architect` 切 Opus——这是 Aider 区别于所有 GUI 工具的最大红利。

## 参考来源

- Aider 官方文档（repo map / architect / 配置）：
  - https://aider.chat/docs/more/repo-map.html
  - https://aider.chat/docs/modes/architect.html
  - https://aider.chat/docs/config/options.html
- Aider GitHub 仓库（30k+ Star，issue 里有大量实战技巧）：
  - https://github.com/Aider-AI/aider
- Aider 编辑基准 benchmark（理解 search-replace 为什么是默认 edit format）：
  - https://aider.chat/docs/leaderboards/
- Hacker News 上 Aider 相关讨论（终端派工作流的真实反馈）：
  - https://news.ycombinator.com/from?site=aider.chat

---
> 本文由「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)
