文件

文件

GitHub Copilot CLI

根據 GitHub 自己的文件,Copilot CLI 的自帶金鑰(BYOK)設定只需四個環境變數,而且完全不需要登入 GitHub。將它指向 Kunavo 後,代理程式會使用預付餘額,而非 AI Credits 執行;同時,/delegate、GitHub MCP server 和 GitHub Code Search 仍需透過該登入帳戶使用。

四個環境變數 — COPILOT_PROVIDER_BASE_URL、COPILOT_PROVIDER_TYPE、COPILOT_PROVIDER_API_KEY 與 COPILOT_MODEL — 將 Copilot CLI 移至你自己的端點;GitHub 文件指出 BYOK 不需要 GitHub 登入。

您啟動 copilot 的 shell
# Set before you start Copilot CLI. Variable names and order are GitHub's;
# COPILOT_PROVIDER_BASE_URL and COPILOT_MODEL are the two marked Required.
export COPILOT_PROVIDER_BASE_URL=https://api.kunavo.com/v1   # see the note below
export COPILOT_PROVIDER_TYPE=openai                          # the default, shown for clarity
export COPILOT_PROVIDER_API_KEY=sk-kn-...
export COPILOT_MODEL=claude-sonnet-5

copilot
GitHub 未說明 Copilot CLI 會附加哪個路徑,因此上方的 /v1 是操作範例,而非規則。 BYOK 頁面僅將此欄位定義為「模型供應商 API 端點的基礎 URL」,並未提供明確答案;頁面上的範例則呈現兩種格式:遠端 OpenAI 相容端點使用 https://api.openai.com/v1,Ollama 和 Anthropic 則使用裸來源網址。本頁採用遠端 OpenAI 相容格式,因為 Kunavo 屬於此類端點。若請求回傳 404,表示後綴重複附加 — 請移除後綴並使用 https://api.kunavo.com。401 是金鑰,不是 URL;下方的 curl 會在您開始偵錯 CLI 前說明兩者的差異。
殘留的 ~/.copilot/providers.json 會在不提示的情況下,優先於這些環境變數。 GitHub 的設定目錄參考文件指出,若該檔案宣告了任何供應商或模型,就會優先於 COPILOT_PROVIDER_* 變數;文件並將這些變數稱為舊版設定。而 BYOK 操作指南完全沒有提到這個檔案。若 CLI 忽略了你剛匯出的基底網址,請先檢查該檔案。同一份參考文件只說該檔案是包含 providers 和 models 索引鍵的 JSON 物件,並未公布結構定義,因此此處不提供檔案範例;GitHub 建議參閱 copilot help providers 以取得更多資訊。
此設定內容是根據 GitHub 自己的文件,於下方日期整理而成。Kunavo 尚未使用 Copilot CLI 測試其端點——沒有測試過工作階段、串流回合、工具往返,這個系列中的其他用戶端也一樣。已發布的設定指南不等於測試結果。GitHub 要求 BYOK 模型支援工具呼叫和串流,否則會回傳錯誤,因此你交給它的第一項任務應該是操作檔案,而非只說聲哈囉。
Kunavo 不提供 embedding、文字轉語音或語音轉文字模型,因此此端點只會回應聊天回合。GitHub Code Search、GitHub MCP server 和 /delegate 是 GitHub 端提供的功能,BYOK 供應商無法取代;GitHub 文件指出,未登入時無法使用這些功能。除了設定供應商之外,你也可以登入,以保留這些功能。
還沒有金鑰?建立 Kunavo 帳戶,建立金鑰(以 sk-kn- 開頭),並從 $10 起新增額度——呼叫會從該餘額扣款,失敗的呼叫不會計費。之後儀表板會開啟 GitHub Copilot CLI 設定。

逐步操作

  1. 在 /app/keys 建立金鑰並複製——金鑰只會顯示一次。
  2. 檢查是否有過時的 ~/.copilot/providers.json(或它所指向的項目 COPILOT_PROVIDERS_CONFIG)。如果其中宣告了供應商或模型,就會優先於步驟 3 的所有設定。
  3. 如上所示,匯出 COPILOT_PROVIDER_BASE_URL、COPILOT_PROVIDER_API_KEY 和 COPILOT_MODEL。COPILOT_PROVIDER_TYPE 預設為 openai;GitHub 說明這涵蓋「任何其他相容於 OpenAI Chat Completions API 的端點」。
  4. 在同一個 shell 中啟動 copilot——這些值會在啟動時讀取,因此先前開啟的終端機仍會使用舊值。
  5. 交給它一項需要讀取並編輯檔案的任務。Copilot CLI 需要模型支援工具呼叫和串流;第一次執行若能測試這兩項功能,比只打聲招呼更有參考價值。若要比較兩個 id,可用 --model 在單次執行中覆寫 COPILOT_MODEL。

已於 2026年9月21日 根據 GitHub 的「在 GitHub Copilot CLI 中使用自有 LLM 模型」 進行確認。第三方設定會變動;如果這裡的欄位名稱不再與你看到的內容相符,應以該頁面為準,而不是本頁。

這是簡短版本。完整指南——模型選擇、實際工作階段費用,以及失敗情況——請參閱 Copilot CLI 與 Claude Code——BYOK 的界線和兩筆帳單。

除錯用戶端前先驗證

一個請求就能判斷失敗原因是端點、金鑰還是設定檔。如果這裡回傳 JSON,則相同的基礎 URL 與金鑰在 GitHub Copilot CLI 中也能運作。

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

