清單)
1. aider 安裝后報(bào) local proxy failed 到底卡在哪aider 是一個(gè)跑在終端里的 AI 編程助手能直接讀寫你本地倉(cāng)庫(kù)的文件、按需求改代碼、自動(dòng)生成 git commit。它適合誰適合已經(jīng)習(xí)慣命令行、想讓 AI 真正落到項(xiàng)目文件上而不是只在網(wǎng)頁(yè)里聊天的開發(fā)者。但很多人第一次pipx install aider-chat裝完興沖沖敲下啟動(dòng)命令迎面就是一句local proxy failed或者LLM Provider NOT provided然后完全不知道是網(wǎng)絡(luò)出口的問題還是密鑰沒配對(duì)。我自己第一次裝 aider 時(shí)也踩過這個(gè)坑。當(dāng)時(shí)以為是模型名寫錯(cuò)了換了三四個(gè)模型標(biāo)識(shí)報(bào)錯(cuò)依舊。后來才想明白aider 本身只是個(gè)客戶端它把請(qǐng)求發(fā)給誰、用什么協(xié)議、帶什么鑒權(quán)頭全靠環(huán)境變量和配置文件決定。local proxy failed這個(gè)報(bào)錯(cuò)字面意思是「本地代理連接失敗」但實(shí)際觸發(fā)它的原因往往有兩類——一類是出口地址根本不通另一類是出口通了但鑒權(quán)信息缺失或格式不對(duì)服務(wù)端直接拒絕aider 把這類失敗也歸到了同一個(gè)提示里。所以這篇排錯(cuò)清單的思路是先把 aider 裝干凈再把出口地址和密鑰這兩件事分開驗(yàn)證最后跑一次真實(shí)對(duì)話確認(rèn)整條鏈路通。整個(gè)過程我會(huì)給出可直接復(fù)制的環(huán)境變量和配置文件片段你照著改路徑和 Key 就行。核心檢索詞就三個(gè)aider 安裝、local proxy failed 排查、AI 編程命令行工具接入。下面按順序來每一步都有驗(yàn)證動(dòng)作不要跳步。需要先明確一點(diǎn)aider 支持很多模型提供方本文用 TaoToken 作為統(tǒng)一出口來演示因?yàn)樗瑫r(shí)兼容 OpenAI 風(fēng)格和 Anthropic 風(fēng)格的接口配置起來只需要改 Base URL 和 Key。你如果用的是別的出口把地址和 Key 換成你自己的即可排查邏輯完全一樣。2. 裝 aider 與準(zhǔn)備 TaoToken 出口的前置動(dòng)作2.1 用 pipx 隔離安裝 aider-chataider 官方推薦用 pipx 安裝原因是它會(huì)把 aider 裝進(jìn)獨(dú)立的虛擬環(huán)境不會(huì)污染你系統(tǒng)里的 Python 包。如果你之前用 conda 激活過環(huán)境先退出來避免 pipx 裝到 conda 的路徑里導(dǎo)致命令找不到。conda deactivate sudo apt update sudo apt install pipx -y pipx ensurepath pipx install aider-chat exec bashpipx ensurepath會(huì)把 pipx 的 bin 目錄寫進(jìn) PATHexec bash是讓當(dāng)前終端重新加載環(huán)境變量省得你關(guān)掉重開。裝完之后驗(yàn)證一下aider --version能打印出版本號(hào)就說明安裝成功。如果提示command not found八成是 PATH 沒生效手動(dòng)執(zhí)行source ~/.bashrc或者直接重開終端。2.2 拿到 TaoToken 的 Base URL 和 API Keyaider 要發(fā)請(qǐng)求必須知道兩件事請(qǐng)求發(fā)到哪個(gè)地址、用什么身份。這兩樣都在 TaoToken 后臺(tái)拿。登錄后進(jìn)控制臺(tái)創(chuàng)建一個(gè) API Key復(fù)制出來先存到臨時(shí)文件里別直接貼在聊天窗口??刂婆_(tái)入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteAPI Key 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteBase URL 統(tǒng)一用https://taotoken.net/api注意這個(gè)地址后面不加 UTM 參數(shù)直接寫進(jìn)配置里。模型 ID 按你實(shí)際要用的填比如claude-sonnet-4-5或者gpt-4o這類具體以文檔里的模型列表為準(zhǔn)。接入文檔https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite2.3 為什么 local proxy failed 多半出在這一步aider 默認(rèn)會(huì)去讀OPENAI_API_BASE、OPENAI_API_KEY這類環(huán)境變量。如果你什么都沒設(shè)它會(huì)嘗試連默認(rèn)的 OpenAI 地址而那個(gè)地址在你的網(wǎng)絡(luò)環(huán)境下大概率不通于是報(bào)local proxy failed。另一種情況是你設(shè)了 Base URL 但 Key 是空的或者帶空格服務(wù)端返回 401aider 同樣可能把它包裝成代理失敗。所以前置動(dòng)作的核心就是把出口地址和 Key 明確寫進(jìn)環(huán)境變量或配置文件讓 aider 不再去猜。下面第三節(jié)給可復(fù)制的配置。3. 可復(fù)制的 aider 配置文件與環(huán)境變量片段3.1 環(huán)境變量方式臨時(shí)驗(yàn)證用最快的方式是在當(dāng)前終端里 export適合先驗(yàn)證鏈路通不通export OPENAI_API_BASEhttps://taotoken.net/api export OPENAI_API_KEYsk-你的真實(shí)Key export AIDER_MODELopenai/claude-sonnet-4-5注意AIDER_MODEL里的前綴openai/是告訴 aider 用 OpenAI 兼容協(xié)議去請(qǐng)求模型名跟在斜杠后面。如果你用的是 Anthropic 原生協(xié)議前綴換成anthropic/同時(shí) Base URL 也要對(duì)應(yīng)調(diào)整具體看文檔說明。這種方式的問題是關(guān)掉終端就沒了所以只用來做第一次驗(yàn)證。3.2 配置文件方式長(zhǎng)期使用推薦aider 會(huì)讀取項(xiàng)目根目錄下的.aider.conf.yml也會(huì)讀取用戶主目錄的~/.aider.conf.yml。推薦把通用配置放主目錄項(xiàng)目相關(guān)的放項(xiàng)目根目錄。下面是一個(gè)可直接復(fù)制的~/.aider.conf.ymlopenai-api-base: https://taotoken.net/api openai-api-key: sk-你的真實(shí)Key model: openai/claude-sonnet-4-5 weak-model: openai/gpt-4o-mini auto-commits: true dark-mode: true這里weak-model是 aider 用來做輕量任務(wù)比如生成 commit message的模型配一個(gè)便宜快的就行。auto-commits: true讓 aider 每次改完代碼自動(dòng)提交方便你回滾。如果你更習(xí)慣用環(huán)境變量文件也可以寫一個(gè).env放在項(xiàng)目根目錄OPENAI_API_BASEhttps://taotoken.net/api OPENAI_API_KEYsk-你的真實(shí)Key AIDER_MODELopenai/claude-sonnet-4-5然后啟動(dòng)前source .env。兩種方式選一種即可不要同時(shí)配否則容易互相覆蓋排查時(shí)你會(huì)分不清到底讀的哪個(gè)。3.3 三件套對(duì)照表不管用哪種方式aider 跑通必須湊齊三件套缺一個(gè)就會(huì)報(bào)錯(cuò)配置項(xiàng)作用常見錯(cuò)誤值Base URL請(qǐng)求發(fā)到哪寫成首頁(yè)地址、漏了 /apiAPI Key身份鑒權(quán)空值、帶空格、過期Model ID用哪個(gè)模型前綴寫錯(cuò)、模型名不存在我試過把 Base URL 寫成https://taotoken.net漏了/api結(jié)果就是連接被拒報(bào)錯(cuò)和local proxy failed長(zhǎng)得很像。所以填地址時(shí)一定對(duì)照文檔別憑記憶。4. 驗(yàn)證請(qǐng)求從 curl 到 aider 首次對(duì)話跑通4.1 先用 curl 驗(yàn)證出口和 Key在啟動(dòng) aider 之前先用 curl 單獨(dú)驗(yàn)證一次這樣能把「網(wǎng)絡(luò)出口問題」和「aider 配置問題」徹底分開curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的真實(shí)Key \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-5, messages: [{role: user, content: 只回復(fù)兩個(gè)字通了}] }如果返回 JSON 里能看到模型回復(fù)的內(nèi)容說明出口和 Key 都沒問題問題一定在 aider 的配置讀取上。如果這里就報(bào) 401那是 Key 的問題如果報(bào)連接超時(shí)那是出口地址的問題。這一步是整個(gè)排錯(cuò)清單里最關(guān)鍵的分水嶺。4.2 啟動(dòng) aider 并完成首次對(duì)話curl 通了之后進(jìn)你的項(xiàng)目根目錄cd /home/user/你的項(xiàng)目根目錄路徑 aideraider 啟動(dòng)后會(huì)讀取配置文件你應(yīng)該能看到它打印出當(dāng)前使用的模型和 Base URL。如果它打印的模型和你配的不一致說明配置文件沒被讀到檢查文件名和路徑。進(jìn)入交互界面后直接輸入一句自然語言比如幫我在 README.md 里加一行項(xiàng)目簡(jiǎn)介aider 會(huì)讀取文件、生成修改、展示 diff然后詢問是否應(yīng)用。你確認(rèn)后它會(huì)寫入文件并自動(dòng) commit??吹?diff 和 commit 記錄就說明整條鏈路徹底跑通了。4.3 驗(yàn)證成功的幾個(gè)標(biāo)志aider 啟動(dòng)時(shí)打印的模型名和你配置的一致輸入需求后能看到文件 diff確認(rèn)后 git log 里出現(xiàn) aider 的 commit沒有出現(xiàn)local proxy failed或 401如果這四條都滿足恭喜你aider 已經(jīng)能正常干活了。接下來可以試試更復(fù)雜的任務(wù)比如讓它重構(gòu)一個(gè)函數(shù)、補(bǔ)單元測(cè)試。5. 本篇常見報(bào)錯(cuò)排查清單5.1 local proxy failed這是本文的主線報(bào)錯(cuò)。按順序排查第一確認(rèn)OPENAI_API_BASE或配置文件里的openai-api-base寫的是https://taotoken.net/api不是首頁(yè)地址也沒漏/api。第二確認(rèn) Key 沒有多余空格。用echo $OPENAI_API_KEY | wc -c看長(zhǎng)度對(duì)不對(duì)或者直接echo [$OPENAI_API_KEY]看有沒有隱藏字符。第三用 4.1 的 curl 命令單獨(dú)驗(yàn)證。curl 通了但 aider 還報(bào)這個(gè)錯(cuò)那就是 aider 沒讀到你的配置檢查配置文件路徑和文件名。5.2 401 Unauthorized這個(gè)報(bào)錯(cuò)很直接鑒權(quán)失敗。常見原因有三個(gè)——Key 復(fù)制時(shí)漏了字符、Key 已經(jīng)過期或被刪除、請(qǐng)求頭格式不對(duì)。aider 會(huì)自動(dòng)加Authorization: Bearer你只需要保證 Key 本身正確。如果 curl 也報(bào) 401去控制臺(tái)重新生成一個(gè) Key 再試。5.3 reading choices 相關(guān)報(bào)錯(cuò)有時(shí)候你會(huì)看到類似Error reading choices或者解析響應(yīng)失敗的提示。這通常說明服務(wù)端返回的結(jié)構(gòu)和 aider 預(yù)期的不一致多半是模型 ID 寫錯(cuò)了或者用了不兼容的協(xié)議前綴。檢查model配置里的前綴openai/還是anthropic/和模型名是否匹配文檔。5.4 OAuth 相關(guān)提示如果你之前配過別的工具環(huán)境里可能殘留了 OAuth 相關(guān)的變量aider 有時(shí)會(huì)誤判鑒權(quán)方式。排查方法是env | grep -i oauth看有沒有殘留有的話 unset 掉再啟動(dòng) aider。5.5 模型名不存在報(bào)錯(cuò)里如果出現(xiàn)model not found之類去文檔里核對(duì)模型 ID 的準(zhǔn)確拼寫。模型名區(qū)分大小寫也區(qū)分版本號(hào)后綴別自己簡(jiǎn)寫。6. 把 aider 接進(jìn)日常編碼流鏈路跑通之后aider 真正好用的地方在于它能批量改文件。你可以一次給它多個(gè)文件路徑讓它跨文件重構(gòu)aider src/utils.py src/api.py tests/test_api.py然后輸入需求它會(huì)同時(shí)讀這幾個(gè)文件再動(dòng)手。配合auto-commits每次改動(dòng)都有 commit 記錄出問題直接git revert就行。如果你打算長(zhǎng)期用 aider 做主力編碼工具建議把配置固定下來別每次臨時(shí) export。主目錄的~/.aider.conf.yml放通用配置項(xiàng)目根目錄放項(xiàng)目專屬的模型和參數(shù)。這樣換項(xiàng)目時(shí)不用重新配。另外aider 的會(huì)話歷史會(huì)存在項(xiàng)目目錄的.aider.chat.history.md里想回顧之前讓它做過什么直接翻這個(gè)文件。想清空上下文重新開始用/clear命令。最后提醒一句aider 會(huì)真實(shí)修改你的文件第一次用建議在測(cè)試倉(cāng)庫(kù)里練手確認(rèn)行為符合預(yù)期再上真實(shí)項(xiàng)目。配置文件和 Key 不要提交到 git記得把.aider.conf.yml和.env加進(jìn).gitignore。需要長(zhǎng)期跑編碼任務(wù)或者接 Agent 工作流的可以看下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite想先在網(wǎng)頁(yè)里驗(yàn)證模型效果再?zèng)Q定用哪個(gè)可以走模型對(duì)話https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite接入文檔和 API Key 管理分別在https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 和 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite