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änkung | Einzelheiten |
|---|
**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
- Informationen zum Versenden Ihrer App an andere Benutzer finden Sie unter Verwenden einer gebündelten CLI mit Copilot SDK.
- Informationen zur Unterstützung mehrerer Benutzer, die sich mit ihren eigenen GitHub Konten anmelden, finden Sie unter Verwenden von GitHub OAuth mit Copilot SDK.
- Informationen zum Ausführen des SDK auf einem Server finden Sie unter Einrichten des Copilot SDK für Back-End-Dienste.
- Informationen zu Ihrer ersten Nachricht und Installation finden Sie unter Erste Schritte mit dem Copilot SDK.