Skip to content

Запрос квоты GitHub Copilot: Premium Requests и детали моделей

Что вы научитесь делать

  • Быстро просмотреть использование GitHub Copilot Premium Requests за месяц
  • Поймите разницу в ежемесячных лимитах разных типов подписки (Free / Pro / Pro+ / Business / Enterprise)
  • Просмотреть детали использования моделей (например, количество использований GPT-4、Claude и т. д.)
  • Определить количество сверхлимита, оценить дополнительные расходы
  • Решить проблемы с правами новой интеграции OpenCode (OAuth Token не может запросить квоту)

Ваша текущая проблема

Проблема с правами новой интеграции OpenCode

Последняя интеграция OAuth OpenCode больше не предоставляет права доступа к API /copilot_internal/*, что делает невозможным запрос квоты с помощью существующего метода OAuth Token.

Вы можете встретить такую ошибку:

⚠️ Запрос квоты GitHub Copilot временно недоступен.
Новая интеграция OAuth OpenCode не поддерживает доступ к API квоты.

Решение:
1. Создайте fine-grained PAT (访问 https://github.com/settings/tokens?type=beta)
2. В 'Account permissions' установите 'Plan' на 'Read-only'
...

Это нормально, это руководство научит вас, как решить.

Основная идея

Квота GitHub Copilot разделена на следующие основные понятия:

Premium Requests (основная квота)

Premium Requests — это основной индикатор квоты Copilot, включая:

  • Взаимодействие в чате (диалог с AI помощником)
  • Дополнение кода (Code Completion)
  • Функция Copilot Workspace (совместная работа в рабочем пространстве)

Что такое Premium Requests?

Простое понимание: каждый раз, когда Copilot помогает вам «работать» (генерировать код、отвечать на вопросы、анализировать код) считается одним Premium Request. Это основной единица измерения биллинга Copilot.

Типы подписки и лимиты

Разные типы подписки имеют разные ежемесячные лимиты:

Тип подпискиЕжемесячный лимитПрименимые люди
Free50 запросовЛичное试用 разработчика
Pro300 запросовЛичная профессиональная версия разработчика
Pro+1500 запросовТяжёлый личный разработчик
Business300 запросовПодписка команды (по 300 на учётную запись)
Enterprise1000 запросовКорпоративная подписка (по 1000 на учётную запись)

Сверхлимит

Если вы превысите ежемесячный лимит, Copilot всё ещё можно использовать, но возникнут дополнительные расходы. Количество сверхлимита будет отдельно отображено в выводе.

🎒 Подготовка перед началом

Предварительные условия

Проверка конфигурации

Это руководство предполагает, что вы уже:

  1. Установили плагин opencode-mystatus

  2. Настроили хотя бы одно из следующего:

    • Вошли в GitHub Copilot через OpenCode (OAuth Token)
    • Вручную создали файл конфигурации Fine-grained PAT (рекомендуется)

Методы конфигурации (выберите один)

Метод 1: Использование Fine-grained PAT (рекомендуется)

Это самый надёжный способ, не подвержен влиянию изменений интеграции OAuth OpenCode.

  1. Посетите https://github.com/settings/tokens?type=beta
  2. Нажмите "Generate new token (classic)" или "Generate new token (beta)"
  3. В "Account permissions" установите Plan на Read-only
  4. Сгенерируйте Token, формат похож на github_pat_11A...
  5. Создайте файл конфигурации ~/.config/opencode/copilot-quota-token.json:
json
{
  "token": "github_pat_11A...",
  "username": "your-username",
  "tier": "pro"
}

Описание полей конфигурационного файла:

  • token: ваш Fine-grained PAT
  • username: имя пользователя GitHub (используется для вызова API)
  • tier: тип подписки, необязательные значения: free / pro / pro+ / business / enterprise

Метод 2: Использование OAuth Token OpenCode

Если вы уже вошли в GitHub Copilot через OpenCode, mystatus попробует использовать ваш OAuth Token.

Сведения о совместимости

Этот метод может не сработать из-за ограничений прав новой интеграции OAuth OpenCode. Если он не сработает, используйте метод 1 (Fine-grained PAT).

Следуйте за мной

Шаг 1: Выполните команду запроса

В OpenCode выполните команду слеша:

bash
/mystatus

Что вы должны увидеть:

Если настроена учётная запись Copilot (с использованием Fine-grained PAT или OAuth Token), вывод будет включать следующее содержание:

## GitHub Copilot Account Quota

Account:        GitHub Copilot (pro)

Premium Requests [████████░░░░░░░░░░] 40% (180/300)

Модель использование деталей:
  gpt-4: 120 запросов
  claude-3-5-sonnet: 60 запросов

Period: 2026-01

Шаг 2: Интерпретация результата вывода

Вывод включает следующую ключевую информацию:

1. Информация об учётной записи

Account:        GitHub Copilot (pro)

Отображает ваш тип подписки Copilot (pro / free / business и т. д.).

2. Квота Premium Requests

Premium Requests [████████░░░░░░░░░░] 40% (180/300)
  • Индикатор прогресса: визуально отображает оставшуюся долю
  • Процент: осталось 40%
  • Использовано/Всего: использовано 180 запросов, всего 300 запросов

Описание индикатора прогресса

Зелёный/жёлтый заливка указывает использованное количество, пустая часть указывает оставшееся количество. Чем больше заливка, тем больше использованное количество.

3. Детали использования модели (только Public API)

Модель использование деталей:
  gpt-4: 120 запросов
  claude-3-5-sonnet: 60 запросов

Отображает количество использований каждой модели, отсортировано по убыванию использований (отображается до 5 лучших).

Почему в моём выводе нет деталей модели?

Детали модели отображаются только в режиме Public API (Fine-grained PAT). Если вы используете OAuth Token (Internal API), детали модели не будут отображаться.

4. Сверхлимит (если есть)

Если вы превысили ежемесячный лимит, отобразится:

Сверхлимит: 25 запросов

Сверхлимит приведёт к дополнительным расходам, конкретный тариф см. в ценах GitHub Copilot.

5. Время сброса (только Internal API)

Квота сброс: 12d 5h (2026-02-01)

Отображает обратный отсчёт до следующего сброса квоты.

Шаг 3: Проверка частых ситуаций

Ситуация 1: Видите "⚠️ Запрос квоты временно недоступен"

Это нормальное явление, указывает на то, что OAuth Token OpenCode не имеет прав доступа к API квоты.

Решение: следуйте «Метод 1: Использование Fine-grained PAT» для настройки PAT.

Ситуация 2: Индикатор прогресса полностью пуст или почти полон

  • Полностью пуст ░░░░░░░░░░░░░░░░░░░: квота использована, отобразится количество сверхлимита
  • Почти полон ██████████████████: скоро будет использовано, обратите внимание на контроль частоты использования

Ситуация 3: Отображается "Unlimited"

Некоторые подписки Enterprise могут отображать "Unlimited", что означает безлимитность.

Шаг 4: Обработка ошибок (если запрос не удался)

Если вы видите следующую ошибку:

GitHub Copilot API запрос неудачен (403): Resource not accessible by integration

Причина: OAuth Token не имеет достаточных прав для доступа к API Copilot.

Решение: используйте метод Fine-grained PAT (см. метод 1).


Контрольная точка ✅

После завершения вышеуказанных шагов вы должны быть способны:

  • [ ] Видеть информацию о квоте GitHub Copilot в выводе /mystatus
  • [ ] Понимать индикатор прогресса и процент Premium Requests
  • [ ] Знать свой тип подписки и ежемесячный лимит
  • [ ] Знать, как просмотреть детали использования моделей (если используете Fine-grained PAT)
  • [ ] Понимать, что означает сверхлимит

Предупреждения о ловушках

Ловушка 1: OAuth Token не может запросить квоту (наиболее частая)

Частая ошибка

⚠️ Запрос квоты GitHub Copilot временно недоступен.
Новая интеграция OAuth OpenCode не поддерживает доступ к API квоты.

Причина: интеграция OAuth OpenCode не предоставила права доступа к API /copilot_internal/*.

Решение: используйте метод Fine-grained PAT, см. «Метод 1: Использование Fine-grained PAT».

Ловушка 2: Ошибка формата конфигурационного файла

Если формат файла конфигурации ~/.config/opencode/copilot-quota-token.json неверен, запрос не удастся.

Пример ошибки:

json
// ❌ Ошибка: отсутствует поле username
{
  "token": "github_pat_11A...",
  "tier": "pro"
}

Правильный пример:

json
// ✅ Правильно: включает все необходимые поля
{
  "token": "github_pat_11A...",
  "username": "your-username",
  "tier": "pro"
}

Ловушка 3: Неправильно заполнен тип подписки

Если tier не соответствует вашей фактической подписке, расчёт лимита будет неверным.

Ваша фактическая подпискаПоле tier должно быть заполненоПример неправильного заполнения
Freefreepro
Proprofree
Pro+pro+pro
Businessbusinessenterprise
Enterpriseenterprisebusiness

Как просмотреть ваш фактический тип подписки:

Ловушка 4: Недостаточность прав Token

Если вы используете Classic Token (не Fine-grained), без права чтения "Plan", вернётся ошибка 403.

Решение:

  1. Убедитесь, что используете Fine-grained Token (генерируется на странице beta версии)
  2. Убедитесь, что предоставлено право "Account permissions → Plan → Read-only"

Ловушка 5: Детали модели не отображаются

Нормальное явление

Если вы используете метод OAuth Token (Internal API), детали использования модели не будут отображаться.

Это связано с тем, что Internal API не возвращает статистику использования на уровне модели. Если вам нужны детали модели, используйте метод Fine-grained PAT.

Итог урока

В этом уроке объясняется, как использовать opencode-mystatus для запроса квоты GitHub Copilot:

Ключевые моменты:

  1. Premium Requests — это основной индикатор квоты Copilot, включая Chat、Completion、Workspace и другие функции
  2. Тип подписки определяет ежемесячный лимит: Free 50 запросов、Pro 300 запросов、Pro+ 1500 запросов、Business 300 запросов、Enterprise 1000 запросов
  3. Сверхлимит приведёт к дополнительным расходам, отдельно отобразится в выводе
  4. Fine-grained PAT — это рекомендуемый метод аутентификации, не подвержен влиянию изменений интеграции OAuth OpenCode
  5. OAuth Token может не сработать из-за ограничений прав, нужно использовать PAT как альтернативу

Интерпретация вывода:

  • Индикатор прогресса: визуально отображает оставшуюся долю
  • Процент: конкретное оставшееся количество
  • Использовано/Всего: детальное использование
  • Детали модели (необязательно): количество использований каждой модели
  • Время сброса (необязательно): обратный отсчёт до следующего сброса

Предварительный обзор следующего урока

На следующем уроке мы изучим Настройка аутентификации Copilot

Вы узнаете:

  • Подробное сравнение OAuth Token и Fine-grained PAT
  • Как сгенерировать Fine-grained PAT (полные шаги)
  • Как решить проблемы с правами в различных сценариях
  • Лучшие практики в разных сценариях

Приложение: справочник по исходному коду

Нажмите для просмотра местоположения исходного кода

Время обновления: 2026-01-23

ФункцияПуть к файлуНомер строки
Запрос квоты Copilotplugin/lib/copilot.ts481-524
---------
Запрос Public Billing APIplugin/lib/copilot.ts157-177
Запрос Internal APIplugin/lib/copilot.ts242-304
Логика обмена Tokenplugin/lib/copilot.ts183-208
Форматирование Internal APIplugin/lib/copilot.ts354-393
Форматирование Public APIplugin/lib/copilot.ts410-468
Определение типа подписки Copilotplugin/lib/types.ts57-58
Определение типа CopilotQuotaConfigplugin/lib/types.ts66-73
Определение типа CopilotAuthDataplugin/lib/types.ts46-51
Константа лимита подписки Copilotplugin/lib/copilot.ts397-403

Ключевые константы:

  • COPILOT_PLAN_LIMITS:ежемесячные лимиты различных типов подписок (строки 397-403)

    • free: 50
    • pro: 300
    • pro+: 1500
    • business: 300
    • enterprise: 1000
  • COPILOT_QUOTA_CONFIG_PATH:путь к конфигурационному файлу Fine-grained PAT (строки 93-98)

    • ~/.config/opencode/copilot-quota-token.json

Ключевые функции:

  • queryCopilotUsage():основная функция запроса, поддерживает две стратегии аутентификации (строки 481-524)
  • fetchPublicBillingUsage():использование Fine-grained PAT для запроса Public Billing API (строки 157-177)
  • fetchCopilotUsage():использование OAuth Token для запроса Internal API (строки 242-304)
  • exchangeForCopilotToken():логика обмена OAuth Token (строки 183-208)
  • formatPublicBillingUsage():форматирование ответа Public API, включает детали модели (строки 410-468)
  • formatCopilotUsage():форматирование ответа Internal API (строки 354-393)

Стратегия аутентификации:

  1. Стратегия 1 (приоритет): использование Fine-grained PAT + Public Billing API

    • Преимущества: стабильно, не подвержено влиянию изменений интеграции OAuth OpenCode
    • Недостатки: требует ручной настройки PAT пользователем
  2. Стратегия 2 (понижение): использование OAuth Token + Internal API

    • Преимущества: без дополнительной настройки
    • Недостатки: может не сработать из-за ограничений прав (текущая интеграция OpenCode не поддерживает)

Конечные точки API:

  • Public Billing API:https://api.github.com/users/{username}/settings/billing/premium_request/usage
  • Internal Quota API:https://api.github.com/copilot_internal/user
  • Token Exchange API:https://api.github.com/copilot_internal/v2/token