Skip to content

Частые вопросы: невозможность запроса квоты、истечение срока действия Token、проблемы с правами

При использовании плагина opencode-mystatus вы можете столкнуться с различными ошибками: невозможность чтения файлов аутентификации、истечение срока действия OAuth Token、недостаточность прав GitHub Copilot、сбой запросов API и т. д. Эти частые проблемы обычно можно решить простой настройкой или повторной авторизацией. Это руководство собирает все шаги устранения частых ошибок, помогая быстро определить корень проблемы.

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

  • Быстро определить причину сбоя запроса mystatus
  • Решить проблему истечения срока действия Token OpenAI
  • Настроить Fine-grained PAT GitHub Copilot
  • Обработать отсутствие project_id в Google Cloud
  • Различные сбои запросов API и тайм-ауты

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

Вы выполняете /mystatus для запроса квоты, но видите различные сообщения об ошибках, не зная, с чего начать устранение неполадок.

Когда использовать этот метод

  • Когда видите любое сообщение об ошибке: это руководство охватывает все частые ошибки
  • При настройке новой учётной записи: проверьте, правильна ли конфигурация
  • При внезапном сбое запроса квоты: возможно, срок действия Token истёк или права изменились

Принцип устранения ошибок

При встрече с ошибкой сначала посмотрите на ключевые слова сообщения об ошибке, затем сопоставьте с решением в этом руководстве. Большинство ошибок имеют чёткие сообщения подсказки.

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

Механизм обработки ошибок mystatus разделён на три уровня:

  1. Уровень чтения файлов аутентификации: проверка наличия auth.json и правильности формата
  2. Уровень запроса платформы: каждая платформа запрашивается независимо, отказ одной платформы не влияет на другие
  3. Уровень запроса API: сетевые запросы могут истечь по тайм-ауту или вернуть ошибку, но инструмент продолжит пытаться запрашивать другие платформы

Это означает:

  • При отказе одной платформы другие платформы будут по-прежнему нормально отображаться
  • Сообщение об ошибке чётко укажет, какая платформа имеет проблему
  • Большинство ошибок можно решить путём настройки или повторной авторизации

Список устранения проблем

Проблема 1: Невозможность чтения файла аутентификации

Сообщение об ошибке:

❌ Невозможно прочитать файл аутентификации: ~/.local/share/opencode/auth.json
Ошибка: ENOENT: no such file or directory

Причина:

  • Файл аутентификации OpenCode не существует
  • Ещё не настроена какая-либо учётная запись платформы

Решение:

  1. Подтвердите, что OpenCode установлен и настроен

    • Подтвердите, что вы уже настроили хотя бы одну платформу в OpenCode (OpenAI、智谱 AI и т. д.)
    • Если нет, сначала завершите авторизацию в OpenCode
  2. Проверьте путь к файлу

    • Файл аутентификации OpenCode должен быть в ~/.local/share/opencode/auth.json
    • Если вы используете пользовательский каталог конфигурации, подтвердите, правильный ли путь к файлу
  3. Проверьте формат файла

    • Подтвердите, что auth.json является действительным JSON файлом
    • Содержимое файла должно включать хотя бы информацию об одной платформе аутентификации

Что вы должны увидеть: После повторного выполнения /mystatus, вы должны увидеть информацию о квоте хотя бы одной платформы.


Проблема 2: Не найдена ни одна настроенная учётная запись

Сообщение об ошибке:

Не найдена ни одна настроенная учётная запись.

Поддерживаемые типы учётных записей:
- OpenAI (Пользователи подписки Plus/Team/Pro)
- 智谱 AI (Coding Plan)
- Z.ai (Coding Plan)
- Google Cloud (Antigravity)

Причина:

  • auth.json существует, но в нём нет действительной конфигурации
  • Существующая конфигурация имеет неправильный формат (например, отсутствие необходимых полей)

