{"meta":{"title":"Configuração padrão (CLI empacotada)","intro":"Os SDKs de Node.js e .NET incluem a CLI Copilot como uma dependência— seu aplicativo é fornecido com tudo o que precisa, sem nenhuma instalação ou configuração adicional necessária.","product":"GitHub Copilot","breadcrumbs":[{"href":"/pt/copilot","title":"GitHub Copilot"},{"href":"/pt/copilot/how-tos","title":"Instruções"},{"href":"/pt/copilot/how-tos/copilot-sdk","title":"SDK do Copilot"},{"href":"/pt/copilot/how-tos/copilot-sdk/setup","title":"Configurar o SDK do Copilot"},{"href":"/pt/copilot/how-tos/copilot-sdk/setup/bundled-cli","title":"CLI empacotada"}],"documentType":"article"},"body":"# Configuração padrão (CLI empacotada)\n\nOs SDKs de Node.js e .NET incluem a CLI Copilot como uma dependência— seu aplicativo é fornecido com tudo o que precisa, sem nenhuma instalação ou configuração adicional necessária.\n\n<!-- markdownlint-disable GHD046 GHD005 -->\n\n<!-- Suppressed: GHD046 (outdated release terminology), GHD005 (hardcoded data variable) -->\n\nO SDK do Python recomenda uma etapa de download única após a instalação:\n\n```bash\npython -m copilot download-runtime\n```\n\nIsso 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.\n\n**Melhor para:** A maioria das aplicações—aplicativos para desktop, ferramentas autônomas, utilitários de linha de comando, protótipos e muito mais.\n\n## Como funciona\n\nQuando 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.\n\n![Diagrama: Fluxograma mostrando o processo descrito.](/assets/images/help/copilot/copilot-sdk/setup-bundled-cli-diagram-0.png)\n\n**Principais características:**\n\n* O binário da CLI está incluído com o SDK — nenhuma instalação separada é necessária\n* O SDK gerencia a versão da CLI para garantir a compatibilidade\n* Os usuários se autenticam por meio de seu aplicativo (ou usam env vars/BYOK)\n* As sessões são gerenciadas por usuário em seu computador\n\n## Início rápido\n\n<div class=\"ghd-codetabs\">\n<div class=\"ghd-codetab\" data-lang=\"typescript\" data-label=\"TypeScript\"><div class=\"ghd-codetab-fallback-label\" role=\"heading\" aria-level=\"3\">TypeScript</div>\n\n```typescript\nimport { CopilotClient } from \"@github/copilot-sdk\";\n\nconst client = new CopilotClient();\n\nconst session = await client.createSession({ model: \"gpt-5.4\" });\nconst response = await session.sendAndWait({ prompt: \"Hello!\" });\nconsole.log(response?.data.content);\n\nawait client.stop();\n```\n\n</div>\n\n<div class=\"ghd-codetab\" data-lang=\"python\" data-label=\"Python\"><div class=\"ghd-codetab-fallback-label\" role=\"heading\" aria-level=\"3\">Python</div>\n\n```python\nfrom copilot import CopilotClient\nfrom copilot.session import PermissionHandler\n\nclient = CopilotClient()\nawait client.start()\n\nsession = await client.create_session(on_permission_request=PermissionHandler.approve_all, model=\"gpt-5.4\")\nresponse = await session.send_and_wait(\"Hello!\")\nprint(response.data.content)\n\nawait client.stop()\n```\n\n</div>\n\n<div class=\"ghd-codetab\" data-lang=\"go\" data-label=\"Go\"><div class=\"ghd-codetab-fallback-label\" role=\"heading\" aria-level=\"3\">Go</div>\n\n> \\[!NOTE]\n> 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 incorporada quando disponível e, em seguida, recorre a `copilot` em `PATH`. Para incorporar uma CLI, execute a [bundler tool](https://github.com/github/copilot-sdk/tree/main/go/README.md#distributing-your-application-with-an-embedded-github-copilot-cli) em tempo de compilação. Você também pode definir `COPILOT_CLI_PATH` ou apontar um `Connection` para um binário existente. Confira [Configuração da CLI local](/pt/copilot/how-tos/copilot-sdk/setup/local-cli) para obter detalhes.\n\n```golang\nclient := copilot.NewClient(nil)\nif err := client.Start(ctx); err != nil {\n    log.Fatal(err)\n}\ndefer client.Stop()\n\nsession, _ := client.CreateSession(ctx, &copilot.SessionConfig{Model: \"gpt-5.4\"})\nresponse, _ := session.SendAndWait(ctx, copilot.MessageOptions{Prompt: \"Hello!\"})\nif d, ok := response.Data.(*copilot.AssistantMessageData); ok {\n    fmt.Println(d.Content)\n}\n```\n\n</div>\n\n<div class=\"ghd-codetab\" data-lang=\"dotnet\" data-label=\".NET\"><div class=\"ghd-codetab-fallback-label\" role=\"heading\" aria-level=\"3\">.NET</div>\n\n```csharp\nawait using var client = new CopilotClient();\nawait using var session = await client.CreateSessionAsync(\n    new SessionConfig { Model = \"gpt-5.4\" });\n\nvar response = await session.SendAndWaitAsync(\n    new MessageOptions { Prompt = \"Hello!\" });\nConsole.WriteLine(response?.Data.Content);\n```\n\n</div>\n\n<div class=\"ghd-codetab\" data-lang=\"java\" data-label=\"Java\"><div class=\"ghd-codetab-fallback-label\" role=\"heading\" aria-level=\"3\">Java</div>\n\n> \\[!NOTE]\n> 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(...)`).\n\n```java\nimport com.github.copilot.CopilotClient;\nimport com.github.copilot.rpc.*;\n\nvar client = new CopilotClient(new CopilotClientOptions()\n    // Point to the CLI binary installed on the system\n    .setCliPath(\"/path/to/vendor/copilot\")\n);\nclient.start().get();\n\nvar session = client.createSession(new SessionConfig()\n    .setModel(\"gpt-5.4\")\n    .setOnPermissionRequest(PermissionHandler.APPROVE_ALL)\n).get();\n\nvar response = session.sendAndWait(new MessageOptions()\n    .setPrompt(\"Hello!\")).get();\nSystem.out.println(response.getData().content());\n\nclient.stop().get();\n```\n\n</div>\n\n</div>\n\n## Estratégias de autenticação\n\nVocê precisa decidir como os usuários se autenticarão. Aqui estão os padrões comuns:\n\n![Diagrama: Fluxograma mostrando o processo descrito.](/assets/images/help/copilot/copilot-sdk/setup-bundled-cli-diagram-1.png)\n\n### Opção A: credenciais de entrada do usuário (mais simples)\n\nO usuário entra na CLI uma vez e seu aplicativo usa essas credenciais. Nenhum código extra é necessário, esse é o comportamento padrão.\n\n```typescript\nconst client = new CopilotClient();\n// Default: uses signed-in user credentials\n```\n\n### Opção B: token via variável de ambiente\n\nEnvie seu aplicativo com instruções para definir um token ou defina-o programaticamente:\n\n```typescript\nconst client = new CopilotClient({\n    env: {\n        COPILOT_GITHUB_TOKEN: getUserToken(),  // Your app provides the token\n    },\n});\n```\n\n### Opção C: BYOK (nenhuma autenticação GitHub necessária)\n\nSe você gerenciar suas próprias chaves do provedor de modelos, os usuários não precisarão de contas do GitHub de forma alguma:\n\n```typescript\nconst client = new CopilotClient();\n\nconst session = await client.createSession({\n    model: \"gpt-5.4\",\n    provider: {\n        type: \"openai\",\n        baseUrl: \"https://api.openai.com/v1\",\n        apiKey: process.env.OPENAI_API_KEY,\n    },\n});\n```\n\nConsulte o **[BYOK (Bring Your Own Key - traga sua própria chave)](/pt/copilot/how-tos/copilot-sdk/auth/byok)** para obter detalhes completos.\n\n## Gerenciamento de sessão\n\nNormalmente, os aplicativos desejam sessões nomeadas para que os usuários possam retomar conversas:\n\n```typescript\nconst client = new CopilotClient();\n\n// Create a session tied to the user's project\nconst sessionId = `project-${projectName}`;\nconst session = await client.createSession({\n    sessionId,\n    model: \"gpt-5.4\",\n});\n\n// User closes app...\n// Later, resume where they left off\nconst resumed = await client.resumeSession(sessionId);\n```\n\nO estado da sessão persiste em `~/.copilot/session-state/{sessionId}/`.\n\n## Quando seguir em frente\n\n| Necessidade                                                                                      | Próximo Guia |\n| ------------------------------------------------------------------------------------------------ | ------------ |\n| Usuários entrando com contas GitHub                                                              |              |\n| [Configuração do OAuth do GitHub](/pt/copilot/how-tos/copilot-sdk/setup/github-oauth)            |              |\n| Executar em um servidor em vez de computadores de usuário                                        |              |\n| [Configuração de serviços de back-end](/pt/copilot/how-tos/copilot-sdk/setup/backend-services)   |              |\n| Use as próprias chaves de modelo                                                                 |              |\n| [BYOK (Bring Your Own Key - traga sua própria chave)](/pt/copilot/how-tos/copilot-sdk/auth/byok) |              |\n\n## Próximas Etapas \n\n* **[BYOK (Bring Your Own Key - traga sua própria chave)](/pt/copilot/how-tos/copilot-sdk/auth/byok)**: use suas próprias chaves de provedor de modelo\n* **[Retomada e persistência da sessão](/pt/copilot/how-tos/copilot-sdk/features/session-persistence)**: Gerenciamento avançado de sessão\n* **[Crie seu primeiro aplicativo com tecnologia do Copilot](/pt/copilot/how-tos/copilot-sdk/getting-started)**: Criar um aplicativo completo"}