Skip to content

Instantly share code, notes, and snippets.

@cht-k
Last active October 22, 2025 15:26
Show Gist options
  • Save cht-k/62a27d1e8efea97b49db557fd85ceaff to your computer and use it in GitHub Desktop.
Save cht-k/62a27d1e8efea97b49db557fd85ceaff to your computer and use it in GitHub Desktop.
透過 copilot-api 和 claude-code-router,將您的 GitHub Copilot Business 訂閱變成 Claude Code 的強大後端

背景與動機

在當前的技術社群,像 Claude Code 這類工具因其引領的「Vibe Coding」風潮而備受推崇。 這種開發方式,指的是開發者透過自然語言描述問題,引導 AI 產生、修改及審閱程式碼, 將傳統的手動編碼轉變為指導與迭代 AI 生成結果的過程,大幅提升了開發效率。

然而,許多對資安較為嚴謹的公司會將原始碼視為機密資料,禁止使用未經審核的外部 AI 服務來處理程式碼。 這意味著像 Cursor、Windtunnel,或是直接串接外部 API 的作法都可能不合規。

在這種情況下,一個常見的合規方案就是 GitHub Copilot Business 訂閱。 這份文件將以它為例,說明如何透過一些開源工具的巧妙組合,讓你在合規的框架下,也能享受到 Claude Code 的強大功能。

前置準備

  • 請確保您的電腦已安裝 Bun (>= 1.2.x)。
  • 請確保您已經安裝好 Claude Code

推薦方案:直接代理 (穩定且靈活)

此方案是我們最推薦的方式。它不使用額外的路由層,而是將 Claude Code 直接指向 copilot-api。 設定簡單、穩定,並且依然可以透過 Claude Code 內建的指令靈活切換模型。

設定步驟

步驟一:運行 copilot-api (官方最新版本)

此方案可直接使用官方最新版本的 copilot-api

# 使用 npx 直接運行
# 重要:最新版本已將 --business 參數改為 --account-type business
npx copilot-api@latest start --port 4141 --account-type business

首次運行會需要登入 GitHub 授權。成功後,請保持此終端機視窗運行。

步驟二:設定 Claude Code

有兩種方式可以讓 Claude Code 連接到我們啟動的代理服務,擇一即可。

方法 A:修改設定檔 (推薦,一勞永逸)

直接編輯 Claude Code 的設定檔,這是最推薦的方式。

  1. 開啟 (或建立) 設定檔:~/.claude/settings.json
  2. 填入以下內容,它會將 gpt-4.1 設為預設模型。
{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:4141",
    "ANTHROPIC_API_KEY": "dummy",
    "ANTHROPIC_MODEL": "gpt-4.1",
    "ANTHROPIC_BACKGROUND_MODEL": "gpt-4.1"
  }
}

設定完成後,直接在終端機執行 claude 即可啟動。

方法 B:使用環境變數 (臨時性)

如果你不想修改設定檔,也可以在每次啟動時傳入環境變數。

export ANTHROPIC_BASE_URL=http://localhost:4141 \
       ANTHROPIC_API_KEY=dummy \
       ANTHROPIC_MODEL=gpt-4.1 \
       ANTHROPIC_BACKGROUND_MODEL=gpt-4.1 \
&& claude
步驟三:在 Claude Code 中切換模型

即使設定了預設模型,你依然可以在 Claude Code 的對話框中,隨時使用 /model 指令來切換當前對話要使用的模型。 例如,如果你想臨時切換到 claude-sonnet-4

/model claude-sonnet-4

進階/實驗性方案:智慧路由

注意: 此方案設定較為複雜,且依賴 copilot-api 的一個非官方 Fork 版本,可能存在未知的風險或不穩定性。 僅推薦給了解其原理,並確實需要「自動化」模型路由功能的進階使用者。

此方案透過 claude-code-router 實現智慧模型路由,能根據任務需求(如長文脈、深度思考)自動切換模型。

架構示意圖

+--------------+     (HTTP Request)     +-----------------------+     (HTTP Request)     +---------------------+     (GitHub API)     +--------------------+
|              |  <----------------->   |                       |  <----------------->   |                     |  <--------------->   |                    |
|  Claude Code |                        |  claude-code-router   |                        |    copilot-api      |                      |  GitHub Copilot    |
|   (Client)   |  (localhost:3456)      | (Intelligent Routing) |  (localhost:4141)      |  (API Proxy)        |                      |     (Service)      |
|              |  ------------------>   |                       |  ------------------>   |                     |  ------------------> |                    |
+--------------+                        +-----------------------+                        +---------------------+                      +--------------------+

設定步驟

步驟一:安裝並運行 copilot-api (Fork 版本)
# 1. 下載指定的 fork 版本
git clone [https://github.com/nghyane/copilot-api.git](https://github.com/nghyane/copilot-api.git) -b fix-tokenizer-and-tool-support
cd copilot-api

# 2. 安裝依賴
bun install

# 3. 啟動伺服器 (注意:此 fork 版本仍使用舊的 --business 參數)
bun run start start --port 4141 --business
步驟二:安裝並設定 claude-code-router
# 1. 全域安裝 claude-code-router
npm install -g @musistudio/claude-code-router

# 2. 建立並編輯設定檔:~/.claude-code-router/config.json
mkdir -p ~/.claude-code-router
touch ~/.claude-code-router/config.json

編輯 config.json 檔案,填入以下內容:

{
  "OPENAI_API_KEY": "gh",
  "OPENAI_BASE_URL": "http://localhost:4141/v1",
  "OPENAI_MODEL": "gpt-4.1",
  "Providers": [
    {
      "name": "gh",
      "api_base_url": "http://localhost:4141/v1",
      "api_key": "dummy",
      "models": [
        "gpt-4.1",
        "claude-sonnet-4",
        "gemini-2.5-pro"
      ]
    }
  ],
  "Router": {
    "default": "gh:gpt-4.1",
    "background": "gh:gpt-4.1",
    "think": "gh:claude-sonnet-4",
    "longContext": "gh:gemini-2.5-pro"
  }
}
步驟三:啟動 Claude Code
ccr code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment