Skip to main content
Skip to content

Création d’un environnement personnalisé pour les agents

Exécutez des sessions Copilot avec vos propres outils et dépendances sur une machine Linux ou un Codespace.

En guise d’alternative à l’utilisation de GitHub Actions ou aux environnements de test cloud gérés par GitHub, vous pouvez fournir un environnement personnalisé pour les sessions GitHub Copilot. Un environnement personnalisé est une machine Linux ou un espace de code exécutant l’hôte Copilot, copilotd.

Vous créez l’hôte et l’inscrivez à votre compte GitHub. Vous pouvez ensuite le sélectionner en tant qu’environnement dans un client qui prend en charge des environnements personnalisés. L’enregistrement rend un hôte existant disponible pour les clients.

Vous avez besoin d’une Copilot licence et d’un accès aux environnements personnalisés. Vous êtes responsable de la machine, de son espace de travail et de ses outils, ainsi que du maintien en fonctionnement et de la mise à jour de l’hôte. La fermeture d’une connexion cliente n’arrête pas l’hôte ou la machine.

Utilisation d’une machine Linux

Utilisez Copilot CLI pour exécuter et enregistrer l’hôte sur une machine Linux.

1. Préparer l’hôte

Vous avez besoin d’une machine Linux et npm ou Homebrew pour installer la version préliminaire de Copilot CLI. Pour connaître les exigences d’installation et d’autres méthodes d’installation, consultez Installation du CLI GitHub Copilot.

  1. Sur l’ordinateur que vous souhaitez utiliser, préparez l’espace de travail et installez les outils et les dépendances dont vos sessions d’agent ont besoin.

  2. Installez la version préliminaire de Copilot CLI avec npm :

    npm install -g @github/copilot@prerelease
    

    Vous pouvez également l’installer avec Homebrew :

    brew install copilot-cli@prerelease
    

2. Inscrire l’hôte

L’hôte est enregistré en tant qu’environnement appartenant au compte avec lequel vous vous authentifiez.

  1. Connectez-vous à GitHub.com et suivez les invites d’authentification :

    copilot login
    
  2. Démarrez Copilot CLI afin que les paramètres de votre compte et les flags de fonctionnalité se chargent, puis quittez la session interactive :

    copilot
    
  3. Démarrez l'hôte d'environnement. Remplacez HOST-NAME par un nom que vous reconnaîtrez dans le sélecteur d’environnement.

    copilot --environment-host "HOST-NAME"
    

    La commande démarre l’hôte et inscrit l’ordinateur sous le nom que vous avez choisi. Conservez l’hôte en cours d’exécution afin que les clients puissent se connecter à celui-ci.

3. Choisir l’environnement

Connectez-vous à partir d’un client qui prend en charge la sélection d’environnements enregistrés.

  1. Connectez-vous au client avec le même GitHub compte que celui que vous avez utilisé pour enregistrer l’hôte.

  2. Ouvrez Environnements et sélectionnez l’hôte portant le nom que vous avez enregistré.

    Le client se connecte à l’hôte actif, où vos sessions d’agent s’exécutent.

Utilisation de GitHub Codespaces

Utilisez une fonctionnalité de conteneur de développement pour démarrer et inscrire automatiquement l’hôte au démarrage de votre codespace. Vous devez accéder à GitHub Codespaces. Pour utiliser les commandes ci-dessous, vous avez également besoin d’une installation authentifiée de GitHub CLI.

1. Configurer le codespace

La configuration du conteneur de développement détermine la façon dont l’environnement hôte est installé.

  1. Dans votre dépôt, créez ou modifiez .devcontainer/devcontainer.json pour ajouter la fonctionnalité hôte. Par exemple:

    {
      "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
      "features": {
        "ghcr.io/github/copilot-host/copilotd:0": {}
      }
    }
    
  2. Si vous le souhaitez, configurez la fonctionnalité pour votre environnement. Utilisez :prerelease au lieu de :0 pour le canal de préversion. Pour cloner des dépôts supplémentaires, ajoutez une option repositories à l’intérieur de l’objet de configuration de la fonctionnalité :

    "ghcr.io/github/copilot-host/copilotd:0": {
      "repositories": "OWNER/REPOSITORY-1,OWNER/REPOSITORY-2"
    }
    

    Remplacez OWNER/REPOSITORY-2 et OWNER/REPOSITORY-1 par les propriétaires et les noms des référentiels à cloner.

2. Démarrer et enregistrer l’hôte

La fonction démarre copilotd et enregistre automatiquement le codespace au démarrage du conteneur.

  1. Pour créer un nouveau codespace, commit et envoyer (push) votre configuration de conteneur de développement. Créez ensuite un espace de code sur cette branche. Remplacez OWNER/REPOSITORY par le propriétaire et le nom du référentiel, et BRANCH par la branche contenant votre configuration.

    gh codespace create -r OWNER/REPOSITORY -b BRANCH
    

    Pour un espace de code existant, régénérez son conteneur à la place. Remplacez CODESPACE-NAME par le nom de votre espace de code.

    gh codespace rebuild -c CODESPACE-NAME
    
  2. Attendez que le conteneur démarre et que l’hôte s’enregistre.

3. Choisissez l’environnement de Codespace

Utilisez un client qui prend en charge la sélection d’environnements enregistrés. Le jeton utilisé pour se connecter au client doit inclure le scope codespace.

  1. Connectez-vous à l’application avec le GitHub compte propriétaire de l’espace de code.

  2. Ouvrez Environnements et sélectionnez le codespace.

    Si l’espace de code est arrêté, le fait de s’y connecter le réveille et démarre copilotd automatiquement.

Pour inspecter les journaux d’activité de l’hôte, exécutez la commande suivante dans l’espace de code :

tail -F /workspaces/.copilotd/logs/copilotd.log