Skip to main content
Skip to content

为代理创建自定义环境

使用自己的工具和依赖项在 Linux 计算机或代码空间上运行 Copilot 会话。

作为使用 GitHub Actions 或由 GitHub 管理的云沙盒的替代方法,可以为 GitHub Copilot 会话提供自定义环境。 自定义环境是运行 copilotd 主机 Copilot 的 Linux 计算机或代码空间。

创建主机并将其注册到您的 GitHub 帐户。 然后,可以在支持自定义环境的客户端中选择它作为环境。 注册使现有主机可供客户端使用。

您需要 Copilot 许可证并可访问自定义环境。 你负责机器及其工作空间和工具,并使主机保持运行和最新状态。 关闭客户端连接不会停止主机或计算机。

使用 Linux 计算机

使用 Copilot CLI 在 Linux 计算机上运行并注册主机。

1.准备主机

需要 Linux 计算机和 npm 或 Homebrew 才能安装预发行版版本 Copilot CLI。 有关安装要求和其他安装方法,请参阅 安装 GitHub Copilot CLI。

  1. 在要使用的计算机上,准备工作区,并安装代理会话所需的工具和依赖项。

  2. 使用 npm 安装预发行版 Copilot CLI :

    npm install -g @github/copilot@prerelease
    

    或者,使用 Homebrew 安装它:

    brew install copilot-cli@prerelease
    

2.注册主机

主机注册为由你用于进行身份验证的帐户拥有的环境。

  1. 登录 GitHub.com 并按照身份验证提示操作:

    copilot login
    
  2. 开始 Copilot CLI ,以便帐户设置和功能标志加载,然后退出交互式会话:

    copilot
    
  3. 启动环境主机。 将 HOST-NAME 替换为你将在环境选择器中识别的名称。

    copilot --environment-host "HOST-NAME"
    

    该命令启动宿主程序,并以您选择的名称注册该计算机。 使主机保持运行状态,以便客户端可以连接到它。

3.选择环境

从支持选择已注册环境的客户端进行连接。

  1. 使用用于注册主机的同一 GitHub 帐户登录到客户端。

  2. 打开环境,选择您已注册名称的主机。

    客户端连接到正在运行的主机,您的代理会话在该主机上运行。

使用 GitHub Codespaces

使用开发容器功能,在代码空间启动时自动启动并注册宿主机。 需要访问 GitHub Codespaces。 若要使用以下命令,还需要有一个已经过身份验证的 GitHub CLI 安装实例。

1. 配置 codespace 环境

开发容器配置决定如何安装主机环境。

  1. 在存储库中创建或编辑 .devcontainer/devcontainer.json 以添加宿主功能。 例如:

    {
      "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
      "features": {
        "ghcr.io/github/copilot-host/copilotd:0": {}
      }
    }
    
  2. (可选)为您的环境配置该功能。 使用 :prerelease,而不是 :0,用于预发布通道。 若要克隆其他存储库,请在功能配置对象中添加 repositories 选项:

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

    将 OWNER/REPOSITORY-2 和 OWNER/REPOSITORY-1 替换为要克隆的存储库的所有者和名称。

2.启动并注册主机

该功能启动 copilotd,并在容器启动时自动注册代码空间。

  1. 若要创建新的代码空间,请提交并推送开发容器配置。 然后在该分支上创建一个代码空间。 将 OWNER/REPOSITORY 替换为存储库所有者和名称,将 BRANCH 替换为包含配置的分支。

    gh codespace create -r OWNER/REPOSITORY -b BRANCH
    

    对于现有 Codespace,请改为重新生成其容器。 将 CODESPACE-NAME 替换为你的代码空间名称。

    gh codespace rebuild -c CODESPACE-NAME
    
  2. 等待容器启动并等待主机完成注册。

3. 选择 Codespace 环境

使用支持选择已注册环境的客户端。 用于登录到客户端的令牌必须包含 codespace scope。

  1. 使用 GitHub 拥有 codespace 的帐户登录到客户端。

  2. 打开 环境 并选择代码空间。

    如果代码空间已停止,在进行连接时会将其唤醒并自动启动 copilotd。

若要检查主机日志,请在 codespace 中运行以下命令:

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