
前陣子幫團隊搭 CLI 編碼助手發(fā)現(xiàn)大家卡在同一件事上手里有 DeepSeek 的 API key卻想讓 Claude Code 這個終端工具去干活。網(wǎng)上說法不少有的貼了一段配置有的說了個大概就跑真正講清楚“為什么這樣配”“配完怎么驗證”的很少。我花了一個晚上在 Windows 上把整條路跑通從安裝 Node.js 到 settings.json 落地中間踩了幾個不算復(fù)雜的坑但確實每一步都能卡住人。這篇文章就是完整記錄Windows 上怎么安裝 Claude Code怎么用 DeepSeek 的 Anthropic 兼容端點把默認(rèn)后端換成 DeepSeek以及配置文件里每個字段到底意味著什么。適合那些想用 DeepSeek 跑 Claude Code 交互體驗的人也適合之前配過但始終 401/404 的朋友。1. 為什么要用 DeepSeek 驅(qū)動 Claude Code價值與邊界1.1 Claude Code 的殼與 DeepSeek 的核Claude Code 是 Anthropic 出的終端編程代理你在命令行里用自然語言描述需求它能自動讀項目文件、改代碼、跑命令、查日志整個過程在終端里實時交互。這個“交互層”做得不錯用過的應(yīng)該能感受到它比普通對話框更貼近真實開發(fā)場景。但 Claude Code 默認(rèn)只認(rèn) Anthropic 官方的 API 和模型。很多開發(fā)者注冊 Anthropic 賬號不方便或者覺得按量付費的成本偏高于是想到一個問題能不能讓 Claude Code 的界面和工具體系保持不變把底層的模型換成 DeepSeek答案是能。Claude Code 本身支持通過環(huán)境變量去覆蓋 API 端點地址和鑒權(quán) token這是官方就有的能力不是繞過什么機制。把ANTHROPIC_BASE_URL指到 DeepSeek 官方的 Anthropic 兼容端點再把ANTHROPIC_AUTH_TOKEN換成 DeepSeek 的 API keyClaude Code 發(fā)出的請求就會打到 DeepSeek 的服務(wù)器上。用大白話說Claude Code 是司機DeepSeek 是發(fā)動機。你只是把發(fā)動機換了方向盤、油門、儀表盤還是原來那套。1.2 收益在哪里第一是性價比。DeepSeek 的 API 定價比 Anthropic 旗艦?zāi)P捅阋瞬簧賹θ粘懘a、改 bug、生成單測這類任務(wù)開銷能控制在很低的水平。第二是注冊門檻低。DeepSeek 開放平臺注冊就能拿 key充值也很方便沒有太多彎彎繞繞。第三是靈活性。同一份 Claude Code 配置你既可以用官方模型跑也可以用 DeepSeek 跑通過環(huán)境變量或配置文件切換本質(zhì)上是一種模型路由的思路。1.3 邊界要提前說清楚這不是讓 Claude Code 變成 DeepSeek 官方客戶端也不是克隆 Claude 模型。你用 deepseek-chat 驅(qū)動 Claude Code得到的模型行為是 DeepSeek-V3 的不是 Claude 的。Claude Code 里一些依賴 Claude 模型特性的高級功能表現(xiàn)會跟官方版本有差異尤其是極其復(fù)雜的多步工具調(diào)用場景偶爾會出現(xiàn)工具參數(shù)不匹配或執(zhí)行中斷的情況。另外DeepSeek 的上下文窗口跟 Claude 的不完全一樣長對話、大倉庫分析時要注意實時壓縮歷史。我的判斷是日常開發(fā)足夠用但不能要求它在所有場景達到官方組合的水平。適合的人群包括個人開發(fā)者做快速原型小團隊想統(tǒng)一 CLI 工具鏈但控制 API 成本以及純粹想橫向?qū)Ρ炔煌P驮诰幋a任務(wù)上表現(xiàn)的人。2. Windows 上的前置條件Node.js、終端和網(wǎng)絡(luò)可達性2.1 安裝 Node.js版本和 PATH 是關(guān)鍵Claude Code 依賴 Node.js 運行時。雖然官方目前也提供 Windows 原生安裝包但 npm 方式依然是最通用、最不容易出幺蛾子的路徑所以 Node.js 是必需品。去 nodejs.org 下載 LTS 版本W(wǎng)indows 用戶直接拿 .msi 安裝包。安裝時注意一個細(xì)節(jié)安裝向?qū)Ю镉袀€ “Add to PATH” 選項默認(rèn)是勾上的別取消。很多人裝完 Node.js 后終端里輸入node -v提示找不到命令十有八九是這一步?jīng)]注意。安裝完成后新開一個終端窗口別用舊的因為 PATH 環(huán)境變量不會自動刷新。運行node -v npm -v能看到版本號就說明環(huán)境沒問題。我建議用 Node.js 18 以上的 LTS 版本太老的版本跟 Claude Code 的依賴可能存在兼容性問題。2.2 終端選擇Windows Terminal 是首選Claude Code 是交互式終端工具對 ANSI 轉(zhuǎn)義序列有要求。Windows 自帶的傳統(tǒng) conhost 窗口在某些情況下會顯示亂碼或布局錯亂我直接推薦 Windows Terminal。Windows 11 自帶 Windows TerminalWindows 10 去 Microsoft Store 搜一下即可安裝。裝完把默認(rèn)終端設(shè)置為 Windows TerminalPowerShell 作為默認(rèn) shell。這樣做的原因是 Claude Code 的交互界面依賴光標(biāo)定位、顏色渲染、滾動區(qū)域Windows Terminal 對這幾項的支持比老終端好得多。另外如果你的 PowerShell 執(zhí)行策略限制腳本運行需要放開對本地腳本的約束。以管理員身份打開 PowerShell 執(zhí)行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser2.3 網(wǎng)絡(luò)可達性一個容易忽略的隱形坑DeepSeek 的 API 在正常情況下可以直連但有兩類環(huán)境容易出問題。一類是公司網(wǎng)絡(luò)。企業(yè)網(wǎng)關(guān)或代理可能攔截外部 API 請求如果之前在同一臺 Windows 機器上配置過代理環(huán)境變量里的HTTP_PROXY和HTTPS_PROXY會影響 Node.js 的請求行為。解決辦法是確認(rèn)這兩個變量指向的代理是否正常或者暫時去掉后在終端里測試curl https://api.deepseek.com另一類是 DNS 解析異常。Windows 上偶發(fā) DNS 緩存問題會導(dǎo)致請求超時可以執(zhí)行ipconfig /flushdns刷新。注意這一步的目標(biāo)是確保你的機器能夠正常訪問api.deepseek.com。如果 curl 能返回 JSON 或錯誤碼而不是超時說明網(wǎng)絡(luò)這一關(guān)過了。3. 兩種安裝路線npm 全局安裝與官方 PowerShell 腳本3.1 路線 Anpm 全局安裝最常見的安裝方式是在終端里執(zhí)行npm install -g anthropic-ai/claude-code執(zhí)行后 npm 會把 claude 命令注冊到全局環(huán)境。安裝過程中如果看到權(quán)限相關(guān)的報錯比如EPERM或EACCES在 Windows 上通常是 npm 全局目錄沒有寫權(quán)限導(dǎo)致的。我用的解決辦法是重新設(shè)置 npm 的全局安裝目錄npm config set prefix $env:APPDATA\npm然后把%APPDATA%\npm加到 PATH 環(huán)境變量里。之后重新打開終端再執(zhí)行一次安裝命令。安裝完成后驗證版本claude --version如果輸出版本號說明命令已經(jīng)可用。3.2 路線 B官方原生 Windows 安裝腳本如果你不想在全局環(huán)境里裝 Node.js 依賴或者希望 Claude Code 以獨立 .msi 包的方式安裝可以用 Anthropic 官方提供的安裝腳本。以 PowerShell 身份執(zhí)行irm https://claude.ai/install.ps1 | iex這行命令會下載安裝腳本并執(zhí)行腳本自動檢測系統(tǒng)架構(gòu)下載對應(yīng)的 Windows 安裝包并完成安裝。兩條路線我用下來覺得npm 方式升級方便npm update -g anthropic-ai/claude-code一條命令搞定原生安裝包啟動更快但升級時要重新走安裝流程。日常使用選哪條都行后面的配置完全一致。3.3 安裝后的最終驗證不管哪條路線安裝成功后建議執(zhí)行claude如果配置尚未設(shè)置它會進入初始化流程可能會提示登錄或輸入訂閱信息。此時先不要慌這是正常的等我們配置好 DeepSeek 后端后就不再需要走這套登錄流程了。4. settings.json 配置詳解把請求改道 DeepSeek4.1 配置文件的位置與優(yōu)先級Claude Code 的配置文件采用 JSON 格式有兩個層級用戶級配置C:\Users\你的用戶名\.claude\settings.json項目級配置項目根目錄\.claude\settings.json兩者同時存在時項目級配置優(yōu)先級更高會覆蓋用戶級同名配置項。這是個很實用的機制你可以在用戶級放通用的 API 地址、密鑰、默認(rèn)模型在項目級里只覆蓋模型名比如某個倉庫專攻復(fù)雜算法就單獨把模型切到deepseek-reasoner。有一個血淚教訓(xùn)項目級配置如果存在.git倉庫里很容易不小心把 API key 提交上去。我的建議是包含密鑰的配置一律放用戶級項目級只放和業(yè)務(wù)相關(guān)的模型偏好。4.2 最基礎(chǔ)的一份 settings.json 長什么樣用 VSCode 或任意文本編輯器在C:\Users\你的用戶名\.claude\settings.json中寫入{ env: { ANTHROPIC_BASE_URL: https://api.deepseek.com/anthropic, ANTHROPIC_AUTH_TOKEN: sk-你的DeepSeek密鑰, ANTHROPIC_MODEL: deepseek-chat, ANTHROPIC_SMALL_FAST_MODEL: deepseek-chat } }這里sk-你的DeepSeek密鑰需要在 DeepSeek 開放平臺創(chuàng)建 API key創(chuàng)建后復(fù)制完整字符串不要有多余的空格或換行。保存文件后新開終端進入任意項目目錄運行claude如果一切正常不會出現(xiàn)登錄引導(dǎo)直接進入對話界面??梢栽趯υ捴休斎?status查看當(dāng)前使用的模型確認(rèn)是不是deepseek-chat。4.3 每個 env 變量到底在干什么env塊是 Claude Code 配置里的一個特殊結(jié)構(gòu)它會在 Claude Code 啟動時把這些環(huán)境變量注入到當(dāng)前進程。這樣做的效果是配置跟隨工具走不污染系統(tǒng)全局環(huán)境變量。變量名值作用ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic將 API 請求地址指向 DeepSeek 的 Anthropic 兼容端點ANTHROPIC_AUTH_TOKENsk-xxx請求時攜帶的鑒權(quán) token替代默認(rèn)的 Anthropic keyANTHROPIC_MODELdeepseek-chat主對話模型負(fù)責(zé)實際編碼任務(wù)ANTHROPIC_SMALL_FAST_MODELdeepseek-chat后臺輕量任務(wù)模型比如生成標(biāo)題、摘要、文件描述關(guān)于ANTHROPIC_SMALL_FAST_MODEL很多人忽略它但它很重要。Claude Code 內(nèi)部會把一些低延遲、高吞吐的小任務(wù)單獨路由到一個“小模型”上默認(rèn)指向 Anthropic 的 haiku 系列。如果你只改主模型不改這個變量后臺任務(wù)還是會請求官方端點輕則報模型不可用重則鑒權(quán)失敗。顯式把它也設(shè)為deepseek-chat所有內(nèi)部請求才能統(tǒng)一走 DeepSeek。4.4 模型選擇deepseek-chat 與 deepseek-reasonerDeepSeek 開放平臺目前對外提供兩個模型deepseek-chat對應(yīng) DeepSeek-V3響應(yīng)快適合日常編碼、重構(gòu)、單測生成是 Claude Code 默認(rèn)驅(qū)動的首選。deepseek-reasoner對應(yīng) DeepSeek-R1推理能力強適合復(fù)雜架構(gòu)設(shè)計、疑難 bug 排查但延遲明顯更高。CLI 編碼工具講究交互效率我建議日常用deepseek-chat。如果用deepseek-reasoner每一步工具調(diào)用都可能經(jīng)歷長時間思考整體節(jié)奏會變得很慢尤其在多輪工具調(diào)用的場景里體感像卡住一樣。如果某個項目必須用推理模型可以單獨在項目級配置里覆蓋{ env: { ANTHROPIC_MODEL: deepseek-reasoner, ANTHROPIC_SMALL_FAST_MODEL: deepseek-chat } }這樣主模型用推理能力更強的 R1后臺小任務(wù)仍用 V3兼顧速度和思考深度。5. 首次啟動、驗證與高頻故障排查5.1 如何確認(rèn)請求真的打到了 DeepSeek配置好并啟動 Claude Code 后第一件事不是急著寫需求而是驗證路由是不是真生效了。在對話里輸入/status如果顯示model: deepseek-chat說明主模型配置生效。然后隨便讓它執(zhí)行一個簡單任務(wù)比如“給這個項目寫一個 README 框架”觀察輸出速度。幾秒鐘內(nèi)開始流式返回說明鏈路是通的。更嚴(yán)謹(jǐn)?shù)淖龇ㄊ峭瑫r登錄 DeepSeek 開放平臺在“用量”頁面看是否出現(xiàn)實時的 token 消耗。只要能看到請求數(shù)在漲說明所有請求確實走到了 DeepSeek 服務(wù)端。還有一種方式用調(diào)試模式啟動claude --debug。它會輸出每次 API 調(diào)用的詳細(xì)日志包括請求的 URL 和狀態(tài)碼排錯時特別好用。5.2 高頻錯誤404、401、超時與模型不存在我整理了實際使用中最常遇到的幾類問題按出現(xiàn)頻率排序。404 Not Found如果你的ANTHROPIC_BASE_URL寫成了https://api.deepseek.com少了/anthropic路徑Claude Code 請求時會拼接出自己的 API 路徑最終拼出一個不存在的地址服務(wù)端返回 404。解決辦法是在 base URL 中補全/anthropic。401 Unauthorized鑒權(quán)失敗。大概率原因是 API key 復(fù)制錯了或者 key 里帶了空格。另一個容易被忽略的原因是 JSON 格式問題settings.json 里如果寫了注釋整個文件會被解析失敗Claude Code 靜默忽略然后自動用默認(rèn)配置啟動最終所有請求都因為沒有正確 token 而 401。注意JSON 標(biāo)準(zhǔn)不支持注釋。模型不存在如果你在ANTHROPIC_MODEL里寫了deepseek-v3這類舊名稱DeepSeek 服務(wù)端會返回模型不存在的錯誤。到 API 對接時就用官方當(dāng)前文檔的模型標(biāo)識符deepseek-chat和deepseek-reasoner。請求超時Claude Code 默認(rèn)的 API 超時時間可能對 deepseek-reasoner 不夠長尤其是復(fù)雜任務(wù)需要長時間推理時可能提前中斷??梢栽?settings.json 里適當(dāng)放寬{ apiTimeoutMinutes: 15 }apiTimeoutMinutes是 Claude Code 自己的配置項寫在根級不放在env里。5.3 Windows 特有的路徑與終端問題在 Windows 上配置文件目錄.claude是隱藏目錄默認(rèn)情況下資源管理器看不到。你在C:\Users\用戶名下按CtrlH顯示隱藏項目就能看到。有些用戶程序會生成一個用戶目錄里面有中文或空格比如C:\Users\張三。這種情況下配置文件路徑同樣按實際用戶名處理不要手動硬編碼絕對路徑讓 Claude Code 自己用%USERPROFILE%解析即可。終端顯示亂碼時在 PowerShell 里執(zhí)行chcp 65001這會把手動會話的代碼頁切到 UTF-8Claude Code 輸出就不會花屏。6. 日常使用中的經(jīng)驗與費用控制6.1 用批處理文件切換多套后端我經(jīng)常需要在一臺機器上同時保留 DeepSeek 和 Anthropic 官方兩套配置。環(huán)境變量與配置文件同時存在時配置文件的優(yōu)先級更高但如果你用的是系統(tǒng)環(huán)境變量方式切換起來需要反復(fù)修改系統(tǒng)配置很不方便。我的做法是兩個批處理文件。新建claude-deepseek.batecho off set ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic set ANTHROPIC_AUTH_TOKENsk-你的DeepSeek密鑰 set ANTHROPIC_MODELdeepseek-chat set ANTHROPIC_SMALL_FAST_MODELdeepseek-chat claude再建一個claude-anthropic.bat把對應(yīng)的變量換成 Anthropic 官方的 key 和模型。想用哪套就雙擊哪個文件互不干擾。6.2 費用控制不要忽視會話累積效應(yīng)Claude Code 默認(rèn)會在一次會話里持續(xù)累積上下文。你改的文件越多對話輪次越長上下文里的 token 就越大費用隨之上升。我在實際使用中摸索出三個控制手段。第一一個任務(wù)結(jié)束后及時用/clear清空對話歷史而不是讓上下文一直掛在那里。第二對長任務(wù)的中間過程用/compact壓縮歷史。Claude Code 會把之前的關(guān)鍵信息濃縮成摘要大幅減少后續(xù)請求的 token 量。第三在對話中隨時用/cost查看本次會話已經(jīng)消耗的金額心里有數(shù)。尤其在用 deepseek-reasoner 時它輸出的 reasoning token 也計入費用長任務(wù)跑到后期成本明顯上升。6.3 CLAUDE.md 的作用Claude Code 支持在項目根目錄放一個CLAUDE.md文件里面寫項目說明、代碼規(guī)范、注意事項。每次會話啟動時Claude Code 會自動讀取這個文件作為上下文的一部分。我強烈建議接 DeepSeek 后把這個文件寫得稍微詳細(xì)一點因為 DeepSeek 在遵循復(fù)雜項目規(guī)范方面需要更明確的指令才能發(fā)揮出穩(wěn)定水準(zhǔn)。比如寫清楚目錄結(jié)構(gòu)、測試命令、構(gòu)建方式比讓它現(xiàn)場摸索可靠得多。6.4 多工具調(diào)用場景下要留個心眼DeepSeek 的 Anthropic 兼容端點在多數(shù)場景下工作得很流暢尤其是代碼生成、文件修改、命令執(zhí)行這類標(biāo)準(zhǔn)工具鏈。但在一些非常復(fù)雜的多工具聯(lián)動場景比如連續(xù)讀取多個文件后再交叉修改多處引用偶爾會出現(xiàn)工具調(diào)用參數(shù)偏差。遇到這種情況最簡單的應(yīng)對是把任務(wù)拆小一次讓它處理一個明確目標(biāo)而不是扔給它一個“幫我重構(gòu)整個模塊”的大指令。拆細(xì)之后DeepSeek 的完成質(zhì)量會明顯上升。我自己用下來穩(wěn)定運行幾周后現(xiàn)在的工作習(xí)慣是簡單任務(wù)直接對話中等任務(wù)給明確清單復(fù)雜任務(wù)拆成 3 到 4 個子任務(wù)逐項推進。把心態(tài)從“它應(yīng)該理解我的全部意圖”調(diào)整為“我把意圖表達清楚它會執(zhí)行得很好”這套組合基本可以長期服役。配置本身不復(fù)雜真正有價值的是理解它為什么這樣工作。ANTHROPIC_BASE_URL像一塊路由表ANTHROPIC_AUTH_TOKEN像門禁卡ANTHROPIC_MODEL和ANTHROPIC_SMALL_FAST_MODEL像崗位安排。這四個變量吃透了以后換任何兼容 Anthropic 協(xié)議的模型服務(wù)商你只需要改這幾行就能接上。