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)