【跨平台 AI Coding】在 Linux Zsh 與 Win11 PowerShell 終端環境配置 Claude Code CLI 多模型 AI 引擎切換

前言

Claude Code CLI 功能真的非常強大,它 的核心特徵圍繞著「以代理(Agent)為中心的自動化工作流」。它結合了 MCP(Model Context Protocol)來與外部工具、伺服器或本地資源安全整合,並透過 Skills 讓代理具備可組合、可重用的能力模組,例如讀寫檔案、操作 Git、執行程式碼、呼叫 API;同時 Hooks 則提供事件驅動式的擴充點,可在特定情境觸發自動化任務,在整個 CLI 工作流中插入自定義行為。

然而,Claude Code CLI 的使用成本也成為一個實際障礙。即便訂閱了 Claude Pro,其 Code 模式的使用並不是以固定 token 上限計價,而是採用 動態的時間視窗配額(例如每 5 小時的使用上限)與 每週累積限制。一旦在這些窗口中觸碰到系統的隱含上限,Claude Code 就會被臨時鎖住,必須等待視窗重置才能繼續使用。問題在於,Code 模式本身的模型運算量大,只要啟動較複雜的 Agent、串接 MCP 工具或執行多次程式碼迭代,就很容易在短時間內快速吃完整個視窗配額。這種「不透明、又很容易超過」的限制機制,使得長時間開發或高頻測試變得不可預期,甚至在重要任務中突然被鎖住,無法工作。因此,我不得不評估以 OpenAI、DeepSeek、GLM 等第三方 API 作為替代選項,以避免開發流程被這種動態限額所干擾,並維持成本與工作節奏的可控性。

第三方模型之所以能直接替代 Claude Code,關鍵在於它們本身就支援 Anthropic API 協定(Anthropic-Compatible API)。這表示它們提供的端點格式、請求欄位、訊息結構及回應格式,都與 Anthropic 官方 API 保持一致;因此,原本為 Claude 設計的調用方式、指令格式與 Code Agent 的上層流程不需要修改,便能無縫切換到其他模型服務。也就是說,這些第三方模型並不是透過模擬或轉換,而是原生提供與 Anthropic 相容的 API 標準,使得在整合與替換上幾乎不會產生協定層面的問題。

解決方案

要讓第三方 AI 運行 Claude Code,實際操作上其實很簡單:唯一要做的,就是明確設定好幾個關鍵的環境變數。這包括所選定的第三方服務(如 DeepSeek 或是 GLM)的 API Base URLAuth Token (金鑰),以及模型名稱 等。只要把這些參數地定義在 Shell 的啟動檔案中(Zsh 放在 .zprofile,PowerShell 則是 $PROFILE),Claude Code CLI 在每次啟動的時候,就能讀取環境變數設定,自動把通訊目標從預設的 Anthropic 官方端點,切換到指定的第三方 API 服務上。

但如果每次要切換模型(如從 DeepSeek 切換至 GLM),都要跑去改 .zprofile$PROFILE 的預設變數,那也太麻煩了!其實更具彈性的作法就是:將所訂閱的 AI 模型(DeepSeek/GLM)的所有參數都預先存成不同的環境變數組,然後利用 Shell 本身提供的強大功能,來實現一鍵切換,得以快速切換 Claude Code 的運行模型。

我個人的開發環境同時會在 Windows 11,以及它的 WSL(運行 Ubuntu 與 Zsh)子系統內。 Zsh 可以使用 alias 來實現;而在 PowerShell 則是應用 Function 的定義。這兩種做法的原理都一樣:它們在執行 claude CLI 之前,臨時覆蓋掉那些決定服務端點、金鑰和模型名稱的核心環境變數。所以,只要在終端機輸入一個自訂的指令,例如 dpkglm,它就會自動完成環境變數的切換和 CLI 的啟動。這樣一來,無論在 WSL 還是 Win11 上,都能瞬間無縫地在不同 AI 引擎間跳轉,工作節奏完全不會被打亂!

以下分別列出 ZshPowerShell 兩個版本的設定檔配置(代表在 Linux / Windows 都可以運行 )。另外也同時處理了 VS Code 擴充功能的設定,如果是直接在 VS Code 側邊欄使用 Claude Code 的話,就必須先設定好擴充功能預設要讀取的 AI 模型環境變數

雙環境設定與配置摘要

  • 前置條件:當然已先安裝好 Claude Code CLI IDE Tool(Optional:安裝 Claude Code for VSCode 擴展)。

WSL(Ubuntu)Zsh 環境配置

~/.zprofile 檔案中的變數會在登入時載入,VS Code 擴充功能也會讀取這裡的設定(這將決定 Claude Code 側邊欄預設使用的模型。)。

1. 編輯 (或建立) .zprofile 檔案:

> nano ~/.zprofile

2. 貼上以下完整內容,儲存後退出。

