Als Alternative zur Verwendung von GitHub Actions oder von Cloud-Sandboxes, die von GitHub verwaltet werden, können Sie eine benutzerdefinierte Umgebung für GitHub Copilot-Sitzungen bereitstellen. Eine benutzerdefinierte Umgebung ist ein Linux-Computer oder Codespace, auf dem der Copilot Host ausgeführt wird, copilotd
Sie erstellen den Host und registrieren ihn mit Ihrem GitHub Konto. Sie können es dann als Umgebung in einem Client auswählen, der benutzerdefinierte Umgebungen unterstützt. Die Registrierung stellt einen vorhandenen Host für Clients zur Verfügung.
Sie benötigen eine Copilot Lizenz und Zugriff auf benutzerdefinierte Umgebungen. Sie sind für die Maschine, den Arbeitsbereich und die Tools verantwortlich und halten den Host am Laufen und auf dem neuesten Stand. Durch das Schließen einer Clientverbindung werden weder der Host noch der Computer beendet.
Verwenden eines Linux-Computers
Verwenden Sie Copilot CLI, um den Host auf einem Linux-Computer auszuführen und zu registrieren.
1. Host vorbereiten
Sie benötigen einen Linux-Computer und npm oder Homebrew, um die Vorabversion von Copilot CLI zu installieren. Installationsanforderungen und andere Installationsmethoden finden Sie unter Installation von GitHub Copilot CLI.
-
Bereiten Sie auf dem Computer, den Sie verwenden möchten, den Arbeitsbereich vor, und installieren Sie die Tools und Abhängigkeiten, die Ihre Agentsitzungen benötigen.
-
Installieren Sie die Vorabversion von Copilot CLI mit npm:
npm install -g @github/copilot@prereleaseAlternativ können Sie es mit Homebrew installieren:
brew install copilot-cli@prerelease
2. Host registrieren
Der Host registriert sich als Umgebung, die sich im Besitz des Kontos befindet, mit dem Sie sich authentifizieren.
-
Melden Sie sich an GitHub.com , und folgen Sie den Authentifizierungsaufforderungen:
copilot login -
Starten Sie Copilot CLI , damit Ihre Kontoeinstellungen und Featurekennzeichnungen geladen werden, und beenden Sie dann die interaktive Sitzung:
copilot -
Starten Sie den Host der Umgebung. Ersetzen Sie
HOST-NAMEdurch einen Namen, den Sie in der Umgebungsauswahl erkennen werden.copilot --environment-host "HOST-NAME"Der Befehl startet den Host und registriert den Computer unter dem von Ihnen ausgewählten Namen. Führen Sie den Host aus, damit Clients eine Verbindung damit herstellen können.
3. Wählen Sie die Umgebung aus.
Stellen Sie eine Verbindung von einem Client her, der die Auswahl registrierter Umgebungen unterstützt.
-
Melden Sie sich beim Client mit demselben GitHub Konto an, das Sie zum Registrieren des Hosts verwendet haben.
-
Öffnen Sie Environments, und wählen Sie den Host mit dem Namen aus, den Sie registriert haben.
Der Client verbindet sich mit dem laufenden Host, in dem Ihre Agentsitzungen ausgeführt werden.
Verwenden von GitHub Codespaces
Verwenden Sie ein Development-Container-Feature, um den Host automatisch zu starten und zu registrieren, wenn der Codespace gestartet wird. Sie benötigen Zugriff auf GitHub Codespaces. Um die folgenden Befehle zu verwenden, benötigen Sie auch eine authentifizierte Installation von GitHub CLI.
1. Codespace konfigurieren
Die Konfiguration des Entwicklungscontainers bestimmt, wie der Host installiert wird.
-
Erstellen oder bearbeiten Sie
.devcontainer/devcontainer.jsonin Ihrem Repository, um das Hostfeature hinzuzufügen. Beispiele:{ "image": "mcr.microsoft.com/devcontainers/base:ubuntu", "features": { "ghcr.io/github/copilot-host/copilotd:0": {} } } -
Konfigurieren Sie optional das Feature für Ihre Umgebung. Verwenden Sie für den Vorabkanal
:prereleaseanstelle von:0. Um zusätzliche Repositorys zu klonen, fügen Sie einerepositoriesOption im Konfigurationsobjekt des Features hinzu:"ghcr.io/github/copilot-host/copilotd:0": { "repositories": "OWNER/REPOSITORY-1,OWNER/REPOSITORY-2" }Ersetzen Sie
OWNER/REPOSITORY-2undOWNER/REPOSITORY-1durch die Besitzer und Namen der zu klonenden Repositorys.
2. Host starten und registrieren
Die Funktion wird mit copilotd gestartet und registriert den Codespace automatisch, wenn der Container gestartet wird.
-
Um einen neuen Codespace zu erstellen, committen und pushen Sie Ihre Konfiguration des Entwicklungscontainers. Erstellen Sie dann einen Codespace für diese Verzweigung. Ersetzen Sie
OWNER/REPOSITORYdurch den Repository-Eigentümer und -Namen undBRANCHdurch den Branch, der Ihre Konfiguration enthält.gh codespace create -r OWNER/REPOSITORY -b BRANCHErstellen Sie für einen vorhandenen Codespace stattdessen den Container neu. Ersetzen Sie
CODESPACE-NAMEdurch den Namen Ihres Codespaces.gh codespace rebuild -c CODESPACE-NAME -
Warten Sie, bis der Container gestartet ist und der Host registriert ist.
3. Wählen Sie die Codespace-Umgebung aus.
Verwenden Sie einen Client, der die Auswahl registrierter Umgebungen unterstützt. Das Token, das für die Anmeldung beim Client verwendet wird, muss den codespace Bereich enthalten.
-
Melden Sie sich beim Client mit dem GitHub Konto an, das den Codespace besitzt.
-
Öffnen Sie Umgebungen , und wählen Sie den Codespace aus.
Wenn der Codespace beendet wird, wird er durch das Herstellen der Verbindung reaktiviert und automatisch gestartet
copilotd.
Führen Sie zum Überprüfen der Hostprotokolle den folgenden Befehl im Codespace aus:
tail -F /workspaces/.copilotd/logs/copilotd.log