文件
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 登入。
# 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/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 以取得更多資訊。/delegate 是 GitHub 端提供的功能,BYOK 供應商無法取代;GitHub 文件指出,未登入時無法使用這些功能。除了設定供應商之外,你也可以登入,以保留這些功能。sk-kn- 開頭),並從 $10 起新增額度——呼叫會從該餘額扣款,失敗的呼叫不會計費。之後儀表板會開啟 GitHub Copilot CLI 設定。逐步操作
- 在
/app/keys建立金鑰並複製——金鑰只會顯示一次。 - 檢查是否有過時的
~/.copilot/providers.json(或它所指向的項目COPILOT_PROVIDERS_CONFIG)。如果其中宣告了供應商或模型,就會優先於步驟 3 的所有設定。 - 如上所示,匯出
COPILOT_PROVIDER_BASE_URL、COPILOT_PROVIDER_API_KEY和COPILOT_MODEL。COPILOT_PROVIDER_TYPE預設為openai;GitHub 說明這涵蓋「任何其他相容於 OpenAI Chat Completions API 的端點」。 - 在同一個 shell 中啟動
copilot——這些值會在啟動時讀取,因此先前開啟的終端機仍會使用舊值。 - 交給它一項需要讀取並編輯檔案的任務。Copilot CLI 需要模型支援工具呼叫和串流;第一次執行若能測試這兩項功能,比只打聲招呼更有參考價值。若要比較兩個 id,可用
--model在單次執行中覆寫COPILOT_MODEL。
已於 2026年9月21日 根據 GitHub 的「在 GitHub Copilot CLI 中使用自有 LLM 模型」 進行確認。第三方設定會變動;如果這裡的欄位名稱不再與你看到的內容相符,應以該頁面為準,而不是本頁。
除錯用戶端前先驗證
一個請求就能判斷失敗原因是端點、金鑰還是設定檔。如果這裡回傳 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 權杖的美元價格,輸入/輸出。
| 模型 ID | Kunavo 輸入/輸出 | 它在 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 | 使用同一把金鑰和相同基底網址,取得不同系列模型的第二種意見 |
另一種方式:COPILOT_PROVIDER_TYPE=anthropic
GitHub 記載了三種供應商類型,而 Kunavo 支援其中兩種線路格式:/v1/chat/completions 對應 openai,/v1/messages 對應 anthropic。GitHub 頁面中的 Anthropic 範例包含四個匯出指令,其基底網址是原始網域 https://api.anthropic.com:
COPILOT_PROVIDER_TYPE=anthropicCOPILOT_PROVIDER_BASE_URL——依 GitHub 範例的格式,使用不含後綴的https://api.kunavo.com,因為 Anthropic 自己的路由位於該網域下的/v1/messages,而 Kunavo 也採用相同路徑。這裡同樣適用上文的提醒:GitHub 提供的是範例,不是規則。COPILOT_PROVIDER_API_KEY——你的sk-kn-金鑰。Kunavo 的 Messages 端點接受x-api-key或Authorization: Bearer格式,因此 CLI 在此選用哪個標頭都能使用。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 的行為作為依據,而非此頁內容。