欄位中應填入哪個模型 ID

每個文字模型都能以模型 ID 存取——即時清單位於 GET /v1/models,帶有價格的目錄位於模型頁面。費率是每 1M 權杖的美元價格,輸入/輸出。

模型 IDKunavo 輸入/輸出它在 GitHub Copilot CLI 中的位置
claude-sonnet-5$1.40 / $7.00適合作為會編輯檔案的工作階段預設模型
claude-opus-5$3.50 / $17.50規劃一項出錯代價高昂的變更
claude-haiku-4-5$0.70 / $3.50低成本回合——分類、摘要,以及全天候執行的迴圈
gpt-5-6-sol$2.00 / $12.00使用同一把金鑰和相同基底網址,取得不同系列模型的第二種意見
計費方式是從預付餘額按權杖計費,沒有月費——請參閱 billing。在重複的上下文中——這是編輯器或聊天用戶端傳送內容的大部分——提示快取 對帳單的影響比模型選擇更大。

另一種方式:COPILOT_PROVIDER_TYPE=anthropic

GitHub 記載了三種供應商類型,而 Kunavo 支援其中兩種線路格式:/v1/chat/completions 對應 openai,/v1/messages 對應 anthropic。GitHub 頁面中的 Anthropic 範例包含四個匯出指令,其基底網址是原始網域 https://api.anthropic.com:

  1. COPILOT_PROVIDER_TYPE=anthropic
  2. COPILOT_PROVIDER_BASE_URL——依 GitHub 範例的格式,使用不含後綴的 https://api.kunavo.com,因為 Anthropic 自己的路由位於該網域下的 /v1/messages,而 Kunavo 也採用相同路徑。這裡同樣適用上文的提醒:GitHub 提供的是範例,不是規則。
  3. COPILOT_PROVIDER_API_KEY——你的 sk-kn- 金鑰。Kunavo 的 Messages 端點接受 x-api-key 或 Authorization: Bearer 格式,因此 CLI 在此選用哪個標頭都能使用。
  4. COPILOT_MODEL——供應商預期的 id。GitHub 的範例使用連字號分隔、Anthropic 風格的名稱,而其支援模型清單則以句點分隔來列出相同系列;BYOK 會將 id 傳送至你的端點,因此請使用上表中的名稱格式。

為什麼此頁仍以 openai 類型為主:GitHub 的文件沒有說明 Anthropic BYOK 路徑是否會轉送 cache_control、anthropic-beta 或特定的 anthropic-version。這會影響重複上下文的費用——請參閱提示快取——而此頁不會臆測未經文件說明的答案。openai 類型沒有這類未解問題,因此我們提供了完整設定區塊。

常見問題

如何讓 GitHub Copilot CLI 指向自訂 API 端點?

在啟動 CLI 前設定環境變數。GitHub 的 BYOK 頁面將 COPILOT_PROVIDER_BASE_URL 和 COPILOT_MODEL 列為必要變數;若端點需要驗證,還要設定 COPILOT_PROVIDER_API_KEY。COPILOT_PROVIDER_TYPE 預設為 openai;GitHub 表示此類型適用於 OpenAI、Ollama、vLLM、Foundry Local,以及任何其他 OpenAI Chat Completions API 相容端點。其他值為 azure 和 anthropic。另有一點值得留意,GitHub 在其他文件中指出:若 ~/.copilot/providers.json 宣告了任何供應商或模型,其優先順序會高於所有這些環境變數。

Copilot CLI 的基底網址需要以 /v1 結尾嗎?

GitHub 的文件沒有明確說明。該欄位只定義為「模型供應商 API 端點的基底網址」,而頁面中的範例指向不同方向:遠端 OpenAI 相容範例為 https://api.openai.com/v1,Ollama 和 Anthropic 範例則使用不含路徑的來源網址。對 OpenAI 相容端點,請先採用 GitHub 為此情況示範的格式——https://api.kunavo.com/v1;若請求失敗並回傳 404 而非 401,表示後綴被重複附加,請移除它。404 代表網址有誤,401 則代表金鑰有誤;在除錯 CLI 前,先對相同基底網址執行一般 curl 請求,就能分辨兩者。

GitHub Copilot CLI 的 BYOK 需要 GitHub 帳戶嗎?

不需要。GitHub 的驗證文件指出,使用自有 LLM 供應商 API 金鑰設定 Copilot CLI 時,不需要 GitHub 驗證,CLI 會直接連線至你設定的供應商。此時有三項功能無法使用:/delegate、GitHub MCP server 和 GitHub Code Search。你也可以同時登入並設定供應商,以保留這些功能。GitHub 另外記載,若希望 CLI 完全不連線至 GitHub 伺服器,可設定 COPILOT_OFFLINE=true;不過只有在供應商位於本機時,網路隔離才完整,因為遠端基底網址仍會收到你的提示和程式碼上下文。

Kunavo 有用其端點測試過 GitHub Copilot CLI 嗎?

沒有。此頁設定是根據頁面所示日期的 GitHub BYOK 官方文件整理而成,並非任何執行結果——沒有測試過工作階段、串流回合、工具往返,這裡記載的其他用戶端也一樣。GitHub 要求 BYOK 模型支援工具呼叫和串流,否則會回傳錯誤。因此,最可靠的第一步是自行測試:執行一項會讀取並編輯檔案的任務,並以帳戶記錄的費用和 CLI 的行為作為依據,而非此頁內容。