Original project: https://github.com/github/copilot-sdk
License: MIT Copyright GitHub, Inc.
每個應用程式都能有代理程式。
將 Copilot 的代理式工作流程嵌入你的應用程式—現在以技術預覽形式提供可程式化 SDK,支援 Python、TypeScript、Go 與 .NET。
GitHub Copilot SDK 提供與 Copilot CLI 相同的核心引擎:一個已在生產環境驗證的代理程式執行環境,可供你以程式方式呼叫。你不需要自行打造編排流程—只要定義代理程式行為,Copilot 就會負責規劃、工具呼叫、檔案編輯等。
| SDK | 位置 | 實用食譜 | 安裝 |
|---|---|---|---|
| Node.js / TypeScript | nodejs/ |
實用食譜 | npm install @github/copilot-sdk |
| Python | python/ |
實用食譜 | pip install github-copilot-sdk |
| Go | go/ |
實用食譜 | go get github.com/github/copilot-sdk/go |
| .NET | dotnet/ |
實用食譜 | dotnet add package GitHub.Copilot.SDK |
請參考各 SDK 的 README,查看安裝、使用範例與 API 參考。
如需完整流程,請參考 入門指南。
快速步驟:
-
安裝 Copilot CLI:
依照 Copilot CLI 安裝指南 安裝 CLI,或確認
copilot已可在 PATH 中使用。 -
使用上述指令安裝你偏好的 SDK。
-
查看 SDK README 以取得使用範例與 API 文件。
所有 SDK 透過 JSON-RPC 與 Copilot CLI 伺服器溝通:
Your Application
↓
SDK Client
↓ JSON-RPC
Copilot CLI (server mode)
SDK 會自動管理 CLI 行程生命週期。你也可以連線到外部 CLI 伺服器—請參考 入門指南 了解在伺服器模式下執行 CLI 的細節。
需要,除非你使用 BYOK(Bring Your Own Key)。使用 BYOK 時,你可以設定支援的 LLM 供應商 API 金鑰,無須 GitHub 驗證即可使用 SDK。一般使用(非 BYOK)請參考 GitHub Copilot 定價頁面,其中包含有限使用量的免費方案。
GitHub Copilot SDK 的計費與 Copilot CLI 相同,每個提示都會計入你的進階請求配額。更多進階請求資訊請參考 GitHub Copilot 的請求。
是的,GitHub Copilot SDK 支援 BYOK。你可以設定 SDK 使用支援的 LLM 供應商 API 金鑰(例如 OpenAI、Azure AI Foundry、Anthropic),並透過這些供應商存取模型。請參考 BYOK 文件 了解設定步驟與範例。
注意: BYOK 僅支援金鑰式驗證。不支援 Microsoft Entra ID(Azure AD)、受控識別與第三方身分提供者。
SDK 支援多種驗證方式:
- 已登入的 GitHub 使用者 - 使用
copilotCLI 登入後儲存的 OAuth 憑證 - OAuth GitHub App - 傳遞你的 GitHub OAuth 應用程式使用者權杖
- 環境變數 -
COPILOT_GITHUB_TOKEN、GH_TOKEN、GITHUB_TOKEN - BYOK - 使用你自己的 API 金鑰(不需 GitHub 驗證)
各方式詳細說明請參考 驗證文件。
需要,Copilot CLI 必須另外安裝。SDK 透過伺服器模式與 Copilot CLI 溝通以提供代理功能。
預設情況下,SDK 會以相當於對 CLI 傳入 --allow-all 的方式執行 Copilot CLI,啟用所有官方內建工具,因此代理程式可執行多種操作,包括檔案系統操作、Git 操作與網頁請求。你可以透過設定 SDK 用戶端選項來啟用或停用特定工具。工具設定細節與 Copilot CLI 可用工具清單請參考各 SDK 文件。
可以。GitHub Copilot SDK 允許你定義自訂代理程式、技能與工具。你可以實作自己的邏輯並整合額外工具,以擴充代理程式功能。更多細節請參考你偏好的語言 SDK 文件。
有,請參考各 SDK 的自訂指示:
SDK 支援所有可透過 Copilot CLI 使用的模型。SDK 也提供可回傳可用模型的方法,方便在執行階段存取。
GitHub Copilot SDK 目前處於技術預覽。雖然功能可用並適合開發與測試,但可能尚未適合正式生產環境。
請使用 GitHub Issues 頁面回報錯誤或提出新功能需求。我們歡迎你的回饋,以協助改善 SDK。
- 文件 – 完整文件索引
- 入門 – 從零開始的教學
- 設定指南 – 架構、部署與擴充
- 驗證 – GitHub OAuth、BYOK 等
- 功能 – 鉤子、自訂代理程式、MCP、技能等
- 疑難排解 – 常見問題與解法
- 實用食譜 – 各語言常見任務的實用食譜
- 更多資源 – 額外範例、教學與社群資源
| SDK | 位置 |
|---|---|
| Java | copilot-community-sdk/copilot-sdk-java |
| Rust | copilot-community-sdk/copilot-sdk-rust |
| Clojure | copilot-community-sdk/copilot-sdk-clojure |
| C++ | 0xeb/copilot-sdk-cpp |
請參考 CONTRIBUTING.md 的貢獻指南。
MIT