Решение:

  1. Проверьте содержимое auth.json Откройте ~/.local/share/opencode/auth.json, подтвердите, что есть хотя бы одна конфигурация платформы:

    json
    {
      "openai": {
        "type": "oauth",
        "access": "eyJ...",
        "expires": 1738000000000
      }
    }
  2. Настройте хотя бы одну платформу

    • Завершите авторизацию OAuth в OpenCode
    • Или вручную добавьте API Key платформы (智谱 AI、Z.ai)
  3. Справочник по формату конфигурации Требования к конфигурации каждой платформы:

    • OpenAI: должен иметь type: "oauth" и token access
    • 智谱 AI / Z.ai: должен иметь type: "api" и key
    • GitHub Copilot: должен иметь type: "oauth" и token refresh
    • Google Cloud: не зависит от auth.json, требуется отдельная настройка (см. проблему 6)

Проблема 3: Истечение срока действия OAuth Token OpenAI

Сообщение об ошибке:

⚠️ Авторизация OAuth истекла, пожалуйста используйте модель OpenAI в OpenCode один раз для обновления авторизации.

Причина:

  • Срок действия OAuth Token OpenAI ограничен, после истечения невозможно запросить квоту
  • Время истечения Token хранится в поле expires в auth.json

Решение:

  1. Используйте модель OpenAI один раз в OpenCode

    • Задайте вопрос ChatGPT или Codex
    • OpenCode автоматически обновит Token и обновит auth.json
  2. Подтвердите обновление Token

    • Посмотрите поле expires в auth.json
    • Подтвердите, что это временная метка будущего времени
  3. Снова выполните /mystatus

    • Теперь вы должны нормально запросить квоту OpenAI

Зачем нужно повторно использовать модель: OAuth Token OpenAI имеет механизм истечения, использование модели вызовет обновление Token. Это функция безопасности официального процесса аутентификации OpenCode.


Проблема 4: Сбой запроса API (общий)

Сообщение об ошибке:

Сбой запроса OpenAI API (401): Unauthorized
Сбой запроса 智谱 API (403): Forbidden
Сбой запроса Google API (500): Internal Server Error

Причина:

  • Token или API Key недействителен
  • Проблема с сетевым соединением
  • API сервис временно недоступен
  • Недостаточность прав (некоторые платформы требуют специальных прав)

Решение:

  1. Проверьте Token или API Key

    • OpenAI: подтвердите, что token access не истёк (см. проблему 3)
    • 智谱 AI / Z.ai: подтвердите, что key правильный, без лишних пробелов
    • GitHub Copilot: подтвердите, что token refresh действителен
  2. Проверьте сетевое соединение

    • Подтвердите нормальность сети
    • Некоторые платформы могут иметь географические ограничения (например, Google Cloud)
  3. Попробуйте повторную авторизацию

    • Повторно выполните авторизацию OAuth в OpenCode
    • Или вручную обновите API Key
  4. Просмотрите конкретный код состояния HTTP

    • 401 / 403: проблема с правами, обычно Token или API Key недействителен
    • 500 / 503: ошибка на стороне сервера, обычно API временно недоступен, попробуйте позже
    • 429: слишком частые запросы, нужно подождать некоторое время

Проблема 5: Тайм-аут запроса

Сообщение об ошибке:

Тайм-аут запроса (10 секунд)

Причина:

  • Медленное сетевое соединение
  • Слишком долгое время ответа API
  • Брандмауэр или прокси блокируют запрос

Решение:

  1. Проверьте сетевое соединение

    • Подтвердите стабильность сети
    • Попробуйте посетить веб-сайт платформы, подтвердите нормальный доступ
  2. Проверьте настройки прокси

    • Если вы используете прокси, подтвердите правильность конфигурации прокси
    • Некоторые платформы могут требовать специальную конфигурацию прокси
  3. Попробуйте снова

    • Иногда это только временная сетевая флуктуация
    • Повторная попытка обычно решит проблему

Проблема 6: Запрос квоты GitHub Copilot временно недоступен

Сообщение об ошибке:

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

