快速指南:将 GitHub Copilot SDK 集成至您的应用

介绍

GitHub Copilot 不仅是一个 IDE 插件;它是一个可以编写、重构甚至执行代码的 AI 代理。官方 Copilot SDK 将该代理暴露在一个简单的、与语言无关的 API 后面,您可以将其插入任何应用程序——无论是 Web、桌面、CLI 还是微服务。

使用 Copilot SDK 的理由

  • 在自己的产品中运行 Copilot,无需浏览器。
  • 从您自己的 UI 触发代码生成。
  • 构建结合 Copilot 与其他服务的复杂工具链。
  • 使用 Copilot CLI 统一计费与使用记录。

支持的语言与安装方式

SDK 支持 PythonNode.js/TypeScriptGo.NET (C#)。安装方式每种语言一句命令:

# Node.js / TypeScript
npm install @github/copilot-sdk

# Python
pip install github-copilot-sdk

# Go
go get github.com/github/copilot-sdk/go

# .NET
dotnet add package GitHub.Copilot.SDK

提示:SDK 将 Copilot CLI 作为后台进程打包。请确保您拥有有效的 GitHub Copilot 订阅——免费版 CLI 可用但功能有限。

基本示例 – “Hello World” 代理

from github.copilot import Copilot

copilot = Copilot()

# Create a simple agent that writes a greeting
agent = copilot.agent(
    name="greeting-agent",
    description="Generate a friendly greeting in the target language.",
)

response = agent.run("create a greeting function that outputs 'Hello, world!' in Python.")
print(response.content)

执行 python hello_agent.py 将打印一个完整的 def greet(): 函数。

无限会话(Infinite Sessions)

从 v0.1.18 开始,SDK 支持 无限会话,让您在多次交互中保持相同上下文。启用方式在创建代理时传入 infinite=True

agent = copilot.agent(
    name="session-agent",
    infinite=True,
)
随后每一次 agent.run() 都会看到会话历史,十分适合聊天式助手。

自定义工具与技能

您可以使用自己的命令行工具增强 Copilot。定义一个 Skill

import { Copilot, Skill } from "@github/copilot-sdk";

const skill = new Skill({
  name: "json‑pretty",
  command: "python -m json.tool",
  description: "Pretty‑prints JSON data.",
});

const copilot = new Copilot({
  tools: [skill],
});
此时代理可以在推理过程中调用 json‑pretty

安全与 BYOK

SDK 支持 Bring‑Your‑Own‑Key(BYOK),可对传输数据进行加密。请通过以下方式配置您的密钥:

COPILOT_BK_SECRET=<your‑hex‑key>
请查看 SDK 文档了解精确参数。

常见问题

  • 需要付费订阅吗? – 用于生产环境是必需的。免费 CLI 版可用,但速率受限。
  • 它可以投入生产吗? – SDK 仍处于 技术预览 阶段,GA 之前可能会有细微调整。
  • 可以切换底层模型吗? – SDK 提供列出可用模型的方法,您可以在 agent.run 中传入模型名称。

入门资源

结论

GitHub Copilot SDK 打开了一个世界,让 AI 编写流程成为您产品里的一级主角。只需几行代码,您就可以启动代理、添加自定义技能,并开始生成、重构甚至执行代码,同时利用 GitHub 的安全计费模式。

祝编码愉快!

原创文章: 查看原文

分享本文