# -----------------------------------------------------------
# Z-Profile: Claude Code 環境變數 (供 Zsh 和 IDE 擴充功能讀取)
# -----------------------------------------------------------
# ZAI (智譜)
export ZAI_BASE_URL="https://open.bigmodel.cn/api/anthropic"
export ZAI_AUTH_TOKEN="your-api-key"
export ZAI_MODEL="glm-4.6"
# DeepSeek
export DEEPSEEK_BASE_URL="https://api.deepseek.com/anthropic"
export DEEPSEEK_AUTH_TOKEN="your-api-key"
export DEEPSEEK_MODEL=deepseek-chat
export DEEPSEEK_SMALL_FAST_MODEL=deepseek-chat
# Claude Code 通用设置
export API_TIMEOUT_MS=600000
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
# -----------------------------------------------------------
#    為 VS Code 擴充功能 (GUI) 設定「預設」後端模型
#    請在 A 和 B 之間「二選一」,將您不要的區塊註解掉。
# -----------------------------------------------------------
# --- (A) 預設使用 GLM (ZAI) ---
# (若要啟用此項,請確保 (B) 區塊被註解掉)
#
export ANTHROPIC_BASE_URL=$ZAI_BASE_URL
export ANTHROPIC_AUTH_TOKEN=$ZAI_AUTH_TOKEN
export ANTHROPIC_MODEL=$ZAI_MODEL
# --- (B) 預設使用 DeepSeek ---
# (若要啟用此項,請將 (A) 區塊的三行註解掉,並取消註解此區塊)
#
# export ANTHROPIC_BASE_URL=$DEEPSEEK_BASE_URL
# export ANTHROPIC_AUTH_TOKEN=$DEEPSEEK_AUTH_TOKEN
# export ANTHROPIC_MODEL=$DEEPSEEK_MODEL
# export ANTHROPIC_SMALL_FAST_MODEL=$DEEPSEEK_SMALL_FAST_MODEL

3. 編輯 .zshrc 檔案

> nano ~/.zshrc

4. 在該檔案內容最下方處加上以下內容,儲存並退出。

# -----------------------------------------------------------
# Claude Code 相關參數設置與別名設定
# -----------------------------------------------------------
# Claude Code 自動確認低風險操作
export CLAUDE_CODE_AUTO_CONFIRM=true
# Claude Code alias
alias cc="clear && claude"
alias glm='clear && \
  ANTHROPIC_BASE_URL=$ZAI_BASE_URL \
  ANTHROPIC_AUTH_TOKEN=$ZAI_AUTH_TOKEN \
  ANTHROPIC_MODEL=$ZAI_MODEL \
  CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=$CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC \
  claude'
alias dpk='clear && \
  ANTHROPIC_BASE_URL=$DEEPSEEK_BASE_URL \
  ANTHROPIC_AUTH_TOKEN=$DEEPSEEK_AUTH_TOKEN \
  API_TIMEOUT_MS=$API_TIMEOUT_MS \
  ANTHROPIC_MODEL=$DEEPSEEK_MODEL \
  ANTHROPIC_SMALL_FAST_MODEL=$DEEPSEEK_SMALL_FAST_MODEL \
  CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=$CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC \
  claude'

5. 最後,重新登入並驗證。

開啟新的終端機(Terminal),可以試著執行 cc(啟動官方模型)、dpk(啟動 DeepSeek)、glm(啟動智譜 GLM)。

另外,也可以同時開啟 VSCode,並於擴充功能側邊欄內查看現在所使用的預設模型。可以在聊天欄內輸入 /model 確認模型名稱。

Claude Code CLI for Multi AI Models

PowerShell(Win11)環境配置

PowerShell 的 $PROFILE 檔案扮演著類似於 Linux 世界中 .bashrc.zshrc 的角色。它是一個在 PowerShell 啟動時會自動執行的腳本檔案。

1. 首先開啟一個 新的 PowerShell 終端機 (非 Command Prompt),輸入以下指令來用預設編輯器(通常是記事本)開啟設定檔。如果檔案不存在,系統會提示您建立它。

> notepad $PROFILE

2. 將 Zsh 的別名 (alias) 和環境變數語法,改寫為 PowerShell 的函式 (function) 和變數語法( PowerShell 使用 Function 而非 Alias )。完整內容如下,儲存後退出。

