Запрос квоты 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.
Типы подписки и лимиты
Разные типы подписки имеют разные ежемесячные лимиты:
| Тип подписки | Ежемесячный лимит | Применимые люди |
|---|---|---|
| Free | 50 запросов | Личное试用 разработчика |
| Pro | 300 запросов | Личная профессиональная версия разработчика |
| Pro+ | 1500 запросов | Тяжёлый личный разработчик |
| Business | 300 запросов | Подписка команды (по 300 на учётную запись) |
| Enterprise | 1000 запросов | Корпоративная подписка (по 1000 на учётную запись) |
Сверхлимит
Если вы превысите ежемесячный лимит, Copilot всё ещё можно использовать, но возникнут дополнительные расходы. Количество сверхлимита будет отдельно отображено в выводе.
🎒 Подготовка перед началом
Предварительные условия
Проверка конфигурации
Это руководство предполагает, что вы уже:
✅ Установили плагин opencode-mystatus
- См. Быстрый старт
✅ Настроили хотя бы одно из следующего:
- Вошли в GitHub Copilot через OpenCode (OAuth Token)
- Вручную создали файл конфигурации Fine-grained PAT (рекомендуется)
Методы конфигурации (выберите один)
Метод 1: Использование Fine-grained PAT (рекомендуется)
Это самый надёжный способ, не подвержен влиянию изменений интеграции OAuth OpenCode.
- Посетите https://github.com/settings/tokens?type=beta
- Нажмите "Generate new token (classic)" или "Generate new token (beta)"
- В "Account permissions" установите Plan на Read-only
- Сгенерируйте Token, формат похож на
github_pat_11A... - Создайте файл конфигурации
~/.config/opencode/copilot-quota-token.json:
{
"token": "github_pat_11A...",
"username": "your-username",
"tier": "pro"
}Описание полей конфигурационного файла:
token: ваш Fine-grained PATusername: имя пользователя 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 выполните команду слеша:
/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 неверен, запрос не удастся.
Пример ошибки:
// ❌ Ошибка: отсутствует поле username
{
"token": "github_pat_11A...",
"tier": "pro"
}Правильный пример:
// ✅ Правильно: включает все необходимые поля
{
"token": "github_pat_11A...",
"username": "your-username",
"tier": "pro"
}Ловушка 3: Неправильно заполнен тип подписки
Если tier не соответствует вашей фактической подписке, расчёт лимита будет неверным.
| Ваша фактическая подписка | Поле tier должно быть заполнено | Пример неправильного заполнения |
|---|---|---|
| Free | free | pro ❌ |
| Pro | pro | free ❌ |
| Pro+ | pro+ | pro ❌ |
| Business | business | enterprise ❌ |
| Enterprise | enterprise | business ❌ |
Как просмотреть ваш фактический тип подписки:
- Посетите https://github.com/settings/billing
- Просмотрите раздел "GitHub Copilot"
Ловушка 4: Недостаточность прав Token
Если вы используете Classic Token (не Fine-grained), без права чтения "Plan", вернётся ошибка 403.
Решение:
- Убедитесь, что используете Fine-grained Token (генерируется на странице beta версии)
- Убедитесь, что предоставлено право "Account permissions → Plan → Read-only"
Ловушка 5: Детали модели не отображаются
Нормальное явление
Если вы используете метод OAuth Token (Internal API), детали использования модели не будут отображаться.
Это связано с тем, что Internal API не возвращает статистику использования на уровне модели. Если вам нужны детали модели, используйте метод Fine-grained PAT.
Итог урока
В этом уроке объясняется, как использовать opencode-mystatus для запроса квоты GitHub Copilot:
Ключевые моменты:
- Premium Requests — это основной индикатор квоты Copilot, включая Chat、Completion、Workspace и другие функции
- Тип подписки определяет ежемесячный лимит: Free 50 запросов、Pro 300 запросов、Pro+ 1500 запросов、Business 300 запросов、Enterprise 1000 запросов
- Сверхлимит приведёт к дополнительным расходам, отдельно отобразится в выводе
- Fine-grained PAT — это рекомендуемый метод аутентификации, не подвержен влиянию изменений интеграции OAuth OpenCode
- OAuth Token может не сработать из-за ограничений прав, нужно использовать PAT как альтернативу
Интерпретация вывода:
- Индикатор прогресса: визуально отображает оставшуюся долю
- Процент: конкретное оставшееся количество
- Использовано/Всего: детальное использование
- Детали модели (необязательно): количество использований каждой модели
- Время сброса (необязательно): обратный отсчёт до следующего сброса
Предварительный обзор следующего урока
На следующем уроке мы изучим Настройка аутентификации Copilot。
Вы узнаете:
- Подробное сравнение OAuth Token и Fine-grained PAT
- Как сгенерировать Fine-grained PAT (полные шаги)
- Как решить проблемы с правами в различных сценариях
- Лучшие практики в разных сценариях
Приложение: справочник по исходному коду
Нажмите для просмотра местоположения исходного кода
Время обновления: 2026-01-23
| Функция | Путь к файлу | Номер строки |
|---|---|---|
| Запрос квоты Copilot | plugin/lib/copilot.ts | 481-524 |
| --- | --- | --- |
| Запрос Public Billing API | plugin/lib/copilot.ts | 157-177 |
| Запрос Internal API | plugin/lib/copilot.ts | 242-304 |
| Логика обмена Token | plugin/lib/copilot.ts | 183-208 |
| Форматирование Internal API | plugin/lib/copilot.ts | 354-393 |
| Форматирование Public API | plugin/lib/copilot.ts | 410-468 |
| Определение типа подписки Copilot | plugin/lib/types.ts | 57-58 |
| Определение типа CopilotQuotaConfig | plugin/lib/types.ts | 66-73 |
| Определение типа CopilotAuthData | plugin/lib/types.ts | 46-51 |
| Константа лимита подписки Copilot | plugin/lib/copilot.ts | 397-403 |
Ключевые константы:
COPILOT_PLAN_LIMITS:ежемесячные лимиты различных типов подписок (строки 397-403)free: 50pro: 300pro+: 1500business: 300enterprise: 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 (приоритет): использование Fine-grained PAT + Public Billing API
- Преимущества: стабильно, не подвержено влиянию изменений интеграции OAuth OpenCode
- Недостатки: требует ручной настройки PAT пользователем
Стратегия 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