BazaarLinkBazaarLink
登入
← 所有文章
發布時間 2026-08-21 · · 作者:BazaarLink · Codex 教學 · Codex CLI · AI Agent · 終端機工具 · 開發者指南

Codex CLI 教學:安裝、doctor 與 sandbox_mode 權限設定

Codex CLI 教學:安裝、登入、第一個任務,到 codex doctor、sandbox_mode 與 approval_policy 權限設定,附 API Key 登入與錯誤排查(2026-09 核對)。

Codex CLI 安裝、登入與第一個任務

Codex CLI 是在終端機中讀取與修改專案檔案的 OpenAI coding agent。先安裝 CLI、在專案目錄啟動並登入,再從小任務開始;你可以選 ChatGPT 登入或以 OpenAI API key 使用量計費。官方文件核對日:2026-09-24。

安裝與登入

  1. 依官方 Codex CLI 安裝頁選擇作業系統;npm 安裝可用 npm install -g @openai/codex@latest。
  2. 進入 Git 專案資料夾執行 codex,首次啟動選擇 ChatGPT 登入或其他可用方式。
  3. 如選 API key,先在 OpenAI Platform 專案建立 key,存入 OPENAI_API_KEY,並依官方登入方式執行 printenv OPENAI_API_KEY | codex login --with-api-key。PowerShell 可用 $env:OPENAI_API_KEY | codex login --with-api-key。
  4. 執行 codex login status 確認目前登入方式;接著先請它說明專案,再交代範圍明確的小任務。

Codex CLI 安裝與認證文件:官方 CLI quickstart、Codex Authentication、OpenAI project key 管理。核對日:2026-09-24。ChatGPT 訂閱登入和 API key 登入採不同計費方式;API key 使用按 OpenAI API 價格計費。OpenAI 官方將 ChatGPT 和 API Platform 帳務分開管理,核對日:2026-09-24:ChatGPT 與 API Platform 帳務說明。

第一個 API 請求與相容端點

若要在終端直接呼叫 OpenAI API,Responses API 使用 OPENAI_API_KEY:

export OPENAI_API_KEY="你的 OpenAI project key"
curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-6-sol","input":"用一句繁體中文說明 Codex CLI。"}'

若使用 BazaarLink 的 OpenAI 相容 Responses API,model ID 以公開目錄為準:

export BAZAARLINK_API_KEY="你的 BazaarLink 金鑰"
curl https://api.bazaarlink.ai/v1/responses \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-6-sol","input":"用一句繁體中文說明 Codex CLI。"}'

Codex CLI 的自訂模型設定依 OpenAI 官方 config reference 使用 Responses protocol;不要把 API 呼叫範例與 Codex 的 ChatGPT 登入混為一談。需查看本機模型選擇與用量限制,接著讀Codex 額度與用量上限;安裝細節另見英文 Codex CLI 安裝指南。模型資訊核對日:2026-09-24:Codex CLI config reference、OpenAI GPT-6 Sol 定價、BazaarLink GPT-6 Sol 頁。

OpenAI API key 申請與台灣付款憑證整理在OpenAI API 台灣採購指南;要比較 Claude Code,可看Claude CLI 教學。

Codex 是 OpenAI 的終端機編碼代理:你在專案資料夾裡打一句話,它自己讀檔案、改程式、跑測試,做完把 diff 攤在你面前。和把程式碼複製貼進聊天視窗最大的差別是——它真的動得到你的檔案系統,所以「權限」跟「沙箱」才是這篇教學的重點,而不是怎麼下 prompt。

本文涵蓋安裝、第一個任務、常用模式、config.toml、沙箱與自訂模型設定;Codex CLI 更新較快,操作前請先執行 codex --version,並以官方文件核對目前選項。用量與方案差異另見Codex 額度與用量上限與AI API 價格比較。

Codex CLI 的自訂 provider 設定依安裝版本為準;官方 config reference 列出 base_url、env_key 與 wire_api 欄位,並使用 Responses protocol。核對日:2026-09-24。

安裝 Codex CLI

Codex 以 npm 套件發布:

npm install -g @openai/codex
codex --version

macOS 使用者也可以走 Homebrew(注意是 cask,不是 formula):

brew install --cask codex

Windows 直接用上面的 npm 指令即可,不需要 WSL。

裝完先在任意專案裡跑 codex doctor,它會檢查安裝、設定檔、認證與執行環境,比自己猜哪裡壞掉快得多。

第一個任務:讓它改一支檔案

cd 到一個有 git 的專案(Codex 預設要求 git repo,因為它靠 git 幫你保留反悔的餘地),然後:

codex

進入互動介面後,直接用中文描述你要什麼:

