Codex Provider Manager is a macOS SwiftUI app and local proxy for managing Codex model providers, OpenAI-compatible APIs, model catalogs, compatibility tests, and auto-compaction settings.
Приложение показывает таблицу моделей, проверяет их совместимость, выбирает модель компакта и направляет запросы через локальный прокси. OpenRouter — встроенный провайдер и справочник метаданных. Другие OpenAI-совместимые сервисы можно добавлять в настройках приложения.
- Таблица моделей с ценами, контекстом, индексом качества и выгодностью.
- Отдельная кнопка проверки каждой модели; несколько проверок работают параллельно.
- Галочки для каталога Codex и отдельная модель для компакта.
- Настройка автокомпакта в процентах от контекста модели или в фиксированных токенах.
- Защита Mac от сна во время активной задачи Codex.
- Добавление и удаление OpenAI-совместимых провайдеров.
- Локальный прокси направляет каждую модель своему провайдеру.
- Подключение сторонних агентов к одному локальному адресу через Responses API или Chat Completions API.
- Кнопка «Добавить в ZCode» создает или обновляет провайдера ZCode со всеми отмеченными моделями.
- Кнопка «Добавить в MiniMax code» создает или обновляет провайдера MiniMax Code со всеми отмеченными моделями.
Нужны macOS 14 или новее, Xcode Command Line Tools и Python 3.11+.
git clone https://github.com/korshunkov/codex-provider-manager.git
cd codex-provider-manager
./build_table_app.sh --installСкрипт собирает приложение «Модели Codex» и ставит команды codex-provider,
codex-provider-proxy и codex-power-watch в ~/.codex/bin.
- Откройте приложение «Модели Codex».
- Нажмите «Настройки» и добавьте API-ключ OpenRouter.
- Добавьте своих провайдеров: приложение сразу проверит, что список моделей доступен.
- Отметьте нужные модели и нажмите «Включить выбранные».
- В настройках выберите модель компакта и уровень автокомпакта.
Есть два режима:
- Процент — используется процент от максимального контекста выбранной модели.
- Токены — задаётся одна граница, например 200 000 токенов.
Значение записывается в каталог моделей Codex через поле
effective_context_window_percent. Поэтому для моделей с разным контекстом
фиксированный лимит автоматически превращается в подходящий процент.
Приложение сначала использует данные самого провайдера. Если провайдер не отдаёт контекст, уровни рассуждений или оценки качества, программа ищет одно однозначное совпадение по имени модели в OpenRouter.
Возможные пометки:
- серая галочка — данные пришли от провайдера;
- синяя «i» — часть данных взята из OpenRouter;
- жёлтый предупреждение — надёжных данных нет, используются безопасные значения.
Цена никогда не переносится из OpenRouter в другой провайдер.
codex-provider list
codex-provider current
codex-provider models openrouter-all
codex-provider provider-settings
codex-provider set-auto-compact --mode percent --value 75
codex-provider proxy status
codex-provider proxy start
codex-provider proxy stop
codex-power-watch statusПри запуске приложения прокси автоматически обновляется до текущей версии скрипта. Кнопка «Применить и перезапустить Codex» также перезапускает только прокси, принадлежащий этому менеджеру, и ждёт его готовности. Чужой процесс на порту 8765 менеджер не завершает.
Когда прокси включен, сторонний агент может использовать локальный адрес:
http://127.0.0.1:8765/v1
Прокси отдает выбранные модели через GET /v1/models, принимает
POST /v1/responses и POST /v1/chat/completions. Имена моделей нужно брать
из приложения, например or/z-ai/glm-5.3. Поле API-ключа у агента можно
заполнить любым непустым значением: прокси сам подставляет настоящий ключ
нужного провайдера.
Для нового провайдера выберите тип API: Responses, если у сервиса есть
/responses, или Chat Completions, если он поддерживает только
/chat/completions. Через командную строку тип задается так:
codex-provider provider-add --label "My AI" --prefix myai \
--base-url https://api.example.com/v1 --api-mode chat --api-key-stdinКнопка «Добавить в ZCode» отправляет в ZCode все модели, отмеченные галочками. Если провайдер уже создан, его список моделей будет заменен новым выбором. После обновления перезапустите ZCode, если он был открыт.
Кнопка «Добавить в MiniMax code» работает так же, но пишет в
~/.minimax/config.yaml. Создается провайдер codex-provider-manager
с базовым адресом локального прокси и всеми отмеченными моделями. Существующий
файл бэкапится в ~/.minimax/backups/, а defaultModel не меняется —
активную модель выберите в самом MiniMax Code. После обновления перезапустите
MiniMax Code, если он был открыт.
API-ключи хранятся в закрытом файле ~/.codex/provider-credentials.json с правами
600. Локальный прокси слушает только 127.0.0.1 и не пишет содержимое запросов
или ответов в лог.
python3 -m unittest discover -s tests -v
./build_table_app.shПроект распространяется по лицензии MIT. Подробности — в файле LICENSE.