Примечание.
Второй пилот SDK в настоящее время находится в Technical Preview. Функциональность и доступность могут меняться.
Подключение GitHub Copilot SDK к локально зарегистрированному CLI — самый быстрый способ начать.
**Лучше всего для:** Личные проекты, прототипирование, локальное развитие и изучение SDK.
Принцип работы
При установке Второй пилот CLI и входе ваши учетные данные хранятся в системном ключе. SDK автоматически запускает CLI как дочерний процесс и использует эти сохранённые учетные данные. Ключевые характеристики:
- CLI создаётся автоматически SDK — настройка не требуется.
- Аутентификация использует учетные данные авторизованного пользователя из системного ключевого круга.
- Связь происходит через stdio (stdin/stdout) — сетевые порты не открываются.
- Сессии локальны для вашего компьютера.
Быстрый старт
В стандартной конфигурации вообще не требуется никаких опций.
Node.js / TypeScript
import { CopilotClient } from "@github/copilot-sdk";
const client = new CopilotClient();
const session = await client.createSession({ model: "gpt-4.1" });
const response = await session.sendAndWait({ prompt: "Hello!" });
console.log(response?.data.content);
await client.stop();
Python
from copilot import CopilotClient, PermissionHandler
client = CopilotClient()
await client.start()
session = await client.create_session(on_permission_request=PermissionHandler.approve_all, model="gpt-4.1")
response = await session.send_and_wait({"prompt": "Hello!"})
print(response.data.content)
await client.stop()
Вперед
client := copilot.NewClient(nil)
if err := client.Start(ctx); err != nil {
log.Fatal(err)
}
defer client.Stop()
session, _ := client.CreateSession(ctx, &copilot.SessionConfig{Model: "gpt-4.1"})
response, _ := session.SendAndWait(ctx, copilot.MessageOptions{Prompt: "Hello!"})
fmt.Println(*response.Data.Content)
.NET
await using var client = new CopilotClient();
await using var session = await client.CreateSessionAsync(
new SessionConfig { Model = "gpt-4.1" });
var response = await session.SendAndWaitAsync(
new MessageOptions { Prompt = "Hello!" });
Console.WriteLine(response?.Data.Content);
SDK отвечает за всё: запуск CLI, аутентификацию и управление сессией.
Как это работает внутри компании?
Для получения дополнительной информации о порядке взаимодействия между компонентами см. диаграмму последовательностей в github/copilot-sdkрепозитории.
Параметры конфигурации
Хотя настройки по умолчанию работают в большинстве случаев, вы можете настроить локальную конфигурацию:
const client = new CopilotClient({
// Override CLI location (default: bundled with @github/copilot)
cliPath: "/usr/local/bin/copilot",
// Set log level for debugging
logLevel: "debug",
// Pass extra CLI arguments
cliArgs: ["--log-dir=/tmp/copilot-logs"],
// Set working directory
cwd: "/path/to/project",
});
Использование переменных среды
Вместо связки ключей можно аутентифицироваться через переменные среды. Это полезно для CI или если вы не хотите интерактивного входа.
# Set one of these (in priority order):
export COPILOT_GITHUB_TOKEN="YOUR-GITHUB-TOKEN" # Recommended
export GH_TOKEN="YOUR-GITHUB-TOKEN" # GitHub CLI compatible
export GITHUB_TOKEN="YOUR-GITHUB-TOKEN" # GitHub Actions compatible
Замените YOUR-GITHUB-TOKEN на валидный GitHubpersonal access token или OAuth токен. SDK автоматически принимает их — изменения кода не требуются.
Управление сессиями
С локальным CLI сессии по умолчанию эфемерны. Чтобы создать вособновляемые сессии, укажите идентификатор сессии:
// Create a named session
const session = await client.createSession({
sessionId: "my-project-analysis",
model: "gpt-4.1",
});
// Resume it in a later run
const resumed = await client.resumeSession("my-project-analysis");
Состояние сессии хранится локально по ~/.copilot/session-state/SESSION-ID/адресу , где SESSION-ID находится указанный вами идентификатор сессии.
Ограничения
| Ограничение | Сведения |
|---|
**Одиночный пользователь** | Удостоверения привязаны к тому, кто вошёл в CLI. |
|
Только местные | CLI работает на том же компьютере, что и ваше приложение. |
|
Нет мультиарендатора | Не может обслуживать нескольких пользователей из одного экземпляра CLI. |
|
Требуется вход в систему CLI | Пользователь должен сначала запустить copilot и пройти аутентификацию. |
Дальнейшие действия
- Чтобы отправить приложение другим пользователям, смотрите Использование комплектного CLI с Copilot SDK.
- Чтобы поддержать вход нескольких пользователей через свои аккаунты GitHub , смотрите Использование GitHub OAuth с Copilot SDK.
- Чтобы запустить SDK на сервере, см. Настройка Copilot SDK для бэкенд-сервисов.
- Для вашего первого сообщения и установки смотрите Начало работы с Copilot SDK.