Introduction
Локальная песочница ограничивает доступ к файлам, сетевым ресурсам и учетным данным на компьютере. В этой статье объясняется, как включить и отключить локальную песочницу и Copilot CLI ее Copilot app. Общие сведения об облачных и локальных песочницах Copilotсм. в разделе Сведения об облачных и локальных песочницах для GitHub Copilot. Сведения о настройке параметров песочницы см. в разделе Настройка локальных настроек песочницы.
Сведения об использовании локальной песочницы см. в Visual Studio Codeразделе "Команды терминала агента песочницы " в VS Code документации.
Prerequisites
- Windows. Для локальной песочницы в Windows требуется Windows 11 версии 25H2 с обновлением KB5124010 или более поздней или Windows 11 версии 26H1 с обновлением KB5124006 или более поздней версии с поддержкой уровня BaseContainer серверной части ProcessContainer.
- Linux: Bubblewrap (
bwrap) версии 0.5.0 или более поздней версии иslirp4netnsдолжен быть установлен и доступен в path.
Использование локальной песочницы в Copilot CLI
При включении локальной песочницы выполняет большинство команд и инструментов, Copilot CLI которые он вызывает от вашего имени в песочнице операционной системы. После включения локальной песочницы он используется для всех Copilot CLI сеансов, пока не отключаете его или не отключаете его для определенного сеанса. Если для управляемых параметров предприятия требуется песочница, обычная конфигурация и параметр командной --no-sandbox строки не могут отключить его. Однако если эффективная политика разрешает обход песочницы, вы можете явно отключить песочницу для остальной части текущего сеанса, либо из запроса на активное обходное разрешение, либо путем выполнения /sandbox disable. Этот сеанс не ослабляет сохраненную политику.
По умолчанию изолированные команды и средства могут записываться в текущий рабочий каталог и временные папки. В репозитории Git метаданные репозитория также записываемы, а остальная часть репозитория над текущим рабочим каталогом доступна для чтения, но не доступна для записи. Выбранные расположения систем и средств разработчика доступны для чтения, а некоторые кэши сборок и пакетов доступны для записи. Это не предоставляет доступ ко всему домашнему каталогу. Другие пути блокируются, если вы не предоставляете доступ.
Исходящий доступ к Интернету включен по умолчанию. Локальный сетевой доступ отключен. Как эти параметры влияют на команды, зависят от операционной системы. См . раздел AUTOTITLE.
Проверка подлинности для Git и GitHub CLI (gh) включена по умолчанию, но такие операции, как git push и gh pr create зависят от параметров сети и совместимости инструментов. Изолированные команды и скрипты получают заполнитель Git и gh учетные данные. Локальный прокси-сервер заменяет их реальными учетными данными только для утвержденных назначений HTTPS.
Учетные данные Git сохраняют свои исходные ограничения на узел, порт и путь репозитория. Для gh, учетные данные используются только для github.com, api.github.comи uploads.github.com. Вы можете отключить проверку подлинности на вкладке /sandbox config"Учетные данные".
Кроме того, можно маскирование дополнительных переменных среды, таких как маркеры API. Команды, локальные серверы MCP и языковые серверы, которые выполняются внутри песочницы, получают заполнители для этих переменных. Прокси-сервер предоставляет каждое реальное значение только указанным узлам HTTPS. Инструкции по настройке см. в разделе Настройка локальных настроек песочницы.
В Windows для этого требуется версия, которая поддерживает подключения из песочницы к службам на компьютере (обратная связь узла). Кроме того, необходимо включить разрешить локальную сеть на вкладке "Сеть " на /sandbox configвкладке "Сеть". Это также позволяет получить доступ к частной сети, а не только к прокси-серверу учетных данных.
Общие сведения об песочнице см. в Copilot CLIразделе Сведения об облачных и локальных песочницах для GitHub Copilot.
Команды песочницы
Вы управляете локальной песочницей из сеанса Copilot CLI с помощью команды косой /sandbox черты. Он содержит следующие подкоманда.
| Command | Описание |
|---|---|
/sandbox status | Отображение того, используется ли песочница в настоящее время для сеанса. Проверьте, используется ли песочница. |
/sandbox policy [COMMAND] | Отображение эффективных путей, параметров сети и возможностей для текущего каталога. При необходимости включите команду для проверки доступа к средству разработчика, который он получит, не выполняя его. Дополнительные сведения см. в разделе Общие сведения о политиках файловой системы для локальной песочницы GitHub Copilot CLI. |
/sandbox config | Откройте интерфейс интерактивных параметров. Вход /sandbox в себя делает то же самое. Дополнительные сведения см. в разделе Настройка локальных настроек песочницы. |
/sandbox enable | Включите локальную песочницу. См. раздел "Включение локальной песочницы". |
/sandbox disable | Отключите локальную песочницу. Если для управляемых корпоративных параметров требуется песочница, это отказывается, если эффективная политика не разрешает обход песочницы, в этом случае она отключает песочницу только для остальной части текущего сеанса. См. раздел "Отключение локальной песочницы". |
Возможность локального песочницы
Чтобы включить локальную песочницу, введите следующую команду в интерактивном Copilot CLI сеансе:
/sandbox enable
/sandbox enable
Песочница начинает использоваться немедленно для текущего сеанса.
После включения локальной песочницы он продолжает использоваться для текущих и будущих интерактивных сеансов, а также для программных сеансов.
Примечание.
Если при вводе /sandbox enableоткрыты другие сеансы, песочница не сразу используется в этих сеансах. Чтобы использовать песочницу в уже открытом сеансе, выполните одно из следующих действий в этом сеансе:
- Закройте сеанс и перезапустите его, например, выполнив команду
copilot --continue. - Введите
/sandbox enable.
Отключение локальной песочницы
Если для управляемых параметров предприятия требуется песочница, отказывается, /sandbox disable если эффективная политика не разрешает обход песочницы. Если обход разрешен, выполнение /sandbox disableили реагирование на запрос разрешений активного обхода отключает песочницу только для остальной части текущего сеанса, не ослабляя сохраненную политику.
Чтобы остановить использование локальной песочницы, введите следующую команду в интерактивном Copilot CLI сеансе:
/sandbox disable
/sandbox disable
Если корпоративные управляемые параметры не требуют песочницы, это отключает его в текущем сеансе и в новых и перезапущенных сеансах. В управляемой политике, которая разрешает обход, песочница отключается только для текущего сеанса.
Обычная команда включения или отключения сохраняет выбор в sandbox.enabled файле личных параметров (~/.copilot/settings.json по умолчанию). Отказ только для управляемого сеанса не изменяет этот файл. Выполните восстановление /sandbox enable песочницы в этом сеансе.
Использование песочницы для одного сеанса
Вы можете использовать --sandbox параметр командной строки для использования песочницы для одного сеанса без включения песочницы для других сеансов. Если песочница уже включена, ее можно отключить для одного сеанса --no-sandbox с помощью параметра. Параметр --no-sandbox не может переопределить управляемые корпоративные параметры, требующие песочницы.
Эти параметры можно объединить с параметром -p командной строки для управления песочницей для программного использования интерфейса командной строки. Рассмотрим пример.
copilot --sandbox -p "PROMPT"
copilot --sandbox -p "PROMPT"
Выполнение одной команды за пределами песочницы
Если песочница блокирует команду, Copilot можно попросить утвердить другую попытку с более широким доступом. В командной строке описана команда и предложенная повторная попытка. Его можно утвердить, сохранить заблокированный результат или отключить песочницу для остальной части текущего сеанса. Отключение песочницы для сеанса доступно только в том случае, если эффективная политика разрешает обход песочницы. Если это разрешено, вы также можете сделать это в любое время, выполнив команду /sandbox disable.
Запросы обхода включены по умолчанию и могут быть отключены в параметрах песочницы.
Утвержденный обход команды пропускает маскирование учетных данных и прокси-сервер песочницы. Команда выполняется с обычной средой, которая может содержать реальные значения секретов. Ограничения узла с маской не защищают команду, которая выполняется за пределами песочницы.
Песочница является лишь одной из причин, по которым команда может завершиться ошибкой. Copilot предлагает повторные попытки с более широким доступом, только если песочница является вероятной причиной и работает вне нее может на самом деле помочь. Другие сбои не показывают обходной запрос. Сведения о поведении повторных попыток для конкретной платформы см. в разделе Настройка локальных настроек песочницы.
Проверка того, используется ли песочница
Чтобы проверить, используется ли локальная песочница для текущего сеанса, введите:
/sandbox status
/sandbox status
Copilot CLI сообщает, включена ли песочница для сеанса. Если для управляемых параметров вашей организации требуется песочница, это также отмечает состояние. Так как состояние отражает то, что на самом деле применяется сеанс, это надежный способ подтвердить, выполняются ли команды Copilot в песочнице.
Чтобы узнать не только о том, включена ли песочница, но и какие пути доступны для чтения, записи или заблокированы, введите /sandbox policy. Дополнительные сведения см. в разделе Общие сведения о политиках файловой системы для локальной песочницы GitHub Copilot CLI.
Вы также можете просмотреть состояние песочницы в строке состояния, которая содержит sandbox enabled при использовании песочницы. Отображение сведений песочницы в строке состояния включается по умолчанию. Если он отключен, вы можете включить его обратно:
- Введите
/statusline. - Переместите выделение вниз по списку параметров в песочницу.
- Нажмите клавишу ВВОД , чтобы переключить параметр, чтобы он отображал флажок.
Troubleshooting
Используйте следующее руководство для устранения неполадок с заблокированными командами, проблемами PowerShell и Git в Windows и сбоями проверки подлинности.
Устранение неполадок с заблокированными командами
Если команда не может получить доступ к файлу, использовать средство или подключиться к узлу, проверьте политику песочницы перед предоставлением более широкого доступа.
-
Выполните команду
/sandbox status, чтобы проверить, включена ли песочница для текущего сеанса. -
Выполните проверку
/sandbox policyэффективной политики. Чтобы просмотреть дополнительные пути, доступные для инструментов, используемых командой, добавьте команду после/sandbox policy. Рассмотрим пример.Shell /sandbox policy npm install
/sandbox policy npm installВ этом режиме выполняется предварительная версия политики без выполнения
npm install. Просмотрите перечисленные пути и параметры сети. Проверьте примечания для параметров, которые не удалось применить. -
Если политика блокирует доступ, который вы намерены разрешить, используйте
/sandbox configдля обновления необходимых путей или правил узла. Предоставьте доступ только к команде. Отсутствующие пути и символьные ссылки см. в разделе Общие сведения о политиках файловой системы для локальной песочницы GitHub Copilot CLI. Добавление каталога с/add-dirдоступом к песочнице не предоставляется. -
Если этот параметр управляется организацией, обратитесь к администратору. Если ошибка называет отсутствующую функцию операционной системы или зависимость Linux, укажите это требование, а затем перезапустите Copilot CLI перед попыткой еще раз.
-
Попросите Copilot снова выполнить команду. Если предлагается обход одной команды, подтвердите его только в том случае, если вы комфортно с более широким доступом, описанным. Отключение песочницы для всего сеанса предоставляет последующие команды более широкий доступ, а не только заблокированную команду.
Устранение неполадок с заблокированными путями, которые не существуют
Параметры песочницы могут блокировать доступ к определенным файлам или каталогам. Если на компьютере не существует заблокированный путь, Copilot CLI создайте каталог в этом расположении перед запуском изолированной команды. Он также создает отсутствующие родительские каталоги. Эти каталоги не удаляются автоматически после этого.
Например, если вы блокируете доступ к .env файлу до его существования, Copilot CLI создает каталог с именем .env, а не файл.
- Если заблокированный путь предназначен для файла, создайте этот файл за пределами песочницы перед выполнением изолированной команды.
- Если вы видите
Failed to prepare denied sandbox path, команда не запущена. Убедитесь, что настроенный путь правильный и у вашей учетной записи есть разрешение на создание каталогов. Используйте/sandbox configдля исправления непреднамеренного пути или обратитесь к администратору, если этот параметр управляется.
Выполнение /sandbox policy не создает эти каталоги. В Linux пути, которые еще не существуют, опущены из эффективной политики, показанной в предварительной версии. Они остаются в настроенных параметрах.
Устранение неполадок PowerShell и Git в Windows
При установке Windows без необходимых обновлений изолированный PowerShell может сообщать корневой каталог диска, например C:\в текущем каталоге.
Set-Location команды Git, использующие текущий каталог, могут завершиться ошибкой, даже если powerShell запускается.
-
Установите обновление за сентябрь 2026 г. или более поздней для поддерживаемой версии Windows. Если организация управляет обновлениями Windows, обратитесь к администратору.
-
Если вы не можете немедленно обновить, попросите Copilot использовать абсолютный путь репозитория для команд Git. Рассмотрим пример.
Shell git -C "C:\PATH\TO\REPOSITORY" status
git -C "C:\PATH\TO\REPOSITORY" statusЭто позволяет избежать использования текущего каталога PowerShell. Песочница по-прежнему должна разрешать доступ к репозиторию. Он не устраняет другие ошибки файловой системы или проверки подлинности.
Устранение неполадок аутентификации
Если маскирование учетных данных включено, Copilot CLI использует локальный прокси-сервер для добавления реальных учетных данных в исходящие запросы. Средства, использующие эти учетные данные, должны поддерживать прокси-сервер и доверять его сертификату безопасности.
Copilot CLI автоматически предоставляет временный пакет сертификатов изолированным средствам. Некоторые средства не используют этот пакет и могут сообщать об ошибках сертификата или проверки подлинности.
В macOS и Windows можно также установить центр сертификации прокси-сервера в хранилище доверия операционной системы для повышения совместимости. В сеансе Copilot CLI выполните команду /sandbox ca create, а затем /sandbox ca trust. На Windows установка сертификата требует утверждения администратора. Это также изменяет доверие сертификатов для приложений за пределами Copilot CLI.
Установка сертификата не устраняет все проблемы совместимости. Средства, требующие HTTP/2, принимают только определенные сертификаты сервера (закрепление сертификатов), используют сертификаты клиента или используют учетные данные для подписывания запросов, которые по-прежнему могут завершиться ошибкой.
Для маскированных переменных среды убедитесь, что переменная доступна в ИНТЕРФЕЙСе командной строки, назначение соответствует узлам внедрения, а параметры сети позволяют подключиться. Средства должны отправлять заполнитель в качестве учетных данных в заголовке запроса HTTPS, например Authorization или X-Api-Key. Проверка подлинности HTTP Basic также работает, когда заполнитель является паролем. Обычный текст HTTP, тела запросов, URL-адреса и подписанные запросы не получают реального значения.
Маскирование защищает только настроенные переменные среды и включенную проверку подлинности Git gh . Он не скрывает секреты в файлах учетных данных, других переменных среды или удаленной проверки подлинности MCP.
Использование локальной песочницы в Copilot app
В зависимости от любых корпоративных управляемых параметров, которые могут применяться, можно использовать команды косой черты, чтобы включить или отключить локальную песочницу для текущего активного сеанса.
Включение и отключение песочницы для сеанса
Чтобы включить локальную песочницу, введите:
/sandbox on
Чтобы отключить песочницу, введите:
/sandbox off
Эти команды немедленно включите или отключите песочницу, если только управляемые корпоративные параметры не препятствуют изменению. Ваш выбор применяется к текущему сеансу, включая после перезапуска, и имеет приоритет над проектом по умолчанию. Он не изменяет проект по умолчанию для других сеансов.
Если локальная песочница отключена, команды запуска агента могут получить доступ к тем же файлам, сетям и учетным данным, что и ваша учетная запись пользователя.
Вы не можете использовать локальную песочницу для сеанса облачной песочницы или сеанса, который выполняется на удаленном узле.
Примечание.
- Если вы вводите любую из приведенных выше команд перед началом сеанса( например, нажав кнопку "Создать", выбрав проект и введя команду, команда изменяет параметр песочницы по умолчанию для выбранного проекта. Кроме того, можно задать значение по умолчанию в параметрах. См . раздел AUTOTITLE.
- В отличие от интерфейса командной строки, введя
/sandboxбезonинтерфейса конфигурации илиoffне открывая интерфейс конфигурации.
Запуск средства за пределами песочницы
Если инструменту требуется доступ к тому, что политика песочницы не разрешает, приложение может отобразить запрос run за пределами песочницы? В зависимости от действующей политики можно:
- Отмена операции.
- Выполните операцию один раз за пределами песочницы.
- Отключите песочницу для оставшейся части текущего сеанса и выполните операцию.
Чтобы отключить песочницу из этого запроса, нажмите кнопку "Дополнительные параметры", а затем отключите песочницу и запустите и подтвердите свой выбор.
Если отключить песочницу из этого запроса, приложение отображает песочницу для этого сеанса. Нажмите кнопку "Повторно включить песочницу ", чтобы включить ее обратно.
Временное отключение песочницы не изменяет параметр проекта по умолчанию или сохраненный параметр сеанса. Он заканчивается при перезапуске сеанса или повторном кэшировании.
Владелец предприятия может запретить пользователям работать с инструментами за пределами песочницы. Дополнительные сведения см. в разделе Управляемые корпоративными настройками.