Решение:
1. Создайте fine-grained PAT (访问 https://github.com/settings/tokens?type=beta)
2. В 'Account permissions' установите 'Plan' на 'Read-only'
3. Создайте конфигурационный файл и заполните следующее содержание (включая необходимое поле `tier`):
   ```json
   {
     "token": "github_pat_xxx...",
     "username": "ваше_имя_пользователя",
     "tier": "pro"
   }

Другие методы: • Нажмите значок Copilot на строке состояния в VS Code для просмотра квоты • Посетите https://github.com/settings/billing для просмотра использования


**Причина**:
- Официальная интеграция OAuth OpenCode использует новый процесс аутентификации
- Новый OAuth Token не имеет прав `copilot`, не может вызвать внутренний API квоты
- Это официальное ограничение безопасности OpenCode

**Решение** (рекомендуется):

1. **Создайте Fine-grained PAT**
   - Посетите https://github.com/settings/tokens?type=beta
   - Нажмите "Generate new token" → "Fine-grained token"
   - Заполните имя Token (например, "OpenCode Copilot Quota")

2. **Настройте права**
   - В "Account permissions" найдите право "Plan"
   - Установите на "Read-only"
   - Нажмите "Generate token"

3. **Создайте конфигурационный файл**
   Создайте `~/.config/opencode/copilot-quota-token.json`:

   ```json
   {
     "token": "github_pat_xxx...",
     "username": "ваше_имя_пользователя_GitHub",
     "tier": "pro"
   }

Описание поля tier:

  • free:Copilot Free (50 запросов в месяц)
  • pro:Copilot Pro (300 запросов в месяц)
  • pro+:Copilot Pro+ (1500 запросов в месяц)
  • business:Copilot Business (300 запросов в месяц)
  • enterprise:Copilot Enterprise (1000 запросов в месяц)
  1. Снова выполните /mystatus
    • Теперь вы должны нормально запросить квоту GitHub Copilot

Альтернативное решение:

Если вы не хотите настраивать PAT, можете:

  • Нажать значок Copilot на строке состояния в VS Code для просмотра квоты
  • Посетить https://github.com/settings/billing для просмотра использования

Проблема 7: Отсутствует project_id Google Cloud

Сообщение об ошибке:

⚠️ Отсутствует project_id, невозможно запросить квоту.

Причина:

  • В конфигурации учётной записи Google Cloud отсутствует projectId или managedProjectId
  • mystatus нужен ID проекта для вызова API Google Cloud

Решение:

  1. Проверьте antigravity-accounts.json Откройте конфигурационный файл, подтвердите, что конфигурация учётной записи включает projectId или managedProjectId:

    bash
    ~/.config/opencode/antigravity-accounts.json
    powershell
    %APPDATA%\opencode\antigravity-accounts.json
    json
    {
      "accounts": [
        {
          "email": "your-email@gmail.com",
          "refreshToken": "1//xxx",
          "projectId": "your-project-id",
          "addedAt": 1738000000000,
          "lastUsed": 1738000000000,
          "rateLimitResetTimes": {}
        }
      ]
    }
  2. Как получить project_id

    • Посетите https://console.cloud.google.com/
    • Выберите ваш проект
    • В информации о проекте найдите "Project ID" (ID проекта)
    • Скопируйте его в конфигурационный файл
  3. Если нет project_id

    • Если вы используете управляемый проект, возможно, нужно использовать managedProjectId
    • Свяжитесь с администратором Google Cloud для подтверждения ID проекта

Проблема 8: API 智谱 AI / Z.ai возвращает недействительные данные

Сообщение об ошибке:

Сбой запроса 智谱 API (200): {"code": 401, "msg": "Invalid API key"}
Сбой запроса Z.ai API (200): {"code": 400, "msg": "Bad request"}

Причина:

  • API Key недействителен или имеет неправильный формат
  • API Key истёк или был отозван
  • Учётная запись не имеет прав соответствующей службы

Решение:

  1. Подтвердите правильность API Key

    • Войдите в консоль 智谱 AI или Z.ai
    • Проверьте, действителен ли ваш API Key
    • Подтвердите отсутствие лишних пробелов или разрывов строки
  2. Проверьте права API Key

    • 智谱 AI: подтвердите, что у вас есть право "Coding Plan"
    • Z.ai: подтвердите, что у вас есть право "Coding Plan"
  3. Повторно сгенерируйте API Key

    • Если с API Key есть проблемы, можно повторно сгенерировать в консоли
    • Обновите поле key в auth.json

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

Подтвердите, что вы можете самостоятельно решать частые проблемы:

НавыкМетод проверкиОжидаемый результат
Устранение проблем с файлом аутентификацииПроверьте, существует ли auth.json и правильный ли форматФайл существует, формат JSON правильный
Обновление Token OpenAIИспользуйте модель OpenAI один раз в OpenCodeToken обновлён, можно нормально запросить квоту
Настройка PAT CopilotСоздайте copilot-quota-token.jsonМожно нормально запросить квоту Copilot
Обработка ошибок APIПросмотрите код состояния HTTP и примите соответствующие мерыЗнать значение кодов ошибок 401/403/500 и т. д.
Настройка Google project_idДобавьте projectId в antigravity-accounts.jsonМожно нормально запросить квоту Google Cloud

Итог урока

Обработка ошибок mystatus разделена на три уровня: чтение файла аутентификации、запрос платформы、запрос API. При встрече с ошибкой сначала посмотрите на ключевые слова сообщения об ошибке, затем сопоставьте с решением. Наиболее частые проблемы включают:

  1. Проблемы с файлом аутентификации: проверьте, существует ли auth.json и правильный ли формат
  2. Истечение срока действия Token: используйте соответствующую модель один раз в OpenCode для обновления Token
  3. Ошибки API: судите, проблема с правами или сервером, на основе кода состояния HTTP
  4. Специальные права Copilot: новая интеграция OAuth требует настройки Fine-grained PAT
  5. Настройка Google: нужен project_id для запроса квоты

Большинство ошибок можно решить путём настройки или повторной авторизации, отказ одной платформы не влияет на запросы других платформ.

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

На следующем уроке мы изучим Безопасность и конфиденциальность: доступ к локальным файлам、маскировка API、официальные интерфейсы

Вы узнаете:

  • Как mystatus защищает ваши конфиденциальные данные
  • Принцип автоматической маскировки API Key
  • Почему плагин — безопасный локальный инструмент
  • Гарантия отсутствия хранения и загрузки данных

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

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

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

ФункцияПуть к файлуНомер строки
Основная логика обработки ошибокplugin/mystatus.ts41-87
Чтение файла аутентификацииplugin/mystatus.ts38-46
Подсказка о не найденных учётных записяхplugin/mystatus.ts78-80
Сбор и суммирование результатовplugin/mystatus.ts58-89
Проверка истечения срока действия Token OpenAIplugin/lib/openai.ts216-221
Обработка ошибок APIplugin/lib/openai.ts149-152
Чтение PAT Copilotplugin/lib/copilot.ts122-151
Подсказка об отказе OAuth Copilotplugin/lib/copilot.ts298-303
Проверка project_id Googleplugin/lib/google.ts232-234
Обработка ошибок API 智谱plugin/lib/zhipu.ts94-103
Определение сообщений об ошибкахplugin/lib/i18n.ts66-123 (китайский), 144-201 (английский)

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

  • HIGH_USAGE_THRESHOLD = 80:порог предупреждения высокого использования (plugin/lib/types.ts:111)

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

  • collectResult(): сбор результатов запроса в массивы results и errors (plugin/mystatus.ts:100-116)
  • queryOpenAIUsage(): запрос квоты OpenAI, включая проверку истечения срока действия Token (plugin/lib/openai.ts:207-236)
  • readQuotaConfig(): чтение конфигурации PAT Copilot (plugin/lib/copilot.ts:122-151)
  • fetchAccountQuota(): запрос квоты одной учётной записи Google Cloud (plugin/lib/google.ts:218-256)
  • fetchUsage(): запрос использования 智谱/Z.ai (plugin/lib/zhipu.ts:81-106)