[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"pack-detail-aider-pair-programming-zh":3,"seo:pack:aider-pair-programming:zh":109},{"code":4,"message":5,"data":6},200,"操作成功",{"pack":7},{"slug":8,"icon":9,"tone":10,"status":11,"status_label":12,"title":13,"description":14,"items":15,"install_cmd":108},"aider-pair-programming","🤝","#FF6347","new","本周新建","Aider 终端结对编程必备","想要终端原生 AI 结对编程、每次改动自动 git commit 的开发者，这十个就是顺序：Aider 本体 + 配置 + watch 模式 + 项目规范 + LiteLLM 网关 + 本地模型 + git 工具 + 何时该切别的 agent — 按推荐安装顺序排列。",[16,28,37,47,57,67,74,84,92,100],{"id":17,"uuid":18,"slug":19,"title":20,"description":21,"author_name":22,"view_count":23,"vote_count":24,"lang_type":25,"type":26,"type_label":27},2786,"96b9add2-d3ab-466a-817b-0ec2c462378b","aider-ai-pair-programming-in-your-terminal","Aider — AI Pair Programming in Your Terminal","Aider is the OG terminal AI pair programmer. Edits multiple files in one prompt, auto-commits each change. 36K+ stars, BYOK 100+ providers via LiteLLM.","Aider",24,0,"en","script","Script",{"id":29,"uuid":30,"slug":31,"title":32,"description":33,"author_name":22,"view_count":34,"vote_count":24,"lang_type":25,"type":35,"type_label":36},2787,"553b65cc-501c-4012-97d9-ed08ca3c6415","aider-conf-yml-production-aider-configuration",".aider.conf.yml — Production Aider Configuration","Drop-in `.aider.conf.yml` template with project Aider settings — auto-test, lint, model split, file ignores. Production-tested from 36K-star community.",23,"config","Config",{"id":38,"uuid":39,"slug":40,"title":41,"description":42,"author_name":43,"view_count":44,"vote_count":24,"lang_type":25,"type":45,"type_label":46},638,"e0565f2a-21a4-4f82-8ba2-1f77ac970144","awesome-claude-md-project-config-best-practices-e0565f2a","Awesome CLAUDE.md — Project Config Best Practices","Community collection of CLAUDE.md templates and best practices for configuring Claude Code per-project. Includes templates for monorepos, web apps, Python projects, and team workflows. 3,000+ stars.","Prompt Lab",115,"prompt","Prompt",{"id":48,"uuid":49,"slug":50,"title":51,"description":52,"author_name":53,"view_count":54,"vote_count":24,"lang_type":25,"type":55,"type_label":56},2789,"0f113965-1adc-4435-982b-fb613fa4d157","litellm-proxy-unified-gateway-for-100-llm-apis","LiteLLM Proxy — Unified Gateway for 100+ LLM APIs","LiteLLM Proxy maps 100+ LLM providers (Anthropic, OpenAI, Bedrock, Vertex) to one OpenAI-compatible endpoint. Auth, rate limit, cost track, fallbacks.","LiteLLM (BerriAI)",81,"agent","Agent",{"id":58,"uuid":59,"slug":60,"title":61,"description":62,"author_name":63,"view_count":64,"vote_count":24,"lang_type":25,"type":65,"type_label":66},2834,"08acf3a7-b56b-40d2-9c94-9a8eb773eca4","deepseek-coder-code-specialized-model-for-local-inference","DeepSeek Coder — Code-Specialized Model for Local Inference","DeepSeek Coder is the code-specialized open-weight model with FIM (fill-in-middle) support. Beats Codestral on HumanEval. Drops into Continue, Aider.","DeepSeek",62,"skill","Skill",{"id":68,"uuid":69,"slug":70,"title":71,"description":72,"author_name":22,"view_count":73,"vote_count":24,"lang_type":25,"type":55,"type_label":56},2788,"de82f878-b0f0-4dfe-ae99-d4fae2ae76e8","aider-watch-mode-auto-edit-on-ai-comments","Aider Watch Mode — Auto-Edit on `# AI:` Comments","Aider Watch Mode tails files and edits when you save an `# AI:` comment. Trigger Aider from VS Code, vim, Cursor, Claude Code without terminal switch.",14,{"id":75,"uuid":76,"slug":77,"title":78,"description":79,"author_name":80,"view_count":81,"vote_count":24,"lang_type":25,"type":82,"type_label":83},803,"85eacf96-3b2b-43f5-ad6f-fd4413ad0b69","git-mcp-version-control-server-ai-agents-85eacf96","Git MCP — Version Control Server for AI Agents","MCP server that gives AI agents full Git capabilities. Git MCP enables Claude Code and Cursor to manage repositories, branches, commits, diffs, and history via tool calls.","MCP Hub",180,"mcp","MCP",{"id":85,"uuid":86,"slug":87,"title":88,"description":89,"author_name":90,"view_count":91,"vote_count":24,"lang_type":25,"type":65,"type_label":66},1036,"6ed075de-35cb-11f1-9bc6-00163e2b0d79","lazygit-simple-terminal-ui-git-commands-6ed075de","Lazygit — Simple Terminal UI for Git Commands","Lazygit is a simple terminal UI for git commands. Stage files, commit, push, rebase, cherry-pick, squash, and browse history without memorizing 30 git commands. Written in Go and designed for speed with vim-style keybindings.","Script Depot",188,{"id":93,"uuid":94,"slug":95,"title":96,"description":97,"author_name":98,"view_count":99,"vote_count":24,"lang_type":25,"type":65,"type_label":66},1037,"6ed07802-35cb-11f1-9bc6-00163e2b0d79","tmux-terminal-multiplexer-sessions-windows-panes-6ed07802","tmux — Terminal Multiplexer for Sessions, Windows, Panes","tmux is a terminal multiplexer that lets you switch between several programs in one terminal, detach them, and reattach them to a different terminal. Essential for SSH workflows, long-running processes, and pair programming.","AI Open Source",97,{"id":101,"uuid":102,"slug":103,"title":104,"description":105,"author_name":106,"view_count":107,"vote_count":24,"lang_type":25,"type":45,"type_label":46},841,"b3a901fe-8380-4bfc-a631-c57f8d5b51f0","ai-coding-agent-comparison-2026-complete-guide-b3a901fe","AI Coding Agent Comparison 2026 — Complete Guide","Comprehensive comparison of all AI coding agents in 2026. Covers Claude Code, Cursor, Codex, Gemini CLI, Cline, Roo Code, Windsurf, and Aider with feature matrices and recommendations.","Agent Toolkit",226,"tokrepo install pack\u002Faider-pair-programming",{"pageType":110,"pageKey":8,"locale":111,"title":112,"metaDescription":113,"h1":114,"tldr":115,"bodyMarkdown":116,"faq":117,"schema":133,"internalLinks":139,"citations":152,"wordCount":165,"generatedAt":166},"pack","zh","Aider 终端结对编程必备 — 第一批必装的 10 个 skill","Aider 是终端 AI 结对编程的祖师爷，每次改动一个 git commit。十个带主观推荐顺序的资产：Aider 本体、配置、watch 模式、项目规范、LiteLLM 网关、DeepSeek 本地模型、Git MCP、Lazygit、tmux、何时该切别的 agent。按顺序装完直接开干。","Aider 终端结对编程必备 — 第一小时配齐祖师爷级终端编码 agent","十个资产按精心安排的顺序：Aider 本体、.aider.conf.yml 配置、AGENTS.md \u002F CONVENTIONS.md 风格的项目规范、LiteLLM 代理（换模型不改代码）、DeepSeek Coder 当便宜的 weak model、watch 模式（任何编辑器都能触发）、Git MCP + Lazygit 让 commit-per-edit 真有价值、tmux 同时跑测试、最后一份对比指南让你知道什么时候该切 Claude Code 或 Codex。跳过 YouTube 教程的兔子洞，照单装完直接开干。","## 这个 pack 包含什么\n\nAider 是祖师爷。Claude Code 之前、Codex CLI 之前、Cursor 的 agent 模式之前 — Paul Gauthier 把 `aider` 发出来，证明了你能在终端里用 LLM 结对编程，并且**每次改动都是一个真正的 git commit**。到今天，它依然有所有 agent 里最干净的 commit 日志，以及最广的模型覆盖（任何 LiteLLM 支持的都能用，100+ 家服务商）。\n\n这个 pack 是给那种「听说过 Aider，想认真用一次，但不想用一个周六去看安装视频」的开发者。**十个资产，按安装顺序排**，从 `pip install aider-chat` 一路带你到一个真实可用的工作流 — 配置锁死、项目规范自动加载、便宜的备选模型、watch 模式让你用任何编辑器都能触发、git 工具让 commit 真能被审查、再加一份对比指南让你知道什么时候该用 Claude Code 或 Codex 而不是 Aider。\n\n目标读者：终端用得顺手、在真实代码仓库里干活、看重**显式 edit + 每改动一个 commit** 多于 agent 自由探索。如果你想要自主多步规划，这套不对 — 去装 Claude Code。如果你想要「AI 作为一把精准手术刀，每一刀都有记录」，继续往下看。\n\n## 推荐安装顺序\n\n1. **Aider — 终端 AI 结对编程** — `pip install aider-chat`，配一个 API key，`aider file1.py file2.py` 跑起来。就这样。整个体验就是：你指定要改的文件、描述要改什么、看 Aider 生成 diff 并自动 commit。五分钟感受这个循环；这个 pack 剩下九个都是让这个循环不那么糙。\n2. **.aider.conf.yml — 生产级 Aider 配置** — 把这个模板放到项目根目录。它会钉住你的默认模型、便宜的 weak model、Aider 每次改动后跑的 lint \u002F test 命令、文件忽略规则、architect \u002F editor 双模型切分。除了 Aider 本体之外杠杆最高的一个文件。不配它你会一直跟默认值较劲。\n3. **Awesome CLAUDE.md — 项目配置最佳实践** — Aider 读 `CONVENTIONS.md`（或 `AGENTS.md`，或你 `--read` 指向的任何文件）跟 Claude Code 读 CLAUDE.md 是一回事。这个 collection 里的套路 — 精简的技术栈说明、硬性禁忌、命名规则 — 全部能直接搬过来。选一个模板，重命名为 `CONVENTIONS.md`，在 `.aider.conf.yml` 的 `read:` 字段里加上它。\n4. **LiteLLM Proxy — 100+ LLM API 统一网关** — Aider 已经原生支持 LiteLLM，但起一个 proxy server 能多给你三样东西：项目级 key、消费上限、所有调用的统一日志。Proxy 还让你在 Anthropic \u002F OpenAI \u002F OpenRouter \u002F 本地 Ollama 之间切换不用动 `.aider.conf.yml`。在你第一个 $300 月账单出现**之前**就装上。\n5. **DeepSeek Coder — 代码专用、可本地推理的模型** — Aider 的 `--weak-model` 是它用来生成 commit message 和处理日常 edit 的便宜模型。DeepSeek Coder 是公认便宜又好用的选择 — 可以走 Ollama 本地跑，也可以走 DeepSeek 官方 API，价格是 GPT-4 的零头。微不足道的钱换显著的质量提升。\n6. **Aider Watch Mode — `# AI:` 注释触发自动编辑** — 跑 `aider --watch-files`，从此任何编辑器（VS Code、vim、Cursor、Claude Code、JetBrains）都能通过保存一个含 `# AI:` 注释的文件来触发 Aider。这一条把「我想留在自己的 IDE 里」这个缺口补上了。Aider 在一个 terminal tab 里跑，你永远不用离开编辑器。\n7. **Git MCP — 给 AI agent 用的版本控制 MCP Server** — Aider 每个改动 commit 一次，这是好事。但 commit **历史**只有当其他工具能读它时才真正有用。Git MCP 把本地 repo 暴露给任何支持 MCP 的 agent（Claude Code \u002F Cursor \u002F Gemini CLI），它们就能看到 Aider 刚干了什么、基于这些 commit 推理。和第 10 个对比指南里的多 agent 套路完美配合。\n8. **Lazygit — 简单的终端 git UI** — Aider 每改一次 commit 一次，理论上很美，实际操作里你会想在 push 前把 12 个微 commit 压成 1 个像样的 PR commit。Lazygit 的交互式 rebase 是不出终端最快的办法。在 base commit 上按 `R`、把那些 commit 标成 `squash`、写个干净的 message。20 秒搞定 vs 2 分钟跟 `git rebase -i` 的 flag 较劲。\n9. **tmux — 终端复用器** — Aider 在一个 pane，测试 runner 在另一个 pane 看着文件，server 日志在第三个。整个 Aider 体验，一旦你停止 alt-tab，会瞬间提升 3 倍。Detach session，明天回来，模型上下文虽然没了，但 Aider 会重新读文件，你立刻回到原位。\n10. **AI Coding Agent Comparison 2026 — 完整对比指南** — 当 Aider 用着觉得不对劲的时候读这个。这种时刻一定会有 — 跨文件大重构、还不知道该改哪些文件的探索性工作、任何需要 shell 之外工具调用的活。这份指南告诉你什么时候该切 Claude Code（agent 自由探索）、Codex CLI（自主任务）或 Cursor（IDE 集成）。**Aider 是精准工具，不是瑞士军刀。**\n\n## 它们怎么协同\n\n```\nAider (#1)\n   │\n   └─ edit 循环：指定文件 → 描述改动 → diff → commit\n         │\n.aider.conf.yml (#2)\n   │\n   ├─ 钉住主模型 + weak model\n   ├─ 改动后跑 lint + test\n   └─ 加载 CONVENTIONS.md\n         │\nCONVENTIONS.md（来自 Awesome CLAUDE.md #3）\n   │\n   └─ 项目记忆，Aider 每个 session 自动读\n         │\nLiteLLM Proxy (#4)\n   │\n   ├─ 统一模型网关\n   └─ 项目级消费上限\n         │\nDeepSeek Coder (#5)\n   │\n   └─ 便宜的 weak model，跑 commit msg + 日常 edit\n         │\nWatch Mode (#6)\n   │\n   └─ 任何编辑器 → 保存 # AI: 注释 → Aider 改动\n         │\nGit MCP (#7) + Lazygit (#8)\n   │\n   ├─ Git MCP：其他 agent 能读 Aider 的痕迹\n   └─ Lazygit：push 前把微 commit 压成大 commit\n         │\ntmux (#9)\n   │\n   └─ Aider + 测试 + 日志 同一个窗口里\n         │\n对比指南 (#10) — 知道什么时候该换别的工具。\n```\n\n承重墙是 **Aider + .aider.conf.yml + CONVENTIONS.md** 这三个。其他全是升级。如果你只有 15 分钟：装 #1、放上 #2、指向一个小小的 `CONVENTIONS.md`，跑起来。\n\n## 你会遇到的取舍 — Aider vs Claude Code vs Codex CLI\n\n- **Aider vs Claude Code** — Aider 是**显式的**：你说「改这 3 个文件」，它就只动这 3 个。Claude Code 是 **agent 式**：你描述任务，它决定动哪些文件、跑哪些工具、自我迭代。Aider 在精准度和 git 卫生上赢（每个 edit 都是一个能 revert 的真 commit）。Claude Code 在探索性工作和多步任务上赢。**Aider 适合一句话能说清的精确改动；Claude Code 适合你本来要花 20 分钟去找文件的情况。**\n- **Aider vs Codex CLI** — Codex CLI 是 OpenAI 的终端 agent — 心智模型更接近 Claude Code（自主、agent 式）。Aider 根本上不一样：人驱动、文件作用域、commit-per-edit。如果你想用 OpenAI 模型 + Aider 的纪律，可以让 Aider 通过 LiteLLM 路由到 GPT-4o，拿到大部分 Codex 体验 + 完整 commit 日志。如果你想要 Codex 那种自主感，Aider 给不了。\n- **architect \u002F editor 双模型切分** — Aider 的杀手锏，大多数人都跳过了：`architect_model: o1`（或 Claude Opus）做规划，`editor_model: claude-sonnet`（或 DeepSeek Coder）做实际 diff。Architect 慢而便宜地规划；editor 快而便宜地编辑。**质量上升、成本下降**。第 2 个模板里这个已经预配好了。\n- **commit-per-edit vs feature commit** — Aider 默认每个改动一个 commit，如果你习惯打磨 PR 级 commit，会觉得吵。两条路：(a) Lazygit (#8) push 前 squash；(b) `--no-auto-commit` 手动 commit。大多数人选 auto-commit + squash，因为出问题时 per-edit 历史让你能 `git bisect` AI session — 这个价值无可替代。\n\n## 常见踩坑\n\n- **一次 session 烧掉 $50** — Aider 每轮把整个文件（或整个 repo map）发出去。`.aider.conf.yml` 里没设 `weak_model` 的话，每次生成 commit message 都用你那个贵模型。开始之前就配好。在 Aider 里看 `\u002Ftokens` — 它会告诉你当前上下文的成本。\n- **Edit 模式选错（whole \u002F diff \u002F udiff \u002F architect 搞不清）** — Aider 有多种 edit 格式，每个模型挑一个。如果 edit 失败（「diff not applied」），看 `--edit-format`。Sonnet 跟 `diff-fenced` 最配；o1 偏好 `architect` 模式（先规划再让便宜的 editor 模型写 diff）。**官方的模型推荐看一次，以后再也别想**。\n- **auto-commit 把历史灌满垃圾** — 是的，默认 Aider 啥都 commit。解法不是 `--no-auto-commit`；是 PR 时的纪律。用 Lazygit (#8) 把 session 压成一个 conventional commit。或者搭个 pre-push hook，发现未 squash 的 AI commit 超过 N 个就警告。\n- **忘了 `\u002Fadd` 和 `\u002Fdrop`** — Aider 只动你 add 过的文件。把整个 repo add 进来上下文爆炸；add 太少又会跳过需要改的文件。**`\u002Fadd file.py` 和 `\u002Fdrop file.py` 大胆用**。repo map（默认自动开启）通常足以让 Aider 知道**有哪些东西**，不用真的把所有文件 add 进来。\n- **把 watch mode 当 Cursor 替代品** — 它不是。Cursor 在编辑器里 inline 补全；Aider watch mode 要你保存一个 `# AI:` 注释、等 diff。心智模型不同。如果你想要「AI 跟着你打字一起打」，用 Cursor 或 Copilot。如果你想要「我描述要啥、你精准做出来」，Aider watch mode 才是那个工作流。",[118,121,124,127,130],{"q":119,"a":120},"都有 Claude Code 和 Cursor 了，为啥还要用 Aider？","三个原因。(1) git 纪律：每个改动都是真 commit。出问题能 bisect，能精确 revert 单句改动。没有其他 agent 做得这么干净。(2) 模型覆盖：LiteLLM 支持的全能用（100+ 服务商，包括本地 Ollama）— Claude Code 锁 Anthropic、Cursor 一定程度上锁模型。(3) 作用域显式：你告诉 Aider 改哪些文件，它就只动那些。这种可预测性是 agent 式工具给不了的。**Aider 适合你明确知道要改什么、想要干净审计痕迹的时候；不适合「去探索一下代码库自己想办法」**。",{"q":122,"a":123},"每个 edit 都 auto-commit，会不会 token 烧穿？","Auto-commit 本身是本地的 — 零 token 成本（就是 `git commit`）。烧 token 的是 commit **message** 生成，默认走你的主模型。修法：在 `.aider.conf.yml` 里设 `weak_model: deepseek-coder`（或任何便宜模型），Aider 就把 commit message 路由过去。配上 `architect_model` 做规划 + `editor_model` 写 diff，你能用一杯咖啡的钱让 Aider 跑一整天。**第一个月没做这种切分，是所有人共同的觉醒时刻**。",{"q":125,"a":126},"Watch mode (#6) 能配 VS Code \u002F Cursor \u002F Claude Code 吗？","能 — 编辑器无关。Watch mode 是 tail 磁盘上的文件。保存任何包含 `# AI: \u003C指令>` 注释（JS \u002F Go 用 `\u002F\u002F AI:`、问题用 `# AI?`）的文件，Aider 都会接住。vim \u002F VS Code \u002F Cursor \u002F Claude Code edit 模式 \u002F JetBrains \u002F 甚至 nano，全都行。**唯一要求是你的编辑器保存时写盘**（大多数都是）。你甚至可以让 Aider 在一个 tmux pane 跑，Claude Code 在另一个 pane 跑 — 它们对同一个 git 树共存得很好，配上 Git MCP (#7) 之后 Claude 还能看到 Aider 的 commit。",{"q":128,"a":129},"Aider 已经原生支持 LiteLLM 了，为啥还要装 LiteLLM Proxy (#4)？","Aider 把 LiteLLM 当库用，对一个用户够了。**Proxy server** 多给你三样 Aider 单独给不了的：(a) 跨多个工具共享的限速和消费上限（Aider + Claude Code + Cursor 全走同一个预算）；(b) 跨整个 stack 所有 LLM 调用的统一日志 — 调试成本暴涨时无可替代；(c) 项目级 API key，能撤销。**如果你是单兵只用 Aider，可以跳过 proxy。如果你还装了任何别的 AI 工具，proxy 第一周就回本**。",{"q":131,"a":132},"Aider 处理大文件会崩 \u002F 丢上下文。怎么办？","三招。(1) session 中 `\u002Fdrop` 不用的文件 — Aider 每轮都把 add 过的文件全文塞进上下文，丢掉一个不再需要的 2000 行文件能立刻降本提质。(2) 用 repo map 代替全 `\u002Fadd` — Aider 自动给整个 repo 建一个 tree-sitter 符号映射、按需喂给 Claude \u002F GPT 相关片段；你只 `\u002Fadd` 真在改的文件。(3) Architect 模式（`architect_model: o1`）— o1 先用文字规划改动，然后便宜的 editor 模型只对规划里提到的文件写 diff。**处理「跨 8 个文件的大重构」这类不爆上下文的最干净办法**。",{"@context":134,"@type":135,"name":13,"description":136,"numberOfItems":137,"inLanguage":138},"https:\u002F\u002Fschema.org","ItemList","把 Aider（终端 AI 结对编程的祖师爷，每个改动一个 git commit）配齐的十个精选资产，按安装顺序排。",10,"zh-CN",[140,144,148],{"url":141,"anchor":142,"reason":143},"\u002Fzh\u002Ftopics","浏览其他主题 pack","相邻 pack 涵盖 Claude Code、Codex CLI 以及更广的终端 agent 全家桶",{"url":145,"anchor":146,"reason":147},"\u002Fzh\u002Fai-tools-for\u002Fcoding","AI 编码工具","看看 Aider 在 2026 年的 AI 编码 agent 全景中位于哪里",{"url":149,"anchor":150,"reason":151},"\u002Fzh\u002Ffeatured","TokRepo 精选资产","Aider 配齐之后，浏览更大的精选目录看相邻工具",[153,157,161],{"claim":154,"source_name":155,"source_url":156},"Aider 通过 LiteLLM 支持 100+ LLM 服务商，每个 edit 自动 commit 到 git","Aider 官方文档","https:\u002F\u002Faider.chat",{"claim":158,"source_name":159,"source_url":160},"Aider watch mode tail 文件、通过 `# AI:` 注释从任何编辑器触发","aider.chat — Edit files with your editor","https:\u002F\u002Faider.chat\u002Fdocs\u002Fusage\u002Fwatch.html",{"claim":162,"source_name":163,"source_url":164},"LiteLLM 为 100+ LLM 服务商提供统一 proxy，含消费上限和统一日志","BerriAI\u002Flitellm GitHub","https:\u002F\u002Fgithub.com\u002FBerriAI\u002Flitellm",1450,"2026-05-22T00:00:00Z"]