{"meta":{"title":"Lokale CLI-Einrichtung","intro":"Verwenden Sie eine bestimmte CLI-Binärdatei anstelle der automatischen CLI-Verwaltung des SDK. Dies ist eine erweiterte Option– Sie geben den CLI-Pfad explizit an, und Sie sind dafür verantwortlich, die Versionskompatibilität mit dem SDK sicherzustellen.","product":"GitHub Copilot","breadcrumbs":[{"href":"/de/enterprise-cloud@latest/copilot","title":"GitHub Copilot"},{"href":"/de/enterprise-cloud@latest/copilot/how-tos","title":"Vorgehensweisen"},{"href":"/de/enterprise-cloud@latest/copilot/how-tos/copilot-sdk","title":"Copilot SDK"},{"href":"/de/enterprise-cloud@latest/copilot/how-tos/copilot-sdk/setup","title":"Einrichten des Copilot SDK"},{"href":"/de/enterprise-cloud@latest/copilot/how-tos/copilot-sdk/setup/local-cli","title":"Lokale CLI"}],"documentType":"article"},"body":"# Lokale CLI-Einrichtung\n\nVerwenden Sie eine bestimmte CLI-Binärdatei anstelle der automatischen CLI-Verwaltung des SDK. Dies ist eine erweiterte Option– Sie geben den CLI-Pfad explizit an, und Sie sind dafür verantwortlich, die Versionskompatibilität mit dem SDK sicherzustellen.\n\n<!-- markdownlint-disable GHD046 GHD005 -->\n\n<!-- Suppressed: GHD046 (outdated release terminology), GHD005 (hardcoded data variable) -->\n\n**Verwenden Sie dies, wenn:** Sie eine bestimmte CLI-Version festlegen müssen oder mit dem Go SDK arbeiten (das nicht automatisch eine CLI enthält).\n\n## So funktioniert es\n\nStandardmäßig enthalten die Node.js, Python und .NET SDKs ihre eigene CLI-Abhängigkeit (siehe [Standardsetup (gebündelte CLI)](/de/enterprise-cloud@latest/copilot/how-tos/copilot-sdk/setup/bundled-cli)). Wenn Sie dies außer Kraft setzen müssen , z. B. um eine vom System installierte CLI zu verwenden, können Sie die `Connection` Option verwenden.\n\n![Diagramm: Flussdiagramm mit dem beschriebenen Prozess.](/assets/images/help/copilot/copilot-sdk/setup-local-cli-diagram-0.png)\n\n**Wichtige Merkmale:**\n\n* Sie geben explizit den binären CLI-Pfad an.\n* Sie sind für die CLI-Versionskompatibilität mit dem SDK verantwortlich.\n* Die Authentifizierung verwendet die Anmeldeinformationen des angemeldeten Benutzers aus dem System-Schlüsselbund (oder Umgebungsvariablen)\n* Die Kommunikation erfolgt über stdio\n\n## Konfiguration\n\n### Verwenden einer lokalen CLI-Binärdatei\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    cliPath: \"/usr/local/bin/copilot\",\n});\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_events import AssistantMessageData\nfrom copilot.session import PermissionHandler\n\nclient = CopilotClient({\n    \"cli_path\": \"/usr/local/bin/copilot\",\n})\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!\")\nif response:\n    match response.data:\n        case AssistantMessageData() as data:\n            print(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> Das Go SDK versendet keine CLI automatisch. Installieren Sie `copilot` auf `PATH`, setzen Sie die Umgebungsvariable `COPILOT_CLI_PATH`, betten Sie eine CLI mit dem [Bundler-Tool](https://github.com/github/copilot-sdk/tree/main/go/README.md#distributing-your-application-with-an-embedded-github-copilot-cli) ein oder verweisen Sie mit `StdioConnection.Path` auf eine installierte Binärdatei.\n\n```golang\nclient := copilot.NewClient(&copilot.ClientOptions{\n    Connection: copilot.StdioConnection{Path: \"/usr/local/bin/copilot\"},\n})\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 response != nil {\n    if d, ok := response.Data.(*copilot.AssistantMessageData); ok {\n        fmt.Println(d.Content)\n    }\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\nvar client = new CopilotClient(new CopilotClientOptions\n{\n    Connection = RuntimeConnection.ForStdio(path: \"/usr/local/bin/copilot\"),\n});\n\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>\n\n## Zusätzliche Optionen\n\n```typescript\nconst client = new CopilotClient({\n    cliPath: \"/usr/local/bin/copilot\",\n\n    // Set log level for debugging\n    logLevel: \"debug\",\n\n    // Pass extra CLI arguments\n    cliArgs: [\"--log-dir=/tmp/copilot-logs\"],\n\n    // Set working directory\n    cwd: \"/path/to/project\",\n});\n```\n\n## Verwenden von Umgebungsvariablen\n\nStatt der Schlüsselkette können Sie sich über Umgebungsvariablen authentifizieren. Dies ist nützlich für CI oder wenn Sie keine interaktive Anmeldung wünschen.\n\n```bash\n# Set one of these (in priority order):\nexport COPILOT_GITHUB_TOKEN=\"gho_xxxx\"   # Recommended\nexport GH_TOKEN=\"gho_xxxx\"               # GitHub CLI compatible\nexport GITHUB_TOKEN=\"gho_xxxx\"           # GitHub Actions compatible\n```\n\nDas SDK nimmt diese automatisch auf – es sind keine Codeänderungen erforderlich.\n\n## Verwalten von Sitzungen\n\nSitzungen sind standardmäßig temporär. Um reaktivierbare Sitzungen zu erstellen, geben Sie Ihre eigene Sitzungs-ID an:\n\n```typescript\n// Create a named session\nconst session = await client.createSession({\n    sessionId: \"my-project-analysis\",\n    model: \"gpt-5.4\",\n});\n\n// Later, resume it\nconst resumed = await client.resumeSession(\"my-project-analysis\");\n```\n\nDer Sitzungszustand wird lokal unter `~/.copilot/session-state/{sessionId}/` gespeichert.\n\n## Einschränkungen\n\n| Einschränkung              | Einzelheiten                                                                           |\n| -------------------------- | -------------------------------------------------------------------------------------- |\n| **Versionskompatibilität** | Sie müssen sicherstellen, dass Ihre CLI-Version mit dem SDK kompatibel ist.            |\n| **Einzelner Benutzer**     | Anmeldeinformationen sind an die Person gebunden, die sich bei der CLI angemeldet hat. |\n| **Nur lokal**              | Die CLI wird auf demselben Computer wie Ihre App ausgeführt.                           |\n| **Kein Mehrfachmandant**   | Mehrere Benutzer können nicht aus einer CLI-Instanz bedient werden                     |\n\n## Nächste Schritte\n\n* **[Standardsetup (gebündelte CLI)](/de/enterprise-cloud@latest/copilot/how-tos/copilot-sdk/setup/bundled-cli)**: Verwenden der integrierten CLI des SDK (empfohlen für die meisten Anwendungsfälle)\n* **[Erstellen Sie Ihre erste Copilot-gestützte App](/de/enterprise-cloud@latest/copilot/how-tos/copilot-sdk/getting-started)**: Erstellen einer vollständigen interaktiven App\n* **[Authentication](/de/enterprise-cloud@latest/copilot/how-tos/copilot-sdk/auth/authenticate)**: Alle Authentifizierungsmethoden im Detail"}