Remarque
SDK Copilot est actuellement en préversion publique. Les fonctionnalités et la disponibilité sont susceptibles de changer.
Remote sessions let users access their Copilot session from GitHub web and mobile. When enabled, the SDK Copilot 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. Pour Java, consultez le github/copilot-sdk-java référentiel.
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 Copilot pour 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. Pour Java, consultez le github/copilot-sdk-java référentiel.
QR code generation
The remote URL can be rendered as a QR code for easy mobile access. The SDK Copilot provides the URL—use your preferred QR code library.
Notes
- The
remoteclient option only applies when the SDK Copilot spawns Copilot pour 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.