# -----------------------------------------------------------
# PowerShell Profile: Claude Code 環境變數
#
# 這是從 Zsh (.zprofile) 轉換而來的基礎變數
# -----------------------------------------------------------
# 1. 基礎變數定義 (來自 .zprofile)
# ZAI (智譜)
$env:ZAI_BASE_URL = "https://open.bigmodel.cn/api/anthropic"
$env:ZAI_AUTH_TOKEN = "your-api-key-for-glm"
$env:ZAI_MODEL = "glm-4.6"
# DeepSeek
$env:DEEPSEEK_BASE_URL = "https://api.deepseek.com/anthropic"
$env:DEEPSEEK_AUTH_TOKEN = "your-api-key-for-deepseek"
$env:DEEPSEEK_MODEL = "deepseek-chat"
$env:DEEPSEEK_SMALL_FAST_MODEL = "deepseek-chat"
# Claude Code 通用设置
$env:API_TIMEOUT_MS = 600000
$env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = 1
# -----------------------------------------------------------
# 2. 為 VS Code 擴充功能 (GUI) 設定「預設」後端模型
#    (請在 A 和 B 之間「二選一」,將您不要的區塊註解掉)
# -----------------------------------------------------------
# --- (A) 預設使用 GLM (ZAI) ---
# (若要啟用此項,請確保 (B) 區塊被註解掉)
#
$env:ANTHROPIC_BASE_URL = $env:ZAI_BASE_URL
$env:ANTHROPIC_AUTH_TOKEN = $env:ZAI_AUTH_TOKEN
$env:ANTHROPIC_MODEL = $env:ZAI_MODEL
# (移除 DeepSeek 專用變數,以防衝突)
if (Test-Path env:ANTHROPIC_SMALL_FAST_MODEL) { Remove-Item env:ANTHROPIC_SMALL_FAST_MODEL }
# --- (B) 預設使用 DeepSeek ---
# (若要啟用此項,請將 (A) 區塊註解掉,並取消註解此區塊)
#
# $env:ANTHROPIC_BASE_URL = $env:DEEPSEEK_BASE_URL
# $env:ANTHROPIC_AUTH_TOKEN = $env:DEEPSEEK_AUTH_TOKEN
# $env:ANTHROPIC_MODEL = $env:DEEPSEEK_MODEL
# $env:ANTHROPIC_SMALL_FAST_MODEL = $env:DEEPSEEK_SMALL_FAST_MODEL
# -----------------------------------------------------------
# 3. PowerShell 函式 (取代 Zsh 別名)
# -----------------------------------------------------------
# Claude Code 自動確認低風險操作
$env:CLAUDE_CODE_AUTO_CONFIRM = $true # PowerShell 使用 $true
# Function 'cc' (取代 alias cc)
function cc {
    Clear-Host
    claude
}
# Function 'glm' (取代 alias glm)
function glm {
    Clear-Host
    # 臨時設定 ZAI (GLM) 環境
    $env:ANTHROPIC_BASE_URL = $env:ZAI_BASE_URL
    $env:ANTHROPIC_AUTH_TOKEN = $env:ZAI_AUTH_TOKEN
    $env:ANTHROPIC_MODEL = $env:ZAI_MODEL
    $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
    # (移除 DeepSeek 專用變數,以防衝突)
    if (Test-Path env:API_TIMEOUT_MS) { Remove-Item env:API_TIMEOUT_MS }
    if (Test-Path env:ANTHROPIC_SMALL_FAST_MODEL) { Remove-Item env:ANTHROPIC_SMALL_FAST_MODEL }
    # 執行 claude
    claude
}
# Function 'dpk' (取代 alias dpk)
function dpk {
    Clear-Host
    # 臨時設定 DeepSeek 環境
    $env:ANTHROPIC_BASE_URL = $env:DEEPSEEK_BASE_URL
    $env:ANTHROPIC_AUTH_TOKEN = $env:DEEPSEEK_AUTH_TOKEN
    $env:API_TIMEOUT_MS = $env:API_TIMEOUT_MS
    $env:ANTHROPIC_MODEL = $env:DEEPSEEK_MODEL
    $env:ANTHROPIC_SMALL_FAST_MODEL = $env:DEEPSEEK_SMALL_FAST_MODEL
    $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
    # 執行 claude
    claude
}

3. 關閉並重新開啟 PowerShell 終端機,與上述 Zsh 一樣方式執行在終端機以及 VSCode 上的配置是否確定生效。

總結

目前我較常使用的模型是 DeepSeek v3.2,也充值了 US$20。我試著開發了一個在 WordPress 的插件(Plugin),整體來說效果還是挺不錯的。

雖然根據一些開發者的經驗分享,DeepSeek v3.2 的性能大約在 Claude v4.5 的五、六成左右,但它的成本效益真的太驚人了!有一次我不小心讓它執行專案開發時「空轉」,結果耗費了超級多的 Tokens,竟然高達兩千六百萬!但當我回頭查詢 DeepSeek 的後台管理,呼!到目前為止,總共也只花了不到 2 美金的開發成本。

估計 DeepSeek 的開發成本大約只有 Claude v4.5 的 1/8 ~ 1/10 左右吧。對於開發輕量級的專案,或者懂得如何控制變動範圍的開發者來說,應該是足夠用了。

當然,如果不缺錢,或公司有補助 AI 開發預算的話,那肯定還是要選擇 Claude 原生的模型,截至目前為止,它在生成程式碼的品質上,對個人來說,絕對是最優的選擇

留下第一條留言