[{"data":1,"prerenderedAt":4737},["ShallowReactive",2],{"header-counts":3,"playbook-onboarding\u002Faider-getting-started":6,"footer-counts":1839,"playbook-tools-onboarding\u002Faider-getting-started":1840},{"tools":4,"reviews":5},77,25,{"id":7,"title":8,"body":9,"category":1819,"cover":1820,"description":1821,"extension":1822,"meta":1823,"navigation":226,"path":1824,"published":1825,"relatedTools":1826,"seo":1830,"stem":1831,"tags":1832,"updated":1825,"__hash__":1838},"playbook\u002Fplaybook\u002Fonboarding\u002Faider-getting-started.md","Aider 上手指南：终端 AI 编程从零开始，BYOK 多模型配置实战",{"type":10,"value":11,"toc":1764},"minimark",[12,16,32,35,38,41,75,96,99,103,152,155,168,171,174,197,201,204,246,249,252,255,270,274,277,281,284,369,379,383,386,437,444,448,505,508,512,515,554,557,561,564,607,627,630,634,641,820,827,830,834,921,925,934,937,941,952,960,964,970,973,995,999,1067,1070,1093,1097,1100,1103,1109,1113,1253,1257,1260,1316,1320,1323,1327,1330,1334,1343,1347,1352,1358,1361,1366,1372,1375,1379,1385,1389,1399,1403,1444,1447,1451,1454,1458,1462,1468,1472,1478,1482,1488,1492,1498,1502,1508,1511,1515,1556,1560,1606,1610,1628,1631,1651,1655,1726,1729,1760],[13,14,15],"h2",{"id":15},"适用人群",[17,18,19,20,24,25,24,28,31],"p",{},"三类人：",[21,22,23],"strong",{},"第一次用 Aider 不知道怎么下手的人","、",[21,26,27],{},"装好了但不确定该配哪个模型的人",[21,29,30],{},"已经跑了几个任务但 token 消耗太快的人","。",[17,33,34],{},"这份指南目标是让你在 30 分钟内完成安装 → 配 API key → 跑通第一个任务 → 会写省钱的 Prompt。",[17,36,37],{},"Aider 是 AI 编程工具光谱里最极端的一端：没有 GUI、没有自动魔法、所有动作都映射成 git 操作、所有上下文都明确暴露在终端里。学习曲线在 AI 编程工具里最陡，但跨过去之后会上瘾——因为它是唯一一个让你完全掌控 AI 每一步动作的工具。",[13,39,40],{"id":40},"前置条件",[42,43,44,51,57,63,69],"ul",{},[45,46,47,50],"li",{},[21,48,49],{},"Python 3.9+","：Aider 是 Python CLI 工具，需要 pip 安装。Mac\u002FLinux 自带 Python，Windows 建议装 Python 官方安装包或用 WSL",[45,52,53,56],{},[21,54,55],{},"Git 基础","：Aider 把 AI 编程映射到 git 工作流，你需要懂 commit \u002F branch \u002F rebase 基本操作",[45,58,59,62],{},[21,60,61],{},"一个 git 仓库","：Aider 强制要求在 git 仓库里使用全部功能，非 git 目录功能受限",[45,64,65,68],{},[21,66,67],{},"至少一个 LLM API key","：OpenAI \u002F Anthropic \u002F DeepSeek 任选其一（推荐 DeepSeek，最便宜且国内直连）",[45,70,71,74],{},[21,72,73],{},"终端 \u002F 命令行","：Aider 没有图形界面，所有操作在终端完成",[76,77,82],"div",{"className":78},[79,80,81],"card","p-5","my-4",[17,83,84,85,90,91,95],{},"如果你看到上面的前置条件觉得\"太麻烦了\"——选 ",[86,87,89],"a",{"href":88},"\u002Fcoding\u002Fide\u002Fcursor.html","Cursor"," 或 ",[86,92,94],{"href":93},"\u002Fcoding\u002Fcli\u002Fclaude-code.html","Claude Code"," 更合适。Aider 不试图讨好 GUI 用户，它的价值在于可控性，代价是学习成本。",[13,97,98],{"id":98},"安装",[100,101,102],"h3",{"id":102},"一行命令安装",[104,105,110],"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"language-bash shiki shiki-themes github-light github-dark","# 推荐：带 --upgrade-strategy 避免依赖冲突\npython -m pip install -U --upgrade-strategy only-if-needed aider-chat\n","bash","",[111,112,113,122],"code",{"__ignoreMap":109},[114,115,118],"span",{"class":116,"line":117},"line",1,[114,119,121],{"class":120},"sJ8bj","# 推荐：带 --upgrade-strategy 避免依赖冲突\n",[114,123,125,129,133,137,140,143,146,149],{"class":116,"line":124},2,[114,126,128],{"class":127},"sScJk","python",[114,130,132],{"class":131},"sj4cs"," -m",[114,134,136],{"class":135},"sZZnC"," pip",[114,138,139],{"class":135}," install",[114,141,142],{"class":131}," -U",[114,144,145],{"class":131}," --upgrade-strategy",[114,147,148],{"class":135}," only-if-needed",[114,150,151],{"class":135}," aider-chat\n",[17,153,154],{},"验证安装：",[104,156,158],{"className":106,"code":157,"language":108,"meta":109,"style":109},"aider --version\n",[111,159,160],{"__ignoreMap":109},[114,161,162,165],{"class":116,"line":117},[114,163,164],{"class":127},"aider",[114,166,167],{"class":131}," --version\n",[100,169,170],{"id":170},"国内安装加速",[17,172,173],{},"如果 pip 下载慢，换国内镜像：",[104,175,177],{"className":106,"code":176,"language":108,"meta":109,"style":109},"pip install -U aider-chat -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n",[111,178,179],{"__ignoreMap":109},[114,180,181,184,186,188,191,194],{"class":116,"line":117},[114,182,183],{"class":127},"pip",[114,185,139],{"class":135},[114,187,142],{"class":131},[114,189,190],{"class":135}," aider-chat",[114,192,193],{"class":131}," -i",[114,195,196],{"class":135}," https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n",[100,198,200],{"id":199},"windows-注意事项","Windows 注意事项",[17,202,203],{},"Windows 上 Aider 能跑，但 Python 环境 + git CLI 双依赖门槛偏高。推荐用 WSL：",[104,205,209],{"className":206,"code":207,"language":208,"meta":109,"style":109},"language-powershell shiki shiki-themes github-light github-dark","# PowerShell 里装 WSL\nwsl --install\n\n# 进 WSL 后按 Linux 方式装\nsudo apt update && sudo apt install python3 python3-pip git\npip install aider-chat\n","powershell",[111,210,211,216,221,228,234,240],{"__ignoreMap":109},[114,212,213],{"class":116,"line":117},[114,214,215],{},"# PowerShell 里装 WSL\n",[114,217,218],{"class":116,"line":124},[114,219,220],{},"wsl --install\n",[114,222,224],{"class":116,"line":223},3,[114,225,227],{"emptyLinePlaceholder":226},true,"\n",[114,229,231],{"class":116,"line":230},4,[114,232,233],{},"# 进 WSL 后按 Linux 方式装\n",[114,235,237],{"class":116,"line":236},5,[114,238,239],{},"sudo apt update && sudo apt install python3 python3-pip git\n",[114,241,243],{"class":116,"line":242},6,[114,244,245],{},"pip install aider-chat\n",[17,247,248],{},"如果不用 WSL，确保 Windows 装了 Python（勾选 Add to PATH）和 Git for Windows。",[100,250,251],{"id":251},"升级",[17,253,254],{},"Aider 迭代很快，定期升级：",[104,256,258],{"className":106,"code":257,"language":108,"meta":109,"style":109},"pip install -U aider-chat\n",[111,259,260],{"__ignoreMap":109},[114,261,262,264,266,268],{"class":116,"line":117},[114,263,183],{"class":127},[114,265,139],{"class":135},[114,267,142],{"class":131},[114,269,151],{"class":135},[13,271,273],{"id":272},"api-配置","API 配置",[17,275,276],{},"Aider 的核心优势是 BYOK（Bring Your Own Key）——你可以接任意模型。以下按推荐优先级配置。",[100,278,280],{"id":279},"方案-1deepseek性价比之王国内首选","方案 1：DeepSeek（性价比之王，国内首选）",[17,282,283],{},"国内直连、支付宝付费、价格极低，是 Aider 的最佳搭档。",[104,285,287],{"className":106,"code":286,"language":108,"meta":109,"style":109},"# 设置环境变量\nexport DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxx\n\n# Windows PowerShell\n$env:DEEPSEEK_API_KEY = \"sk-xxxxxxxxxxxxxxxx\"\n\n# 启动 Aider，指定 DeepSeek 模型\naider --model deepseek\u002Fdeepseek-chat\n\n# 或用 R1 推理模型\naider --model deepseek\u002Fdeepseek-reasoner\n",[111,288,289,294,310,314,319,327,331,337,348,353,359],{"__ignoreMap":109},[114,290,291],{"class":116,"line":117},[114,292,293],{"class":120},"# 设置环境变量\n",[114,295,296,300,304,307],{"class":116,"line":124},[114,297,299],{"class":298},"szBVR","export",[114,301,303],{"class":302},"sVt8B"," DEEPSEEK_API_KEY",[114,305,306],{"class":298},"=",[114,308,309],{"class":302},"sk-xxxxxxxxxxxxxxxx\n",[114,311,312],{"class":116,"line":223},[114,313,227],{"emptyLinePlaceholder":226},[114,315,316],{"class":116,"line":230},[114,317,318],{"class":120},"# Windows PowerShell\n",[114,320,321,324],{"class":116,"line":236},[114,322,323],{"class":302},"$env:DEEPSEEK_API_KEY = ",[114,325,326],{"class":135},"\"sk-xxxxxxxxxxxxxxxx\"\n",[114,328,329],{"class":116,"line":242},[114,330,227],{"emptyLinePlaceholder":226},[114,332,334],{"class":116,"line":333},7,[114,335,336],{"class":120},"# 启动 Aider，指定 DeepSeek 模型\n",[114,338,340,342,345],{"class":116,"line":339},8,[114,341,164],{"class":127},[114,343,344],{"class":131}," --model",[114,346,347],{"class":135}," deepseek\u002Fdeepseek-chat\n",[114,349,351],{"class":116,"line":350},9,[114,352,227],{"emptyLinePlaceholder":226},[114,354,356],{"class":116,"line":355},10,[114,357,358],{"class":120},"# 或用 R1 推理模型\n",[114,360,362,364,366],{"class":116,"line":361},11,[114,363,164],{"class":127},[114,365,344],{"class":131},[114,367,368],{"class":135}," deepseek\u002Fdeepseek-reasoner\n",[17,370,371,372,378],{},"获取 key：打开 ",[86,373,377],{"href":374,"rel":375},"https:\u002F\u002Fplatform.deepseek.com",[376],"nofollow","platform.deepseek.com","，注册后充值（支持支付宝），创建 API key。一次中型 PR（10-15 文件改动）约 $0.05-0.2。",[100,380,382],{"id":381},"方案-2anthropic-claude编辑能力最稳","方案 2：Anthropic Claude（编辑能力最稳）",[17,384,385],{},"Claude Sonnet 4 在代码编辑能力上是第一梯队，Aider 官方推荐用它做 editor model。",[104,387,389],{"className":106,"code":388,"language":108,"meta":109,"style":109},"export ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxx\n\n# Windows PowerShell\n$env:ANTHROPIC_API_KEY = \"sk-ant-xxxxxxxxxxxxxxxx\"\n\n# 启动\naider --model claude-sonnet-4-20250514\n",[111,390,391,403,407,411,419,423,428],{"__ignoreMap":109},[114,392,393,395,398,400],{"class":116,"line":117},[114,394,299],{"class":298},[114,396,397],{"class":302}," ANTHROPIC_API_KEY",[114,399,306],{"class":298},[114,401,402],{"class":302},"sk-ant-xxxxxxxxxxxxxxxx\n",[114,404,405],{"class":116,"line":124},[114,406,227],{"emptyLinePlaceholder":226},[114,408,409],{"class":116,"line":223},[114,410,318],{"class":120},[114,412,413,416],{"class":116,"line":230},[114,414,415],{"class":302},"$env:ANTHROPIC_API_KEY = ",[114,417,418],{"class":135},"\"sk-ant-xxxxxxxxxxxxxxxx\"\n",[114,420,421],{"class":116,"line":236},[114,422,227],{"emptyLinePlaceholder":226},[114,424,425],{"class":116,"line":242},[114,426,427],{"class":120},"# 启动\n",[114,429,430,432,434],{"class":116,"line":333},[114,431,164],{"class":127},[114,433,344],{"class":131},[114,435,436],{"class":135}," claude-sonnet-4-20250514\n",[17,438,439,440,443],{},"国内使用需要代理：",[111,441,442],{},"export HTTPS_PROXY=http:\u002F\u002F127.0.0.1:7890","。一次中型 PR 约 $0.5-2。",[100,445,447],{"id":446},"方案-3openai-gptreasoning-路径","方案 3：OpenAI GPT（reasoning 路径）",[104,449,451],{"className":106,"code":450,"language":108,"meta":109,"style":109},"export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx\n\n# Windows PowerShell\n$env:OPENAI_API_KEY = \"sk-xxxxxxxxxxxxxxxx\"\n\n# 启动\naider --model gpt-5\naider --model o3\n",[111,452,453,464,468,472,479,483,487,496],{"__ignoreMap":109},[114,454,455,457,460,462],{"class":116,"line":117},[114,456,299],{"class":298},[114,458,459],{"class":302}," OPENAI_API_KEY",[114,461,306],{"class":298},[114,463,309],{"class":302},[114,465,466],{"class":116,"line":124},[114,467,227],{"emptyLinePlaceholder":226},[114,469,470],{"class":116,"line":223},[114,471,318],{"class":120},[114,473,474,477],{"class":116,"line":230},[114,475,476],{"class":302},"$env:OPENAI_API_KEY = ",[114,478,326],{"class":135},[114,480,481],{"class":116,"line":236},[114,482,227],{"emptyLinePlaceholder":226},[114,484,485],{"class":116,"line":242},[114,486,427],{"class":120},[114,488,489,491,493],{"class":116,"line":333},[114,490,164],{"class":127},[114,492,344],{"class":131},[114,494,495],{"class":135}," gpt-5\n",[114,497,498,500,502],{"class":116,"line":339},[114,499,164],{"class":127},[114,501,344],{"class":131},[114,503,504],{"class":135}," o3\n",[17,506,507],{},"国内同样需要代理。一次中型 PR 约 $2-5（GPT-5 reasoning）。",[100,509,511],{"id":510},"方案-4本地模型完全离线-零成本","方案 4：本地模型（完全离线 + 零成本）",[17,513,514],{},"用 Ollama 跑本地模型，隐私场景首选：",[104,516,518],{"className":106,"code":517,"language":108,"meta":109,"style":109},"# 先装 Ollama 并拉模型\nollama pull qwen2.5:32b\n\n# Aider 接 Ollama\naider --model ollama\u002Fqwen2.5:32b\n",[111,519,520,525,536,540,545],{"__ignoreMap":109},[114,521,522],{"class":116,"line":117},[114,523,524],{"class":120},"# 先装 Ollama 并拉模型\n",[114,526,527,530,533],{"class":116,"line":124},[114,528,529],{"class":127},"ollama",[114,531,532],{"class":135}," pull",[114,534,535],{"class":135}," qwen2.5:32b\n",[114,537,538],{"class":116,"line":223},[114,539,227],{"emptyLinePlaceholder":226},[114,541,542],{"class":116,"line":230},[114,543,544],{"class":120},"# Aider 接 Ollama\n",[114,546,547,549,551],{"class":116,"line":236},[114,548,164],{"class":127},[114,550,344],{"class":131},[114,552,553],{"class":135}," ollama\u002Fqwen2.5:32b\n",[17,555,556],{},"模型质量取决于本机硬件。32B 模型需要 16GB+ 显存或 32GB+ 内存。",[100,558,560],{"id":559},"方案-5architect-双模型组合进阶","方案 5：Architect 双模型组合（进阶）",[17,562,563],{},"Aider 独有的杀手锏——把\"想方案\"和\"写代码\"拆给两个模型：",[104,565,567],{"className":106,"code":566,"language":108,"meta":109,"style":109},"aider --architect \\\n  --model deepseek\u002Fdeepseek-reasoner \\\n  --editor-model claude-sonnet-4-20250514 \\\n  --weak-model gpt-4o-mini\n",[111,568,569,579,589,599],{"__ignoreMap":109},[114,570,571,573,576],{"class":116,"line":117},[114,572,164],{"class":127},[114,574,575],{"class":131}," --architect",[114,577,578],{"class":131}," \\\n",[114,580,581,584,587],{"class":116,"line":124},[114,582,583],{"class":131},"  --model",[114,585,586],{"class":135}," deepseek\u002Fdeepseek-reasoner",[114,588,578],{"class":131},[114,590,591,594,597],{"class":116,"line":223},[114,592,593],{"class":131},"  --editor-model",[114,595,596],{"class":135}," claude-sonnet-4-20250514",[114,598,578],{"class":131},[114,600,601,604],{"class":116,"line":230},[114,602,603],{"class":131},"  --weak-model",[114,605,606],{"class":135}," gpt-4o-mini\n",[42,608,609,615,621],{},[45,610,611,614],{},[111,612,613],{},"--model","（架构师）：DeepSeek-R1 负责高层方案推理",[45,616,617,620],{},[111,618,619],{},"--editor-model","：Claude Sonnet 把方案落地成 diff",[45,622,623,626],{},[111,624,625],{},"--weak-model","：GPT-4o-mini 生成 commit message",[17,628,629],{},"据 Aider 官方 benchmark，DeepSeek R1 + Claude Sonnet 的组合比任一模型单跑高约 10%。",[100,631,633],{"id":632},"用-aiderconfyml-固化配置","用 .aider.conf.yml 固化配置",[17,635,636,637,640],{},"不要每次手敲参数。在项目根目录创建 ",[111,638,639],{},".aider.conf.yml","：",[104,642,646],{"className":643,"code":644,"language":645,"meta":109,"style":109},"language-yaml shiki shiki-themes github-light github-dark","# 默认模型组合\nmodel: deepseek\u002Fdeepseek-reasoner\neditor-model: claude-sonnet-4-20250514\nweak-model: deepseek\u002Fdeepseek-chat\n\n# 自动接受所有 diff（个人项目用，团队项目设 false）\nyes-always: false\n\n# commit message 模板（中文 + 约定式提交）\ncommit-prompt: |\n  你是项目的 git commit 助手。\n  根据 diff 生成中文 commit message，遵循 conventional commits 格式：\n  feat\u002Ffix\u002Fdocs\u002Frefactor\u002Ftest\u002Fchore: 简短描述\n\n# 默认排除的文件\nread-only:\n  - docs\u002F\n  - public\u002F\n  - node_modules\u002F\n\n# 自动加载的项目上下文\nread:\n  - README.md\n  - CONTRIBUTING.md\n","yaml",[111,647,648,653,665,675,685,689,694,704,708,713,723,728,734,740,745,751,760,769,777,785,790,796,804,812],{"__ignoreMap":109},[114,649,650],{"class":116,"line":117},[114,651,652],{"class":120},"# 默认模型组合\n",[114,654,655,659,662],{"class":116,"line":124},[114,656,658],{"class":657},"s9eBZ","model",[114,660,661],{"class":302},": ",[114,663,664],{"class":135},"deepseek\u002Fdeepseek-reasoner\n",[114,666,667,670,672],{"class":116,"line":223},[114,668,669],{"class":657},"editor-model",[114,671,661],{"class":302},[114,673,674],{"class":135},"claude-sonnet-4-20250514\n",[114,676,677,680,682],{"class":116,"line":230},[114,678,679],{"class":657},"weak-model",[114,681,661],{"class":302},[114,683,684],{"class":135},"deepseek\u002Fdeepseek-chat\n",[114,686,687],{"class":116,"line":236},[114,688,227],{"emptyLinePlaceholder":226},[114,690,691],{"class":116,"line":242},[114,692,693],{"class":120},"# 自动接受所有 diff（个人项目用，团队项目设 false）\n",[114,695,696,699,701],{"class":116,"line":333},[114,697,698],{"class":657},"yes-always",[114,700,661],{"class":302},[114,702,703],{"class":131},"false\n",[114,705,706],{"class":116,"line":339},[114,707,227],{"emptyLinePlaceholder":226},[114,709,710],{"class":116,"line":350},[114,711,712],{"class":120},"# commit message 模板（中文 + 约定式提交）\n",[114,714,715,718,720],{"class":116,"line":355},[114,716,717],{"class":657},"commit-prompt",[114,719,661],{"class":302},[114,721,722],{"class":298},"|\n",[114,724,725],{"class":116,"line":361},[114,726,727],{"class":135},"  你是项目的 git commit 助手。\n",[114,729,731],{"class":116,"line":730},12,[114,732,733],{"class":135},"  根据 diff 生成中文 commit message，遵循 conventional commits 格式：\n",[114,735,737],{"class":116,"line":736},13,[114,738,739],{"class":135},"  feat\u002Ffix\u002Fdocs\u002Frefactor\u002Ftest\u002Fchore: 简短描述\n",[114,741,743],{"class":116,"line":742},14,[114,744,227],{"emptyLinePlaceholder":226},[114,746,748],{"class":116,"line":747},15,[114,749,750],{"class":120},"# 默认排除的文件\n",[114,752,754,757],{"class":116,"line":753},16,[114,755,756],{"class":657},"read-only",[114,758,759],{"class":302},":\n",[114,761,763,766],{"class":116,"line":762},17,[114,764,765],{"class":302},"  - ",[114,767,768],{"class":135},"docs\u002F\n",[114,770,772,774],{"class":116,"line":771},18,[114,773,765],{"class":302},[114,775,776],{"class":135},"public\u002F\n",[114,778,780,782],{"class":116,"line":779},19,[114,781,765],{"class":302},[114,783,784],{"class":135},"node_modules\u002F\n",[114,786,788],{"class":116,"line":787},20,[114,789,227],{"emptyLinePlaceholder":226},[114,791,793],{"class":116,"line":792},21,[114,794,795],{"class":120},"# 自动加载的项目上下文\n",[114,797,799,802],{"class":116,"line":798},22,[114,800,801],{"class":657},"read",[114,803,759],{"class":302},[114,805,807,809],{"class":116,"line":806},23,[114,808,765],{"class":302},[114,810,811],{"class":135},"README.md\n",[114,813,815,817],{"class":116,"line":814},24,[114,816,765],{"class":302},[114,818,819],{"class":135},"CONTRIBUTING.md\n",[17,821,822,823,826],{},"这一份配置让 Aider 从\"通用工具\"变成\"我的项目的 AI 助手\"，等价于 Cursor 的 ",[111,824,825],{},".cursor\u002Frules\u002F*.mdc","，但更精细。",[13,828,829],{"id":829},"第一个项目实战",[100,831,833],{"id":832},"第一步准备-git-仓库","第一步：准备 git 仓库",[104,835,837],{"className":106,"code":836,"language":108,"meta":109,"style":109},"# 如果你已有项目\ncd your-project\n\n# 如果是全新项目\nmkdir my-project && cd my-project\ngit init\necho \"# My Project\" > README.md\ngit add . && git commit -m \"init\"\n",[111,838,839,844,852,856,861,877,885,899],{"__ignoreMap":109},[114,840,841],{"class":116,"line":117},[114,842,843],{"class":120},"# 如果你已有项目\n",[114,845,846,849],{"class":116,"line":124},[114,847,848],{"class":131},"cd",[114,850,851],{"class":135}," your-project\n",[114,853,854],{"class":116,"line":223},[114,855,227],{"emptyLinePlaceholder":226},[114,857,858],{"class":116,"line":230},[114,859,860],{"class":120},"# 如果是全新项目\n",[114,862,863,866,869,872,874],{"class":116,"line":236},[114,864,865],{"class":127},"mkdir",[114,867,868],{"class":135}," my-project",[114,870,871],{"class":302}," && ",[114,873,848],{"class":131},[114,875,876],{"class":135}," my-project\n",[114,878,879,882],{"class":116,"line":242},[114,880,881],{"class":127},"git",[114,883,884],{"class":135}," init\n",[114,886,887,890,893,896],{"class":116,"line":333},[114,888,889],{"class":131},"echo",[114,891,892],{"class":135}," \"# My Project\"",[114,894,895],{"class":298}," >",[114,897,898],{"class":135}," README.md\n",[114,900,901,903,906,909,911,913,916,918],{"class":116,"line":339},[114,902,881],{"class":127},[114,904,905],{"class":135}," add",[114,907,908],{"class":135}," .",[114,910,871],{"class":302},[114,912,881],{"class":127},[114,914,915],{"class":135}," commit",[114,917,132],{"class":131},[114,919,920],{"class":135}," \"init\"\n",[100,922,924],{"id":923},"第二步启动-aider","第二步：启动 Aider",[104,926,928],{"className":106,"code":927,"language":108,"meta":109,"style":109},"aider\n",[111,929,930],{"__ignoreMap":109},[114,931,932],{"class":116,"line":117},[114,933,927],{"class":127},[17,935,936],{},"进入交互式 REPL。你会看到 Aider 打印出 repo map 扫描结果和当前使用的模型。",[100,938,940],{"id":939},"第三步加入要修改的文件","第三步：加入要修改的文件",[17,942,943,944,947,948,951],{},"这是新手最容易跳过的一步。Aider 默认只看 repo map（函数签名、类层级），",[21,945,946],{},"看不到文件实现细节","。你要修改的文件必须 ",[111,949,950],{},"\u002Fadd"," 显式加入：",[104,953,958],{"className":954,"code":956,"language":957,"meta":109},[955],"language-text","\u002Fadd src\u002Fserver.ts src\u002Fapi\u002Fuser.ts\n","text",[111,959,956],{"__ignoreMap":109},[100,961,963],{"id":962},"第四步用自然语言下指令","第四步：用自然语言下指令",[104,965,968],{"className":966,"code":967,"language":957,"meta":109},[955],"> 把 server\u002Fapi\u002Fuser.ts 里的 getUserById 改成支持批量查询，\n> 参数从 id: string 改成 ids: string[]，返回 User[] 而不是 User。\n> 同时更新调用方代码。\n",[111,969,967],{"__ignoreMap":109},[17,971,972],{},"Aider 会：",[974,975,976,979,982,992],"ol",{},[45,977,978],{},"分析你 add 的文件 + repo map 里的相关文件",[45,980,981],{},"给出修改方案（等确认）",[45,983,984,985,988,989],{},"生成 diff 并自动 ",[111,986,987],{},"git add"," + ",[111,990,991],{},"git commit",[45,993,994],{},"commit message 由 weak-model 自动生成",[100,996,998],{"id":997},"第五步验证和回滚","第五步：验证和回滚",[104,1000,1002],{"className":106,"code":1001,"language":108,"meta":109,"style":109},"# 看刚才的改动\ngit log --oneline -3\ngit diff HEAD~1\n\n# 不满意？一行回滚\ngit reset --hard HEAD~1\n\n# 或用 Aider 的 \u002Fundo\n\u002Fundo\n",[111,1003,1004,1009,1022,1032,1036,1041,1053,1057,1062],{"__ignoreMap":109},[114,1005,1006],{"class":116,"line":117},[114,1007,1008],{"class":120},"# 看刚才的改动\n",[114,1010,1011,1013,1016,1019],{"class":116,"line":124},[114,1012,881],{"class":127},[114,1014,1015],{"class":135}," log",[114,1017,1018],{"class":131}," --oneline",[114,1020,1021],{"class":131}," -3\n",[114,1023,1024,1026,1029],{"class":116,"line":223},[114,1025,881],{"class":127},[114,1027,1028],{"class":135}," diff",[114,1030,1031],{"class":135}," HEAD~1\n",[114,1033,1034],{"class":116,"line":230},[114,1035,227],{"emptyLinePlaceholder":226},[114,1037,1038],{"class":116,"line":236},[114,1039,1040],{"class":120},"# 不满意？一行回滚\n",[114,1042,1043,1045,1048,1051],{"class":116,"line":242},[114,1044,881],{"class":127},[114,1046,1047],{"class":135}," reset",[114,1049,1050],{"class":131}," --hard",[114,1052,1031],{"class":135},[114,1054,1055],{"class":116,"line":333},[114,1056,227],{"emptyLinePlaceholder":226},[114,1058,1059],{"class":116,"line":339},[114,1060,1061],{"class":120},"# 或用 Aider 的 \u002Fundo\n",[114,1063,1064],{"class":116,"line":350},[114,1065,1066],{"class":127},"\u002Fundo\n",[100,1068,1069],{"id":1069},"实战注意",[42,1071,1072,1081,1087],{},[45,1073,1074,640,1077,1080],{},[21,1075,1076],{},"先创建分支再跑",[111,1078,1079],{},"git checkout -b aider\u002Fuser-batch-query","，避免主分支被污染",[45,1082,1083,1086],{},[21,1084,1085],{},"任务描述要具体","：说清楚改什么、怎么改、影响哪些文件，Aider 不会自己猜",[45,1088,1089,1092],{},[21,1090,1091],{},"一次一个任务","：不要在一个对话里塞 5 个不相关的修改，token 消耗会暴增",[13,1094,1096],{"id":1095},"git-工作流","Git 工作流",[17,1098,1099],{},"Aider 的 git 集成是它与所有竞品的最大区别。掌握以下工作流是用好 Aider 的关键。",[100,1101,1102],{"id":1102},"标准工作流",[104,1104,1107],{"className":1105,"code":1106,"language":957,"meta":109},[955],"1. git checkout -b aider\u002F\u003Ctask-name>     # 创建实验分支\n2. aider                                   # 启动 Aider\n3. \u002Fadd \u003C相关文件>                         # 加入要修改的文件\n4. \u003C自然语言描述任务>                       # 让 AI 改代码\n5. git diff                               # 检查改动\n6. 满意 → git checkout main && git merge aider\u002F\u003Ctask-name>\n   不满意 → git reset --hard HEAD~1       # 回滚\n7. \u002Fexit                                   # 退出 Aider\n",[111,1108,1106],{"__ignoreMap":109},[100,1110,1112],{"id":1111},"常用-aider-命令","常用 Aider 命令",[1114,1115,1116,1129],"table",{},[1117,1118,1119],"thead",{},[1120,1121,1122,1126],"tr",{},[1123,1124,1125],"th",{},"命令",[1123,1127,1128],{},"用途",[1130,1131,1132,1143,1153,1163,1173,1183,1193,1203,1213,1223,1233,1243],"tbody",{},[1120,1133,1134,1140],{},[1135,1136,1137],"td",{},[111,1138,1139],{},"\u002Fadd \u003Cfile>",[1135,1141,1142],{},"把文件加入对话（AI 能看到实现细节）",[1120,1144,1145,1150],{},[1135,1146,1147],{},[111,1148,1149],{},"\u002Fdrop \u003Cfile>",[1135,1151,1152],{},"把文件移出对话",[1120,1154,1155,1160],{},[1135,1156,1157],{},[111,1158,1159],{},"\u002Fundo",[1135,1161,1162],{},"撤销上一次 Aider commit",[1120,1164,1165,1170],{},[1135,1166,1167],{},[111,1168,1169],{},"\u002Fdiff",[1135,1171,1172],{},"查看当前未提交的改动",[1120,1174,1175,1180],{},[1135,1176,1177],{},[111,1178,1179],{},"\u002Fcommit",[1135,1181,1182],{},"手动提交当前改动",[1120,1184,1185,1190],{},[1135,1186,1187],{},[111,1188,1189],{},"\u002Frun \u003Ccmd>",[1135,1191,1192],{},"在 Aider 里跑 shell 命令",[1120,1194,1195,1200],{},[1135,1196,1197],{},[111,1198,1199],{},"\u002Fclear",[1135,1201,1202],{},"清空对话历史（开始新任务时用）",[1120,1204,1205,1210],{},[1135,1206,1207],{},[111,1208,1209],{},"\u002Fsave \u003Cfile>",[1135,1211,1212],{},"保存当前对话到文件",[1120,1214,1215,1220],{},[1135,1216,1217],{},[111,1218,1219],{},"\u002Fload \u003Cfile>",[1135,1221,1222],{},"加载之前保存的对话",[1120,1224,1225,1230],{},[1135,1226,1227],{},[111,1228,1229],{},"\u002Ftokens",[1135,1231,1232],{},"查看当前 token 消耗",[1120,1234,1235,1240],{},[1135,1236,1237],{},[111,1238,1239],{},"\u002Fmodel \u003Cname>",[1135,1241,1242],{},"切换模型",[1120,1244,1245,1250],{},[1135,1246,1247],{},[111,1248,1249],{},"\u002Farchitect",[1135,1251,1252],{},"切换到 Architect 双模型模式",[100,1254,1256],{"id":1255},"commit-历史整理","commit 历史整理",[17,1258,1259],{},"Aider 一次复杂任务可能产生 5-15 个 commit，commit message 质量参差。合并回主分支前要整理：",[104,1261,1263],{"className":106,"code":1262,"language":108,"meta":109,"style":109},"# squash 成一个 clean commit\ngit checkout main\ngit merge --squash aider\u002F\u003Ctask-name>\ngit commit -m \"feat: user 支持批量查询\"\n",[111,1264,1265,1270,1280,1305],{"__ignoreMap":109},[114,1266,1267],{"class":116,"line":117},[114,1268,1269],{"class":120},"# squash 成一个 clean commit\n",[114,1271,1272,1274,1277],{"class":116,"line":124},[114,1273,881],{"class":127},[114,1275,1276],{"class":135}," checkout",[114,1278,1279],{"class":135}," main\n",[114,1281,1282,1284,1287,1290,1293,1296,1299,1302],{"class":116,"line":223},[114,1283,881],{"class":127},[114,1285,1286],{"class":135}," merge",[114,1288,1289],{"class":131}," --squash",[114,1291,1292],{"class":135}," aider\u002F",[114,1294,1295],{"class":298},"\u003C",[114,1297,1298],{"class":135},"task-nam",[114,1300,1301],{"class":302},"e",[114,1303,1304],{"class":298},">\n",[114,1306,1307,1309,1311,1313],{"class":116,"line":230},[114,1308,881],{"class":127},[114,1310,915],{"class":135},[114,1312,132],{"class":131},[114,1314,1315],{"class":135}," \"feat: user 支持批量查询\"\n",[13,1317,1319],{"id":1318},"省-token-技巧","省 token 技巧",[17,1321,1322],{},"Aider 的 token 消耗完全可控——前提是你知道怎么控制。以下 7 个技巧按效果排序。",[100,1324,1326],{"id":1325},"_1-用-deepseek-替代-claude-gpt","1. 用 DeepSeek 替代 Claude \u002F GPT",[17,1328,1329],{},"同一个任务，DeepSeek 比 Claude 便宜 10-30 倍，推理\u002F编辑能力达到 Claude 的 80% 左右。日常任务用 DeepSeek，复杂任务再切 Claude。",[100,1331,1333],{"id":1332},"_2-精确-add不要-add-整个目录","2. 精确 \u002Fadd，不要 \u002Fadd 整个目录",[17,1335,1336,1339,1340,1342],{},[111,1337,1338],{},"\u002Fadd src\u002F"," 会把整个 src 目录塞进上下文，token 暴增。只 ",[111,1341,950],{}," 你要改的文件，Aider 通过 repo map 已经知道其他文件的接口签名。",[100,1344,1346],{"id":1345},"_3-任务描述具体到文件-函数-行为","3. 任务描述具体到文件 + 函数 + 行为",[17,1348,1349,640],{},[21,1350,1351],{},"烧 token 的写法",[104,1353,1356],{"className":1354,"code":1355,"language":957,"meta":109},[955],"> 帮我优化一下性能\n",[111,1357,1355],{"__ignoreMap":109},[17,1359,1360],{},"Aider 会全仓库扫描找瓶颈，token 爆炸。",[17,1362,1363,640],{},[21,1364,1365],{},"省 token 的写法",[104,1367,1370],{"className":1368,"code":1369,"language":957,"meta":109},[955],"> 把 src\u002Fapi\u002Fuser.ts 里的 getUserById 的数据库查询从 N+1 改成批量查询，\n> 用 WHERE id IN (?) 替代循环里逐个 SELECT\n",[111,1371,1369],{"__ignoreMap":109},[17,1373,1374],{},"任务被锁定到具体函数和具体改动，Aider 直接走最优路径。",[100,1376,1378],{"id":1377},"_4-用-clear-开新任务不要在一个对话里做太多","4. 用 \u002Fclear 开新任务，不要在一个对话里做太多",[17,1380,1381,1382,1384],{},"对话越长，每次请求都要把全部历史发给模型，token 线性增长。每完成一个任务 ",[111,1383,1199],{}," 一次。",[100,1386,1388],{"id":1387},"_5-weak-model-用最便宜的","5. weak-model 用最便宜的",[17,1390,1391,1392,1394,1395,1398],{},"commit message 不需要 SOTA 智能。DeepSeek-V3 \u002F GPT-4o-mini \u002F Claude Haiku 都够。在 ",[111,1393,639],{}," 里设 ",[111,1396,1397],{},"weak-model: deepseek\u002Fdeepseek-chat","，省下来的 token 很可观。",[100,1400,1402],{"id":1401},"_6-用-read-only-标记不该看的文件","6. 用 read-only 标记不该看的文件",[104,1404,1406],{"className":643,"code":1405,"language":645,"meta":109,"style":109},"# .aider.conf.yml\nread-only:\n  - docs\u002F\n  - public\u002F\n  - node_modules\u002F\n  - \"*.test.ts\"\n",[111,1407,1408,1413,1419,1425,1431,1437],{"__ignoreMap":109},[114,1409,1410],{"class":116,"line":117},[114,1411,1412],{"class":120},"# .aider.conf.yml\n",[114,1414,1415,1417],{"class":116,"line":124},[114,1416,756],{"class":657},[114,1418,759],{"class":302},[114,1420,1421,1423],{"class":116,"line":223},[114,1422,765],{"class":302},[114,1424,768],{"class":135},[114,1426,1427,1429],{"class":116,"line":230},[114,1428,765],{"class":302},[114,1430,776],{"class":135},[114,1432,1433,1435],{"class":116,"line":236},[114,1434,765],{"class":302},[114,1436,784],{"class":135},[114,1438,1439,1441],{"class":116,"line":242},[114,1440,765],{"class":302},[114,1442,1443],{"class":135},"\"*.test.ts\"\n",[17,1445,1446],{},"避免 Aider 把无关文件塞进上下文。",[100,1448,1450],{"id":1449},"_7-简单任务不开-architect-模式","7. 简单任务不开 Architect 模式",[17,1452,1453],{},"Architect 模式跑两轮模型调用（架构师 + 编辑器），成本翻倍。改一个函数 \u002F 加一个 if 分支这种简单任务用单模型跑就行。Architect 的甜区是 5+ 文件、跨模块、需要规划的复杂任务。",[13,1455,1457],{"id":1456},"_5-个-prompt-模板","5 个 Prompt 模板",[100,1459,1461],{"id":1460},"_1-新功能开发","1. 新功能开发",[104,1463,1466],{"className":1464,"code":1465,"language":957,"meta":109},[955],"\u002Fadd src\u002F\u003C相关文件1> src\u002F\u003C相关文件2>\n\n我要加一个\u003C功能描述>功能。\n要求：\n1. 在 src\u002F\u003C模块>\u002F 目录下新建 \u003CFileName>，实现核心逻辑\n2. 在 src\u002F\u003C入口文件> 里接入调用\n3. 遵循现有代码风格（命名、错误处理、日志）\n4. 不要动其他模块，只改我 add 的文件 + 新建文件\n5. 如果需要新依赖，先告诉我，不要自己加 package.json\n\n先告诉我你的方案，我确认后再动手。\n",[111,1467,1465],{"__ignoreMap":109},[100,1469,1471],{"id":1470},"_2-bug-修复","2. Bug 修复",[104,1473,1476],{"className":1474,"code":1475,"language":957,"meta":109},[955],"\u002Fadd src\u002F\u003C出 bug 的文件>\n\n\u003C文件>里的\u003C函数名>有 bug：\u003C描述 bug 现象 + 复现步骤>。\n\n预期行为：\u003C正确行为>\n实际行为：\u003C错误行为>\n\n要求：\n1. 找到 root cause，不要只修表面症状\n2. 修复后加一个测试用例覆盖这个场景\n3. 检查同模块里有没有类似的 bug\n4. commit message 用 fix: 前缀\n",[111,1477,1475],{"__ignoreMap":109},[100,1479,1481],{"id":1480},"_3-重构","3. 重构",[104,1483,1486],{"className":1484,"code":1485,"language":957,"meta":109},[955],"\u002Fadd src\u002F\u003C要重构的文件1> src\u002F\u003C要重构的文件2>\n\n把\u003C模块名>做以下重构：\n1. 把\u003C大函数>拆成 3 个小函数，每个只做一件事\n2. 提取重复逻辑到 utils\n3. 类型从 any 改成具体类型\n4. 不改变外部行为，测试必须全绿\n\n要求：\n- 每一步拆成独立 commit\n- 每次改动后跑 npm test 确认没 break\n- commit message 用 refactor: 前缀\n",[111,1487,1485],{"__ignoreMap":109},[100,1489,1491],{"id":1490},"_4-代码审查","4. 代码审查",[104,1493,1496],{"className":1494,"code":1495,"language":957,"meta":109},[955],"\u002Fadd src\u002F\u003C要审查的文件>\n\n审查这个文件的代码质量，关注：\n1. 安全漏洞（SQL 注入、XSS、敏感信息泄露）\n2. 性能问题（N+1 查询、不必要的循环、内存泄漏）\n3. 错误处理是否完整（边界条件、异常捕获）\n4. 类型安全（any 滥用、类型断言风险）\n5. 可读性（命名、注释、函数长度）\n\n产出：按严重程度排序的问题列表，每个问题给出修复建议。\n不要直接改代码，只做分析。\n",[111,1497,1495],{"__ignoreMap":109},[100,1499,1501],{"id":1500},"_5-测试生成","5. 测试生成",[104,1503,1506],{"className":1504,"code":1505,"language":957,"meta":109},[955],"\u002Fadd src\u002F\u003C要测试的文件>\n\n为\u003C文件名>里的所有导出函数生成单元测试。\n要求：\n1. 用 vitest（或 jest \u002F pytest，根据项目配置）\n2. 每个函数至少 3 个用例：正常输入 + 边界值 + 异常输入\n3. mock 外部依赖（数据库、API 调用）\n4. 测试文件放在 __tests__\u002F 目录，文件名 \u003C原文件名>.test.ts\n5. 覆盖率目标 80%+\n6. 跑一遍测试确认全绿\n",[111,1507,1505],{"__ignoreMap":109},[13,1509,1510],{"id":1510},"常见坑",[100,1512,1514],{"id":1513},"安装-配置","安装 \u002F 配置",[42,1516,1517,1531,1541,1550],{},[45,1518,1519,1522,1523,1526,1527,1530],{},[21,1520,1521],{},"pip install 报依赖冲突","：用 ",[111,1524,1525],{},"--upgrade-strategy only-if-needed"," 参数，或用 ",[111,1528,1529],{},"pipx install aider-chat"," 隔离环境",[45,1532,1533,1536,1537,1540],{},[21,1534,1535],{},"API key 没生效","：检查环境变量是否正确设置，",[111,1538,1539],{},"echo $DEEPSEEK_API_KEY"," 验证",[45,1542,1543,1546,1547],{},[21,1544,1545],{},"Ollama 本地模型超 context 不报错","：静默截断会让你以为\"模型忘了我加的文件\"。明确配置 ",[111,1548,1549],{},"num_ctx",[45,1551,1552,1555],{},[21,1553,1554],{},"Windows 路径问题","：用 WSL 最省心，纯 Windows 确保用正斜杠路径",[100,1557,1559],{"id":1558},"任务-执行","任务 \u002F 执行",[42,1561,1562,1575,1589,1597],{},[45,1563,1564,1567,1568,1571,1572,1574],{},[21,1565,1566],{},"没在 git 仓库里跑会被警告","：Aider 强烈建议 ",[111,1569,1570],{},"git init"," 后再用，否则 ",[111,1573,1159],{}," 不能用",[45,1576,1577,1582,1583,1586,1587],{},[21,1578,1579,1581],{},[111,1580,950],{}," 之前的文件不会被看见","：和 Cursor ",[111,1584,1585],{},"@codebase"," 不同，Aider 默认只看 repo map，要修改的文件要显式 ",[111,1588,950],{},[45,1590,1591,1596],{},[21,1592,1593,1595],{},[111,1594,1159],{}," 不是\"撤销修改\"","：它撤销的是上一次 Aider commit，已被你后续手动修改过的文件不会被撤销",[45,1598,1599,1605],{},[21,1600,1601,1604],{},[111,1602,1603],{},"--yes-always"," 太激进","：会跳过所有确认，包括\"是否要把这个文件加入 chat\"——容易让 Aider 偷偷读你不想给模型看的文件",[100,1607,1609],{"id":1608},"architect-模式","Architect 模式",[42,1611,1612,1618],{},[45,1613,1614,1617],{},[21,1615,1616],{},"editor model 不能用推理模型","：o3 \u002F R1 当 editor 生成的 diff 经常不符合 unified diff 格式，应用失败率高。editor 必须用 Claude Sonnet \u002F GPT-4.1 这类指令遵循能力好的模型",[45,1619,1620,1623,1624,1627],{},[21,1621,1622],{},"Architect 模式有 prompt injection 风险","：不要在不可信项目上开 architect mode + ",[111,1625,1626],{},"--yes"," 组合，README 被塞了攻击指令可能诱导 editor 生成后门代码",[100,1629,1630],{"id":1630},"和其他工具的衔接",[42,1632,1633,1639,1645],{},[45,1634,1635,1638],{},[21,1636,1637],{},"和 Cursor 一起用","：Aider 做 git 工作流重的修改，Cursor 做 inline 补全 + 快速跳转",[45,1640,1641,1644],{},[21,1642,1643],{},"和 Claude Code 一起用","：Aider 做日常小改 + 多模型试验，Claude Code 做长任务 + 复杂重构",[45,1646,1647,1650],{},[21,1648,1649],{},"和 GitHub Copilot 一起用","：Copilot 做代码补全，Aider 做多文件修改 + commit",[13,1652,1654],{"id":1653},"上线前-checklist","上线前 checklist",[42,1656,1659,1672,1678,1687,1693,1708,1714,1720],{"className":1657},[1658],"contains-task-list",[45,1660,1663,1667,1668,1671],{"className":1661},[1662],"task-list-item",[1664,1665],"input",{"disabled":226,"type":1666},"checkbox"," Python 3.9+ 已安装，",[111,1669,1670],{},"aider --version"," 能跑",[45,1673,1675,1677],{"className":1674},[1662],[1664,1676],{"disabled":226,"type":1666}," 至少一个 API key 已配置（推荐 DeepSeek + 支付宝）",[45,1679,1681,1683,1684,1686],{"className":1680},[1662],[1664,1682],{"disabled":226,"type":1666}," ",[111,1685,639],{}," 已创建，默认模型 + commit 模板已设好",[45,1688,1690,1692],{"className":1689},[1662],[1664,1691],{"disabled":226,"type":1666}," 已在 git 仓库里跑通第一个任务",[45,1694,1696,1698,1699,1683,1701,1683,1703,1683,1705,1707],{"className":1695},[1662],[1664,1697],{"disabled":226,"type":1666}," 已知道 ",[111,1700,950],{},[111,1702,1159],{},[111,1704,1199],{},[111,1706,1229],{}," 四个核心命令",[45,1709,1711,1713],{"className":1710},[1662],[1664,1712],{"disabled":226,"type":1666}," 已收藏 3-5 个 Prompt 模板，避免每次从零写",[45,1715,1717,1719],{"className":1716},[1662],[1664,1718],{"disabled":226,"type":1666}," 已知道 Architect 模式的使用场景和注意事项",[45,1721,1723,1725],{"className":1722},[1662],[1664,1724],{"disabled":226,"type":1666}," 备好一个 GUI 替代（Cursor \u002F Claude Code），Aider 不适合的场景可切换",[13,1727,1728],{"id":1728},"相关阅读",[42,1730,1731,1737,1743,1749,1754],{},[45,1732,1733],{},[86,1734,1736],{"href":1735},"\u002Freview\u002Faider-deep-review.html","Aider 深度评测：把 AI 编程当 git 工作流的极客派最爱",[45,1738,1739],{},[86,1740,1742],{"href":1741},"\u002Fcompare\u002Faider-vs-claude-code.html","Aider vs Claude Code：终端 AI 编程双雄怎么选",[45,1744,1745],{},[86,1746,1748],{"href":1747},"\u002Fcoding\u002Fcli\u002Faider.html","Aider 工具卡",[45,1750,1751],{},[86,1752,1753],{"href":93},"Claude Code 工具卡",[45,1755,1756],{},[86,1757,1759],{"href":1758},"\u002Fcoding\u002Fcli\u002Fcodex.html","Codex CLI 工具卡",[1761,1762,1763],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":109,"searchDepth":223,"depth":223,"links":1765},[1766,1767,1768,1774,1782,1790,1795,1804,1811,1817,1818],{"id":15,"depth":124,"text":15},{"id":40,"depth":124,"text":40},{"id":98,"depth":124,"text":98,"children":1769},[1770,1771,1772,1773],{"id":102,"depth":223,"text":102},{"id":170,"depth":223,"text":170},{"id":199,"depth":223,"text":200},{"id":251,"depth":223,"text":251},{"id":272,"depth":124,"text":273,"children":1775},[1776,1777,1778,1779,1780,1781],{"id":279,"depth":223,"text":280},{"id":381,"depth":223,"text":382},{"id":446,"depth":223,"text":447},{"id":510,"depth":223,"text":511},{"id":559,"depth":223,"text":560},{"id":632,"depth":223,"text":633},{"id":829,"depth":124,"text":829,"children":1783},[1784,1785,1786,1787,1788,1789],{"id":832,"depth":223,"text":833},{"id":923,"depth":223,"text":924},{"id":939,"depth":223,"text":940},{"id":962,"depth":223,"text":963},{"id":997,"depth":223,"text":998},{"id":1069,"depth":223,"text":1069},{"id":1095,"depth":124,"text":1096,"children":1791},[1792,1793,1794],{"id":1102,"depth":223,"text":1102},{"id":1111,"depth":223,"text":1112},{"id":1255,"depth":223,"text":1256},{"id":1318,"depth":124,"text":1319,"children":1796},[1797,1798,1799,1800,1801,1802,1803],{"id":1325,"depth":223,"text":1326},{"id":1332,"depth":223,"text":1333},{"id":1345,"depth":223,"text":1346},{"id":1377,"depth":223,"text":1378},{"id":1387,"depth":223,"text":1388},{"id":1401,"depth":223,"text":1402},{"id":1449,"depth":223,"text":1450},{"id":1456,"depth":124,"text":1457,"children":1805},[1806,1807,1808,1809,1810],{"id":1460,"depth":223,"text":1461},{"id":1470,"depth":223,"text":1471},{"id":1480,"depth":223,"text":1481},{"id":1490,"depth":223,"text":1491},{"id":1500,"depth":223,"text":1501},{"id":1510,"depth":124,"text":1510,"children":1812},[1813,1814,1815,1816],{"id":1513,"depth":223,"text":1514},{"id":1558,"depth":223,"text":1559},{"id":1608,"depth":223,"text":1609},{"id":1630,"depth":223,"text":1630},{"id":1653,"depth":124,"text":1654},{"id":1728,"depth":124,"text":1728},"onboarding","\u002Fimg\u002Ftools\u002Faider.webp","Aider 从零上手教程：如何完成 pip 安装、OpenAI \u002F Anthropic \u002F DeepSeek API key 配置、第一个项目实战、git 工作流、Architect 双模型模式、省 token 技巧和 5 个可复用 Prompt 模板。30 分钟从安装到日常使用。","md",{},"\u002Fplaybook\u002Fonboarding\u002Faider-getting-started","2026-07-04",[1827,1828,1829],"coding\u002Fcli\u002Faider","coding\u002Fcli\u002Fclaude-code","coding\u002Fcli\u002Fcodex",{"title":8,"description":1821},"playbook\u002Fonboarding\u002Faider-getting-started",[1833,1834,1835,1836,1837],"Aider","CLI","AI 编程","BYOK","终端","MkAZOlDqS58g5gQdl0DU6tW1TWEnhwB1b1k-v448B0U",{"tools":4,"reviews":5,"playbooks":798,"news":736},[1841,2810,4006],{"id":1842,"title":1833,"alternatives":1843,"api_compatible":1845,"body":1846,"category":2759,"chinese_friendly":223,"cover":1820,"description":2760,"domestic":2761,"extension":1822,"faq":1845,"free":2761,"github":2250,"languages":2762,"meta":2765,"models":1845,"navigation":226,"notSuitable":1845,"opensource":226,"path":2766,"pillar":2767,"platforms":2768,"priceTable":2772,"pricing":2783,"published":2784,"relatedPlaybooks":1845,"relatedReviews":1845,"score":2785,"self_host":226,"seo":2786,"seoTitle":1845,"slug":1827,"sources":2787,"stem":2800,"suitable":1845,"tagline":2801,"tags":2802,"updated":2807,"verdict":2808,"website":2691,"__hash__":2809},"tools\u002Ftools\u002Fcoding\u002Fcli\u002Faider.md",[1828,1829,1844],"coding\u002Fcli\u002Fcline",null,{"type":10,"value":1847,"toc":2742},[1848,1852,1875,1881,1884,1888,1891,1923,1927,1935,1952,1955,1991,1996,1999,2007,2083,2086,2090,2093,2097,2237,2240,2285,2296,2299,2337,2340,2476,2481,2503,2506,2591,2595,2598,2624,2627,2641,2643,2681,2684,2732,2739],[13,1849,1851],{"id":1850},"tldr","TL;DR",[76,1853,1855,1865],{"className":1854},[79,80,81],[17,1856,1857,1860,1861,1864],{},[21,1858,1859],{},"一句话："," Aider 把 \"AI 编辑代码\" 这件事拆成了 git 操作——每次对话结束自动 commit，回滚一行 ",[111,1862,1863],{},"git reset --hard HEAD~1"," 就行。没有 GUI、没有 IDE 插件、没有 Composer 那种漂亮 diff 面板，但你能拿到对开源项目最友好的工作流：bring your own key、bring your own model、bring your own editor。",[17,1866,1867,1868,1871,1872,1874],{},"代价是",[21,1869,1870],{},"学习曲线最陡","。第一次跑起来要花 10 分钟读文档，但跑顺了之后 ",[86,1873,94],{"href":93}," 用户都觉得\"为啥不直接 aider\"。",[1876,1877,1878],"blockquote",{},[17,1879,1880],{},"来源说明：本文事实点基于 aider.chat 官方文档（modes.html \u002F llms.html \u002F HISTORY.html）和 GitHub 仓库归纳，命令、参数、模型列表以官方为准。",[13,1882,1883],{"id":1883},"核心特性",[100,1885,1887],{"id":1886},"git-原生每次改动-一次-commit","Git 原生：每次改动 = 一次 commit",[17,1889,1890],{},"这是 Aider 与所有竞品的最大区别。其他 AI 编程工具改完文件丢给你看 diff，让你手动 stage \u002F commit；Aider 把 git 集成到工作流里：",[42,1892,1893,1901,1910,1920],{},[45,1894,1895,1896,988,1898,1900],{},"每次对话改完代码，自动 ",[111,1897,987],{},[111,1899,991],{},"，commit message 由 weak-model 生成",[45,1902,1903,1904,1906,1907],{},"想撤回上一步：",[111,1905,1159],{}," 或者直接 ",[111,1908,1909],{},"git reset",[45,1911,1912,1913,1916,1917,1919],{},"改坏了想从分叉点重来：",[111,1914,1915],{},"git checkout \u003Chash>"," 后继续 ",[111,1918,164],{},"，对话上下文还在",[45,1921,1922],{},"这也是为什么官方推荐 Aider 用在 git 仓库里——非 git 目录功能受限",[100,1924,1926],{"id":1925},"architect-模式两个模型分工","Architect 模式：两个模型分工",[17,1928,1929,1930,640],{},"Architect 模式把\"想方案\"和\"写代码\"拆给两个模型——根据 ",[86,1931,1934],{"href":1932,"rel":1933},"https:\u002F\u002Faider.chat\u002Fdocs\u002Fusage\u002Fmodes.html",[376],"官方 modes 文档",[42,1936,1937,1942,1947],{},[45,1938,1939,1941],{},[111,1940,613],{},"（architect）：负责高层方案推理。适合 o1 \u002F o3 \u002F DeepSeek R1 \u002F Claude Opus 这类强推理模型",[45,1943,1944,1946],{},[111,1945,619],{},"：负责把方案落地成具体文件 diff。适合 GPT-4o \u002F Claude Sonnet 这类编辑能力强但推理一般的模型",[45,1948,1949,1951],{},[111,1950,625],{},"（可选）：用来生成 commit message \u002F 简单重构。可以指定便宜模型省钱",[17,1953,1954],{},"启动示例：",[104,1956,1958],{"className":106,"code":1957,"language":108,"meta":109,"style":109},"aider --architect \\\n  --model deepseek\u002Fdeepseek-reasoner \\\n  --editor-model claude-3-5-sonnet-20241022 \\\n  --weak-model gpt-4o-mini\n",[111,1959,1960,1968,1976,1985],{"__ignoreMap":109},[114,1961,1962,1964,1966],{"class":116,"line":117},[114,1963,164],{"class":127},[114,1965,575],{"class":131},[114,1967,578],{"class":131},[114,1969,1970,1972,1974],{"class":116,"line":124},[114,1971,583],{"class":131},[114,1973,586],{"class":135},[114,1975,578],{"class":131},[114,1977,1978,1980,1983],{"class":116,"line":223},[114,1979,593],{"class":131},[114,1981,1982],{"class":135}," claude-3-5-sonnet-20241022",[114,1984,578],{"class":131},[114,1986,1987,1989],{"class":116,"line":230},[114,1988,603],{"class":131},[114,1990,606],{"class":135},[1876,1992,1993],{},[17,1994,1995],{},"据 Aider 官方 benchmark，DeepSeek R1（架构师）+ Claude 3.5 Sonnet（编辑器）的 Architect 组合，比任一模型单跑高约 10%。本数据来自 aider.chat\u002FHISTORY.html 与 pixelsham.com 的 2025-07 评测笔记。",[100,1997,1998],{"id":1998},"几乎能接所有模型",[17,2000,2001,2006],{},[86,2002,2005],{"href":2003,"rel":2004},"https:\u002F\u002Faider.chat\u002Fdocs\u002Fllms.html",[376],"Aider 官方推荐"," 的\"最佳模型清单\"：",[1114,2008,2009,2022],{},[1117,2010,2011],{},[1120,2012,2013,2016,2019],{},[1123,2014,2015],{},"厂商",[1123,2017,2018],{},"推荐模型",[1123,2020,2021],{},"备注",[1130,2023,2024,2035,2046,2057,2072],{},[1120,2025,2026,2029,2032],{},[1135,2027,2028],{},"Anthropic",[1135,2030,2031],{},"Claude Sonnet 4 \u002F 3.7 Sonnet",[1135,2033,2034],{},"编辑能力最稳",[1120,2036,2037,2040,2043],{},[1135,2038,2039],{},"Google",[1135,2041,2042],{},"Gemini 2.5 Pro",[1135,2044,2045],{},"超长上下文",[1120,2047,2048,2051,2054],{},[1135,2049,2050],{},"DeepSeek",[1135,2052,2053],{},"R1 + V3",[1135,2055,2056],{},"性价比之王",[1120,2058,2059,2062,2069],{},[1135,2060,2061],{},"OpenAI",[1135,2063,2064,2065],{},"o3 \u002F o4-mini \u002F GPT-4.1 \u002F ",[86,2066,2068],{"href":2067},"\u002Fmodels\u002Fgpt-5.html","GPT-5",[1135,2070,2071],{},"reasoning 路径",[1120,2073,2074,2077,2080],{},[1135,2075,2076],{},"本地",[1135,2078,2079],{},"Ollama \u002F LM Studio 兼容 OpenAI API",[1135,2081,2082],{},"完全离线",[17,2084,2085],{},"接入方式靠 LiteLLM 适配层，OpenRouter \u002F Bedrock \u002F Vertex \u002F xAI \u002F Groq \u002F Cohere \u002F Azure \u002F 私有 OpenAI 兼容端点 都支持——你能想到的 base_url，基本都行。",[100,2087,2089],{"id":2088},"repo-map上下文召回的核心机制","Repo map：上下文召回的核心机制",[17,2091,2092],{},"Aider 用 tree-sitter 解析整个 git 仓库，生成一份压缩版的 \"repo map\"——把符号定义、函数签名、类层级提取出来塞进 prompt。模型不需要看到所有源代码就能理解项目结构。这是 Aider 在 polyglot benchmark 上能打过很多带 Composer 的工具的关键原因。",[13,2094,2096],{"id":2095},"上手-5-分钟","上手 5 分钟",[104,2098,2100],{"className":106,"code":2099,"language":108,"meta":109,"style":109},"# 1. 安装（要 Python 3.9+）\npython -m pip install -U --upgrade-strategy only-if-needed aider-chat\n\n# 2. 进入 git 仓库\ncd your-project\n\n# 3. 设置 API key（任选其一）\nexport ANTHROPIC_API_KEY=sk-ant-...\nexport DEEPSEEK_API_KEY=sk-...\nexport OPENAI_API_KEY=sk-...\n\n# 4. 启动（默认会用环境变量里第一个能识别的 key）\naider\n\n# 或指定模型\naider --model deepseek\u002Fdeepseek-chat\naider --model claude-3-5-sonnet-20241022\n\n# 5. 在 aider 里直接用自然语言下指令\n> 把 server\u002Fapi\u002Fuser.ts 里的 getUserById 改成支持批量查询\n",[111,2101,2102,2107,2125,2129,2134,2140,2144,2149,2160,2171,2181,2185,2190,2194,2198,2203,2211,2220,2224,2229],{"__ignoreMap":109},[114,2103,2104],{"class":116,"line":117},[114,2105,2106],{"class":120},"# 1. 安装（要 Python 3.9+）\n",[114,2108,2109,2111,2113,2115,2117,2119,2121,2123],{"class":116,"line":124},[114,2110,128],{"class":127},[114,2112,132],{"class":131},[114,2114,136],{"class":135},[114,2116,139],{"class":135},[114,2118,142],{"class":131},[114,2120,145],{"class":131},[114,2122,148],{"class":135},[114,2124,151],{"class":135},[114,2126,2127],{"class":116,"line":223},[114,2128,227],{"emptyLinePlaceholder":226},[114,2130,2131],{"class":116,"line":230},[114,2132,2133],{"class":120},"# 2. 进入 git 仓库\n",[114,2135,2136,2138],{"class":116,"line":236},[114,2137,848],{"class":131},[114,2139,851],{"class":135},[114,2141,2142],{"class":116,"line":242},[114,2143,227],{"emptyLinePlaceholder":226},[114,2145,2146],{"class":116,"line":333},[114,2147,2148],{"class":120},"# 3. 设置 API key（任选其一）\n",[114,2150,2151,2153,2155,2157],{"class":116,"line":339},[114,2152,299],{"class":298},[114,2154,397],{"class":302},[114,2156,306],{"class":298},[114,2158,2159],{"class":302},"sk-ant-...\n",[114,2161,2162,2164,2166,2168],{"class":116,"line":350},[114,2163,299],{"class":298},[114,2165,303],{"class":302},[114,2167,306],{"class":298},[114,2169,2170],{"class":302},"sk-...\n",[114,2172,2173,2175,2177,2179],{"class":116,"line":355},[114,2174,299],{"class":298},[114,2176,459],{"class":302},[114,2178,306],{"class":298},[114,2180,2170],{"class":302},[114,2182,2183],{"class":116,"line":361},[114,2184,227],{"emptyLinePlaceholder":226},[114,2186,2187],{"class":116,"line":730},[114,2188,2189],{"class":120},"# 4. 启动（默认会用环境变量里第一个能识别的 key）\n",[114,2191,2192],{"class":116,"line":736},[114,2193,927],{"class":127},[114,2195,2196],{"class":116,"line":742},[114,2197,227],{"emptyLinePlaceholder":226},[114,2199,2200],{"class":116,"line":747},[114,2201,2202],{"class":120},"# 或指定模型\n",[114,2204,2205,2207,2209],{"class":116,"line":753},[114,2206,164],{"class":127},[114,2208,344],{"class":131},[114,2210,347],{"class":135},[114,2212,2213,2215,2217],{"class":116,"line":762},[114,2214,164],{"class":127},[114,2216,344],{"class":131},[114,2218,2219],{"class":135}," claude-3-5-sonnet-20241022\n",[114,2221,2222],{"class":116,"line":771},[114,2223,227],{"emptyLinePlaceholder":226},[114,2225,2226],{"class":116,"line":779},[114,2227,2228],{"class":120},"# 5. 在 aider 里直接用自然语言下指令\n",[114,2230,2231,2234],{"class":116,"line":787},[114,2232,2233],{"class":298},">",[114,2235,2236],{"class":302}," 把 server\u002Fapi\u002Fuser.ts 里的 getUserById 改成支持批量查询\n",[13,2238,2239],{"id":2239},"价格与运行成本",[42,2241,2242,2254,2268],{},[45,2243,2244,2247,2248,2253],{},[21,2245,2246],{},"Aider 本体","：开源免费（",[86,2249,2252],{"href":2250,"rel":2251},"https:\u002F\u002Fgithub.com\u002FAider-AI\u002Faider",[376],"Apache 2.0 协议","，根据官方 GitHub 仓库 LICENSE）",[45,2255,2256,2259,2260,2262,2263,2267],{},[21,2257,2258],{},"真正的成本是模型 API key","：100% 自带——这是 Aider 与 ",[86,2261,89],{"href":88}," \u002F ",[86,2264,2266],{"href":2265},"\u002Fcoding\u002Fide\u002Fwindsurf.html","Windsurf"," 最大的商业模式差异",[45,2269,2270,2271],{},"单次会话典型消耗：\n",[42,2272,2273,2276,2279],{},[45,2274,2275],{},"用 Sonnet 4 改 1 个中型 PR（10-15 文件）：约 $0.5-2 美元",[45,2277,2278],{},"用 DeepSeek-V3 同等任务：约 $0.05-0.2 美元",[45,2280,2281,2282,2284],{},"用 ",[86,2283,2068],{"href":2067}," reasoning：根据推理深度，可能到 $3-8",[17,2286,2287,2288,988,2292,2295],{},"走 ",[86,2289,2291],{"href":2290},"\u002Fmodels\u002Fdeepseek-v3.html","DeepSeek-V3",[86,2293,1609],{"href":1932,"rel":2294},[376]," 是当前性价比最高的组合，国内付款也直接。",[13,2297,2298],{"id":2298},"国内使用注意事项",[974,2300,2301,2310,2316,2331],{},[45,2302,2303,2306,2307],{},[21,2304,2305],{},"直连 OpenAI \u002F Anthropic 需要代理","——Aider 没有内置代理设置，靠环境变量 ",[111,2308,2309],{},"HTTPS_PROXY",[45,2311,2312,2315],{},[21,2313,2314],{},"DeepSeek \u002F Qwen \u002F GLM 直连无障碍","——国内付款，国内带宽，体验最好",[45,2317,2318,2321,2322,2325,2326,2330],{},[21,2319,2320],{},"支持自定义 base_url","：通过 ",[111,2323,2324],{},"OPENAI_API_BASE"," 环境变量接 ",[86,2327,2329],{"href":2328},"\u002Fcoding\u002Fapi\u002Fone-api.html","国内中转 \u002F 硅基流动 \u002F OneAPI"," 都行",[45,2332,2333,2336],{},[21,2334,2335],{},"Ollama 本地模型零网络依赖","——隐私场景首选，模型质量取决于本机",[13,2338,2339],{"id":2339},"与同类怎么选",[1114,2341,2342,2366],{},[1117,2343,2344],{},[1120,2345,2346,2349,2351,2355,2360],{},[1123,2347,2348],{},"维度",[1123,2350,1833],{},[1123,2352,2353],{},[86,2354,94],{"href":93},[1123,2356,2357],{},[86,2358,2359],{"href":1758},"Codex CLI",[1123,2361,2362],{},[86,2363,2365],{"href":2364},"\u002Fcoding\u002Fcli\u002Fcline.html","Cline",[1130,2367,2368,2383,2399,2415,2431,2445,2459],{},[1120,2369,2370,2373,2376,2379,2381],{},[1135,2371,2372],{},"开源",[1135,2374,2375],{},"✅",[1135,2377,2378],{},"❌",[1135,2380,2378],{},[1135,2382,2375],{},[1120,2384,2385,2388,2391,2394,2397],{},[1135,2386,2387],{},"模型选择",[1135,2389,2390],{},"任意",[1135,2392,2393],{},"仅 Anthropic",[1135,2395,2396],{},"仅 OpenAI",[1135,2398,2390],{},[1120,2400,2401,2404,2407,2410,2413],{},[1135,2402,2403],{},"自带 API key",[1135,2405,2406],{},"✅ 必须",[1135,2408,2409],{},"可选（订阅替代）",[1135,2411,2412],{},"可选",[1135,2414,2406],{},[1120,2416,2417,2420,2423,2426,2429],{},[1135,2418,2419],{},"Git 集成",[1135,2421,2422],{},"★★★★★",[1135,2424,2425],{},"★★★☆☆",[1135,2427,2428],{},"★★☆☆☆",[1135,2430,2425],{},[1120,2432,2433,2436,2439,2441,2443],{},[1135,2434,2435],{},"学习曲线",[1135,2437,2438],{},"★★★★☆ 陡",[1135,2440,2428],{},[1135,2442,2428],{},[1135,2444,2425],{},[1120,2446,2447,2450,2453,2455,2457],{},[1135,2448,2449],{},"Architect 双模型",[1135,2451,2452],{},"✅ 原生",[1135,2454,2378],{},[1135,2456,2378],{},[1135,2458,2378],{},[1120,2460,2461,2464,2467,2470,2473],{},[1135,2462,2463],{},"VS Code 集成",[1135,2465,2466],{},"通过第三方插件",[1135,2468,2469],{},"通过 Cursor 等",[1135,2471,2472],{},"仅 CLI",[1135,2474,2475],{},"★★★★★ 原生",[17,2477,2478,640],{},[21,2479,2480],{},"怎么选",[42,2482,2483,2486,2491,2496],{},[45,2484,2485],{},"不想被锁在某家厂商，要随时切换 DeepSeek \u002F Claude \u002F GPT → Aider",[45,2487,2488,2489],{},"已经买 Claude Pro \u002F Max 订阅 → ",[86,2490,94],{"href":93},[45,2492,2493,2494],{},"已经买 ChatGPT Plus \u002F Pro → ",[86,2495,2359],{"href":1758},[45,2497,2498,2499,2262,2501],{},"习惯 VS Code 不想离开 GUI → ",[86,2500,2365],{"href":2364},[86,2502,89],{"href":88},[13,2504,2505],{"id":2505},"避坑清单",[42,2507,2508,2518,2532,2549,2556,2571,2579],{},[45,2509,2510,2512,2513,1571,2515,2517],{},[21,2511,1566],{},"：Aider 强烈建议你 ",[111,2514,1570],{},[111,2516,1159],{}," 不能用，自动 commit 也无意义。",[45,2519,2520,1582,2525,2527,2528,2531],{},[21,2521,2522,2524],{},[111,2523,950],{}," 之前的文件不会被 Aider 看见",[111,2526,1585],{}," 不同，Aider 默认只看 repo map，需要修改的文件要 ",[111,2529,2530],{},"\u002Fadd path\u002Fto\u002Ffile"," 显式加入对话。这是新手最容易卡住的地方。",[45,2533,2534,2536,2537,2542,2543,2545,2546,2548],{},[21,2535,1622],{},"：根据 GitHub issue ",[86,2538,2541],{"href":2539,"rel":2540},"https:\u002F\u002Fgithub.com\u002FAider-AI\u002Faider\u002Fissues\u002F5058",[376],"#5058","（2026 年 4 月报告），如果让 architect 读取 untrusted 仓库（如 README 被人塞了攻击指令），可能被诱导让 editor 生成后门代码。建议：在 ",[111,2544,1626],{}," 自动接受前确认 architect 输出；不要在不可信项目上开 architect mode + ",[111,2547,1626],{}," 组合。",[45,2550,2551,2555],{},[21,2552,2553,1604],{},[111,2554,1603],{},"：会跳过所有确认，包括\"是否要把这个文件加入 chat\"——容易让 Aider 偷偷读你不想给模型看的文件。生产环境慎用。",[45,2557,2558,2561,2562,2564,2565,2570],{},[21,2559,2560],{},"token 限制错误的判断不可靠","：Ollama 本地模型超 context 不会报错而是静默截断，会让你以为\"模型忘了我加的文件\"。明确配置 ",[111,2563,1549],{},"（见 ",[86,2566,2569],{"href":2567,"rel":2568},"https:\u002F\u002Faider.chat\u002F2025\u002F01\u002F28\u002Fdeepseek-down.html",[376],"DeepSeek alternative providers 一文","）。",[45,2572,2573,2578],{},[21,2574,2575,2577],{},[111,2576,619],{}," 比想象重要","：架构师推理再强，editor 写不出合法 diff 一样白搭。优先选 Claude Sonnet 系列做 editor，不要让推理模型自己做 editor。",[45,2580,2581,2584,2585,90,2588,2590],{},[21,2582,2583],{},"中文 commit message 默认不开","：可以 ",[111,2586,2587],{},"aider --commit-prompt \"...中文....\"",[111,2589,639],{}," 配置中改。",[13,2592,2594],{"id":2593},"适合-不适合","适合 \u002F 不适合",[17,2596,2597],{},"✅ 适合：",[42,2599,2600,2603,2606,2609,2612,2615],{},[45,2601,2602],{},"命令行重度用户、tmux \u002F Neovim 工作流",[45,2604,2605],{},"多模型试用 \u002F 比价场景（一行命令切换）",[45,2607,2608],{},"开源项目维护者（git 工作流原生融入）",[45,2610,2611],{},"想要完全离线（Ollama + 本地模型）",[45,2613,2614],{},"对 token 成本敏感（DeepSeek + Aider 组合极便宜）",[45,2616,2617,2618,2623],{},"跨语言项目（",[86,2619,2622],{"href":2620,"rel":2621},"https:\u002F\u002Faider.chat\u002Fdocs\u002Flanguages.html",[376],"官方支持 100+ 语言","）",[17,2625,2626],{},"❌ 不适合：",[42,2628,2629,2632,2635,2638],{},[45,2630,2631],{},"习惯 GUI \u002F 不愿读命令行文档的人",[45,2633,2634],{},"想\"一键智能\"、不愿配置环境变量",[45,2636,2637],{},"团队协作场景（没有共享 sessions \u002F 协作 UI）",[45,2639,2640],{},"Windows 纯小白（虽然能跑，但 Python 环境 + git CLI 双依赖门槛高）",[13,2642,1728],{"id":1728},[42,2644,2645,2654,2663,2674],{},[45,2646,2647,2648,2262,2650,2262,2652],{},"同类对比：",[86,2649,94],{"href":93},[86,2651,2359],{"href":1758},[86,2653,2365],{"href":2364},[45,2655,2656,2657,2262,2661],{},"推理模型选择：",[86,2658,2660],{"href":2659},"\u002Fmodels\u002Fdeepseek-r1.html","DeepSeek R1",[86,2662,2068],{"href":2067},[45,2664,2665,2666,2262,2670],{},"协议生态：",[86,2667,2669],{"href":2668},"\u002Fwiki\u002Fmcp.html","MCP",[86,2671,2673],{"href":2672},"\u002Fwiki\u002Ffunction-calling.html","Function Calling",[45,2675,2676,2677],{},"工作流：",[86,2678,2680],{"href":2679},"\u002Fwiki\u002Fcontext-engineering.html","Context Engineering",[13,2682,2683],{"id":2683},"来源",[42,2685,2686,2693,2700,2706,2712,2718,2725],{},[45,2687,2688,2689],{},"官网：",[86,2690,2691],{"href":2691,"rel":2692},"https:\u002F\u002Faider.chat",[376],[45,2694,2695,2696],{},"官方文档：",[86,2697,2698],{"href":2698,"rel":2699},"https:\u002F\u002Faider.chat\u002Fdocs\u002F",[376],[45,2701,2702,2703],{},"Chat Modes 文档：",[86,2704,1932],{"href":1932,"rel":2705},[376],[45,2707,2708,2709],{},"LLM 兼容列表：",[86,2710,2003],{"href":2003,"rel":2711},[376],[45,2713,2714,2715],{},"GitHub：",[86,2716,2250],{"href":2250,"rel":2717},[376],[45,2719,2720,2721],{},"发布历史：",[86,2722,2723],{"href":2723,"rel":2724},"https:\u002F\u002Faider.chat\u002FHISTORY.html",[376],[45,2726,2727,2728],{},"PyPI：",[86,2729,2730],{"href":2730,"rel":2731},"https:\u002F\u002Fpypi.org\u002Fproject\u002Faider-chat",[376],[17,2733,2734,2735,2738],{},"本卡片由 AIHO 编辑部根据官方公开资料整理。如有更新请通过 ",[86,2736,2737],{"href":2737},"\u002Fsubmit"," 反馈。",[1761,2740,2741],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":109,"searchDepth":223,"depth":223,"links":2743},[2744,2745,2751,2752,2753,2754,2755,2756,2757,2758],{"id":1850,"depth":124,"text":1851},{"id":1883,"depth":124,"text":1883,"children":2746},[2747,2748,2749,2750],{"id":1886,"depth":223,"text":1887},{"id":1925,"depth":223,"text":1926},{"id":1998,"depth":223,"text":1998},{"id":2088,"depth":223,"text":2089},{"id":2095,"depth":124,"text":2096},{"id":2239,"depth":124,"text":2239},{"id":2298,"depth":124,"text":2298},{"id":2339,"depth":124,"text":2339},{"id":2505,"depth":124,"text":2505},{"id":2593,"depth":124,"text":2594},{"id":1728,"depth":124,"text":1728},{"id":2683,"depth":124,"text":2683},"cli","Aider 真实评测：Git 原生 AI 编程 CLI，每次改动自动 commit、回滚成本极低。AIHO 编辑部基于官方文档与社区资料整理，含 Architect 双模型模式、支持模型清单、安装与配置实操。",false,[2763,2764],"zh","en",{},"\u002Ftools\u002Fcoding\u002Fcli\u002Faider","coding",[2769,2770,2771],"windows","macos","linux",[2773,2778],{"plan":2774,"price":2775,"features":2776,"notes":2777},"开源版（pip 安装）","$0","全部功能 + Architect 双模型 + 任意 LLM（OpenAI \u002F Anthropic \u002F Gemini \u002F DeepSeek \u002F 本地）+ Git 自动 commit","Apache 2.0 \u002F 自带 API key",{"plan":2779,"price":2780,"features":2781,"notes":2782},"模型 API 调用费","按量","实际花销 = 你接的模型计费（DeepSeek 极便宜 \u002F Claude Sonnet 中等 \u002F GPT-4o 较贵）","Aider 本身不收费，只产生模型 token 费","开源免费 \u002F 自带 API key","2026-06-18",{"power":230,"ux":223,"price":236,"cn_support":223,"stability":236},{"title":1833,"description":2760},[2788,2790,2792,2794,2796,2798],{"title":2789,"url":2698},"Aider 官方文档",{"title":2791,"url":1932},"Aider Chat Modes 文档",{"title":2793,"url":2003},"Aider 支持的 LLM 列表",{"title":2795,"url":2250},"Aider GitHub 仓库",{"title":2797,"url":2723},"Aider Release History",{"title":2799,"url":2730},"PyPI: aider-chat","tools\u002Fcoding\u002Fcli\u002Faider","Git 原生 AI 编程 CLI，commit 即动作",[2759,2803,2804,2805,2806],"agent","opensource","git-native","architect-mode","2026-06-24","极客派最爱。每次改动自动 commit、回滚成本极低。学习曲线最陡。","jAgxToyf7qWuYC4qyKzgS3aGzJUFqBney-ELpLyWsuw",{"id":2811,"title":94,"alternatives":2812,"api_compatible":2813,"body":2815,"category":2759,"chinese_friendly":223,"cover":3943,"description":3944,"domestic":2761,"extension":1822,"faq":1845,"free":2761,"github":3900,"languages":3945,"meta":3946,"models":3947,"navigation":226,"notSuitable":3951,"opensource":2761,"path":3955,"pillar":2767,"platforms":3956,"priceTable":3957,"pricing":3977,"published":2784,"relatedPlaybooks":1845,"relatedReviews":1845,"score":3978,"self_host":2761,"seo":3979,"seoTitle":3980,"slug":1828,"sources":3981,"stem":3992,"suitable":3993,"tagline":3999,"tags":4000,"updated":2807,"verdict":4004,"website":3888,"__hash__":4005},"tools\u002Ftools\u002Fcoding\u002Fcli\u002Fclaude-code.md",[1829,1827,1844],[2814],"anthropic",{"type":10,"value":2816,"toc":3926},[2817,2819,2842,2847,2849,2853,2863,2888,2891,2895,2903,2932,2941,2945,2948,3098,3116,3120,3129,3204,3207,3211,3225,3227,3242,3324,3327,3338,3346,3348,3493,3495,3532,3534,3684,3689,3703,3708,3728,3730,3826,3828,3880,3882,3918,3923],[13,2818,1851],{"id":1850},[76,2820,2822,2831],{"className":2821},[79,80,81],[17,2823,2824,2826,2827,2830],{},[21,2825,1859],{}," Anthropic 官方 CLI Agent，终端原生，长任务执行能力是目前体感最稳的一档。装好后在任何项目根目录跑 ",[111,2828,2829],{},"claude","，用自然语言让它读代码、改文件、跑测试、提交 commit——全自动。",[17,2832,2833,2834,2837,2838,2841],{},"最大价值是 ",[21,2835,2836],{},"不绑死 IDE","——VS Code、JetBrains、Vim、Emacs、Neovim 全能用，远程 SSH 也行。代价是 ",[21,2839,2840],{},"国内三大门槛","：账号要海外手机、支付要海外卡、网络要稳定代理。",[1876,2843,2844],{},[17,2845,2846],{},"来源说明：本文基于 code.claude.com 官方文档、Anthropic 定价页面、第三方独立评测（laozhang.ai \u002F explainx.ai \u002F computingforgeeks.com）综合整理。Anthropic 模型版本迭代快，命令和价格请以最新官方文档为准。",[13,2848,1883],{"id":1883},[100,2850,2852],{"id":2851},"终端原生的-agent-体验","终端原生的 Agent 体验",[17,2854,2855,2856,2859,2860,2862],{},"不像 Cursor \u002F Windsurf 那种\"AI IDE\"，Claude Code 是个 ",[21,2857,2858],{},"CLI 工具","——在任何编辑器旁边开个终端，跑 ",[111,2861,2829],{},"，就进入了一个能读你整个 codebase 的对话环境。",[104,2864,2866],{"className":106,"code":2865,"language":108,"meta":109,"style":109},"cd your-project\nclaude                          # 进入交互模式\n> 帮我把这个 Express 项目迁移到 Fastify，写完之后跑测试确认通过\n",[111,2867,2868,2874,2881],{"__ignoreMap":109},[114,2869,2870,2872],{"class":116,"line":117},[114,2871,848],{"class":131},[114,2873,851],{"class":135},[114,2875,2876,2878],{"class":116,"line":124},[114,2877,2829],{"class":127},[114,2879,2880],{"class":120},"                          # 进入交互模式\n",[114,2882,2883,2885],{"class":116,"line":223},[114,2884,2233],{"class":298},[114,2886,2887],{"class":302}," 帮我把这个 Express 项目迁移到 Fastify，写完之后跑测试确认通过\n",[17,2889,2890],{},"它会自动：列出相关文件 → 给出计划 → 等你按回车确认 → 一次改多个文件 → 跑测试 → 报告结果。整个过程你可以在另一个窗口干别的，Claude Code 不抢编辑器焦点。",[100,2892,2894],{"id":2893},"子代理sub-agents-并行任务","子代理（Sub-agents）+ 并行任务",[17,2896,2897,2898,2902],{},"Claude Code 2.x 引入了 ",[86,2899,2901],{"href":2900},"\u002Fwiki\u002Fai-agent.html","子代理"," 机制：主对话可以派发独立的子任务到隔离 context 中跑，结果摘要返回主线。典型场景：",[104,2904,2906],{"className":106,"code":2905,"language":108,"meta":109,"style":109},"\u002Fagents              # 管理子代理\n\u002Fbatch              # 把大改动拆成独立单元，每个跑在自己的 git worktree\n\u002Ftasks              # 列出后台运行的子代理\n",[111,2907,2908,2916,2924],{"__ignoreMap":109},[114,2909,2910,2913],{"class":116,"line":117},[114,2911,2912],{"class":127},"\u002Fagents",[114,2914,2915],{"class":120},"              # 管理子代理\n",[114,2917,2918,2921],{"class":116,"line":124},[114,2919,2920],{"class":127},"\u002Fbatch",[114,2922,2923],{"class":120},"              # 把大改动拆成独立单元，每个跑在自己的 git worktree\n",[114,2925,2926,2929],{"class":116,"line":223},[114,2927,2928],{"class":127},"\u002Ftasks",[114,2930,2931],{"class":120},"              # 列出后台运行的子代理\n",[17,2933,2934,2935,2940],{},"据 ",[86,2936,2939],{"href":2937,"rel":2938},"https:\u002F\u002Fcomputingforgeeks.com\u002Fclaude-code-cheat-sheet",[376],"computingforgeeks.com 2026 cheat sheet"," 整理，子代理让\"一边改前端，一边改后端\"这种并行操作不会污染主对话上下文。",[100,2942,2944],{"id":2943},"slash-命令生产力关键","Slash 命令（生产力关键）",[17,2946,2947],{},"Claude Code 内置了一套 slash 命令，是日常使用的核心：",[1114,2949,2950,2958],{},[1117,2951,2952],{},[1120,2953,2954,2956],{},[1123,2955,1125],{},[1123,2957,1128],{},[1130,2959,2960,2974,2984,2996,3006,3016,3026,3036,3045,3055,3065,3075,3085],{},[1120,2961,2962,2967],{},[1135,2963,2964],{},[111,2965,2966],{},"\u002Finit",[1135,2968,2969,2970,2973],{},"第一次进入仓库时跑，生成 ",[111,2971,2972],{},"CLAUDE.md","（项目记忆）",[1120,2975,2976,2981],{},[1135,2977,2978],{},[111,2979,2980],{},"\u002Fmemory",[1135,2982,2983],{},"编辑长期记忆",[1120,2985,2986,2990],{},[1135,2987,2988],{},[111,2989,1199],{},[1135,2991,2992,2993,2623],{},"清空当前对话，重新开始（",[21,2994,2995],{},"最被低估的命令",[1120,2997,2998,3003],{},[1135,2999,3000],{},[111,3001,3002],{},"\u002Fcompact",[1135,3004,3005],{},"长对话压缩，挽救快爆炸的 context window",[1120,3007,3008,3013],{},[1135,3009,3010],{},[111,3011,3012],{},"\u002Fcontext",[1135,3014,3015],{},"显示当前 context 用量",[1120,3017,3018,3023],{},[1135,3019,3020],{},[111,3021,3022],{},"\u002Fplan",[1135,3024,3025],{},"切到 plan 模式（只规划不执行）",[1120,3027,3028,3033],{},[1135,3029,3030],{},[111,3031,3032],{},"\u002Fmodel",[1135,3034,3035],{},"切换模型（Opus \u002F Sonnet \u002F Haiku）",[1120,3037,3038,3042],{},[1135,3039,3040],{},[111,3041,1169],{},[1135,3043,3044],{},"看本轮所有改动",[1120,3046,3047,3052],{},[1135,3048,3049],{},[111,3050,3051],{},"\u002Fcode-review",[1135,3053,3054],{},"对 diff 跑代码审查",[1120,3056,3057,3062],{},[1135,3058,3059],{},[111,3060,3061],{},"\u002Frewind",[1135,3063,3064],{},"回滚到任意 checkpoint（代码 + 对话）",[1120,3066,3067,3072],{},[1135,3068,3069],{},[111,3070,3071],{},"\u002Fmcp",[1135,3073,3074],{},"管理 MCP 服务器",[1120,3076,3077,3082],{},[1135,3078,3079],{},[111,3080,3081],{},"\u002Fdoctor",[1135,3083,3084],{},"排查环境问题",[1120,3086,3087,3095],{},[1135,3088,3089,1683,3092],{},[111,3090,3091],{},"\u002Fresume",[111,3093,3094],{},"\u002Fbranch",[1135,3096,3097],{},"回到 \u002F fork 历史对话",[17,3099,3100,3105,3106,3108,3109,3111,3112,3115],{},[86,3101,3104],{"href":3102,"rel":3103},"https:\u002F\u002Flearn-prompting.fr\u002Fblog\u002Fclaude-code-slash-commands-reference",[376],"learn-prompting.fr 2026-04 总结","：成熟团队最常用的三个是 ",[111,3107,3002],{},"（每 20-30 分钟一次防止 context drift）、",[111,3110,1199],{},"（新任务开新会话）、自定义命令（写在 ",[111,3113,3114],{},".claude\u002Fcommands\u002F"," 提交进 git）。",[100,3117,3119],{"id":3118},"mcp-集成一等公民","MCP 集成（一等公民）",[17,3121,3122,3124,3125,3128],{},[86,3123,2669],{"href":2668}," 是 Anthropic 自家协议，Claude Code 是 MCP 支持最完整的客户端。配置一次 ",[111,3126,3127],{},".mcp.json","，Claude Code 就能在对话里调任意 MCP server 暴露的 tool：",[104,3130,3134],{"className":3131,"code":3132,"language":3133,"meta":109,"style":109},"language-json shiki shiki-themes github-light github-dark","{\n  \"mcpServers\": {\n    \"postgres\": {\n      \"command\": \"npx\",\n      \"args\": [\"@modelcontextprotocol\u002Fserver-postgres\", \"postgresql:\u002F\u002F...\"]\n    }\n  }\n}\n","json",[111,3135,3136,3141,3149,3156,3169,3189,3194,3199],{"__ignoreMap":109},[114,3137,3138],{"class":116,"line":117},[114,3139,3140],{"class":302},"{\n",[114,3142,3143,3146],{"class":116,"line":124},[114,3144,3145],{"class":131},"  \"mcpServers\"",[114,3147,3148],{"class":302},": {\n",[114,3150,3151,3154],{"class":116,"line":223},[114,3152,3153],{"class":131},"    \"postgres\"",[114,3155,3148],{"class":302},[114,3157,3158,3161,3163,3166],{"class":116,"line":230},[114,3159,3160],{"class":131},"      \"command\"",[114,3162,661],{"class":302},[114,3164,3165],{"class":135},"\"npx\"",[114,3167,3168],{"class":302},",\n",[114,3170,3171,3174,3177,3180,3183,3186],{"class":116,"line":236},[114,3172,3173],{"class":131},"      \"args\"",[114,3175,3176],{"class":302},": [",[114,3178,3179],{"class":135},"\"@modelcontextprotocol\u002Fserver-postgres\"",[114,3181,3182],{"class":302},", ",[114,3184,3185],{"class":135},"\"postgresql:\u002F\u002F...\"",[114,3187,3188],{"class":302},"]\n",[114,3190,3191],{"class":116,"line":242},[114,3192,3193],{"class":302},"    }\n",[114,3195,3196],{"class":116,"line":333},[114,3197,3198],{"class":302},"  }\n",[114,3200,3201],{"class":116,"line":339},[114,3202,3203],{"class":302},"}\n",[17,3205,3206],{},"之后你就能直接说\"查一下 users 表里最近 7 天注册的人数\"——Claude Code 自动通过 MCP 跑 SQL，结果返回对话里继续讨论。",[100,3208,3210],{"id":3209},"后台-远程模式","后台 \u002F 远程模式",[17,3212,3213,3216,3217,3220,3221,3224],{},[111,3214,3215],{},"\u002Fbackground"," 让当前会话脱离终端，作为后台 agent 继续跑；",[111,3218,3219],{},"\u002Fteleport"," 把网页端会话拉到本地终端继续；",[111,3222,3223],{},"\u002Fremote-control"," 从手机或另一台机器接管这台机器的 Claude Code 会话。这套体系是面向\"agent 长时间跑\"设计的，区别于 Cursor 的\"实时交互\"。",[13,3226,2239],{"id":2239},[17,3228,3229,3230,3235,3236,3241],{},"根据 ",[86,3231,3234],{"href":3232,"rel":3233},"https:\u002F\u002Fwww.explainx.ai\u002Fblog\u002Fclaude-code-pricing-guide-2026",[376],"explainx.ai 2026-06 评测"," 和 ",[86,3237,3240],{"href":3238,"rel":3239},"https:\u002F\u002Fclaude.com\u002Fpricing",[376],"Anthropic 官方定价"," 整理：",[1114,3243,3244,3257],{},[1117,3245,3246],{},[1120,3247,3248,3251,3254],{},[1123,3249,3250],{},"路径",[1123,3252,3253],{},"价格",[1123,3255,3256],{},"适用场景",[1130,3258,3259,3272,3285,3298,3311],{},[1120,3260,3261,3266,3269],{},[1135,3262,3263],{},[21,3264,3265],{},"BYOK（自带 API key）",[1135,3267,3268],{},"按 token 计费",[1135,3270,3271],{},"全自由，但单月烧到 $500+ 也常见",[1120,3273,3274,3279,3282],{},[1135,3275,3276],{},[21,3277,3278],{},"Pro",[1135,3280,3281],{},"$20\u002F月（年付 ~$17）",[1135,3283,3284],{},"个人开发者，每天 1-4 小时",[1120,3286,3287,3292,3295],{},[1135,3288,3289],{},[21,3290,3291],{},"Max 5x",[1135,3293,3294],{},"$100\u002F月",[1135,3296,3297],{},"重度用户 + Opus 模型访问",[1120,3299,3300,3305,3308],{},[1135,3301,3302],{},[21,3303,3304],{},"Max 20x",[1135,3306,3307],{},"$200\u002F月",[1135,3309,3310],{},"8h+ agentic 工作流 \u002F 团队共享",[1120,3312,3313,3318,3321],{},[1135,3314,3315],{},[21,3316,3317],{},"Team Premium",[1135,3319,3320],{},"$100\u002Fseat 年付 \u002F $125 月付",[1135,3322,3323],{},"团队，含管理",[17,3325,3326],{},"API token 价格（2026 Q2 公开数据）：",[42,3328,3329,3332,3335],{},[45,3330,3331],{},"Sonnet 4.x：input $3 \u002F output $15 per 1M token",[45,3333,3334],{},"Opus 4.x：input $15 \u002F output $75 per 1M token",[45,3336,3337],{},"Haiku 4.x：input $1 \u002F output $5 per 1M token",[17,3339,3340,3345],{},[86,3341,3344],{"href":3342,"rel":3343},"https:\u002F\u002Fwww.ksred.com\u002Fclaude-code-pricing-guide-which-plan-actually-saves-you-money",[376],"ksred 博客真实使用日志","：作者 8 个月用 ~100 亿 token，API 价折合 $15,000+，订阅实际只花 $800——订阅模式对重度用户极度划算，但前提是能搞定支付。",[13,3347,2096],{"id":2095},[104,3349,3351],{"className":106,"code":3350,"language":108,"meta":109,"style":109},"# macOS \u002F Linux \u002F Windows (WSL)\ncurl -fsSL https:\u002F\u002Fclaude.ai\u002Finstall.sh | bash\n\n# macOS 用 Homebrew\nbrew install --cask claude-code\n\n# Windows PowerShell\nirm https:\u002F\u002Fclaude.ai\u002Finstall.ps1 | iex\n\n# 验证 + 登录\nclaude --version\nclaude auth login          # 走浏览器 OAuth，绑定 Pro \u002F Max 订阅\n# 或用 API key\nexport ANTHROPIC_API_KEY=sk-ant-...\n\n# 进项目，启动\ncd your-project\nclaude \u002Finit               # 生成 CLAUDE.md\nclaude                     # 进入交互模式\n",[111,3352,3353,3358,3375,3379,3384,3397,3401,3405,3418,3422,3427,3433,3446,3451,3461,3465,3470,3476,3486],{"__ignoreMap":109},[114,3354,3355],{"class":116,"line":117},[114,3356,3357],{"class":120},"# macOS \u002F Linux \u002F Windows (WSL)\n",[114,3359,3360,3363,3366,3369,3372],{"class":116,"line":124},[114,3361,3362],{"class":127},"curl",[114,3364,3365],{"class":131}," -fsSL",[114,3367,3368],{"class":135}," https:\u002F\u002Fclaude.ai\u002Finstall.sh",[114,3370,3371],{"class":298}," |",[114,3373,3374],{"class":127}," bash\n",[114,3376,3377],{"class":116,"line":223},[114,3378,227],{"emptyLinePlaceholder":226},[114,3380,3381],{"class":116,"line":230},[114,3382,3383],{"class":120},"# macOS 用 Homebrew\n",[114,3385,3386,3389,3391,3394],{"class":116,"line":236},[114,3387,3388],{"class":127},"brew",[114,3390,139],{"class":135},[114,3392,3393],{"class":131}," --cask",[114,3395,3396],{"class":135}," claude-code\n",[114,3398,3399],{"class":116,"line":242},[114,3400,227],{"emptyLinePlaceholder":226},[114,3402,3403],{"class":116,"line":333},[114,3404,318],{"class":120},[114,3406,3407,3410,3413,3415],{"class":116,"line":339},[114,3408,3409],{"class":127},"irm",[114,3411,3412],{"class":135}," https:\u002F\u002Fclaude.ai\u002Finstall.ps1",[114,3414,3371],{"class":298},[114,3416,3417],{"class":127}," iex\n",[114,3419,3420],{"class":116,"line":350},[114,3421,227],{"emptyLinePlaceholder":226},[114,3423,3424],{"class":116,"line":355},[114,3425,3426],{"class":120},"# 验证 + 登录\n",[114,3428,3429,3431],{"class":116,"line":361},[114,3430,2829],{"class":127},[114,3432,167],{"class":131},[114,3434,3435,3437,3440,3443],{"class":116,"line":730},[114,3436,2829],{"class":127},[114,3438,3439],{"class":135}," auth",[114,3441,3442],{"class":135}," login",[114,3444,3445],{"class":120},"          # 走浏览器 OAuth，绑定 Pro \u002F Max 订阅\n",[114,3447,3448],{"class":116,"line":736},[114,3449,3450],{"class":120},"# 或用 API key\n",[114,3452,3453,3455,3457,3459],{"class":116,"line":742},[114,3454,299],{"class":298},[114,3456,397],{"class":302},[114,3458,306],{"class":298},[114,3460,2159],{"class":302},[114,3462,3463],{"class":116,"line":747},[114,3464,227],{"emptyLinePlaceholder":226},[114,3466,3467],{"class":116,"line":753},[114,3468,3469],{"class":120},"# 进项目，启动\n",[114,3471,3472,3474],{"class":116,"line":762},[114,3473,848],{"class":131},[114,3475,851],{"class":135},[114,3477,3478,3480,3483],{"class":116,"line":771},[114,3479,2829],{"class":127},[114,3481,3482],{"class":135}," \u002Finit",[114,3484,3485],{"class":120},"               # 生成 CLAUDE.md\n",[114,3487,3488,3490],{"class":116,"line":779},[114,3489,2829],{"class":127},[114,3491,3492],{"class":120},"                     # 进入交互模式\n",[13,3494,2298],{"id":2298},[974,3496,3497,3503,3509,3515],{},[45,3498,3499,3502],{},[21,3500,3501],{},"账号","：注册 claude.ai 需要海外手机号（Google Voice \u002F Twilio 可，国内号被封死）",[45,3504,3505,3508],{},[21,3506,3507],{},"支付","：Pro \u002F Max 订阅只收海外信用卡（MasterCard \u002F Visa）+ 海外账单地址。第三方平台（如老张 \u002F DMXAPI）可用支付宝走 API 代理，但是 BYOK 模式",[45,3510,3511,3514],{},[21,3512,3513],{},"网络","：终端 OAuth 流程对代理稳定性要求高，掉线会反复弹浏览器",[45,3516,3517,1522,3520,90,3522,3524,3525,2262,3527,3531],{},[21,3518,3519],{},"替代路径",[86,3521,1833],{"href":1747},[86,3523,2365],{"href":2364}," 接 ",[86,3526,2291],{"href":2290},[86,3528,3530],{"href":3529},"\u002Fmodels\u002Fglm-5.2.html","GLM-5.2"," 是国内最经济的\"Claude Code 平替\"思路",[13,3533,2339],{"id":2339},[1114,3535,3536,3556],{},[1117,3537,3538],{},[1120,3539,3540,3542,3544,3548,3552],{},[1123,3541,2348],{},[1123,3543,94],{},[1123,3545,3546],{},[86,3547,89],{"href":88},[1123,3549,3550],{},[86,3551,2359],{"href":1758},[1123,3553,3554],{},[86,3555,1833],{"href":1747},[1130,3557,3558,3573,3587,3605,3625,3639,3652,3669],{},[1120,3559,3560,3563,3566,3569,3571],{},[1135,3561,3562],{},"形态",[1135,3564,3565],{},"CLI（IDE 无关）",[1135,3567,3568],{},"AI-first IDE",[1135,3570,1834],{},[1135,3572,1834],{},[1120,3574,3575,3578,3580,3583,3585],{},[1135,3576,3577],{},"长任务能力",[1135,3579,2422],{},[1135,3581,3582],{},"★★★★☆",[1135,3584,3582],{},[1135,3586,2425],{},[1120,3588,3589,3592,3599,3601,3603],{},[1135,3590,3591],{},"上下文管理",[1135,3593,3594,3595,1683,3597],{},"★★★★★ ",[111,3596,3002],{},[111,3598,1199],{},[1135,3600,3582],{},[1135,3602,3582],{},[1135,3604,2425],{},[1120,3606,3607,3610,3617,3620,3623],{},[1135,3608,3609],{},"子代理 \u002F 并行",[1135,3611,3612,3613,1683,3615,2623],{},"✅（",[111,3614,2912],{},[111,3616,2920],{},[1135,3618,3619],{},"部分（Bug bot）",[1135,3621,3622],{},"⚠️ 有限",[1135,3624,2378],{},[1120,3626,3627,3630,3633,3635,3637],{},[1135,3628,3629],{},"MCP 支持",[1135,3631,3632],{},"★★★★★ 一等公民",[1135,3634,3582],{},[1135,3636,2425],{},[1135,3638,2378],{},[1120,3640,3641,3643,3645,3647,3649],{},[1135,3642,2419],{},[1135,3644,3582],{},[1135,3646,2425],{},[1135,3648,2425],{},[1135,3650,3651],{},"★★★★★ 每改即 commit",[1120,3653,3654,3657,3660,3663,3666],{},[1135,3655,3656],{},"国内门槛",[1135,3658,3659],{},"高（账号+支付+网络）",[1135,3661,3662],{},"高（账号+支付）",[1135,3664,3665],{},"高",[1135,3667,3668],{},"低（BYOK 国产模型）",[1120,3670,3671,3673,3676,3679,3681],{},[1135,3672,3253],{},[1135,3674,3675],{},"$20-$200\u002F月",[1135,3677,3678],{},"$20\u002F月",[1135,3680,3675],{},[1135,3682,3683],{},"仅 API 成本",[17,3685,3686,640],{},[21,3687,3688],{},"选 Claude Code 如果你",[42,3690,3691,3694,3697,3700],{},[45,3692,3693],{},"重视长任务自主性 + 上下文管理",[45,3695,3696],{},"JetBrains \u002F Vim 用户，不想换 IDE",[45,3698,3699],{},"团队需要 SSH 远程 \u002F 后台 agent 模式",[45,3701,3702],{},"已经在用 Claude Pro\u002FMax，加 Code 是边际成本",[17,3704,3705,640],{},[21,3706,3707],{},"别选 Claude Code 如果你",[42,3709,3710,3716,3721],{},[45,3711,3712,3713,3715],{},"国内、个人、预算紧（去 ",[86,3714,1833],{"href":1747}," + DeepSeek）",[45,3717,3718,3719,2623],{},"想要纯 IDE 内 inline 体验（",[86,3720,89],{"href":88},[45,3722,3723,3724,2623],{},"主要写补全而非 agent 任务（",[86,3725,3727],{"href":3726},"\u002Fcoding\u002Fcopilot\u002Fgithub-copilot.html","GitHub Copilot",[13,3729,2505],{"id":2505},[42,3731,3732,3745,3760,3774,3782,3800,3814,3820],{},[45,3733,3734,3740,3741,3744],{},[21,3735,3736,3739],{},[111,3737,3738],{},"ANTHROPIC_API_KEY"," 优先级最高","：你以为在用 Pro 订阅，但 env 里有 key 时实际走 API 计费——卡崩之前先 ",[111,3742,3743],{},"env | grep ANTHROPIC"," 检查",[45,3746,3747,3753,3754,3756,3757,3759],{},[21,3748,3749,3750,3752],{},"长会话不 ",[111,3751,3002],{}," 会越来越笨","：context 接近上限时，模型会开始忘记前面约定。社区共识：每 20-30 分钟 ",[111,3755,3002],{}," 一次或 ",[111,3758,1199],{}," 开新会话",[45,3761,3762,3767,3768,3773],{},[21,3763,3764,3766],{},[111,3765,3032],{}," 切换是个坑","：跨模型切会丢部分 context ",[86,3769,3772],{"href":3770,"rel":3771},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002FClaudeAI\u002F",[376],"据 r\u002FClaudeAI 反馈","；建议起新会话指定模型",[45,3775,3776,3781],{},[21,3777,3778,3780],{},[111,3779,2966],{}," 生成的 CLAUDE.md 要 review","：自动生成的会有冗余\u002F错误，第一次进项目花 5 分钟整理",[45,3783,3784,3789,3790,1683,3793,1683,3796,3799],{},[21,3785,3786,3788],{},[111,3787,3114],{}," 自定义命令是放大器","：把团队最常用的工作流写成 ",[111,3791,3792],{},"\u002Fdeploy",[111,3794,3795],{},"\u002Fmigrate",[111,3797,3798],{},"\u002Freview-pr","，提交进 git",[45,3801,3802,3805,3806,3809,3810,3813],{},[21,3803,3804],{},"后台 agent + 重写大量文件 = 危险组合","：长任务跑通常加 ",[111,3807,3808],{},"--permission-mode plan"," 或开 ",[111,3811,3812],{},"acceptEdits"," 但配合 git worktree",[45,3815,3816,3819],{},[21,3817,3818],{},"Windows 原生支持有限","：官方推荐 WSL，PowerShell 安装路径有时跑不通",[45,3821,3822,3825],{},[21,3823,3824],{},"API token 烧钱速度","：BYOK 模式下，复杂 refactor 单次任务可能消耗几百万 token",[13,3827,1728],{"id":1728},[42,3829,3830,3842,3854,3869],{},[45,3831,2647,3832,2262,3834,2262,3836,2262,3838,2262,3840],{},[86,3833,89],{"href":88},[86,3835,2266],{"href":2265},[86,3837,2359],{"href":1758},[86,3839,1833],{"href":1747},[86,3841,2365],{"href":2364},[45,3843,3844,3845,2262,3848,2262,3850,2262,3852],{},"概念：",[86,3846,3847],{"href":2900},"AI Agent",[86,3849,2673],{"href":2672},[86,3851,2669],{"href":2668},[86,3853,2680],{"href":2679},[45,3855,3856,3857,2262,3861,2262,3865],{},"模型：",[86,3858,3860],{"href":3859},"\u002Fmodels\u002Fclaude-opus-4.html","Claude Opus 4",[86,3862,3864],{"href":3863},"\u002Fmodels\u002Fclaude-sonnet-4.html","Claude Sonnet 4",[86,3866,3868],{"href":3867},"\u002Fmodels\u002Fclaude-haiku-4.html","Claude Haiku 4",[45,3870,3871,3872,2262,3876],{},"进阶：",[86,3873,3875],{"href":3874},"\u002Fwiki\u002Fvibe-coding.html","Vibe Coding",[86,3877,3879],{"href":3878},"\u002Fwiki\u002Fprompt-engineering.html","Prompt Engineering",[13,3881,2683],{"id":2683},[42,3883,3884,3890,3896,3902,3909,3915],{},[45,3885,2688,3886],{},[86,3887,3888],{"href":3888,"rel":3889},"https:\u002F\u002Fclaude.com\u002Fclaude-code",[376],[45,3891,2695,3892],{},[86,3893,3894],{"href":3894,"rel":3895},"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Foverview",[376],[45,3897,2714,3898],{},[86,3899,3900],{"href":3900,"rel":3901},"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code",[376],[45,3903,3904,3905],{},"CLI Reference：",[86,3906,3907],{"href":3907,"rel":3908},"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fcli-reference",[376],[45,3910,3911,3912],{},"官方定价：",[86,3913,3238],{"href":3238,"rel":3914},[376],[45,3916,3917],{},"第三方评测：laozhang.ai \u002F explainx.ai \u002F computingforgeeks.com \u002F ksred.com \u002F learn-prompting.fr",[17,3919,3920,3921,2738],{},"本卡片由 AIHO 编辑部根据官方公开资料与第三方评测整理。所有事实点均标注来源；如发现价格 \u002F 命令 \u002F 功能与最新官方信息不一致，请通过 ",[86,3922,2737],{"href":2737},[1761,3924,3925],{},"html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":109,"searchDepth":223,"depth":223,"links":3927},[3928,3929,3936,3937,3938,3939,3940,3941,3942],{"id":1850,"depth":124,"text":1851},{"id":1883,"depth":124,"text":1883,"children":3930},[3931,3932,3933,3934,3935],{"id":2851,"depth":223,"text":2852},{"id":2893,"depth":223,"text":2894},{"id":2943,"depth":223,"text":2944},{"id":3118,"depth":223,"text":3119},{"id":3209,"depth":223,"text":3210},{"id":2239,"depth":124,"text":2239},{"id":2095,"depth":124,"text":2096},{"id":2298,"depth":124,"text":2298},{"id":2339,"depth":124,"text":2339},{"id":2505,"depth":124,"text":2505},{"id":1728,"depth":124,"text":1728},{"id":2683,"depth":124,"text":2683},"\u002Fimg\u002Ftools\u002Fclaude-code.webp","Claude Code 2026 真实评测：Anthropic 官方 CLI 编程 Agent，适合终端、SSH、JetBrains\u002FVim 用户和长任务代码改造。本文整理安装使用、Sub-agents、Slash 命令、MCP、价格套餐、国内使用门槛，以及和 Cursor、Aider、Codex CLI 的区别。",[2764],{},[3948,3949,3950],"claude-opus-4","claude-sonnet-4-5","claude-haiku-4",[3952,3953,3954],"国内裸跑（账号 \u002F 支付 \u002F 网络三关）","预算 ¥100\u002F月以内的个人开发者","只想做基础代码补全（用 GitHub Copilot 更经济）","\u002Ftools\u002Fcoding\u002Fcli\u002Fclaude-code",[2770,2771,2769],[3958,3964,3969,3973],{"plan":3959,"price":3960,"limit":3961,"cn_pay":3962,"note":3963},"Pay-as-go","按 API token 计费","Sonnet $3\u002F$15 per Mtok，Opus $15\u002F$75","✅ 第三方中转支持支付宝","BYOK 模式",{"plan":3965,"price":3678,"limit":3966,"cn_pay":3967,"note":3968},"Claude Pro","约 1-4 小时\u002F天活跃编码","⚠️ 需海外卡","网页 + Code 共享额度",{"plan":3970,"price":3294,"limit":3971,"cn_pay":3967,"note":3972},"Claude Max 5x","Pro 的 5 倍 + Opus 接入","重度用户",{"plan":3974,"price":3307,"limit":3975,"cn_pay":3967,"note":3976},"Claude Max 20x","Pro 的 20 倍 + 优先队列","8h+\u002F天 agentic 工作流","API 按 token 计费 \u002F Pro $20 \u002F Max $100-$200 \u002F Team Premium $100-$125 seat",{"power":236,"ux":230,"price":223,"cn_support":124,"stability":230},{"title":94,"description":3944},"Claude Code 评测 2026：Anthropic 官方 CLI Agent，长任务编程怎么用",[3982,3984,3985,3987,3990],{"title":3983,"url":3894},"Claude Code 官方文档",{"title":3240,"url":3238},{"title":3986,"url":3907},"Claude Code CLI Reference",{"title":3988,"url":3989},"Claude Code Pricing Guide 2026","https:\u002F\u002Fblog.laozhang.ai\u002Fen\u002Fposts\u002Fclaude-code-pricing-guide",{"title":3991,"url":2937},"Claude Code Cheat Sheet 2026","tools\u002Fcoding\u002Fcli\u002Fclaude-code",[3994,3995,3996,3997,3998],"JetBrains \u002F Vim \u002F Emacs 用户（不想换编辑器）","需要长任务自主规划（>30min 单次任务）","服务器开发、运维脚本、CI\u002FCD 场景","需要在 SSH 远程主机上跑 AI 编程","重视稳定性 + 长上下文连贯性","Anthropic 官方终端 AI Coding Agent，长任务能力业界第一梯队",[2759,2803,4001,2814,4002,4003],"terminal","long-task","mcp","Cursor 的强力补充。终端原生、IDE 无关、长任务跑得比 Cursor 稳。但 API 计费贵且国内更难用。","eA9AYxlx0V7kbDpfMQskCWtna37ukbT6ZCvFX4O8Zhs",{"id":4007,"title":2359,"alternatives":4008,"api_compatible":4009,"body":4011,"category":2759,"chinese_friendly":223,"cover":4663,"description":4664,"domestic":2761,"extension":1822,"faq":4665,"free":2761,"github":4037,"languages":4681,"meta":4682,"models":4683,"navigation":226,"notSuitable":4687,"opensource":226,"path":4691,"pillar":2767,"platforms":4692,"priceTable":4693,"pricing":4709,"published":2784,"relatedPlaybooks":4710,"relatedReviews":1845,"score":4713,"self_host":2761,"seo":4714,"seoTitle":1845,"slug":1829,"sources":4715,"stem":4724,"suitable":4725,"tagline":4730,"tags":4731,"updated":2807,"verdict":4735,"website":4615,"__hash__":4736},"tools\u002Ftools\u002Fcoding\u002Fcli\u002Fcodex.md",[1828,1827,1844],[4010],"openai",{"type":10,"value":4012,"toc":4647},[4013,4015,4030,4033,4045,4048,4068,4071,4101,4103,4161,4166,4170,4175,4179,4201,4204,4208,4231,4235,4255,4258,4260,4360,4370,4373,4509,4514,4516,4570,4572,4579,4581,4607,4609,4636,4644],[13,4014,1851],{"id":1850},[76,4016,4018,4027],{"className":4017},[79,80,81],[17,4019,4020,4022,4023,4026],{},[21,4021,1859],{}," Codex CLI 是 OpenAI 官方做的终端 Coding Agent，对标 Claude Code。",[21,4024,4025],{},"Rust 实现 + Windows 原生沙箱 + 子代理 + MCP + Hooks","，2026 默认模型 gpt-5-codex \u002F gpt-5-codex-mini，ChatGPT Plus\u002FPro\u002FTeam\u002FEdu 已含使用额度。",[17,4028,4029],{},"形态和 Claude Code 几乎一样，差异主要在模型选择。喜欢 GPT 的人选它，喜欢 Claude 的留 Claude Code。",[13,4031,4032],{"id":4032},"它到底是个什么",[17,4034,4035,4040,4041,4044],{},[86,4036,4039],{"href":4037,"rel":4038},"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex",[376],"GitHub: openai\u002Fcodex","，",[21,4042,4043],{},"Apache-2.0 开源","，Rust 写的二进制，428+ 贡献者。在终端里跑一个能读 \u002F 改 \u002F 执行代码的 Agent，类似 Claude Code 但绑定 OpenAI 模型。",[17,4046,4047],{},"2026 的三个主线：",[974,4049,4050,4056,4062],{},[45,4051,4052,4055],{},[21,4053,4054],{},"速度 & 实时","：gpt-5.3-codex-spark 推理速度 1000+ token\u002Fs；WebSocket 远程控制延迟优化。",[45,4057,4058,4061],{},[21,4059,4060],{},"Agent 自主性","：Subagents GA、Smart Approvals、PostToolUse hooks、worktree 自动化。",[45,4063,4064,4067],{},[21,4065,4066],{},"企业就绪","：自定义 CA 证书、userpromptsubmit hooks、托管配置、插件策略强制。",[17,4069,4070],{},"最有用的 4 个能力：",[42,4072,4073,4079,4085,4091],{},[45,4074,4075,4078],{},[21,4076,4077],{},"沙箱执行","：默认在受限沙箱跑命令（macOS Sandbox \u002F Linux Landlock \u002F Windows AppContainer），不会污染主机。",[45,4080,4081,4084],{},[21,4082,4083],{},"MCP 工具调用","：连 GitHub \u002F 数据库 \u002F Slack \u002F 自建 server，支持并行 tool call。",[45,4086,4087,4090],{},[21,4088,4089],{},"Subagents","：把大任务拆给多个并行 sub-agent，token 用得多但效率高。",[45,4092,4093,4096,4097,4100],{},[21,4094,4095],{},"Image inputs","：终端里 ",[111,4098,4099],{},"codex -i screenshot.png \"解释这个错误\""," 直接读图。",[13,4102,3253],{"id":3253},[1114,4104,4105,4117],{},[1117,4106,4107],{},[1120,4108,4109,4112,4114],{},[1123,4110,4111],{},"档位",[1123,4113,3253],{},[1123,4115,4116],{},"说明",[1130,4118,4119,4129,4139,4150],{},[1120,4120,4121,4124,4126],{},[1135,4122,4123],{},"ChatGPT Plus",[1135,4125,3678],{},[1135,4127,4128],{},"含 Codex CLI 用量（2026-03 起 mini 模型额度 +4×）",[1120,4130,4131,4134,4136],{},[1135,4132,4133],{},"ChatGPT Pro",[1135,4135,3307],{},[1135,4137,4138],{},"更高额度 + 优先处理 + Spark 研究预览",[1120,4140,4141,4144,4147],{},[1135,4142,4143],{},"Business \u002F Edu \u002F Team",[1135,4145,4146],{},"$25-30\u002F用户\u002F月起",[1135,4148,4149],{},"企业管理 + SSO + Codex 含在内",[1120,4151,4152,4155,4158],{},[1135,4153,4154],{},"纯 API",[1135,4156,4157],{},"按 token",[1135,4159,4160],{},"gpt-5.5 ≈ $1.25 \u002F $10 per 1M token",[1876,4162,4163],{},[17,4164,4165],{},"已经付 ChatGPT Plus 的人，等于白嫖一个 Codex CLI 用量，几乎不必另开 API 账号。",[13,4167,4169],{"id":4168},"真实任务实测基于官方文档归纳","真实任务实测（基于官方文档归纳）",[1876,4171,4172],{},[17,4173,4174],{},"来源说明：以下基于 Codex CLI 官方 features 文档与公开评测整合。",[100,4176,4178],{"id":4177},"任务-1在-50k-行-rust-项目里加新-feature","任务 1：在 50k 行 Rust 项目里加新 feature",[104,4180,4182],{"className":106,"code":4181,"language":108,"meta":109,"style":109},"codex -m gpt-5-codex\n> 在 src\u002Fauth 模块下加 OAuth2 callback handler，参考已有的 token refresh 实现\n",[111,4183,4184,4194],{"__ignoreMap":109},[114,4185,4186,4189,4191],{"class":116,"line":117},[114,4187,4188],{"class":127},"codex",[114,4190,132],{"class":131},[114,4192,4193],{"class":135}," gpt-5-codex\n",[114,4195,4196,4198],{"class":116,"line":124},[114,4197,2233],{"class":298},[114,4199,4200],{"class":302}," 在 src\u002Fauth 模块下加 OAuth2 callback handler，参考已有的 token refresh 实现\n",[17,4202,4203],{},"Agent 会 plan → 读相关文件 → 跑 cargo check → 跑测试 → 提 diff。子代理可以同时跑 lint 和 test 两条线。",[100,4205,4207],{"id":4206},"任务-2ci-失败自动-debug","任务 2：CI 失败自动 debug",[104,4209,4211],{"className":106,"code":4210,"language":108,"meta":109,"style":109},"codex --features enable post_tool_use_hook\n# 然后跑 cargo test，CI 失败时 Hook 自动触发 Agent 分析失败 + 写 fix\n",[111,4212,4213,4226],{"__ignoreMap":109},[114,4214,4215,4217,4220,4223],{"class":116,"line":117},[114,4216,4188],{"class":127},[114,4218,4219],{"class":131}," --features",[114,4221,4222],{"class":135}," enable",[114,4224,4225],{"class":135}," post_tool_use_hook\n",[114,4227,4228],{"class":116,"line":124},[114,4229,4230],{"class":120},"# 然后跑 cargo test，CI 失败时 Hook 自动触发 Agent 分析失败 + 写 fix\n",[100,4232,4234],{"id":4233},"任务-3跨仓库脚手架生成","任务 3：跨仓库脚手架生成",[104,4236,4238],{"className":106,"code":4237,"language":108,"meta":109,"style":109},"codex -m gpt-5-codex\n> 用 mono-repo 模式建 3 个 package：core \u002F cli \u002F web，统一走 pnpm workspace\n",[111,4239,4240,4248],{"__ignoreMap":109},[114,4241,4242,4244,4246],{"class":116,"line":117},[114,4243,4188],{"class":127},[114,4245,132],{"class":131},[114,4247,4193],{"class":135},[114,4249,4250,4252],{"class":116,"line":124},[114,4251,2233],{"class":298},[114,4253,4254],{"class":302}," 用 mono-repo 模式建 3 个 package：core \u002F cli \u002F web，统一走 pnpm workspace\n",[17,4256,4257],{},"子代理并行起 3 个目录的初始化，单次任务跑完 ~3 分钟，token 用约 80k。",[13,4259,2096],{"id":2095},[104,4261,4263],{"className":106,"code":4262,"language":108,"meta":109,"style":109},"# macOS \u002F Linux\ncurl -fsSL https:\u002F\u002Fchatgpt.com\u002Fcodex\u002Finstall.sh | sh\n\n# Windows（原生 PowerShell）\n# 见官方 Windows setup guide，或用 npm i -g @openai\u002Fcodex\n\ncodex                          # 启动 TUI\ncodex -m gpt-5-codex .         # 在当前目录起 Agent\ncodex --remote wss:\u002F\u002F...       # 远程模式（SSH \u002F 容器）\ncodex features list            # 看可用 feature flag\ncodex features enable unified_exec\n",[111,4264,4265,4270,4284,4288,4293,4298,4302,4309,4323,4336,4349],{"__ignoreMap":109},[114,4266,4267],{"class":116,"line":117},[114,4268,4269],{"class":120},"# macOS \u002F Linux\n",[114,4271,4272,4274,4276,4279,4281],{"class":116,"line":124},[114,4273,3362],{"class":127},[114,4275,3365],{"class":131},[114,4277,4278],{"class":135}," https:\u002F\u002Fchatgpt.com\u002Fcodex\u002Finstall.sh",[114,4280,3371],{"class":298},[114,4282,4283],{"class":127}," sh\n",[114,4285,4286],{"class":116,"line":223},[114,4287,227],{"emptyLinePlaceholder":226},[114,4289,4290],{"class":116,"line":230},[114,4291,4292],{"class":120},"# Windows（原生 PowerShell）\n",[114,4294,4295],{"class":116,"line":236},[114,4296,4297],{"class":120},"# 见官方 Windows setup guide，或用 npm i -g @openai\u002Fcodex\n",[114,4299,4300],{"class":116,"line":242},[114,4301,227],{"emptyLinePlaceholder":226},[114,4303,4304,4306],{"class":116,"line":333},[114,4305,4188],{"class":127},[114,4307,4308],{"class":120},"                          # 启动 TUI\n",[114,4310,4311,4313,4315,4318,4320],{"class":116,"line":339},[114,4312,4188],{"class":127},[114,4314,132],{"class":131},[114,4316,4317],{"class":135}," gpt-5-codex",[114,4319,908],{"class":135},[114,4321,4322],{"class":120},"         # 在当前目录起 Agent\n",[114,4324,4325,4327,4330,4333],{"class":116,"line":350},[114,4326,4188],{"class":127},[114,4328,4329],{"class":131}," --remote",[114,4331,4332],{"class":135}," wss:\u002F\u002F...",[114,4334,4335],{"class":120},"       # 远程模式（SSH \u002F 容器）\n",[114,4337,4338,4340,4343,4346],{"class":116,"line":355},[114,4339,4188],{"class":127},[114,4341,4342],{"class":135}," features",[114,4344,4345],{"class":135}," list",[114,4347,4348],{"class":120},"            # 看可用 feature flag\n",[114,4350,4351,4353,4355,4357],{"class":116,"line":361},[114,4352,4188],{"class":127},[114,4354,4342],{"class":135},[114,4356,4222],{"class":135},[114,4358,4359],{"class":135}," unified_exec\n",[17,4361,4362,4363,4366,4367,2570],{},"配置文件：",[111,4364,4365],{},"$CODEX_HOME\u002Fconfig.toml","（默认 ",[111,4368,4369],{},"~\u002F.codex\u002Fconfig.toml",[13,4371,4372],{"id":4372},"同类对比",[1114,4374,4375,4389],{},[1117,4376,4377],{},[1120,4378,4379,4381,4383,4385,4387],{},[1123,4380,2348],{},[1123,4382,2359],{},[1123,4384,94],{},[1123,4386,1833],{},[1123,4388,2365],{},[1130,4390,4391,4406,4422,4438,4455,4468,4482,4496],{},[1120,4392,4393,4395,4398,4400,4403],{},[1135,4394,3562],{},[1135,4396,4397],{},"终端 TUI",[1135,4399,4397],{},[1135,4401,4402],{},"终端 REPL",[1135,4404,4405],{},"VS Code 插件",[1120,4407,4408,4411,4414,4417,4420],{},[1135,4409,4410],{},"默认模型",[1135,4412,4413],{},"gpt-5-codex",[1135,4415,4416],{},"Claude Sonnet\u002FOpus",[1135,4418,4419],{},"BYOK 任意",[1135,4421,4419],{},[1120,4423,4424,4427,4430,4433,4436],{},[1135,4425,4426],{},"含在订阅",[1135,4428,4429],{},"ChatGPT Plus\u002FPro",[1135,4431,4432],{},"Claude.ai $20\u002F月",[1135,4434,4435],{},"❌（仅 API）",[1135,4437,4435],{},[1120,4439,4440,4443,4446,4449,4452],{},[1135,4441,4442],{},"沙箱",[1135,4444,4445],{},"macOS Sandbox \u002F Landlock \u002F AppContainer",[1135,4447,4448],{},"类似",[1135,4450,4451],{},"无",[1135,4453,4454],{},"VS Code 环境",[1120,4456,4457,4459,4461,4463,4466],{},[1135,4458,2669],{},[1135,4460,2375],{},[1135,4462,2375],{},[1135,4464,4465],{},"部分",[1135,4467,2375],{},[1120,4469,4470,4472,4475,4478,4480],{},[1135,4471,4089],{},[1135,4473,4474],{},"✅ GA",[1135,4476,4477],{},"✅ Task tool",[1135,4479,2378],{},[1135,4481,2378],{},[1120,4483,4484,4486,4489,4492,4494],{},[1135,4485,2372],{},[1135,4487,4488],{},"Apache-2.0",[1135,4490,4491],{},"闭源",[1135,4493,4488],{},[1135,4495,4488],{},[1120,4497,4498,4501,4503,4505,4507],{},[1135,4499,4500],{},"原生 Windows",[1135,4502,2375],{},[1135,4504,4465],{},[1135,4506,2375],{},[1135,4508,2375],{},[1876,4510,4511],{},[17,4512,4513],{},"一句话区分：Codex CLI = OpenAI 官方版的 Claude Code；Claude Code = Anthropic 官方版的 Codex；Aider = 任意 OpenAI 兼容 API 都能跑；Cline = VS Code 里的 GUI 终端 Agent。",[13,4515,2505],{"id":2505},[974,4517,4518,4524,4534,4544,4550,4556],{},[45,4519,4520,4523],{},[21,4521,4522],{},"国内访问别频繁切 IP","，OpenAI 风控严，账号被封基本无法找回。",[45,4525,4526,4529,4530,4533],{},[21,4527,4528],{},"沙箱默认会限制网络","，跑 ",[111,4531,4532],{},"npm install"," 等需要联网的命令前先看 approval 弹窗。",[45,4535,4536,4539,4540,4543],{},[21,4537,4538],{},"Subagents 吃 token 多","，预算敏感时关闭 ",[111,4541,4542],{},"[agents]"," 配置或换 mini 模型。",[45,4545,4546,4549],{},[21,4547,4548],{},"WebSocket 远程模式只接受 wss:\u002F\u002F 或 localhost ws:\u002F\u002F","，远程公网必须 TLS。",[45,4551,4552,4555],{},[21,4553,4554],{},"gpt-5-codex 比 gpt-5.5 便宜但能力对齐","，2026-03 之后默认推荐用 codex 系列而非 5.5。",[45,4557,4558,4565,4566,4569],{},[21,4559,4560,4561,4564],{},"不要用过期的 ",[111,4562,4563],{},"--approval-mode"," 旧参数","，新版用 ",[111,4567,4568],{},"codex features"," 子命令管理。",[13,4571,2594],{"id":2593},[17,4573,4574,4575,4578],{},"✅ 终端 \u002F TMUX \u002F Vim 重度用户；已订阅 ChatGPT Plus \u002F Pro 的人；Windows 原生开发者；headless \u002F SSH \u002F 容器场景。",[4576,4577],"br",{},"\n❌ GUI 党；纯内网开发；偏好 Claude 长上下文风格的人。",[13,4580,1728],{"id":1728},[42,4582,4583,4590,4597],{},[45,4584,4585,4586],{},"配套 playbook：",[86,4587,4589],{"href":4588},"\u002Fplaybook\u002Fcodex-cli-vs-claude-code.html","Codex CLI vs Claude Code 怎么选",[45,4591,4592,4593],{},"同分类：",[86,4594,4596],{"href":4595},"\u002Fcoding\u002Fcli\u002F","AI CLI 全分类",[45,4598,4599,4600,4602,4603,4602,4605],{},"替代品：",[86,4601,94],{"href":93}," · ",[86,4604,1833],{"href":1747},[86,4606,2365],{"href":2364},[13,4608,2683],{"id":2683},[42,4610,4611,4617,4624,4629],{},[45,4612,2695,4613],{},[86,4614,4615],{"href":4615,"rel":4616},"https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcli",[376],[45,4618,4619,4620],{},"Features 页：",[86,4621,4622],{"href":4622,"rel":4623},"https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcli\u002Ffeatures",[376],[45,4625,2714,4626],{},[86,4627,4037],{"href":4037,"rel":4628},[376],[45,4630,4631,4632],{},"2026 更新综述：",[86,4633,4634],{"href":4634,"rel":4635},"https:\u002F\u002Fcodex.danielvaughan.com\u002F2026\u002F03\u002F27\u002Fcodex-cli-in-2026-whats-new",[376],[1876,4637,4638],{},[17,4639,4640,4641,4643],{},"本卡片由 AIHO 编辑部根据以上公开资料整理，非厂商付费内容；定价与功能以官网为准，欢迎在 ",[86,4642,2737],{"href":2737}," 反馈更新。",[1761,4645,4646],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":109,"searchDepth":223,"depth":223,"links":4648},[4649,4650,4651,4652,4657,4658,4659,4660,4661,4662],{"id":1850,"depth":124,"text":1851},{"id":4032,"depth":124,"text":4032},{"id":3253,"depth":124,"text":3253},{"id":4168,"depth":124,"text":4169,"children":4653},[4654,4655,4656],{"id":4177,"depth":223,"text":4178},{"id":4206,"depth":223,"text":4207},{"id":4233,"depth":223,"text":4234},{"id":2095,"depth":124,"text":2096},{"id":4372,"depth":124,"text":4372},{"id":2505,"depth":124,"text":2505},{"id":2593,"depth":124,"text":2594},{"id":1728,"depth":124,"text":1728},{"id":2683,"depth":124,"text":2683},"\u002Fimg\u002Ftools\u002Fcodex.webp","Codex CLI 真实评测：OpenAI 官方开源（Apache-2.0）终端 Coding Agent，Rust 实现，原生 Windows 沙箱 + 子代理 + MCP + 钩子 + 远程控制；2026 默认模型升级到 gpt-5-codex \u002F gpt-5-codex-mini，Plus\u002FPro\u002FTeam\u002FEdu 计划已含。",[4666,4669,4672,4675,4678],{"q":4667,"a":4668},"Codex CLI 和 Claude Code 有什么区别？","形态几乎一致：都是终端 Agent + 沙箱执行 + MCP + 子代理。差异主要在模型——Codex CLI 走 OpenAI 的 gpt-5-codex 系列，Claude Code 走 Anthropic Sonnet\u002FOpus。OpenAI 在原生 Windows 沙箱（不需要 WSL）和 Rust 实现速度上略胜，Claude 在长任务上下文连续性上略胜。",{"q":4670,"a":4671},"在 Windows 上怎么用？","原生 PowerShell 沙箱模式（推荐），也支持 WSL2。安装命令：curl -fsSL https:\u002F\u002Fchatgpt.com\u002Fcodex\u002Finstall.sh | sh（macOS\u002FLinux），Windows 直接通过 npm 或 PowerShell installer。",{"q":4673,"a":4674},"国内能用吗？","需要 OpenAI 账号 + 稳定代理。Plus \u002F Pro 订阅可走支付宝。直接 `codex` 即可启动。",{"q":4676,"a":4677},"Codex CLI 支持本地模型吗？","原生只走 OpenAI API。如果要本地模型，建议用 Aider（OpenAI 兼容 endpoint，可指向 Ollama \u002F vLLM）。",{"q":4679,"a":4680},"Subagents \u002F Hooks \u002F MCP 是什么？","Subagents：把大任务拆给多个并行子代理；Hooks（PostToolUse \u002F userpromptsubmit）：在工具调用前后插入企业策略；MCP：连外部工具（GitHub \u002F 数据库 \u002F Slack）。Codex 2026 把这三块都做到了 GA。",[2763,2764],{},[4684,4413,4685,4686],"gpt-5.5","gpt-5-codex-mini","gpt-5.3-codex-spark",[4688,4689,4690],"重度 GUI 党（终端排斥者请用 Cursor）","国内纯内网（OpenAI API 需稳定代理）","需要 Claude 上下文风格的人","\u002Ftools\u002Fcoding\u002Fcli\u002Fcodex",[2769,2770,2771],[4694,4698,4701,4705],{"plan":4123,"price":3678,"limit":4695,"cn_pay":4696,"note":4697},"含 Codex CLI 使用额度，默认 gpt-5-codex-mini（2026-03 起额度 +4×）","支付宝","个人入门",{"plan":4133,"price":3307,"limit":4699,"cn_pay":4696,"note":4700},"更高额度 + 优先处理 + GPT-5.3-Codex-Spark 研究预览","Agent 重度用户",{"plan":4143,"price":4146,"limit":4702,"cn_pay":4703,"note":4704},"团队管理 + SSO + Codex 含在内","—","团队档",{"plan":4706,"price":4157,"limit":4707,"cn_pay":4703,"note":4708},"纯 API 调用","gpt-5.5 ≈ $1.25\u002F$10 per 1M tokens（input\u002Foutput）","BYOK 自由模式","ChatGPT Plus\u002FPro\u002FBusiness\u002FEdu\u002FEnterprise 包含 \u002F 或按 OpenAI API 计费",[4711,4712],"ai-coding\u002Fcodex-cli-vs-claude-code","ai-coding\u002Fterminal-agent-workflow",{"power":236,"ux":230,"price":230,"cn_support":223,"stability":230},{"title":2359,"description":4664},[4716,4718,4720,4722],{"title":4717,"url":4615},"Codex CLI 官方文档",{"title":4719,"url":4622},"Codex CLI Features 官方",{"title":4721,"url":4037},"Codex CLI GitHub",{"title":4723,"url":4634},"Codex CLI 2026 更新综述","tools\u002Fcoding\u002Fcli\u002Fcodex",[4726,4727,4728,4729],"终端 \u002F TMUX \u002F Vim 重度用户","已经订阅 ChatGPT Plus \u002F Pro 的人（白嫖 Codex 用量）","Windows 原生开发者（Codex CLI 有 PowerShell 沙箱，不必走 WSL）","需要远程 SSH \u002F 容器中跑 Agent 的人（headless 友好）","OpenAI 官方终端 Coding Agent，GPT-5.5 \u002F gpt-5-codex 驱动",[2759,2803,4001,4010,4732,4733,4003,2804,4734],"gpt-5","subagents","rust","Claude Code 的 OpenAI 版镜像。Plus \u002F Pro 已含、Windows 原生沙箱、Rust 速度快，喜欢 GPT 派的人首选；Claude Sonnet 4.5 在长任务上仍略胜，喜欢 Claude 的留 Claude Code。","yuhhpEbqR7kWVQ0pUFXQrPNj-3Uuhg7Xc0IXjaxW2_0",1783173059610]