把 src/utils/date.ts 裡的 formatDate 改成支援 timezone 參數,並補上對應的單元測試

它會開始讀檔、提出要執行的指令、等你核准,改完後印出 diff。這時候你有三個選擇:接受、要求它修正、或直接 git checkout . 全部丟掉。養成「先 commit 再叫 Codex 動手」的習慣,你就永遠有一條退路。

想跳過互動介面、把它塞進腳本裡,用 exec:

codex exec "修掉 eslint 現在報的所有 no-unused-vars"

四個你真的會用到的子指令

指令用途
codex互動式 TUI,日常主力
codex exec "<任務>"非互動執行,適合腳本與 CI
codex review對目前的變更跑一次程式碼審查
codex resume --last接續上一段對話,不用重講一次背景

codex resume 特別值得記——Codex 的 session 是可以續的,改到一半被會議打斷不用重新交代脈絡。想從某個時間點分岔出另一條路線,用 codex fork。

設定檔:~/.codex/config.toml

這是整個工具的控制面板。Windows 在 C:\Users\<你>\.codex\config.toml。最小可用的設定長這樣:

model = "gpt-5.4"
approval_policy = "on-request"
sandbox_mode = "workspace-write"

三個欄位的意思:

model — 要用哪個模型。也可以每次啟動臨時覆蓋:codex -m gpt-5.3-codex。

approval_policy — 什麼時候要問你。三個值:

  • untrusted:只有 ls、cat 這類安全指令自己跑,其他一律問你。最保守。
  • on-request:模型自己判斷什麼時候該問。日常平衡點,建議從這個開始。
  • never:完全不問。只在你已經確定沙箱夠緊的情況下用。

sandbox_mode — 它能碰到什麼。三個值:

  • read-only:只能讀,不能寫、不能連網。拿來做程式碼導讀最安全。
  • workspace-write:可以改目前工作目錄底下的檔案。九成情境用這個。
  • danger-full-access:整台機器隨便它動。除非你人在容器或 VM 裡,否則不要。

還有一個沙箱預設會咬人的地方:workspace-write 底下對外網路預設是關的。所以它跑 npm install 或任何要連線的指令會失敗,而且失敗訊息不一定講清楚是網路被擋。要開就明講:

[sandbox_workspace_write]
network_access = true

approval_policy 和 sandbox_mode 是兩個獨立的閘門,很多人以為設了其中一個就安全了。實務上最舒服的組合是 on-request + workspace-write:它可以自由改專案內的檔案,但要跑 rm -rf 或裝東西時會停下來問你。

想讓它多寫一個目錄,啟動時加 --add-dir:

codex --add-dir ../shared-types

用 AGENTS.md 教它你的專案規矩

在專案根目錄放一個 AGENTS.md,Codex 每次開工都會讀。這是投報率最高的一步——與其每次都在 prompt 裡重講一次「我們用 pnpm 不是 npm」,不如寫進去一次:

# AGENTS.md

- 套件管理用 pnpm,不要用 npm 或 yarn。
- 所有 API 回應型別放在 `src/types/api.ts`,不要就地定義 interface。
- 改完一定要跑 `pnpm test -- --run` 確認綠燈才回報。
- commit message 用繁體中文,格式 `type(scope): 說明`。

AGENTS.md 可以逐層放:家目錄一份放個人偏好,專案根目錄一份放團隊規範,子目錄再放一份放該模組的特殊規則。越靠近檔案的優先。

自訂 OpenAI 相容 Responses 端點

Codex CLI 的自訂 provider 以 Responses API 通訊。以下欄位依 OpenAI 官方 config reference;BazaarLink model ID 取自公開目錄。環境變數保存金鑰,設定檔只放變數名稱。

model = "gpt-6-sol"
model_provider = "bazaarlink"
approval_policy = "on-request"
sandbox_mode = "workspace-write"

[model_providers.bazaarlink]
name = "BazaarLink"
base_url = "https://api.bazaarlink.ai/v1"
wire_api = "responses"
env_key = "BAZAARLINK_API_KEY"

macOS/Linux 可設定 export BAZAARLINK_API_KEY="你的 key";Windows PowerShell 使用 $env:BAZAARLINK_API_KEY = "你的 key"。之後在專案目錄啟動 codex,先讓它說明目前工作目錄,再交付小範圍任務。模型 ID 和價格先看 公開目錄與 GPT-6 Sol 模型頁。

官方設定欄位核對日:2026-09-24:Codex config reference。此處 Codex 設定使用 Responses API;前面的 Chat Completions 範例是給採用 OpenAI SDK 格式的一般應用使用。

CLI 錯誤排查

若看到 Model metadata for ... not found,先核對 model ID、provider 與 CLI 版本;官方 issue tracker 討論了模型 metadata fallback 可能影響功能的情況:Codex CLI issue #34739。核對日:2026-09-24。

