Примечание.
Второй пилот SDK в настоящее время находится в Публичный предварительный просмотр. Функциональность и доступность могут меняться.
Remote sessions let users access their Copilot session from GitHub web and mobile. When enabled, the Второй пилот SDK connects each session to Mission Control, producing a URL that can be shared as a link or QR code.
Prerequisites
- The user must be authenticated (GitHub token or logged-in user)
- The session's working directory must be a GitHub repository
Enabling remote sessions
You can enable remote access at the client level (always-on) or toggle it per session (on-demand).
Always-on (client-level)
Set remote: true when creating the client. Every session in a GitHub repo automatically gets a remote 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);
}
});
For examples in Python, Go, C#, and Rust, see the github/copilot-sdk repository. Для Java см. репозиторийgithub/copilot-sdk-java.
On-demand (per-session toggle)
Use session.rpc.remote.enable() to start remote access mid-session, and session.rpc.remote.disable() to stop it. This is equivalent to Второй пилот CLI's /remote on and /remote off commands.
const result = await session.rpc.remote.enable();
console.log("Remote URL:", result.url);
// Later: stop sharing
await session.rpc.remote.disable();
For examples in Python, Go, C#, and Rust, see the github/copilot-sdk repository. Для Java см. репозиторийgithub/copilot-sdk-java.
QR code generation
The remote URL can be rendered as a QR code for easy mobile access. The Второй пилот SDK provides the URL—use your preferred QR code library.
Notes
- The
remoteclient option only applies when the Второй пилот SDK spawns Второй пилот CLI. It is ignored when connecting to an external server viacliUrl. - If the working directory is not a GitHub repository, remote setup is silently skipped (always-on mode) or returns an error (on-demand mode).
- Remote sessions require authentication. Ensure
gitHubTokenoruseLoggedInUseris configured.