English · 简体中文 · 繁體中文 · 한국어 · 日本語 · Русский · Français
Как долго ещё сможет работать ваш Codex?
CodexRunway — нативное приложение для строки меню macOS, которое показывает квоту Codex и Grok. Оно также даёт статус сброса Codex за сегодня, reset credits, эквивалентную стоимость API и локальные сессии, а также отдельное управление несколькими аккаунтами для каждого провайдера.
- Смотреть оставшуюся квоту Codex в строке меню.
- Переключаться вкладками
Codex | Grok; строка меню и контекстное меню следуют выбранному провайдеру. - Смотреть включённую квоту Grok, разбивку по продуктам (Build / Imagine / Chat), недельные/месячные периоды, предоплаченный баланс и использование по требованию через официальный CLI chat-proxy billing API.
- На панели Grok использовать те же модули Token Usage (теплокарта / линия / столбцы) и API Equivalent Cost, что и у Codex, плюс недавние локальные сессии из логов Grok CLI.
- Управлять несколькими аккаунтами Grok OAuth / SuperGrok: изолированный вход, импорт текущего входа, вставка токена/JSON, обновление, псевдонимы, порядок, удаление и явное переключение.
- Смотреть 5-часовые, недельные и дополнительные окна квоты.
- Видеть, сбросились ли сегодня лимиты Codex (данные с www.codexrunway.com, со ссылкой на связанный публичный пост).
- Включать раздел «сброс сегодня?» в настройках и задавать его интервал обновления (по умолчанию включён, каждые 5 минут).
- Управлять несколькими аккаунтами Codex: вход через браузер, импорт локального
auth.json, вставка токена/JSON (включая/auth/session), импорт файлов или добавление API-ключа. - Безопасно переключать аккаунты после подтверждения атомарной записью
~/.codex/auth.json, с необязательным перезапуском Codex, чтобы CLI / IDE оставались синхронными. - Показывать текущий аккаунт, уровень подписки и срок действия.
- Оценивать недельную квоту Codex по официальному проценту использования и дневным Credits, сравнивать с прошлыми оценками, чтобы заметить снижение. Модуль включается в настройках (по умолчанию включён).
- Смотреть число кредитов сброса, статус и время истечения.
- Смотреть эквивалентную стоимость API и использование токенов за сегодня, текущий цикл, предыдущий цикл, этот месяц или свой диапазон; диапазон по умолчанию настраивается.
- Показывать график использования токенов с начала года под квотой на главной панели (теплокарта / линия / столбцы; по дням / неделям / накопительно); стиль можно менять на панели и в настройках, по умолчанию теплокарта; можно выключить.
- Использовать локальный инкрементальный индекс сессий для более быстрых сканирований стоимости.
- Смотреть недавние сессии Codex, проекты, статус и сводки использования.
- Восстанавливать локальный индекс сессий.
- Поддерживать светлое, тёмное и системное оформление, а также English, 简体中文, 繁體中文, 한국어, 日本語, Русский, Français.
- Поддерживать встроенную проверку обновлений.
- Предлагать виджеты рабочего стола macOS 14+ для обзора квоты, тренда токенов, ключевого показателя и статуса сброса сегодня.
Установка из поддерживаемого проектом Licoy Homebrew Tap:
brew install --cask licoy/tap/codex-runwayCodexRunway также поддерживает обновления в приложении. Чтобы Homebrew проверил и установил обновление, используйте:
brew upgrade --cask --greedy codex-runwayУдаление по умолчанию сохраняет настройки и копии управляемых аккаунтов. --zap также удаляет данные в ~/.codex-runway, но не удаляет официальные каталоги ~/.codex или ~/.grok и сессии:
brew uninstall --cask codex-runway
brew uninstall --cask --zap codex-runwayСкачайте подходящий DMG с GitHub Releases:
- Apple Silicon:
CodexRunway-macos-arm64.dmg - Intel:
CodexRunway-macos-x86_64.dmg
Откройте DMG и перетащите CodexRunway.app в Applications или скачайте и распакуйте ZIP той же архитектуры.
Текущие выпуски подписаны ad-hoc и не нотаризованы. Если macOS сообщает, что разработчика нельзя проверить или приложение не проверено на вредоносное ПО, нажмите Control по CodexRunway.app и выберите «Открыть», либо перейдите в «Системные настройки > Конфиденциальность и безопасность» и нажмите «Всё равно открыть».
Если macOS говорит, что CodexRunway.app повреждено и его нужно переместить в Корзину, обычно виноват атрибут карантина загрузки. После помещения приложения в Applications выполните:
xattr -dr com.apple.quarantine /Applications/CodexRunway.appЗатем откройте приложение снова.
-
macOS 12+
-
Рекомендуется установленный и использованный на этом Mac Codex
-
Импорт из локального
~/.codex/auth.jsonили добавление аккаунтов в приложении (вход через браузер, вставка учётных данных, импорт файлов и т. д.) -
Перед использованием панели Grok установите официальный Grok CLI:
curl -fsSL https://x.ai/cli/install.sh | bash -
Управление аккаунтами Grok и биллинг поддерживают только OAuth / SuperGrok и совместимые legacy-сессии. Выполните
grok login --oauth, войдите из приложения, импортируйте текущий вход или вставьте~/.grok/auth.json/ JSON учётных данных. Учётные данные только с API-ключом не добавляются как управляемые аккаунты. -
Если задан
GROK_HOME, приложение использует этот каталог; иначе —~/.grok. См. xAI Settings.
swift run CodexRunwayНа macOS 14+ эта команда автоматически собирает и регистрирует отдельное приложение CodexRunway Dev и расширение виджета, затем запускает его. Приложение разработки находится в .build/codex-runway-widget-dev/CodexRunway-dev.app и его можно добавить из системной галереи виджетов. Сначала закройте другие запущенные экземпляры CodexRunway. Задайте CODEX_RUNWAY_DISABLE_DEV_APP=1, только если нужен сырой неупакованный процесс командной строки без виджетов.
Самопроверка:
swift run CodexRunway --self-checkСамопроверка читает только локальное состояние и не делает сетевых запросов. Она печатает обезличенную диагностику Codex плюс версию Grok CLI, статус учётных данных и идентичность аккаунта. Токены и API-ключи никогда не печатаются.
Виджеты требуют macOS 14 или новее. Начиная с выпуска с этим исправлением, публичные релизы и локальные сборки разработки включают расширение виджета. Каждый виджет может независимо выбрать Codex, Grok или оба в «Править виджет»; «Сброс сегодня» только для Codex. После обновления macOS регистрирует производственный виджет из Contents/PlugIns приложения.
swift run CodexRunway использует отдельные идентификаторы swift-dev и не заменяет существующую установку. Можно также упаковать приложение с виджетом вручную с идентификаторами .dev:
INCLUDE_WIDGET=1 \
RUNWAY_BUNDLE_ID=com.github.codex-runway.dev \
RUNWAY_APP_GROUP_ID=group.com.github.codex-runway.dev \
RUNWAY_WIDGET_STORAGE_MODE=local \
bash Scripts/package-app.shПриложение записывается в dist/CodexRunway.app. Публичные выпуски с этим исправлением и локальные ad-hoc сборки используют версионированный снимок только для чтения ~/.codex-runway/widget-snapshot.json с правами 0600. Сборка Developer ID с зарегистрированной App Group может задать RUNWAY_WIDGET_STORAGE_MODE=app-group. В снимке нет почты, ID аккаунта, токена, auth JSON или исходного текста внешнего события. Подпись Developer ID, регистрация App Group и нотаризация остаются будущей работой по распространению.
В разделе Панель управления → Общие → Сеть выберите Системные настройки, HTTP-прокси или SOCKS5-прокси. Для собственного прокси поддерживаются имя пользователя и пароль. Настройка действует на запросы Codex, запросы и операции CLI Grok, запускаемые приложением, открытые источники статуса и цен, а также проверку обновлений, примечания к ним и загрузку файлов. Страницы входа в браузере и уже запущенные внешние CLI сохраняют свои сетевые настройки; системный прокси не изменяется.
Нажмите Сохранить настройки прокси, чтобы применить изменения; начатое обновление использует исходную конфигурацию. Проверить соединение загружает только открытую ленту обновлений с текущими несохранёнными настройками, не отправляя данные аккаунта и не сохраняя настройки. Данные авторизации прокси хранятся в Связке ключей macOS отдельно от обычных настроек. При повреждении конфигурации, недоступности данных авторизации или сбое собственного прокси прямое соединение не включается; исправьте настройки или явно выберите Системные настройки.
- Токены читаются из локального
~/.codex/auth.json; учётные данные нескольких аккаунтов хранятся только в~/.codex-runway/accounts/<id>/auth.json(каталог0700, файл0600). Индекс аккаунтовindex.jsonникогда не содержит токенов. - Официальные учётные данные Grok читаются из
$GROK_HOME/auth.json(или~/.grok/auth.json, если не задано). Управляемые копии лежат в~/.codex-runway/accounts/grok-<stable-id>/auth.jsonс каталогом0700и файлом0600; отдельный~/.codex-runway/accounts/grok-index.jsonне содержит токенов. - Квота Grok запрашивается локальными OAuth-учётными данными у официальной конечной точки CLI chat-proxy
/v1/billing?format=credits(тот же официальный API, что использует Grok CLI). Приложение не читает cookie браузера и не выводит фальшивую квоту из локальных сессий. - При обновлении текущего аккаунта Grok официальный CLI может ротировать токены; приложение зеркалирует получившиеся официальные учётные данные только в этот управляемый аккаунт. Не текущие аккаунты используют изолированный
GROK_HOMEи никогда не пишут официальные учётные данные. - Переключение аккаунта Grok заменяет только области OAuth / совместимого legacy-входа в официальных учётных данных, сохраняя API-ключ и неизвестные области. Переключение гарантировано только для новых сессий. Запущенные процессы Grok не завершаются и могут записать предыдущий аккаунт обратно, поэтому перед продолжением показывается строгое предупреждение.
- Официальный
~/.codex/auth.jsonперезаписывается только при подтверждении переключения аккаунта (атомарная запись), чтобы Codex CLI / IDE оставались синхронными. - Обновление неактивного управляемого аккаунта обновляет только его копию в библиотеке, не официальный
auth.json. Обновление активного аккаунта синхронизирует официальный auth и копию в библиотеке. - Недействительные или mock-учётные данные никогда не записываются обратно в официальный
~/.codex/auth.json. - Access token, refresh token, ID token и API-ключи не должны попадать в журналы, README, шаблоны issues или вывод самопроверки.
- Эквивалентная стоимость API по умолчанию считается по локальным JSONL-журналам сессий, с производными данными вроде локального инкрементального индекса в
~/.codex-runway/. Содержимое сессий не загружается. - Оценка недельной квоты сохраняет только производные суммы Credits и проценты в
~/.codex-runway/quota-estimate-history.json. Без токенов и ключей. - Онлайн-использование дополняет эквивалентную стоимость API только когда нет локальных данных о токенах. Серия графика «Официальная статистика (все устройства)» берётся из статистики профиля текущего аккаунта и может запаздывать или пересматриваться; «Локальные журналы (все сессии)» сканирует сессии на этом Mac, и история может охватывать несколько аккаунтов. Дневные значения используют даты UTC, чтобы оба источника делили одну границу суток. Это не отношение подмножества, их нельзя вычитать.
- Восстановление сессий затрагивает только
~/.codex/session_index.jsonl, создаёт резервную копию перед записью и никогда не удаляет файлы сессий. - «Сброс сегодня?» скачивает только публичную ленту статуса. Оно не отправляет аккаунт Codex, токен или содержимое локальных сессий.
- Проверка обновлений запрашивает только сведения о версии. Данные аккаунта и сессий Codex не загружаются.
- Снимок виджета содержит только несекретные производные данные квоты, баланса, стоимости, дневных токенов и статуса сброса. Главное приложение — единственный писатель; виджеты только читают.
- Сброс сегодня?: данные с https://www.codexrunway.com/api/status.json. Неофициально и только для справки; могут запаздывать или временно отсутствовать.
- Квота / reset credits / оценка недельной квоты / официальное использование токенов / часть онлайн-использования: при входе запросы используют локальные учётные данные к официальным API ChatGPT / Codex. Официальное использование токенов относится к текущему аккаунту и показывает дату статистики бэкенда. Оценка квоты неофициальна: недельный лимит экстраполируется из процента использования и дневных Credits (1000 Credits ≈ $40, версия
credits-usd-2026-08-26). - Квота Grok: возвращается только официальной конечной точкой CLI chat-proxy
/v1/billing?format=creditsс локальным входом OAuth / SuperGrok. Второго источника нет, статистика API-биллинга или локальных сессий в эту квоту не смешивается. - Эквивалентная стоимость API Grok / локальные сессии: считается по локальному
~/.grok/sessionsиспользованиюturn_completedпо официальным ценам xAI Text API (input / cached / output; prompt ≥ 200k — длинный контекст; прайсxai-builtin-2026-08-13). Неизвестные модели не выдаются как точная стоимость. CLIcostUsdTicks— учёт кредитов подписки и не используется как эквивалент API. - Использование токенов по локальным журналам / эквивалентная стоимость API / недавние сессии: по умолчанию считается по локальным журналам сессий
~/.codexи локальному индексу. У исторических локальных журналов нет надёжной привязки к аккаунту, поэтому они могут включать несколько аккаунтов.
swift test
swift build
swift build -c releaseЗаметки по вкладу см. в CONTRIBUTORS.md.
Проект следует LICENSE репозитория.





