
Codex CLI 接入 DeepSeek 是一個典型的“改配置文件接入第三方 OpenAI 兼容服務(wù)”的用例。很多開發(fā)者看到網(wǎng)上流傳的“Codex 一鍵連接器”教程以為必須借助某個封裝好的腳本才能完成接入實(shí)際上 Codex CLI 本身就是本地終端工具模型接口、模型名稱和 API Key 都可以通過~/.codex/config.toml手動指定。理解了這一層你就能自己完成 DeepSeek 的接入也能在“Codex 設(shè)置中文沒反應(yīng)”“unable to locate the codex cli binary”這類問題出現(xiàn)時按照配置和日志逐層定位。接下來的內(nèi)容會從零開始安裝 Codex CLI申請 DeepSeek API Key編寫最小配置驗(yàn)證請求是否真正發(fā)往 DeepSeek再重點(diǎn)處理兩個高頻問題——中文輸出不生效和啟動時找不到 codex 可執(zhí)行文件。最后會提供一份錯誤速查表和日常使用建議方便日后遇到同類問題時直接查閱。需要先說明的是Codex CLI 版本迭代很快下面的命令和配置是撰寫階段常見的寫法但具體到你的版本應(yīng)該以官方 README 和當(dāng)前版本的config.example.toml為準(zhǔn)。如果出現(xiàn)字段名不一致的情況優(yōu)先參考官方示例。1. 為什么要手動配置 Codex CLI而不是依賴“一鍵連接器”1.1 Codex CLI 到底是什么Codex CLI 是一個運(yùn)行在終端里的 AI 編程代理。使用者用自然語言描述需求Codex CLI 會讀取本地文件、分析項(xiàng)目結(jié)構(gòu)、執(zhí)行命令并逐步生成修改建議。它和網(wǎng)頁版聊天工具的區(qū)別在于它直接與本地開發(fā)環(huán)境深度綁定能把一次任務(wù)拆成多次工具調(diào)用再根據(jù)執(zhí)行結(jié)果繼續(xù)迭代。從架構(gòu)上看Codex CLI 只負(fù)責(zé)交互、工具調(diào)用和上下文管理真正回答問題的是后端模型服務(wù)。默認(rèn)情況下后端是 OpenAI 官方接口但接口本身沒有綁定死配置文件可以指定另一個模型提供者。這就是 DeepSeek 能夠接入的基礎(chǔ)。1.2 為什么 DeepSeek 可以接入 Codex CLIDeepSeek 的 API 在設(shè)計(jì)上兼容 OpenAI 的 Chat Completions 請求格式。對 Codex CLI 來說它只需要知道三件事請求發(fā)到哪里、使用哪個模型、用什么憑證。這三件事分別對應(yīng)配置里的base_url、model和env_key。只要提供者支持 OpenAI 兼容協(xié)議就可以接入。這也是很多“一鍵連接器”能工作的原理它們沒有做任何魔法絕大多數(shù)只是提前幫你把配置文件寫好有些還會增加一層轉(zhuǎn)發(fā)服務(wù)。問題是轉(zhuǎn)發(fā)服務(wù)不可控你無法確定 API Key 是否會被轉(zhuǎn)發(fā)方記錄。自己手動配置不僅不復(fù)雜而且鏈路透明所有請求都直接發(fā)給 DeepSeek 官方接口。1.3 對“零成本、不限量、跳過登錄”這類說法的判斷看到“零成本使用 Codex 算力”“無需充值跳過鑒權(quán)”這類表述時要特別謹(jǐn)慎。DeepSeek 官方 API 是按 token 計(jì)費(fèi)的接口鑒權(quán)依賴有效 API Key不存在真正意義上的免費(fèi)無限量額度。任何第三方提供的免費(fèi)轉(zhuǎn)發(fā)端點(diǎn)都可能存在以下風(fēng)險API Key 被轉(zhuǎn)發(fā)服務(wù)截獲。請求內(nèi)容被第三方記錄。接口地址和模型名臨時變化導(dǎo)致接入不穩(wěn)定。服務(wù)商隨時可能關(guān)閉影響正在進(jìn)行的任務(wù)。因此這篇文章只討論“使用你自己的 DeepSeek API Key通過官方接口完成接入”這一種安全可控的方式。你不需要把 Key 交給任何第三方工具。2. 環(huán)境準(zhǔn)備安裝 Codex CLI 并驗(yàn)證 DeepSeek API 可用性2.1 安裝 Codex CLI在開始之前先確認(rèn)機(jī)器上有 Node.js 或 Homebrew 環(huán)境。安裝 Codex CLI 的常見方式是 npm 全局安裝npm install -g openai/codexmacOS 用戶也可以使用 Homebrewbrew install codex安裝完成后執(zhí)行codex --version如果終端能輸出版本號說明 CLI 已經(jīng)進(jìn)入 PATH。如果提示command not found說明 npm 或 Homebrew 的全局 bin 目錄沒有被加入 PATH。此時不要在項(xiàng)目目錄里反復(fù)重裝而是檢查全局路徑。在 macOS/Linux 下可以執(zhí)行npm prefix -g這條命令會輸出 npm 全局目錄地址。假設(shè)輸出是/usr/local那么可執(zhí)行文件通常位于/usr/local/bin檢查這個目錄是否在 PATH 中echo $PATH把缺失路徑加入 PATH 后重新打開終端再驗(yàn)證一遍。Windows 用戶可以在 PowerShell 中使用where.exe codex查看可執(zhí)行文件位置并檢查當(dāng)前用戶環(huán)境變量中的 PATH。2.2 獲取 DeepSeek API Key使用 DeepSeek 服務(wù)需要到 DeepSeek 開放平臺注冊賬號然后在控制臺創(chuàng)建 API Key。創(chuàng)建時通常會要求選擇計(jì)費(fèi)方式并保證賬戶有足夠余額。Key 在首次創(chuàng)建時只會完整顯示一次之后無法從頁面再次查看所以要在創(chuàng)建后立即復(fù)制。一個可靠的驗(yàn)證方式是直接調(diào)用模型列表接口確認(rèn) Key 有效export DEEPSEEK_API_KEYsk-你的key curl -sS https://api.deepseek.com/v1/models \ -H Authorization: Bearer $DEEPSEEK_API_KEY如果返回包含模型信息的 JSON 數(shù)據(jù)說明 Key 可用。如果返回 401重點(diǎn)檢查 Key 是否復(fù)制完整是否包含多余空格或換行。如果請求超時則說明本機(jī)網(wǎng)絡(luò)無法穩(wěn)定訪問api.deepseek.com需要先解決網(wǎng)絡(luò)問題這一步不能被跳過。2.3 配置環(huán)境變量為了避免把 API Key 寫進(jìn)配置文件后傳到代碼倉庫推薦使用環(huán)境變量來管理。macOS/Linux 用戶可以在~/.zshrc或~/.bashrc中追加export DEEPSEEK_API_KEYsk-你的keyWindows 用戶可以在 PowerShell 中設(shè)置當(dāng)前用戶環(huán)境變量[System.Environment]::SetEnvironmentVariable(DEEPSEEK_API_KEY, sk-你的key, User)配置完成后重新打開終端執(zhí)行檢查命令echo ${#DEEPSEEK_API_KEY}這條命令會輸出環(huán)境變量的長度。如果輸出為 0說明變量沒有生效如果輸出大于 0再確認(rèn)長度是否和 Key 的實(shí)際長度一致。這里不要直接echo $DEEPSEEK_API_KEY把 Key 打印出來防止終端記錄歷史中被別人看到。下面用表格匯總基礎(chǔ)環(huán)境要求項(xiàng)目要求說明操作系統(tǒng)macOS / Linux / WindowsCodex CLI 支持主流桌面系統(tǒng)運(yùn)行時Node.js 或 Homebrewnpm 安裝方式需要 Node.js終端支持 UTF-8 編碼中文顯示依賴終端編碼DeepSeek API Key可用且余額充足按 token 計(jì)費(fèi)需要預(yù)充值網(wǎng)絡(luò)可訪問 api.deepseek.com內(nèi)網(wǎng)或受限網(wǎng)絡(luò)需要先解決訪問鏈路3. 編寫 config.toml完成 DeepSeek 接入3.1 配置文件位置和基本結(jié)構(gòu)Codex CLI 使用 TOML 文件保存配置。默認(rèn)路徑是macOS/Linux~/.codex/config.tomlWindows%USERPROFILE%\.codex\config.toml如果.codex目錄不存在先創(chuàng)建mkdir -p ~/.codex配置文件里通常由多張表組成。模型提供者定義在一個叫model_providers的映射中每個提供者有名字、地址和密鑰環(huán)境變量三個核心屬性。下面是一份可以直接復(fù)制的最簡配置model deepseek-chat model_provider deepseek [model_providers.deepseek] name DeepSeek base_url https://api.deepseek.com/v1 env_key DEEPSEEK_API_KEY這段配置的邏輯是Codex CLI 先讀model_provider得知要使用名為deepseek的提供者然后到model_providers表里找到deepseek的定義最后在發(fā)起請求時從env_key指定的環(huán)境變量中讀取 API Key。3.2 每個字段都代表什么字段作用常見錯誤model指定使用的模型名會拼進(jìn)請求體寫成展示名稱而不是 API 模型名model_provider指定使用哪一組提供者配置忘記配置該項(xiàng)仍走默認(rèn) OpenAIname提供者的展示名稱僅用于日志和顯示寫錯不影響請求但不利于排查base_url請求路徑的基礎(chǔ)地址多寫/chat/completions或漏寫/v1env_key從哪個環(huán)境變量讀取 Key設(shè)成DEEPSEEK_API_KEY但環(huán)境變量名不同base_url是這一段最容易出錯的地方。Codex CLI 在發(fā)起請求時會在基礎(chǔ)地址后面拼接出完整的 API 路徑。常見目標(biāo)是https://api.deepseek.com/v1請求最終會訪問https://api.deepseek.com/v1/chat/completions。如果你在base_url里手動寫上了chat/completions最終 URL 就會變成雙重路徑服務(wù)端必然返回 404。正確做法是只保留到/v1。3.3 模型名和提供者名需要特別注意DeepSeek 開放平臺通常提供多個模型。常見 API 模型名包括deepseek-chat和deepseek-reasoner分別對應(yīng)通用對話模型和帶推理步驟的模型。具體模型名要以你從 DeepSeek 控制臺看到的為準(zhǔn)不要根據(jù)舊文章猜。model_provider不是固定