注意
本地沙盒 GitHub Copilot 位于 公开预览 且可能会更改。
重要
Windows上的本地沙盒需要Windows预览体验成员版本。
关于本地沙盒配置
可以使用 /sandbox 斜杠命令授予额外的路径、调整网络访问权限或打开或关闭沙盒。
有关云和本地沙盒 Copilot的概念性概述,请参阅 关于云和本地沙盒 GitHub Copilot。
打开沙盒配置
-
启动Copilot 命令行界面(CLI)会话。
-
输入
/sandbox斜杠命令。这会打开包含三个选项卡的交互式配置接口: 常规、 文件系统和 网络。 使用 Tab 在选项卡之间切换。 按 Esc 保存更改并关闭配置。
配置常规设置
“ 常规 ”选项卡控制顶级沙盒行为。
| 设置 | Description |
|---|---|
| 启用沙盒 | 在沙盒中运行 shell 命令。 您还可以通过 /sandbox enable 和 /sandbox disable 切换此设置。 |
| 允许绕过沙盒 | 让模型请求单个命令在沙盒外部运行,但需要批准。 默认情况下处于打开状态。 有关详细信息,请参阅 “允许绕过沙盒”。 |
| 沙盒 MCP 服务器 | 在沙盒中运行 MCP 服务器。 默认情况下处于打开状态。 |
| 沙盒 LSP 服务器 | 在沙盒中运行语言服务器(LSP 服务器)。 默认情况下处于打开状态。 |
| 对 git 进行身份验证 | |
GitHub注入令牌,以便经过身份验证的 HTTPS git 在沙盒中工作,而无需凭据帮助程序。 默认情况下处于打开状态。 | |
| 身份验证 gh | 导出 GH_TOKEN 以便 GitHub CLI (注意: gh CLI,而不是 copilot)在沙盒中工作,而无需访问其存储的凭据(配置目录或 OS 密钥链),沙盒会阻止该密钥链。 默认情况下处于打开状态。 |
| 允许密钥链访问 | 仅在 macOS 上可用。 让沙盒命令使用 macOS 密钥链,例如,访问凭据git``gh帮助程序使用的凭据。 默认情况下已关闭。 |
允许绕过沙盒
“允许沙盒绕过”设置控制当无法在沙盒中成功运行命令时Copilot会发生什么情况。
- 在 (默认值) 上:如果某个命令在沙盒中失败,系统会提示你允许 Copilot 在沙盒外部运行命令。 对此提示的响应适用于此特定尝试运行命令。 (可选)可以选择为会话的其余部分禁用沙盒,也可以输入要 Copilot 改用的说明。
- 关闭:如果 Copilot 无法在沙盒中成功运行命令,它将停止处理任务并报告失败。
配置文件系统设置
文件系统选项卡控制沙盒进程可以访问的目录和文件。
默认情况下, Copilot 向当前工作目录中和下方的所有内容授予读/写权限。 如果位于 Git 存储库中, Copilot 则还被授予以下权限:
- 对存储库目录中和下方的所有内容的
.git读/写权限。 - 在Windows和 macOS 上,读取当前工作目录上方存储库中其他所有内容的权限。
- 在 Linux 上,存储库中当前工作目录上方的文件的读/写权限。
| 设置 | Description |
|---|---|
| 包含工作目录 | 默认情况下处于打开状态。 当前工作目录(以及封闭存储库的 .git 目录(如果有)会自动添加到读/写路径列表中。 如果不希望自动授予工作目录读/写访问权限,然后手动允许访问特定路径,请取消选中此选项。 |
重要
取消选择 “包括工作目录 ”会删除对 Git 存储库目录中和目录下 .git 的所有内容的访问权限。 因此,Git 操作(例如status,add``commit)将diff失败,除非手动添加此目录的访问权限。
添加文件系统路径规则
可以指定要添加到沙盒的路径。 这样,就可以授予对工作目录外部的目录和文件的只读或读/写访问权限。 还可以拒绝访问,以从沙盒中排除目录和文件。
-
在 “文件系统 ”选项卡中,按 A 添加新的路径规则。
-
键入文件或目录路径。 使用绝对路径-例如,
/Users/octocat/projects/app在 macOS 或 Linux 上,或在C:\Users\octocat\projects\appWindows上使用。 然后,按 Enter。注意
添加目录包括整个子树。 不支持通配符。
-
使用键盘上的向左键和向右键在权限选项之间导航: 读/写、 只读、 拒绝。 然后按 Enter 选择一个选项。
添加文件系统路径后,可以编辑或删除它们。
- 使用向上键和向下键选择路径。
- 按 Enter 编辑路径,或 D 将其删除。
配置网络设置
“ 网络 ”选项卡控制沙盒进程是否可以建立网络连接。
| 设置 | Description |
|---|---|
| 允许出站连接 | 默认情况下处于打开状态。 启用后,沙盒进程可以访问 Internet 上的外部主机。 请将其关闭以完全隔离沙盒与网络。 |
| 允许本地网络 | 默认情况下处于打开状态。 启用后,沙盒进程可以访问本地网络上的主机(例如, localhost LAN 上的其他设备)。 关闭此选项可阻止沙盒访问本地或专用网络服务。 |
快速启用和禁用沙盒
可以打开或关闭沙盒,而无需打开完整的配置界面:
- 启用:在
/sandbox enable会话中输入Copilot 命令行界面(CLI)。 - 禁用:在
/sandbox disable会话中输入Copilot 命令行界面(CLI)。
这些命令更改“常规”选项卡上的 “启用沙盒”设置。
查看当前的沙盒设置
设置存储在您的 settings.json 配置目录中 sandbox 下的 Copilot 命令行界面(CLI) 键中。 有关配置目录的详细信息,请参阅 GitHub Copilot CLI 配置目录。
可以从会话中 Copilot 命令行界面(CLI) 查看当前的沙盒设置。
- 输入
/settings。 - 按 / 搜索设置。
- 键入
sandbox以筛选设置列表。