Skip to main content
Select language: current language is German
Suchen oder Fragen an Copilot stellen
Menü öffnen

Verwenden einer lokalen CLI mit Copilot SDK

Verwenden Sie GitHub Copilot SDK mit der bereits auf Ihrem Computer angemeldeten CLI – die einfachste Konfiguration, ohne dass ein Authentifizierungscode oder eine Infrastruktur erforderlich ist.

Wer kann dieses Feature verwenden?

GitHub Copilot SDK ist mit allen Copilot Tarifen verfügbar.

Hinweis

          Copilot SDK ist zurzeit in Technische Preview. Funktionalität und Verfügbarkeit können geändert werden.

Das Herstellen einer Verbindung GitHub Copilot SDK mit Ihrer lokal angemeldeten CLI ist die schnellste Möglichkeit, loszulegen.

          **Am besten geeignet für:** Persönliche Projekte, Prototyperstellung, lokale Entwicklung und Lernen des SDK.

So funktioniert es

Beim Installieren Copilot CLI und Anmelden werden Ihre Anmeldeinformationen im Systemschlüsselbund gespeichert. Das SDK startet die CLI automatisch als untergeordneter Prozess und verwendet diese gespeicherten Anmeldeinformationen. Wichtige Merkmale:

  • Die CLI wird automatisch vom SDK bereitgestellt– es ist kein Setup erforderlich.
  • Die Authentifizierung verwendet die Anmeldeinformationen des angemeldeten Benutzers aus dem Systemschlüsselbund.
  • Kommunikation erfolgt über Stdio (stdin/stdout) – es werden keine Netzwerkports geöffnet.
  • Sitzungen sind lokal auf Ihrem Computer.

Schnellstart

Für die Standardkonfiguration sind überhaupt keine Optionen erforderlich.

Node.js / TypeScript

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

const client = new CopilotClient();
const session = await client.createSession({ model: "gpt-4.1" });

const response = await session.sendAndWait({ prompt: "Hello!" });
console.log(response?.data.content);

await client.stop();

Python

from copilot import CopilotClient, PermissionHandler

client = CopilotClient()
await client.start()

session = await client.create_session(on_permission_request=PermissionHandler.approve_all, model="gpt-4.1")
response = await session.send_and_wait({"prompt": "Hello!"})
print(response.data.content)

await client.stop()

Los geht's

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-4.1"})
response, _ := session.SendAndWait(ctx, copilot.MessageOptions{Prompt: "Hello!"})
fmt.Println(*response.Data.Content)

.NET

await using var client = new CopilotClient();
await using var session = await client.CreateSessionAsync(
    new SessionConfig { Model = "gpt-4.1" });

var response = await session.SendAndWaitAsync(
    new MessageOptions { Prompt = "Hello!" });
Console.WriteLine(response?.Data.Content);

Das SDK behandelt alles: Starten der CLI, Authentifizierung und Verwaltung der Sitzung.

Wie funktioniert dies intern?

Weitere Informationen zur Reihenfolge der Interaktion zwischen Komponenten finden Sie im Sequenzdiagramm im github/copilot-sdkRepository.

Konfigurationsoptionen

Die Standardeinstellungen funktionieren zwar für die meisten Fälle, aber Sie können das lokale Setup anpassen:

const client = new CopilotClient({
    // Override CLI location (default: bundled with @github/copilot)
    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",
});

Verwenden von Umgebungsvariablen

Statt 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.

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

Ersetzen Sie es YOUR-GITHUB-TOKEN durch ein gültiges GitHubpersonal access token oder OAuth-Token. Das SDK nimmt diese automatisch ab – es sind keine Codeänderungen erforderlich.

Verwalten von Sitzungen

Bei der lokalen CLI sind Sitzungen standardmäßig kurzlebig. Um reaktivierbare Sitzungen zu erstellen, geben Sie eine Sitzungs-ID an:

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

// Resume it in a later run
const resumed = await client.resumeSession("my-project-analysis");

Der Sitzungszustand wird lokal bei ~/.copilot/session-state/SESSION-ID/ gespeichert, wobei SESSION-ID die von Ihnen angegebene Sitzungs-ID ist.

Einschränkungen

EinschränkungEinzelheiten
          **Einzelner Benutzer** | Anmeldeinformationen sind an die Person gebunden, die sich bei der CLI angemeldet hat. |

| Nur lokal | Die CLI wird auf demselben Computer wie Ihre App ausgeführt. | | Kein Mehrinstanzenmandant | Mehrere Benutzer können nicht aus einer CLI-Instanz bedient werden. | | Erfordert cli-Anmeldung | Der Benutzer muss zuerst copilot ausführen und sich authentifizieren. |

Nächste Schritte

Morty Proxy This is a proxified and sanitized view of the page, visit original site.