作为使用 GitHub Actions 或由 GitHub 管理的云沙盒的替代方法,可以为 GitHub Copilot 会话提供自定义环境。 自定义环境是运行 copilotd 主机 Copilot 的 Linux 计算机或代码空间。
创建主机并将其注册到您的 GitHub 帐户。 然后,可以在支持自定义环境的客户端中选择它作为环境。 注册使现有主机可供客户端使用。
您需要 Copilot 许可证并可访问自定义环境。 你负责机器及其工作空间和工具,并使主机保持运行和最新状态。 关闭客户端连接不会停止主机或计算机。
使用 Linux 计算机
使用 Copilot CLI 在 Linux 计算机上运行并注册主机。
1.准备主机
需要 Linux 计算机和 npm 或 Homebrew 才能安装预发行版版本 Copilot CLI。 有关安装要求和其他安装方法,请参阅 安装 GitHub Copilot CLI。
-
在要使用的计算机上,准备工作区,并安装代理会话所需的工具和依赖项。
-
使用 npm 安装预发行版 Copilot CLI :
npm install -g @github/copilot@prerelease或者,使用 Homebrew 安装它:
brew install copilot-cli@prerelease
2.注册主机
主机注册为由你用于进行身份验证的帐户拥有的环境。
-
登录 GitHub.com 并按照身份验证提示操作:
copilot login -
开始 Copilot CLI ,以便帐户设置和功能标志加载,然后退出交互式会话:
copilot -
启动环境主机。 将
HOST-NAME替换为你将在环境选择器中识别的名称。copilot --environment-host "HOST-NAME"该命令启动宿主程序,并以您选择的名称注册该计算机。 使主机保持运行状态,以便客户端可以连接到它。
3.选择环境
从支持选择已注册环境的客户端进行连接。
-
使用用于注册主机的同一 GitHub 帐户登录到客户端。
-
打开环境,选择您已注册名称的主机。
客户端连接到正在运行的主机,您的代理会话在该主机上运行。
使用 GitHub Codespaces
使用开发容器功能,在代码空间启动时自动启动并注册宿主机。 需要访问 GitHub Codespaces。 若要使用以下命令,还需要有一个已经过身份验证的 GitHub CLI 安装实例。
1. 配置 codespace 环境
开发容器配置决定如何安装主机环境。
-
在存储库中创建或编辑
.devcontainer/devcontainer.json以添加宿主功能。 例如:{ "image": "mcr.microsoft.com/devcontainers/base:ubuntu", "features": { "ghcr.io/github/copilot-host/copilotd:0": {} } } -
(可选)为您的环境配置该功能。 使用
: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,并在容器启动时自动注册代码空间。
-
若要创建新的代码空间,请提交并推送开发容器配置。 然后在该分支上创建一个代码空间。 将
OWNER/REPOSITORY替换为存储库所有者和名称,将BRANCH替换为包含配置的分支。gh codespace create -r OWNER/REPOSITORY -b BRANCH对于现有 Codespace,请改为重新生成其容器。 将
CODESPACE-NAME替换为你的代码空间名称。gh codespace rebuild -c CODESPACE-NAME -
等待容器启动并等待主机完成注册。
3. 选择 Codespace 环境
使用支持选择已注册环境的客户端。 用于登录到客户端的令牌必须包含 codespace scope。
-
使用 GitHub 拥有 codespace 的帐户登录到客户端。
-
打开 环境 并选择代码空间。
如果代码空间已停止,在进行连接时会将其唤醒并自动启动
copilotd。
若要检查主机日志,请在 codespace 中运行以下命令:
tail -F /workspaces/.copilotd/logs/copilotd.log