{"meta":{"title":"使用本地沙盒","intro":"启用本地沙盒，以便在 Copilot CLI 操作系统沙盒中代表你运行命令和工具。","product":"GitHub Copilot","breadcrumbs":[{"href":"/zh/copilot","title":"GitHub Copilot"},{"href":"/zh/copilot/how-tos","title":"操作方法"},{"href":"/zh/copilot/how-tos/cloud-and-local-sandboxes","title":"沙盒Copilot"},{"href":"/zh/copilot/how-tos/cloud-and-local-sandboxes/using-local-sandboxing","title":"使用本地沙盒"}],"documentType":"article"},"body":"# 使用本地沙盒\n\n启用本地沙盒，以便在 Copilot CLI 操作系统沙盒中代表你运行命令和工具。\n\n> \\[!NOTE]\n> 本地沙盒 GitHub Copilot 位于 公开预览 且可能会更改。\n\n> \\[!IMPORTANT]\n> Windows上的本地沙盒需要Windows预览体验成员版本。\n\n## 关于本地沙盒\n\n沙盒目前是一项实验性功能。 若要使用它，请从Copilot CLI命令行选项开始`‑‑experimental`，或在会话期间输入`/experimental on`。\n\n启用本地沙盒时， Copilot CLI 在操作系统沙盒中代表你运行大部分命令和工具。 启用本地沙盒后，它将用于所有 Copilot CLI 会话，直到禁用它，或为特定会话关闭它。 如果企业托管设置需要沙盒，则无法禁用它。\n\n默认情况下，沙盒命令和工具可以在当前工作目录和临时文件夹中写入。 用户配置文件（主页）目录以及系统和工具位置都是只读的。 其他磁盘位置将被阻止。 在 Git 存储库中，当前工作目录上方的存储库的其余部分是可读的，但不可写。 允许访问本地和专用网络，出站 Internet 访问也是允许的。\n\n默认情况下，经过身份验证的 Git 和 GitHub CLI （`gh`） 操作将继续在沙盒中工作，因为 Copilot CLI 使 GitHub 凭据可用于沙盒命令。 这允许诸如 `git push` 和 `gh pr create` 成功之类的操作。 可以在沙盒设置中关闭此功能。\n\n有关沙盒 Copilot CLI的概念性概述，请参阅 [关于云和本地沙盒 GitHub Copilot](/zh/copilot/concepts/about-cloud-and-local-sandboxes)。\n\n## 沙盒命令\n\n使用`/sandbox`斜杠命令从会话中Copilot CLI管理本地沙盒。 它具有以下子命令。\n\n| 命令                 | 说明                                                                                                                                                             |\n| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `/sandbox status`  | 显示沙盒当前是否用于会话。 请参阅 [检查是否正在使用沙盒](#checking-whether-sandboxing-is-being-used)。                                                                                    |\n| `/sandbox policy`  | 显示当前目录的有效文件系统策略，即可读、可写或阻止的路径，以及有效网络访问。 有关详细信息，请参阅“[了解本地沙盒的文件系统策略 GitHub Copilot CLI](/zh/copilot/concepts/agents/copilot-cli/understanding-local-sandboxing)”。 |\n| `/sandbox config`  | 打开交互式设置界面。 自己输入 `/sandbox` 也做同样的事。 有关详细信息，请参阅“[配置本地沙盒设置](/zh/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings)”。                   |\n| `/sandbox enable`  | 打开本地沙盒。 请参阅 [“启用本地沙盒](#enabling-local-sandboxing)”。                                                                                                            |\n| `/sandbox disable` | 关闭本地沙盒。 如果企业托管设置需要沙盒，则拒绝这样做。 请参阅 [禁用本地沙盒](#disabling-local-sandboxing)。                                                                                        |\n\n## 启用本地沙盒机制\n\n若要启用本地沙盒，请在交互式 Copilot CLI 会话中输入以下命令：\n\n```shell copy\n/sandbox enable\n```\n\n沙盒开始立即用于当前会话。\n\n启用本地沙盒后，它将继续用于当前和将来的交互式会话，以及用于编程会话。\n\n> \\[!NOTE]\n> 如果输入 `/sandbox enable`时已打开其他会话，则沙盒不会立即在这些会话中使用。 若要在已打开的会话中使用沙盒，请在该会话中执行下列操作之一：\n>\n> * 关闭会话并重启会话，例如，通过运行 `copilot --continue`。\n> * 输入 `/sandbox enable`。\n\n## 禁用本地沙盒\n\n如果企业托管设置需要沙盒，则无法禁用它，并且 `/sandbox disable` 被拒绝。\n\n若要停止使用本地沙盒，请在交互式 Copilot CLI 会话中输入以下命令：\n\n```shell copy\n/sandbox disable\n```\n\n沙盒不再用于当前会话或新的和重启的会话。\n\n选择是否使用本地沙盒保存为 `sandbox.enabled` CLI 的个人设置文件中的设置（`~/.copilot/settings.json` 默认情况下）。\n\n## 对单个会话使用沙盒\n\n可以使用 `--sandbox` 命令行选项为单个会话使用沙盒，而无需为其他会话启用沙盒。 如果已启用沙盒，则可以使用 `--no-sandbox` 此选项为单个会话禁用沙盒。 此选项 `--no-sandbox` 不能替代需要沙盒的企业托管设置。\n\n可以将这些选项与 `-p` 命令行选项结合使用，以控制沙盒以编程方式使用 CLI。 例如：\n\n```shell copy\ncopilot --sandbox -p \"PROMPT\"\n```\n\n## 在沙盒外部运行单个命令\n\n当命令需要比沙盒允许的更广泛的访问权限时， Copilot 可以请求在沙盒外部运行该单一命令。 将显示描述命令的确认提示，并且仅在你批准该命令时才在沙盒外部运行;否则，它将保持沙盒化。 会话的其余部分将保持沙盒化。\n\n此行为默认处于启用状态，可在沙盒设置中关闭。\n\n## 检查是否正在使用沙盒\n\n若要检查本地沙盒是否用于当前会话，请输入：\n\n```shell copy\n/sandbox status\n```\n\nCopilot CLI 报告是否为会话启用了沙盒。 如果组织的托管设置需要沙盒，状态也会指出这一点。 由于状态反映了会话实际强制执行的内容，因此确认命令 Copilot 是否正在沙盒运行是可靠的方法。\n\n若要不仅查看沙盒是否处于打开状态，而且确切地查看哪些路径是可读、可写还是被阻止，请输入 `/sandbox policy`。 有关详细信息，请参阅“[了解本地沙盒的文件系统策略 GitHub Copilot CLI](/zh/copilot/concepts/agents/copilot-cli/understanding-local-sandboxing)”。\n\n还可以在状态行中一目了然地查看沙盒状态，其中包含 `sandbox enabled` 何时使用沙盒。 默认情况下，状态行中沙盒信息的显示处于打开状态。 如果它已关闭，则可以将其重新打开：\n\n1. 输入 `/statusline`。\n2. 将选项列表下移至 **沙盒**。\n3. 按 <kbd>Enter</kbd> 切换设置，使其显示复选标记。\n\n## 延伸阅读\n\n* [关于云和本地沙盒 GitHub Copilot](/zh/copilot/concepts/about-cloud-and-local-sandboxes)\n* [配置本地沙盒设置](/zh/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings)"}