Об этом проекте

# QuotaBar QuotaBar — это лёгкая утилита только для строки меню macOS 14+, которая отслеживает остаток квот подписок для нескольких сервисов AI-кодинга и чата. Она обеспечивает визуальный индикатор лимитов использования для **Cursor**, **ChatGPT** (Plus/Pro), **GLM** (z.ai/BigModel), **Grok** (потребительский SuperGrok) и **OpenCode Go**. Приложение работает незаметно в виде тёмной пилюли в строке состояния, показывая процент и небольшую столбчатую диаграмму, с компактным всплывающим окном для детального управления аккаунтами. ## Ключевые возможности - **Поддержка нескольких сервисов**: отслеживает использование квот для пяти различных AI-платформ, используя их неофициальные, но стандартные конечные точки использования. - **Интеграция со строкой меню**: отображает один значок в строке состояния macOS с индикатором процента. Цвет меняется на оранжевый, когда оставшаяся квота падает ниже 25%. - **Компактное всплывающее окно**: всплывающее окно фиксированного размера (320x360) показывает детальные карточки для каждого провайдера или аккаунта. Поддерживает прокрутку для нескольких аккаунтов и включает доступ к настройкам. - **Управление несколькими аккаунтами**: поддерживает несколько аккаунтов для ChatGPT и OpenCode Go. Пользователи могут переключаться между активными аккаунтами прямо из всплывающего окна, при этом строка состояния отражает использование выбранного аккаунта. - **Локальное хранение учётных данных**: секреты безопасно хранятся в связке ключей macOS. Несекретные настройки сохраняются в `~/.config/quotabar/config.json` с ограниченными правами доступа (режим 0600). - **Без телеметрии**: приложение не отправляет никаких данных об использовании или телеметрии на внешние серверы, кроме получения необходимой информации о квотах из API соответствующих провайдеров. - **Ориентация на приватность**: разработано как непесочничное `LSUIElement`, чтобы позволить чтение локальных файлов (например, базы данных состояния Cursor) и обработку файлов cookie браузера без сложных разрешений. ## Поддерживаемые провайдеры и методы ### Cursor - Читает токены аутентификации из локальной базы данных приложения Cursor (`state.vscdb`) или принимает вставленные сессионные cookie. - Получает данные об использовании из `cursor.com/api/usage-summary`. - Различает пулы «Cursor Models» и «Other Models». ### ChatGPT (Plus / Pro) - Поддерживает несколько аккаунтов через Codex CLI (`codex login`) или ручной ввод cookie/JSON. - Использует конечную точку `wham/usage` для получения лимитов сессии, недели и месяца. - Автоматически обновляет истёкшие токены через публичный OAuth API, если доступен Codex CLI. ### GLM (z.ai / BigModel) - Принимает API-ключи через настройки или переменные окружения. - Поддерживает как глобальный (`api.z.ai`), так и китайский (`open.bigmodel.cn`) регионы. - Получает лимиты квот из API мониторинга. ### Grok (потребительский SuperGrok) - Читает аутентификацию из `~/.grok/auth.json`, записанного Grok CLI, или принимает вставленные OAuth-токены. - Получает данные о биллинге и использовании из прокси-API Grok CLI. - Ориентирован specifically на потребительские планы SuperGrok, а не на API управления командами. ### OpenCode Go - Поддержка нескольких аккаунтов через API-ключи, хранящиеся в связке ключей. - Получает данные об использовании из `opencode.ai/zen/go/v1/usage`. - Преобразует проценты «использовано» в «осталось» для отображения. ## Установка Рекомендуемый способ установки — через Homebrew: ```bash brew tap ttaatoo/quotabar https://github.com/ttaatoo/quotabar brew install --cask ttaatoo/quotabar/quotabar ``` Если Gatekeeper блокирует приложение с ad-hoc подписью, может потребоваться выполнить: ```bash xattr -dr com.apple.quarantine /Applications/QuotaBar.app ``` Затем откройте Системные настройки > Конфиденциальность и безопасность и нажмите **Всё равно открыть**. ## Сборка из исходного кода Требования: macOS 14+, Xcode 15.4+ (Swift 5.9+). ```bash git clone https://github.com/ttaatoo/quotabar.git cd quotabar open QuotaBar.xcodeproj ``` Запустите проект в Xcode или соберите через командную строку: ```bash xcodebuild -project QuotaBar.xcodeproj -scheme QuotaBar -configuration Release \ MARKETING_VERSION=0.0.13 CURRENT_PROJECT_VERSION=0.0.13 \ CODE_SIGN_IDENTITY="-" CODE_SIGNING_ALLOWED=YES CODE_SIGNING_REQUIRED=NO build ``` ## Отказ от ответственности QuotaBar — независимый, неофициальный инструмент. Он взаимодействует с частными конечными точками использования, которые могут измениться без предупреждения. Он не связан с Cursor, OpenAI, z.ai, BigModel, xAI или OpenCode. Пользователи несут ответственность за управление своими учётными данными и понимание рисков использования неофициальных API.