Может ли OpenCode действительно выполнять дизайнерскую работу?
Да — с эстетическим skill, дизайн-системой и реальными референсными изображениями в контексте OpenCode создаёт готовый к продакшену, адаптивный UI и может проверить его в браузере. Поскольку он не привязан к конкретной модели, вы можете запускать ту модель, которая сейчас лучше всего справляется с фронтендом. Без такого подготовленного контекста он склоняется к типовому виду — и именно этот разрыв закрывает OpenDesign.
Какую модель использовать с OpenCode для дизайна?
Любую, какая вам нравится — OpenCode не привязан к конкретному провайдеру благодаря models.dev, поэтому вы можете запускать Anthropic, OpenAI, Google, OpenRouter или локальные модели в рамках одного и того же workflow и переключаться в любой момент. Качество результата дизайна намного больше зависит от вашего skill, дизайн-системы и референсов, чем от самой модели.
Создан ли OpenDesign командой OpenCode (SST)?
Нет. OpenDesign — независимый open-source проект, который интегрирует OpenCode как агента. Он дополняет OpenCode локальной, открытой библиотекой skill и дизайн-систем.
Нужна ли особая подписка для дизайна с OpenCode?
Нет — OpenCode работает по модели BYOK. Вы используете собственный API-ключ провайдера модели, и OpenDesign никогда не проксирует ваши учётные данные. Привязки к конкретному вендору нет.
OpenCode, Codex или Claude Code для фронтенд-дизайна?
Все они сильны, и многие команды используют их вместе. Преимущество OpenCode — то, что он полностью open-source и не привязан к модели; Codex превосходно справляется с делегированными, изолированными сборками; Claude Code известен точными дизайнерскими решениями с учётом кодовой базы. OpenDesign позволяет переключаться между агентами без изменения вашего дизайн-workflow.
Что такое OpenCode, если быть точным
OpenCode — это AI-агент для программирования с открытым исходным кодом, созданный для терминала и поддерживаемый командой, стоящей за SST (Anomaly Innovations). Он читает ваш репозиторий, выполняет команды, редактирует файлы и общается с большой языковой моделью — но, в отличие от привязанных к вендору агентов, не поставляет собственную модель. Вы направляете его на любого провайдера и модель по своему выбору и используете собственный ключ.
Он работает как терминальный интерфейс (TUI), а поверх того же движка есть десктопное приложение и расширения для IDE. Под капотом используется клиент-серверная архитектура, поэтому агент, выполняющий работу, отделён от интерфейса, через который вы им управляете. Два встроенных агента — build и plan — переключаются клавишей Tab.
Независимость от модели: модели и провайдеры берутся из models.dev, открытого каталога. Вы настраиваете их в opencode.json строкой provider/model-id и можете отключать провайдеры, которые не хотите загружать, — так что один и тот же дизайн-процесс работает на Anthropic, OpenAI, Google, OpenRouter, локальных моделях и не только.
Файл инструкций: OpenCode читает файл AGENTS.md в вашем проекте (кросс-инструментальный стандарт, совместимый также с CLAUDE.md) для правил проекта — естественное место, чтобы зафиксировать ваши дизайн-конвенции. Запустите /init, чтобы создать его.
Расширяемость: поддерживает интеграцию с LSP, серверы MCP, темы, привязки клавиш и пользовательские команды, а также публичные ссылки на сессии для совместной работы.
Сопровождающий: SST / Anomaly Innovations (проект с открытым исходным кодом)
Учётные данные: ваш собственный API-ключ(и) провайдера моделей — BYOK, без привязки к вендору
Лицензия: MIT, открытый исходный код
Почему открытый агент с любой моделью подходит для дизайна
У OpenCode нет единственной «дизайн-модели», как у вендорского агента, — и в этом весь смысл. Поскольку он не зависит от модели и открыт, вы можете запускать один и тот же дизайн-процесс на той модели, которая сейчас лучше всего справляется с фронтендом, позже её сменить или перейти на локальную модель — и всё это без изменения вашей конфигурации.
Но один лишь выбор модели не даёт вкуса. Как и любой агент для программирования, OpenCode выдаёт типовой UI, пока вы не зададите ограничения. Хороший дизайн-результат складывается из трёх входных данных, которые предоставляете вы.
Дизайн-система: настоящие токены, примитивы и конвенции, которые агент переиспользует, — чтобы результат соответствовал бренду, а не скатывался к типовому виду.
Эстетический навык: тщательно подобранный навык, который задаёт настоящий вкус — сдержанная анимация, иерархия с приоритетом бренда, не более двух шрифтов и одного акцентного цвета — и заставляет агента определиться с направлением до начала сборки.
Конкретные референсы: реальные референсные изображения и множество состояний (десктоп и мобильный, наведение, пустое, загрузка), а не единственный эффектный кадр.
Вкус складывается из трёх входных данных, которые предоставляете вы: дизайн-системы, навыка и реальных референсных изображений — независимо от того, какую модель вы запускаете.
Вывод: OpenCode даёт свободу в выборе модели, но вкус по-прежнему идёт из тщательно подобранного дизайн-контекста. OpenDesign упаковывает ровно эти входные данные, поэтому они так хорошо сочетаются — оба проекта с открытым исходным кодом и local-first (подробнее ниже).
Настройка OpenCode для дизайна с нуля
Последовательность настройки: установка → аутентификация (ваш ключ провайдера) → настройка AGENTS.md → добавление навыка → проверка в реальном браузере.
Зафиксируйте ваши дизайн-правила: поместите токены, примитивы и конвенции в AGENTS.md (или в DESIGN.md, на который он ссылается), чтобы результат соответствовал бренду, а не скатывался к типовому виду. Опция instructions в opencode.json может указывать на дополнительные файлы правил через глобы.
Выберите мощную модель: поскольку OpenCode не зависит от модели, выберите для дизайн-прохода того провайдера и ту модель, которые сейчас сильнее всего во фронтенде, — а остальную часть процесса оставьте без изменений.
Используйте раздел с текущей настройкой для команд и деталей, зависящих от версии, которые могут меняться.
# 1. Install OpenCode
curl -fsSL https://opencode.ai/install | bash
# or: npm i -g opencode-ai@latest
# or: brew install sst/tap/opencode
# 2. Start the TUI in your project, then authenticate your provider
opencode # then run /login and pick your provider + paste your key
# 3. Generate project context
opencode # inside your project, run /init to create AGENTS.md
# 4. Pick your model (any provider, via models.dev)
# set "provider/model-id" in opencode.json or switch in the TUI
# 5. Add an MCP server (optional, e.g. for design handoff)
# configure it under the "mcp" key in opencode.json
Исторический пример команды из предыдущего руководства; проверьте актуальный синтаксис в документации вендора по ссылке.
Рабочий процесс от скриншота до UI в OpenCode
Самый результативный дизайн-цикл с любым агентом — превратить референсное изображение в рабочий адаптивный UI и итерировать, пока он не совпадёт. Та же схема из пяти шагов применима и в OpenCode.
Начните с самых чётких визуальных референсов, какие у вас есть, — и включите несколько состояний (десктоп и мобильный, наведение, пустое, загрузка), а не только один эффектный кадр.
Будьте конкретны в промпте; расплывчатые промпты дают типовой UI.
Подготовьте дизайн-систему и скажите OpenCode, где находятся токены и канонические примитивы (в AGENTS.md).
Запустите dev-сервер и заставьте агента отрисовать результат в реальном браузере, меняя размер до контрольных точек, чтобы проверить результат.
Итерируйте, заставляя OpenCode сверять свою реализацию со скриншотами — а не просто подтверждать, что сборка проходит.
Ссылайтесь на файлы через @ в TUI для нечёткого поиска по рабочему каталогу, выполняйте shell-команды прямо в строке с ведущим !, а действия запускайте командами /. Затем задайте промпт с конкретными ограничениями:
Держите промпты небольшими и сфокусированными, коммитьте удачные итерации и откатывайте неудачные (сообщая OpenCode об откате), чтобы каждый проход опирался на чистую базу.
opencode
# in the TUI:
> @reference-desktop.png @reference-mobile.png
Implement this design in React + Vite + Tailwind + TypeScript.
Reuse my existing design-system components and tokens from AGENTS.md.
Match spacing, layout, and hierarchy; make it responsive.
Run the dev server, open it in a browser, and iterate until the
UI matches the references across breakpoints.
Исторический пример команды из предыдущего руководства; проверьте актуальный синтаксис в документации вендора по ссылке.
AGENTS.md, MCP и публичные сессии
Три точки расширения делают OpenCode практичным для длительной дизайн-работы, и все три хорошо ложатся на открытый дизайн-процесс.
Правила в AGENTS.md: правила проекта живут в AGENTS.md в корне репозитория (или глобальные правила в ~/.config/opencode/AGENTS.md). Это долговечное место для ваших дизайн-конвенций, читаемое при каждом запуске, и оно совместимо с файлами CLAUDE.md, которые используют другие агенты.
Серверы MCP: OpenCode поддерживает и локальные (command), и удалённые (URL) серверы MCP, настраиваемые под ключом mcp, — переносимый способ подключать дизайн-контекст и внешние инструменты, работающие в разных агентах, а не только в OpenCode.
Публичные сессии: команда /share создаёт публичную ссылку на беседу для совместной работы или проверки, а /unshare отзывает её — удобно для получения обратной связи по дизайн-проходу.
Это переносимые возможности для множества агентов — ровно то, что OpenDesign создан оркестрировать, а не пересоздавать в каждом проекте.
OpenCode против Codex против Claude Code против Cursor для дизайна
Единого победителя для дизайн-работы нет — у каждого агента своя сильная сторона, и опытные команды сочетают их. Справедливое резюме:
OpenCode — открытый исходный код и независимость от модели; любой провайдер в рамках одного терминального процесса — свобода BYOK, смена моделей, полностью открытые и local-first конфигурации
Codex — сильная визуальная отделка с навыком для фронтенда; понимание изображений — асинхронные делегированные задачи, сборки в песочнице, переносимые правила AGENTS.md
Claude Code — конкретные дизайн-решения (hex, отступы, шрифт) и UX с учётом кодовой базы — фронтенд-рассуждения и рефакторинг в большом контексте
Cursor — визуальный цикл «собери и посмотри» с живым превью и встроенным редактированием — плотная работа над UI по принципу «итерируй и наблюдай» внутри IDE
Повторяющийся вердикт сообщества: вкус идёт от людей — все они по умолчанию скатываются к типовой эстетике без навыков, референсов и ограничений. Вот настоящая проблема, которую нужно решить, — и она имеет форму дизайн-инструмента, а не модели, именно поэтому открытый агент вроде OpenCode так хорошо сочетается с открытым дизайн-слоем.
Агент — Сильная сторона в дизайне — Лучше всего подходит для
Подводные камни и как избежать вида «AI-слопа»
Самая частая жалоба на дизайн, сгенерированный ИИ, — он выглядит типовым: мягкие градиенты, парящие панели, огромные скруглённые углы, драматичные тени, эстетика «Inter и фиолетовый», которая «кричит, что это сделал ИИ». Среди других сообщаемых проблем — сломанные мобильные макеты и инструкции, просачивающиеся в текст интерфейса. Ни одна из них не свойственна именно OpenCode; это то, что происходит, когда любой агент работает без тщательно подобранного дизайн-контекста.
Добавьте эстетический навык: тщательно подобранный дизайн-навык заставляет агента определиться с реальным направлением вместо вида по умолчанию.
Проверяйте в реальном браузере: отрисовывайте и самопроверяйтесь на разных контрольных точках, чтобы макеты не ломались незаметно на мобильных.
Предоставьте токены и референсы: настоящие дизайн-токены и референсные скриншоты — самый мощный рычаг влияния на качество результата.
Зафиксируйте правила в AGENTS.md: поместите правила в духе «никаких hero-карточек, максимум два шрифта, иерархия с приоритетом бренда» туда, где агент читает их при каждом запуске.
Обратите внимание: каждое средство противодействия сводится к тому, чтобы дать агенту тщательно подобранный дизайн-контекст, — независимо от того, какую модель вы запускаете. Поддерживать этот контекст вручную, для каждого проекта, — та рутинная работа, которую устраняет OpenDesign.
Дизайн с OpenCode внутри OpenDesign
OpenDesign — это тот открытый дизайн-слой, который постоянно требует описанный выше процесс. Он рассматривает OpenCode как first-party адаптер и оборачивает его в тщательно подобранный навык и библиотеку дизайн-систем, структурированный конвейер отрисовки и локальный десктопный UI — так что дизайн-контекст, делающий любого агента хорошим, есть уже с первого запуска, а не собирается вручную каждый раз. Оба проекта с открытым исходным кодом и local-first, что делает их сочетание естественным.
Аутентифицируйтесь собственным API-ключом провайдера моделей (BYOK) — учётные данные остаются на вашей машине и никогда не проходят через нас как прокси.
Выберите любого провайдера и модель, а также дизайн-систему и навык, затем генерируйте презентации, прототипы и лендинги с последовательным вкусом.
Каждый артефакт и файл DESIGN.md живут в вашем собственном репозитории, а не в облаке хостинга.
Тот же агент OpenCode, та же свобода в выборе модели — плюс настоящий, переносимый дизайн-процесс с открытым исходным кодом вокруг него. Он local-first и под Apache-2.0, поэтому ничего из вашей работы или ваших учётных данных не покидает вашу машину.
Установите OpenDesign и выберите OpenCode в качестве агента.
Какой именно OpenCode имеется в виду?
Открытый терминальный агент на github.com/anomalyco/opencode (ранее sst/opencode), поддерживаемый Anomaly. Не путать с похожими по названию инструментами.
OpenDesign — это тот же проект, что и OpenCode?
Нет. Оба с открытым исходным кодом, но это разные проекты. OpenDesign интегрирует OpenCode как first-party адаптер агента.