Skip to main content

Configuração da CLI local

Use um binário específico da CLI em vez da CLI incluída no SDK. Essa é uma opção avançada: você fornece o caminho da CLI explicitamente e é responsável por garantir a compatibilidade de versão com o SDK.

Use nos seguintes casos: Você precisa fixar uma versão específica da CLI ou trabalhar com o SDK do Go (que não inclui uma CLI).

Como funciona

Por padrão, os SDKs Node.js, Python e .NET incluem sua própria dependência da CLI (consulte Configuração padrão (CLI empacotada)). Se você precisar substituir isso, por exemplo, para usar uma CLI instalada pelo sistema, poderá usar a opção Connection .

Diagrama: Fluxograma mostrando o processo descrito.

Principais características:

  • Você fornece explicitamente o caminho binário da CLI
  • Você é responsável pela compatibilidade de versão da CLI com o SDK
  • A autenticação usa as credenciais do usuário autenticado armazenadas no chaveiro do sistema (ou nas variáveis de ambiente)
  • A comunicação ocorre por meio do stdio

Configuração

Usando um binário local da CLI

Idiomas de código navigation

TypeScript
import { CopilotClient } from "@github/copilot-sdk";

const client = new CopilotClient({
    cliPath: "/usr/local/bin/copilot",
});

const session = await client.createSession({ model: "gpt-4.1" });
const response = await session.sendAndWait({ prompt: "Hello!" });
console.log(response?.data.content);

await client.stop();

Opções adicionais

const client = new CopilotClient({
    cliPath: "/usr/local/bin/copilot",

    // Set log level for debugging
    logLevel: "debug",

    // Pass extra CLI arguments
    cliArgs: ["--log-dir=/tmp/copilot-logs"],

    // Set working directory
    cwd: "/path/to/project",
});

Usando variáveis de ambiente

Em vez do conjunto de chaves, você pode autenticar por meio de variáveis de ambiente. Isso é útil para CI ou quando você não deseja logon interativo.

# Set one of these (in priority order):
export COPILOT_GITHUB_TOKEN="gho_xxxx"   # Recommended
export GH_TOKEN="gho_xxxx"               # GitHub CLI compatible
export GITHUB_TOKEN="gho_xxxx"           # GitHub Actions compatible

O SDK os seleciona automaticamente, sem necessidade de alterações de código.

Gerenciamento de sessões

As sessões são temporárias por padrão. Para criar sessões retomáveis, forneça sua própria ID de sessão:

// Create a named session
const session = await client.createSession({
    sessionId: "my-project-analysis",
    model: "gpt-4.1",
});

// Later, resume it
const resumed = await client.resumeSession("my-project-analysis");

O estado da sessão é armazenado localmente em ~/.copilot/session-state/{sessionId}/.

Limitações

LimitationDetalhes
Compatibilidade entre versõesVocê deve garantir que sua versão da CLI seja compatível com o SDK
Usuário únicoAs credenciais estão vinculadas a quem entrou na CLI
Somente localA CLI é executada no mesmo computador que seu aplicativo
Nenhum suporte para vários locatáriosNão é possível atender vários usuários de uma instância da CLI

Próximas Etapas