Skip to main content

Удалённые сессии

Пользователи могли получать доступ к своей Copilot сессии с GitHub веба и мобильных устройств, подключив её к Центру управления полётом.

Кто может использовать эту функцию?

GitHub Copilot SDK Доступна со всеми Copilot тарифными планами.

Примечание.

Второй пилот SDK в настоящее время находится в Публичный предварительный просмотр. Функциональность и доступность могут меняться.

Удалённые сессии позволяют пользователям получать доступ к своей Copilot сессии как GitHub с веба, так и с мобильных устройств. При включении он Второй пилот SDK соединяет каждую сессию с Центром управления миссией, создавая URL, который можно поделиться в виде ссылки или QR-кода.

Необходимые условия

  • Пользователь должен быть аутентифицирован (токеном GitHub или вошедшим в систему)
  • Рабочий каталог сессии должен быть репозиторием GitHub

Включение удалённых сессий

Вы можете включить удалённый доступ на уровне клиента (всегда включённый) или переключить его за сессию (по запросу).

Всегда-онлайн (на уровне клиента)

Устанавливайте remote: true при создании клиента. Каждая сессия в репозитории GitHub автоматически получает удалённый URL.

import { CopilotClient } from "@github/copilot-sdk";

const client = new CopilotClient({ remote: true });
const session = await client.createSession({
  workingDirectory: "/path/to/github-repo",
  onPermissionRequest: async () => ({ allowed: true }),
});

session.on("session.info", (event) => {
  if (event.data.infoType === "remote") {
    console.log("Remote URL:", event.data.url);
  }
});

Примеры в Python, Go, C# и Rust см. репозиторий github/copilot-sdk. Для Java см. репозиторийgithub/copilot-sdk-java.

Переключатель по запросу (переключатель на сессию)

Используйте session.rpc.remote.enable() для запуска удалённого доступа во время сессии и session.rpc.remote.disable() остановки его. Это эквивалентно Второй пилот CLI' /remote on s и /remote off командам.

const result = await session.rpc.remote.enable();
console.log("Remote URL:", result.url);

// Later: stop sharing
await session.rpc.remote.disable();

Примеры в Python, Go, C# и Rust см. репозиторий github/copilot-sdk. Для Java см. репозиторийgithub/copilot-sdk-java.

Генерация QR-кодов

Удалённый URL можно отобразить в виде QR-кода для удобного мобильного доступа. Он Второй пилот SDK предоставляет URL — используйте выбранную вами библиотеку QR-кодов.

Примечания

  • Опция клиента remote действует только при появлении Второй пилот SDKВторой пилот CLI. Он игнорируется при подключении к внешнему серверу через cliUrl.
  • Если рабочая папка не является репозиторием GitHub, удалённая настройка тихо пропускается (режим всегда включено) или возвращается ошибка (режим по запросу).
  • Удалённые сессии требуют аутентификации. Убедитесь, gitHubToken что это настроено useLoggedInUser .