「not a git repository」開不起來 — Codex 預設要求 git repo。臨時測試可以加 --skip-git-repo-check,但正式工作請乖乖用 git,不然你沒有反悔的手段。

它一直問我要不要執行指令 — approval_policy 設得太保守。從 untrusted 調到 on-request。

它說沒有權限寫檔案 — sandbox_mode 是 read-only,改成 workspace-write。若要寫的檔案在工作目錄外,用 --add-dir 加進來。

改壞了想全部還原 — git checkout .(未 commit 的變更)或 git reset --hard HEAD(含已 stage 的)。這就是為什麼要先 commit。

設定改了沒生效 — 加 --strict-config 啟動,它會對設定檔裡不認得的欄位直接報錯,而不是安靜忽略。打錯字時特別有用。

小結

Codex 的學習曲線不在 prompt,在於搞清楚 approval_policy × sandbox_mode 這個二維表格,以及願不願意花十分鐘寫 AGENTS.md。這兩件事做完,它從「有趣的玩具」變成「可以交付工作的同事」。

自訂模型端點可依官方設定欄位調整,所以你不必為了試別家模型重學一套工具——改四行設定就好。

FAQ

Codex CLI 怎麼安裝?

使用官方 Codex CLI 頁面選擇適合作業系統的方式;npm 安裝命令為 npm install -g @openai/codex@latest。進入專案資料夾執行 codex,並依畫面登入。核對日:2026-09-24。

config.toml 的 approval_policy 和 sandbox_mode 差在哪?

兩個是獨立的閘門。approval_policy 決定「什麼時候要問你」(untrusted / on-request / never),sandbox_mode 決定「它能碰到什麼」(read-only / workspace-write / danger-full-access)。日常最平衡的組合是 on-request 加 workspace-write:專案內的檔案可以自由改,要跑破壞性指令時會停下來問。

為什麼照舊教學寫的 wire_api 設定會開不起來?

Codex CLI 的自訂 provider 需設定與端點相符的 wire_api。官方設定參考列出 responses protocol;若舊範例指定 chat,先對照安裝版本及端點支援,不要直接複製舊設定。官方設定文件核對日:2026-09-24。

可以讓 Codex 跑在 OpenAI 以外的模型上嗎?

可以。在 config.toml 加一個 [model_providers.<名稱>] 區塊,填 base_url 與 env_key,再把頂層的 model_provider 指過去即可,Codex 本身不用改。金鑰放在 env_key 指定的環境變數裡,不會寫進設定檔。

Codex 說 not a git repository 開不起來怎麼辦?

Codex 預設要求專案是 git repo,因為它靠 git 讓你能反悔。臨時測試可以加 --skip-git-repo-check,但正式工作建議照常用 git,並養成動手前先 commit 的習慣。

看到 warning: Model metadata for ... not found 是壞了嗎?

不一定代表模型無法呼叫,但也不能視為無害訊息。這表示 CLI 找不到本地型號 metadata,會套用 fallback;官方 Codex issue tracker 有案例指出 fallback 可能造成效能退化或功能錯誤。請核對 model ID、provider 和 CLI 版本,再依官方文件配置型號。來源核對日:2026-09-24。

Codex CLI 可以使用 API key 嗎?

可以。OpenAI 官方支援 ChatGPT 登入與 API key 登入;CLI 可讀取 OPENAI_API_KEY,依官方說明登入。使用 API key 時由 OpenAI Platform 按 API 使用量計費,部分 ChatGPT workspace 功能可能不可用。核對日:2026-09-24。

Codex CLI 使用 API key 會算在 ChatGPT 訂閱內嗎?

不會。ChatGPT 訂閱與 OpenAI API Platform 分開計費;Codex 以 API key 登入時,API 用量依所選型號、token 與其他適用項目計費,不包含在 ChatGPT 訂閱費中。OpenAI 帳務說明核對日:2026-09-24。

立即體驗 BazaarLink

台幣計費・統一發票・主流 AI 模型・OpenAI 相容 API

免費註冊 / 登入企業採購洽詢
相關文章
Claude Code · Claude Code 更新 · changelog · mods · 權限規則
Claude Code 2.1.289 更新整理:27 項變更、權限規則修補與 mods 穩定性
Claude Code · Claude Code mods · plugin · TypeScript · AI 編程工具
Claude Code 開放 Mods:用 TypeScript 改行為、改介面、換功能
聯網搜尋 · AI agent · LLM · Hermes Agent
Hermes Agent 聯網搜尋:用 BazaarLink 模型加 :online
客服
客服
您好!有什麼可以協助?
請留下訊息,我們會盡快回覆。