Скины для Codex, которые не ломают подпись приложения
Недавно открыл для себя странную вещь: я провожу в редакторах и клиентах по десять часов в сутки, но за все годы почти не менял их внешний вид. Тёмная тема, светлая тема, и на этом фантазия заканчивалась. А потом наткнулся на репозиторий Codex-Dream-Skin — проект, который вешает фон и кастомные стили на десктопный Codex. Не пересобирая приложение. Не редактируя app.asar. Вообще ничего не трогая в установочном пакете.
Звучит как магия, но механика там довольно прозрачная. И именно она делает проект интересным.
Что это такое
Codex Dream Skin — это внешний инструмент кастомизации для десктопного клиента Codex. Автор честно предупреждает на первой же строчке: это не продукт OpenAI и он не правит официальный установщик. Тема, фон, цветовые акценты накладываются снаружи, а само приложение остаётся нетронутым. Хочешь вернуть заводской вид — одна кнопка Restore, и всё как было.
Проект насчитывает около 15 тысяч звёзд на GitHub, что для узкого нишевого инструмента кастомизации довольно много. Видимо, я не один такой, кому хочется, чтобы рабочее место выглядело по-своему.

Как это работает внутри
Технически проект использует Chrome DevTools Protocol. Приложение запускается с включённым отладочным портом, привязанным к 127.0.0.1, и через него в страницу вбрасывается слой стилей и фоновое изображение. Никаких бинарных патчей, никакого изменения кода подписи.
Есть нюанс, о котором автор пишет прямым текстом в разделе безопасности. CDP-порт слушает только на loopback, но без аутентификации. Любой другой процесс на той же машине теоретически может к нему подключиться и читать или управлять renderer. Это осознанный компромисс, а не недосмотр, поэтому в README есть отдельный SECURITY.md с моделью угроз. Если держишь на машине что-то чувствительное, стоит прочитать его перед установкой.
Отдельно подкупает, что проект не лезет в настройки API. Ключи и Base URL остаются вашими, тема к ним отношения не имеет. Это разные слои, и автор это подчёркивает.
Кодовая база — JavaScript, под каждый平台 свой набор скриптов: папка macos/ для macOS, windows/ для Windows.
Что умеет
Главное отличие от типичных «скинов по скриншоту» в том, что здесь интерфейс остаётся живым. По словам автора, панели, карточки, выбор проекта и поле ввода — это нативные контролы, а не нарисованная картинка поверх окна. Фон ложится отдельным слоем на всё окно, и на странице задач он автоматически приглушается, чтобы не мешать работе.
Перечислю, что реально бросается в глаза:
- Смена фона. Загружаешь свою картинку, инструмент сам подбирает фокус, безопасные зоны и цвета под неё.
- Локальные темы. В меню-баре macOS и трее Windows есть сохранение и переключение тем.
- Импорт
.zip-паков. Тема приезжает как архив сmanifest.json,theme.json,theme.cssи ровно одной фоновой картинкой. Импортёр проверяет размеры файлов и SHA-256. - Один клик на сайте. Если смотреть тему на DreamSkin.cc, кнопка «применить» через схему
dreamskin://applyпередаёт только идентификатор версии, а не произвольный путь или команду. - Откат. Restore возвращает официальный вид.

Где брать темы
У проекта есть отдельный сайт DreamSkin.cc с галереей. Там выложены работы сообщества, отсортированные по популярности, с рейтингом авторов. Каждую тему можно «примерить» прямо в веб-симуляторе десктопа, прежде чем ставить себе. Вот, например, две работы из галереи:


Для тех, кто хочет сделать свою тему, есть онлайн-студия: меняешь фон, крутишь акцентный цвет, пишешь Safe CSS и выгружаешь .zip. Модель безопасности CSS тут аккуратная — стили применяются только к 12 зарегистрированным элементам интерфейса, и проверка повторяется при каждом переключении темы. Заявку на публикацию в галерею просматривает человек.
Практическая сторона
Больше всего это похоже на историю про атмосферу, а не про производительность. Тут я честно скажу: инструмент не ускорит сборку и не поможет писать код. Он делает одно — рабочее место становится твоим. Кому-то это покажется баловством, и я не буду спорить. Но когда за одним и тем же приложением сидишь месяцами, смена обстановки иногда работает не хуже нового настольного растения.
Ещё один сценарий — команда с общим визуальным стилем. Если у вас есть фиксированная палитра бренда, тему можно собрать в студии и раздать как .zip по всей команде. Один способ держать клиенты визуально консистентными.
Практических ограничений тоже хватает, и о них стоит знать. Импортёр принимает только обычный .zip, ни .dreamskin, ни переименованные архивы не пройдут. Лимиты жёсткие: до 32 МиБ на архив, до 32 файлов, до 64 МиБ после распаковки. А ещё в публичные сборки попадает единственный предустановленный пресет — остальное, включая материалы с персонажами, лежит только в репозитории для проверки прав. Логично: автор не хочет раздавать чужие изображения в инсталляторе.
Ставить всё просто: качаешь .dmg или Setup.exe из релизов, а не собираешь из исходников. Node.js и ручные скрипты нужны только разработчикам.
Кстати, есть спонсор — сервис Passion8, который предоставляет доступ к моделям через OpenAI-совместимый endpoint. К теме он отношения не имеет и настройки API не меняет, так что упоминаю просто для полноты картины.
Кому подойдёт
Инструмент для тех, кто живёт в десктопном Codex и устал от одинакового серо-синего интерфейса. Если вам важно подписанное, нетронутое приложение и вы готовы принять, что отладочный порт открыт локально без пароля — проект даёт именно то, что обещает. Если же на машине есть данные, к которым не должен дотянуться сторонний процесс, сначала внимательно прочитайте SECURITY.md, а потом решайте.
Источник: github.com/Fei-Away/Codex-Dream-Skin. Начните с галереи DreamSkin.cc, откройте пару тем в симуляторе, и уже потом решайте, стоит ли ставить. Я поставил.
