O SDK do Python recomenda uma etapa de download única após a instalação:
python -m copilot download-runtime
Isso baixa o runtime correspondente e o armazena em cache localmente. Se você ignorar essa etapa, o SDK tentará baixá-la automaticamente no primeiro uso como um fallback.
Melhor para: A maioria das aplicações—aplicativos para desktop, ferramentas autônomas, utilitários de linha de comando, protótipos e muito mais.
Como funciona
Quando você instala o SDK, o ambiente de execução do Copilot é incluído automaticamente (Node.js, .NET) ou baixado via python -m copilot download-runtime (Python). O SDK o inicia como um processo filho e se comunica via stdio. Não há nada extra para configurar.

Principais características:
- O binário da CLI está incluído com o SDK — nenhuma instalação separada é necessária
- O SDK gerencia a versão da CLI para garantir a compatibilidade
- Os usuários se autenticam por meio de seu aplicativo (ou usam env vars/BYOK)
- As sessões são gerenciadas por usuário em seu computador
Início rápido
Idiomas de código navigation
import { CopilotClient } from "@github/copilot-sdk";
const client = new CopilotClient();
const session = await client.createSession({ model: "gpt-5.4" });
const response = await session.sendAndWait({ prompt: "Hello!" });
console.log(response?.data.content);
await client.stop();
from copilot import CopilotClient
from copilot.session import PermissionHandler
client = CopilotClient()
await client.start()
session = await client.create_session(on_permission_request=PermissionHandler.approve_all, model="gpt-5.4")
response = await session.send_and_wait("Hello!")
print(response.data.content)
await client.stop()
Observação
Ao contrário de Node.js, Python e .NET, o SDK do Go não inclui uma CLI como uma dependência automática. Sem um caminho explícito, NewClient(nil) usa uma CLI inserida quando disponível e, em seguida, volta para copilot .PATH Para inserir uma CLI, execute a ferramenta de empacotador no tempo de build. Você também pode definir COPILOT_CLI_PATH ou apontar um para um Connection binário existente. Confira Configuração da CLI local para obter detalhes.
package main
import (
"context"
"fmt"
"log"
copilot "github.com/github/copilot-sdk/go"
)
func main() {
ctx := context.Background()
client := copilot.NewClient(nil)
if err := client.Start(ctx); err != nil {
log.Fatal(err)
}
defer client.Stop()
session, _ := client.CreateSession(ctx, &copilot.SessionConfig{Model: "gpt-5.4"})
response, _ := session.SendAndWait(ctx, copilot.MessageOptions{Prompt: "Hello!"})
if d, ok := response.Data.(*copilot.AssistantMessageData); ok {
fmt.Println(d.Content)
}
}
client := copilot.NewClient(nil)
if err := client.Start(ctx); err != nil {
log.Fatal(err)
}
defer client.Stop()
session, _ := client.CreateSession(ctx, &copilot.SessionConfig{Model: "gpt-5.4"})
response, _ := session.SendAndWait(ctx, copilot.MessageOptions{Prompt: "Hello!"})
if d, ok := response.Data.(*copilot.AssistantMessageData); ok {
fmt.Println(d.Content)
}
await using var client = new CopilotClient();
await using var session = await client.CreateSessionAsync(
new SessionConfig { Model = "gpt-5.4" });
var response = await session.SendAndWaitAsync(
new MessageOptions { Prompt = "Hello!" });
Console.WriteLine(response?.Data.Content);
Observação
O SDK do Java não agrupa ou insira a CLI do Copilot. Instale a CLI separadamente e disponibilize copilot em seu PATH local ou defina seu local com setCliPath(...) (ou conecte-se a um servidor da CLI em execução com setCliUrl(...)).
import com.github.copilot.CopilotClient;
import com.github.copilot.rpc.*;
var client = new CopilotClient(new CopilotClientOptions()
// Point to the CLI binary installed on the system
.setCliPath("/path/to/vendor/copilot")
);
client.start().get();
var session = client.createSession(new SessionConfig()
.setModel("gpt-5.4")
.setOnPermissionRequest(PermissionHandler.APPROVE_ALL)
).get();
var response = session.sendAndWait(new MessageOptions()
.setPrompt("Hello!")).get();
System.out.println(response.getData().content());
client.stop().get();
Estratégias de autenticação
Você precisa decidir como os usuários se autenticarão. Aqui estão os padrões comuns:

Opção A: credenciais de entrada do usuário (mais simples)
O usuário entra na CLI uma vez e seu aplicativo usa essas credenciais. Nenhum código extra é necessário, esse é o comportamento padrão.
const client = new CopilotClient();
// Default: uses signed-in user credentials
Opção B: token via variável de ambiente
Envie seu aplicativo com instruções para definir um token ou defina-o programaticamente:
const client = new CopilotClient({
env: {
COPILOT_GITHUB_TOKEN: getUserToken(), // Your app provides the token
},
});
Opção C: BYOK (nenhuma autenticação GitHub necessária)
Se você gerenciar suas próprias chaves do provedor de modelos, os usuários não precisarão de contas do GitHub de forma alguma:
const client = new CopilotClient();
const session = await client.createSession({
model: "gpt-5.4",
provider: {
type: "openai",
baseUrl: "https://api.openai.com/v1",
apiKey: process.env.OPENAI_API_KEY,
},
});
Consulte o BYOK (Bring Your Own Key - traga sua própria chave) para obter detalhes completos.
Gerenciamento de sessão
Normalmente, os aplicativos desejam sessões nomeadas para que os usuários possam retomar conversas:
const client = new CopilotClient();
// Create a session tied to the user's project
const sessionId = `project-${projectName}`;
const session = await client.createSession({
sessionId,
model: "gpt-5.4",
});
// User closes app...
// Later, resume where they left off
const resumed = await client.resumeSession(sessionId);
O estado da sessão persiste em ~/.copilot/session-state/{sessionId}/.
Quando seguir em frente
| Necessidade | Próximo Guia |
|---|---|
| Usuários entrando com contas GitHub | |
| Configuração do OAuth do GitHub | |
| Executar em um servidor em vez de computadores de usuário | |
| Configuração de serviços de back-end | |
| Use as próprias chaves de modelo | |
| BYOK (Bring Your Own Key - traga sua própria chave) |
Próximas Etapas
- BYOK (Bring Your Own Key - traga sua própria chave): use suas próprias chaves de provedor de modelo
- Retomada e persistência da sessão: Gerenciamento avançado de sessão
- Crie seu primeiro aplicativo com tecnologia do Copilot: Criar um aplicativo completo