Запрос квоты OpenAI: лимиты за 3 часа и 24 часа
Что вы научитесь делать
- Использовать
/mystatusдля запроса квоты подписки OpenAI Plus/Team/Pro - Понимать информацию о лимитах за 3 часа и 24 часа в выводе
- Поймите разницу между основным и вторичным окнами
- Поймите способ обработки при истечении срока действия Token
Ваша текущая проблема
У вызовов API OpenAI есть лимиты, после превышения временно ограничивается доступ. Но вы не знаете:
- Сколько осталось квоты?
- Какое окно из 3 часов или 24 часов используется?
- Когда сбросится?
- Почему иногда видите данные обоих окон?
Если вы не освоите эту информацию вовремя, это может повлиять на ваш прогресс использования ChatGPT для написания кода или проектов.
Когда использовать этот метод
Когда вы:
- Нужно часто использовать API OpenAI для разработки
- Обнаружили замедление ответа или ограничение
- Хотите понять использование учётной записи команды
- Хотите знать, когда обновится квота
Основная идея
У OpenAI есть два окна ограничения для вызовов API:
| Тип окна | Длительность | Роль |
|---|---|---|
| Основное окно(primary) | Возвращается сервером OpenAI | Предотвращение массовых вызовов за короткое время |
| Вторичное окно(secondary) | Возвращается сервером OpenAI (возможно, не существует) | Предотвращение долгосрочного превышения |
mystatus будет параллельно запрашивать оба окна, отображая соответственно:
- Процент использованного
- Индикатор прогресса оставшейся квоты
- Время до сброса
INFO
Длительность окна возвращается сервером OpenAI, разные типы подписок (Plus、Team、Pro) могут быть разными.
Следуйте за мной
Шаг 1: Выполните команду запроса
В OpenCode введите /mystatus, система автоматически запросит квоту всех настроенных платформ.
Что вы должны увидеть: Включает информацию о квоте платформ OpenAI、智谱 AI、Z.ai、Copilot、Google Cloud и т. д. (зависит от того, какие платформы вы настроили).
Шаг 2: Найдите часть OpenAI
В выводе найдите часть ## OpenAI Account Quota.
Что вы должны видеть:
Похожее содержание:
## OpenAI Account Quota
Account: user@example.com (plus)
3-hour limit
███████████████░░░░░░░░░░ 60% remaining
Resets in: 2h 30mШаг 3: Интерпретация информации основного окна
Основное окно(primary_window)обычно отображает:
- Название окна: например,
3-hour limitили24-hour limit - Индикатор прогресса: визуально отображает долю оставшейся квоты
- Оставшийся процент: например,
60% remaining - Время сброса: например,
Resets in: 2h 30m
Что вы должны видеть:
- Название окна отображает длительность (3 часа / 24 часа)
- Чем полнее индикатор прогресса, тем больше осталось; чем пустее, тем быстрее закончится
- Время сброса — это обратный отсчёт, после обнуления квота обновится
WARNING
Если вы видите подсказку Limit reached!, это означает, что квота текущего окна использована, нужно ждать сброса.
Шаг 4: Просмотр вторичного окна (если есть)
Если OpenAI вернул данные вторичного окна, вы увидите:
24-hour limit
████████████████████████████ 90% remaining
Resets in: 20h 45mЧто вы должны видеть:
- Вторичное окно отображает квоту другого временного измерения (обычно 24 часа)
- Может быть отличный от основного окна оставшийся процент
TIP
Вторичное окно — это независимый пул квоты, использование основного окна не влияет на вторичное окно, и наоборот.
Шаг 5: Просмотр типа подписки
В строке Account можно увидеть тип подписки:
Account: user@example.com (plus)
^^^^^
Тип подпискиОбщие типы подписок:
plus:личная подписка Plusteam:подписка команды/организацииpro:подписка Pro
Что вы должны видеть:
- Тип вашей подписки отображается в скобках после почты
- Разные типы могут иметь разные лимиты
Контрольная точка ✅
Проверьте, что вы понимаете:
| Сценарий | Что вы должны видеть |
|---|---|
| Основное окно осталось 60% | Индикатор прогресса примерно 60% заполнен, отображается 60% remaining |
| Сброс через 2.5 часа | Отображается Resets in: 2h 30m |
| Лимит достигнут | Отображается Limit reached! |
| Есть вторичное окно | Основное и вторичное окна отображают данные по одной строке каждый |
Предупреждения о ловушках
❌ Ошибочная операция: не обновлять после истечения срока действия Token
Ошибка: видите подсказку ⚠️ Авторизация OAuth истекла (китайский) или ⚠️ OAuth token expired (английский)
Причина: OAuth Token истёк (определяется конкретной длительностью сервером), после истечения невозможно запросить квоту.
Правильное действие:
- Повторно войдите в OpenAI через OpenCode
- Token автоматически обновится
- Снова выполните
/mystatusдля запроса
❌ Ошибочная операция: путаница основного и вторичного окон
Ошибка: думали, что есть только одна квота окна, но основное окно использовано, а вторичное всё ещё используется
Причина: два окна — это независимые пулы квоты.
Правильное действие:
- Следите за временем сброса обоих окон
- Основное окно сбрасывается быстро, вторичное окно сбрасывается медленно
- Разумно распределяйте использование, избегайте длительного превышения одного окна
❌ Ошибочная операция: игнорирование ID командной учётной записи
Ошибка: подписка Team отображает не ваше собственное использование
Причина: подписке Team нужно передать ID командной учётной записи, иначе может запрашиваться учётная запись по умолчанию.
Правильное действие:
- Убедитесь, что вы вошли в правильную командную учётную запись в OpenCode
- В Token автоматически будет включён
chatgpt_account_id
Итог урока
mystatus запрашивает квоту через вызов официального API OpenAI:
- Поддерживает аутентификацию OAuth (Plus/Team/Pro)
- Отображает основное и вторичное окна (если существуют)
- Индикатор прогресса визуализирует оставшуюся квоту
- Обратный отсчёт отображает время сброса
- Автоматически обнаруживает истечение срока действия Token
Предварительный обзор следующего урока
На следующем уроке мы изучим Запрос квоты 智谱 AI и Z.ai。
Вы узнаете:
- Что такое лимит Token за 5 часов
- Как просмотреть ежемесячную квоту MCP
- Предупреждение при использовании более 80%
Приложение: справочник по исходному коду
Нажмите для просмотра местоположения исходного кода
Время обновления: 2026-01-23
| Функция | Путь к файлу | Номер строки |
|---|---|---|
| Точка входа запроса квоты OpenAI | plugin/lib/openai.ts | 207-236 |
| Вызов API OpenAI | plugin/lib/openai.ts | 132-155 |
| Форматирование вывода | plugin/lib/openai.ts | 164-194 |
| Разбор JWT Token | plugin/lib/openai.ts | 64-73 |
| Извлечение почты пользователя | plugin/lib/openai.ts | 78-81 |
| Проверка истечения срока действия Token | plugin/lib/openai.ts | 216-221 |
| Определение типа OpenAIAuthData | plugin/lib/types.ts | 28-33 |
Константы:
OPENAI_USAGE_URL = "https://chatgpt.com/backend-api/wham/usage":официальный API запроса квоты OpenAI
Ключевые функции:
queryOpenAIUsage(authData):основная функция запроса квоты OpenAIfetchOpenAIUsage(accessToken):вызов API OpenAIformatOpenAIUsage(data, email):форматирование выводаparseJwt(token):разбор JWT Token (нестандартная реализация библиотеки)getEmailFromJwt(token):извлечение почты пользователя из TokengetAccountIdFromJwt(token):извлечение ID командной учётной записи из Token