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