open-design/README.ru.md
Zakaria a46764fb1b
Some checks failed
ci / Validate workspace (push) Has been cancelled
landing-page-ci / Validate landing page (push) Has been cancelled
landing-page-deploy / Deploy landing page (push) Has been cancelled
github-metrics / Generate repository metrics SVG (push) Has been cancelled
first-commit
2026-05-04 14:58:14 -04:00

90 KiB
Raw Permalink Blame History

Open Design

Открытая альтернатива Claude Design. Локально-ориентированная, пригодная для web-деплоя, с BYOK на каждом уровне: 13 CLI coding-агентов автоматически обнаруживаются в вашем PATH (Claude Code, Codex, Devin for Terminal, Cursor Agent, Gemini CLI, OpenCode, Qwen, GitHub Copilot CLI, Hermes, Kimi, Pi, Kiro, Mistral Vibe) и превращаются в движок генерации дизайна, управляемый 31 комбинируемым навыком и 72 дизайн-системами уровня бренда. Нет CLI? OpenAI-совместимый BYOK-прокси даёт тот же цикл без локального запуска агента.

Open Design — редакционная обложка: дизайн вместе с агентом на вашем ноутбуке

Stars Forks Issues Pull Requests Contributors Commit activity Last commit

Latest release License Agents Design systems Skills Quickstart

English · Deutsch · Français · 简体中文 · 繁體中文 · 한국어 · 日本語 · العربية · Русский · Українська


Зачем это существует

Anthropic Claude Design (выпущен 2026-04-17, на Opus 4.7) показал, что происходит, когда LLM перестаёт писать прозу и начинает выдавать готовые дизайн-артефакты. Продукт моментально стал вирусным — и остался закрытым, платным, облачным и жёстко привязанным к модели Anthropic и внутренним навыкам Anthropic. Никакого checkout, никакого self-host, никакого деплоя на Vercel, никакой замены агента на своего.

Open Design (OD) — открытая альтернатива. Тот же цикл, та же логика artifact-first, но без lock-in. Мы не поставляем собственного агента: самые сильные coding-агенты уже стоят у вас на ноутбуке. Мы связываем их с skill-driven workflow для дизайна, который запускается локально через pnpm tools-dev, умеет выкладывать web-слой на Vercel и остаётся BYOK на каждом уровне.

Введите make me a magazine-style pitch deck for our seed round. Ещё до того, как модель импровизирует хоть один пиксель, появляется интерактивная форма вопросов. Агент выбирает одно из пяти отобранных визуальных направлений. Живой план TodoWrite стримится в UI. Демон создаёт на диске реальную проектную папку с seed-шаблоном, библиотекой раскладок и checklistом самопроверки. Агент читает их — pre-flight обязателен — прогоняет пятимерную критику собственного результата и выдаёт единый <artifact>, который через несколько секунд рендерится в sandboxed iframe.

Это не «ИИ пытается что-то задизайнить». Это ИИ, который prompt stack приучил вести себя как senior-дизайнер с рабочей файловой системой, детерминированной библиотекой палитр и культурой checklistов — ровно та планка, которую задал Claude Design, только в открытом и вашем варианте.

OD стоит на плечах четырёх open-source проектов:

  • alchaincyf/huashu-design — философский компас дизайна. Junior-Designer workflow, 5-step protocol для brand assets, anti-AI-slop checklist, 5-dimensional self-critique и идея «5 schools × 20 design philosophies» для выбора направления — всё это distilled в apps/web/src/prompts/discovery.ts.
  • op7418/guizang-ppt-skill — режим deck. Встроен без изменений в skills/guizang-ppt/ с сохранением исходной LICENSE; журнальные раскладки, WebGL hero и P0/P1/P2 checklists.
  • OpenCoworkAI/open-codesign — UX-северная звезда и наш ближайший peer. Мы заимствуем streaming-artifact loop, шаблон sandboxed iframe preview (vendored React 18 + Babel), live agent panel (todos + tool calls + interruptible generation) и набор из пяти форматов экспорта (HTML / PDF / PPTX / ZIP / Markdown). Осознанное расхождение — в форм-факторе: они делают desktop Electron app с bundled pi-ai, мы — web app + local daemon, делегирующий работу вашему существующему CLI.
  • multica-ai/multica — архитектура демона и runtime. PATH-scan detection агентов, local daemon как единственный привилегированный процесс и мировоззрение agent-as-teammate.

С первого взгляда

Что вы получаете
Coding-agent CLI (13) Claude Code · Codex CLI · Devin for Terminal · Cursor Agent · Gemini CLI · OpenCode · Qwen Code · GitHub Copilot CLI · Hermes (ACP) · Kimi CLI (ACP) · Pi (RPC) · Kiro CLI (ACP) · Mistral Vibe CLI (ACP) — автоматически обнаруживаются в PATH, переключаются одним кликом
BYOK fallback OpenAI-совместимый прокси на /api/proxy/stream — вставьте baseUrl + apiKey + model, и любой вендор (Anthropic-via-OpenAI, DeepSeek, Groq, MiMo, OpenRouter, self-hosted vLLM или любой другой OpenAI-compatible provider) станет движком. На границе демона заблокированы internal IP / SSRF.
Design systems built-in 129 — 2 вручную написанных стартера + 70 продуктовых систем (Linear, Stripe, Vercel, Airbnb, Tesla, Notion, Anthropic, Apple, Cursor, Supabase, Figma, Xiaohongshu, …) из awesome-design-md, плюс 57 design skills из awesome-design-skills, добавленных напрямую в design-systems/
Skills built-in 31 — 27 в режиме prototype (web-prototype, saas-landing, dashboard, mobile-app, gamified-app, social-carousel, magazine-poster, dating-web, sprite-animation, motion-frames, critique, tweaks, wireframe-sketch, pm-spec, eng-runbook, finance-report, hr-onboarding, invoice, kanban-board, team-okrs, …) + 4 в режиме deck (guizang-ppt · simple-deck · replit-deck · weekly-update). В picker группируются по scenario: design / marketing / operation / engineering / product / finance / hr / sale / personal.
Media generation Режимы image · video · audio идут рядом с дизайн-циклом. gpt-image-2 (Azure / OpenAI) — для постеров, аватаров, инфографики и иллюстрированных карт; Seedance 2.0 (ByteDance) — для кинематографичных 15s text-to-video и image-to-video; HyperFrames (heygen-com/hyperframes) — для HTML→MP4 motion graphics (product reveals, kinetic typography, charts, social overlays, logo outros). Галерея из 93 готовых к воспроизведению промптов — 43 для gpt-image-2, 39 для Seedance и 11 для HyperFrames — лежит в prompt-templates/, с preview thumbnail и указанием источника. Тот же чатовый surface, что и для кода; на выходе в проектном workspace появляется реальный .mp4 / .png.
Visual directions 5 отобранных школ (Editorial Monocle · Modern Minimal · Warm Soft · Tech Utility · Brutalist Experimental) — каждая с детерминированной OKLch-палитрой и стеком шрифтов (apps/web/src/prompts/directions.ts)
Device frames iPhone 15 Pro · Pixel · iPad Pro · MacBook · Browser Chrome — pixel-perfect, общие для навыков, хранятся в assets/frames/
Agent runtime Local daemon запускает CLI в папке проекта — агент получает реальные Read, Write, Bash, WebFetch поверх реальной on-disk среды, с Windows fallbackами для ENAMETOOLONG (stdin / prompt-file) на каждом адаптере
Imports Перетащите ZIP-экспорт из Claude Design в welcome dialog — POST /api/import/claude-design превратит его в реальный проект, чтобы ваш агент продолжил редактирование там, где остановился Anthropic
Persistence SQLite в .od/app.sqlite: projects · conversations · messages · tabs · saved templates. Откройте завтра — и todo card с открытыми файлами будут ровно там, где вы их оставили.
Lifecycle Единая точка входа: pnpm tools-dev (start / stop / run / status / logs / inspect / check) — поднимает daemon + web (+ desktop) под typed sidecar stamps
Desktop Опциональная Electron-оболочка с sandboxed renderer + sidecar IPC (STATUS / EVAL / SCREENSHOT / CONSOLE / CLICK / SHUTDOWN) — именно через неё работает tools-dev inspect desktop screenshot для E2E
Deployable to Локально (pnpm tools-dev) · web-слой на Vercel · packaged Electron (placeholder, in-flight)
License Apache-2.0

Демо

01 · Экран входа
Экран входа — выберите skill, design system и введите brief. Один и тот же surface для прототипов, deckов, мобильных приложений, dashboardов и editorial pages.
02 · Форма первичной диагностики
Форма первичной диагностики — до того как модель нарисует хотя бы пиксель, OD фиксирует brief: surface, audience, tone, brand context, scale. 30 секунд с radio buttons лучше 30 минут редиректов.
03 · Выбор направления
Выбор направления — если у пользователя нет бренда, агент выводит вторую форму с 5 curated directions (Monocle / Modern Minimal / Tech Utility / Brutalist / Soft Warm). Один radio click → детерминированная палитра и стек шрифтов, без model freestyle.
04 · Живой прогресс по задачам
Живой прогресс по задачам — план агента стримится как live card. Обновления in_progresscompleted прилетают в реальном времени. Пользователь может недорого скорректировать курс прямо на лету.
05 · Песочничный предпросмотр
Песочничный предпросмотр — каждый <artifact> рендерится в чистом srcdoc iframe. Его можно редактировать на месте через файловый workspace и скачивать как HTML, PDF или ZIP.
06 · Библиотека из 72 систем
Библиотека из 72 систем — каждая продуктовая система показывает свою 4-цветную сигнатуру. По клику открываются полные DESIGN.md, сетка swatchей и live showcase.
07 · Журнальный deck
Режим deck (guizang-ppt) — встроенный guizang-ppt-skill подключён без изменений. Журнальные раскладки, WebGL hero-фоны, single-file HTML output, экспорт в PDF.
08 · Мобильный прототип
Мобильный прототип — pixel-perfect chrome iPhone 15 Pro (Dynamic Island, status bar SVG, home indicator). Многоэкранные прототипы используют общие ресурсы /frames/, поэтому агент никогда не перерисовывает телефон заново.

Навыки

31 навык поставляется из коробки. Каждый — это папка в skills/, следующая Claude Code-конвенции SKILL.md с расширенным od: frontmatter, который демон парсит как есть: mode, platform, scenario, preview.type, design_system.requires, default_for, featured, fidelity, speaker_notes, animations, example_prompt (apps/daemon/src/skills.ts).

Два верхнеуровневых режима образуют каталог: prototype (27 навыков — всё, что рендерится как одностраничный артефакт: от журнальной landing page до экрана телефона или PM spec doc) и deck (4 навыка — горизонтально перелистываемые презентации с deck-framework chrome). Поле scenario используется pickerом для группировки: design · marketing · operation · engineering · product · finance · hr · sale · personal.

Витринные примеры

Самые визуально характерные skills, которые вы, скорее всего, запустите первыми. Каждый поставляется с реальным example.html, который можно открыть прямо из репозитория и увидеть точный тип результата — без авторизации и без настройки.

dating-web
dating-web · prototype
Потребительский dashboard для знакомств / мэтчинга — левая навигационная колонка, тикер, KPI, график взаимных совпадений за 30 дней, editorial typography.
digital-eguide
digital-eguide · template
Двухразворотный digital e-guide — обложка (заголовок, автор, teaser оглавления) + учебный разворот с pull quote и списком шагов. Тон — creator / lifestyle.
email-marketing
email-marketing · prototype
Брендовое HTML-письмо для product launch — masthead, hero image, headline lockup, CTA и сетка характеристик. Центрированная одноколоночная структура, безопасная для table fallback.
gamified-app
gamified-app · prototype
Трёхэкранный gamified mobile-app prototype на тёмной showcase-сцене — обложка, сегодняшние квесты с XP-ленточками и уровневой шкалой, детали квеста.
mobile-onboarding
mobile-onboarding · prototype
Трёхэкранный mobile onboarding flow — splash, value proposition, sign-in. Status bar, точки свайпа, основной CTA.
motion-frames
motion-frames · prototype
Однокадровый motion-design hero с циклическими CSS-анимациями — вращающееся типографическое кольцо, анимированный глобус, отсчитывающий таймер. Готово к hand-off в HyperFrames.
social-carousel
social-carousel · prototype
Карусель для соцсетей из трёх карточек 1080×1080 — кинематографичные панели с display-заголовками, связывающими серию, brand mark и явным намёком на цикл просмотра.
sprite-animation
sprite-animation · prototype
Пиксельный / 8-bit анимированный explainer slide — full-bleed кремовая сцена, анимированный pixel mascot, кинетическая японская display-типографика, зацикленные CSS keyframes.

Поверхности для дизайна и маркетинга (режим prototype)

Skill Платформа Сценарий Что создаёт
web-prototype desktop design Одностраничный HTML — landing pages, marketing, hero pages (по умолчанию для prototype)
saas-landing desktop marketing Маркетинговая раскладка: hero / features / pricing / CTA
dashboard desktop operation Admin / analytics с боковой панелью и плотной сеткой данных
pricing-page desktop sale Самостоятельная pricing page и сравнительные таблицы
docs-page desktop engineering Трёхколоночная документационная раскладка
blog-post desktop marketing Длинный editorial material
mobile-app mobile design Экран(ы) приложения во фреймах iPhone 15 Pro / Pixel
mobile-onboarding mobile design Многоэкранный mobile onboarding flow (splash · value-prop · sign-in)
gamified-app mobile personal Трёхкадровый gamified mobile-app prototype
email-marketing desktop marketing Брендовое HTML-письмо для product launch (безопасно для table fallback)
social-carousel desktop marketing Карусель из 3 карточек 1080×1080
magazine-poster desktop marketing Одностраничный постер в журнальном стиле
motion-frames desktop marketing Motion-design hero с циклическими CSS-анимациями
sprite-animation desktop marketing Пиксельный / 8-bit анимированный explainer slide
dating-web desktop personal Макет пользовательского dashboard для знакомств
digital-eguide desktop marketing Двухразворотный digital e-guide (обложка + lesson spread)
wireframe-sketch desktop design Ручной ideation sketch — для раннего «показать что-то видимое»
critique desktop design Пятимерный лист самокритики (Philosophy · Hierarchy · Detail · Function · Innovation)
tweaks desktop design Tweaks-панель, сгенерированная ИИ — модель выводит параметры, которые имеет смысл подкрутить

Поверхности для deckов (режим deck)

Skill Значение по умолчанию Что создаёт
guizang-ppt по умолчанию для deck Журнальный web PPT — встроен дословно из op7418/guizang-ppt-skill, с сохранением исходной LICENSE
simple-deck Минималистичный горизонтально пролистываемый deck
replit-deck Product-walkthrough deck в стиле Replit
weekly-update Еженедельный командный цикл в формате swipe deck (progress · blockers · next)

Поверхности для офиса и операций (режим prototype, документные сценарии)

Skill Сценарий Что создаёт
pm-spec product Документ спецификации PM с оглавлением и decision log
team-okrs product Таблицу оценки OKR
meeting-notes operation Журнал решений по встрече
kanban-board operation Снимок доски
eng-runbook engineering Incident runbook
finance-report finance Финансовое summary для руководства
invoice finance Одностраничный счёт
hr-onboarding hr План онбординга по роли

Добавление skill — это одна папка. Изучите docs/skills-protocol.md, чтобы разобраться в расширенном frontmatter, форкните существующий skill, перезапустите демон — и он появится в picker. Каталог доступен по GET /api/skills; сборка seed-материалов для конкретного skill (template + side-file references) реализована в GET /api/skills/:id/example.

Шесть несущих идей

1 · Мы не поставляем своего агента. Ваш уже достаточно хорош.

На старте демон сканирует PATH в поисках claude, codex, devin, cursor-agent, gemini, opencode, qwen, copilot, hermes, kimi, pi, kiro-cli и vibe-acp. Всё найденное становится кандидатами на роль design engine — каждый работает через свой stdio-adapter и может переключаться из pickerа модели. CLI не установлен? POST /api/proxy/stream даёт тот же pipeline, только без spawn: вставьте любой OpenAI-compatible baseUrl + apiKey, и демон будет форвардить SSE chunks назад, при этом loopback / link-local / RFC1918 назначения отсекаются на границе.

2 · Skills — это файлы, а не плагины.

Следуя SKILL.md convention из Claude Code, каждый skill — это SKILL.md + assets/ + references/. Достаточно положить папку в skills/, перезапустить демон — и skill появится в pickerе. Встроенный magazine-web-ppt — это op7418/guizang-ppt-skill, добавленный дословно, с сохранением исходной лицензии и атрибуции.

3 · Design Systems — это переносимый Markdown, а не theme JSON.

Схема DESIGN.md из девяти разделов от VoltAgent/awesome-design-md — цвет, типографика, отступы, компоновка, компоненты, motion, voice, brand, anti-patterns. Каждый артефакт читает активную систему. Сменили систему — следующий рендер берёт новые токены. В выпадающем списке уже есть Linear, Stripe, Vercel, Airbnb, Tesla, Notion, Apple, Anthropic, Cursor, Supabase, Figma, Resend, Raycast, Lovable, Cohere, Mistral, ElevenLabs, X.AI, Spotify, Webflow, Sanity, PostHog, Sentry, MongoDB, ClickHouse, Cal, Replicate, Clay, Composio, Xiaohongshu… — плюс 57 design skills из awesome-design-skills.

4 · Интерактивная форма вопросов убирает 80% редиректов.

В prompt stack OD жёстко зашито RULE 1: каждый новый дизайн-бриф начинается с <question-form id="discovery">, а не с кода. Surface · audience · tone · brand context · scale · constraints. Даже длинный бриф оставляет массу открытых решений — визуальный тон, цветовую позицию, масштаб — и как раз их форма фиксирует за 30 секунд.

Это и есть режим Junior-Designer, distilled из huashu-design: задаём вопросы upfront, быстро показываем что-то видимое (хотя бы wireframe с серыми блоками), даём пользователю дёшево скорректировать курс. В сочетании с brand-asset protocol (locate · download · grep hex · write brand-spec.md · vocalise) это, пожалуй, главный фактор, из-за которого output перестаёт быть AI freestyle и начинает ощущаться как работа внимательного дизайнера.

5 · Демон делает так, будто агент работает прямо на вашем ноутбуке, потому что так и есть.

Демон запускает CLI с cwd, указывающим на artifact-папку проекта внутри .od/projects/<id>/. Агент получает Read, Write, Bash, WebFetch — реальные инструменты поверх реальной файловой системы. Он может читать assets/template.html конкретного skill, делать grep по CSS ради hex-цветов, записывать brand-spec.md, складывать туда сгенерированные изображения и выпускать .pptx / .zip / .pdf, которые затем появляются в файловом workspace как chips для скачивания. Sessions, conversations, messages и tabs живут в local SQLite DB — откройте проект завтра, и todo card агента будет лежать там же, где вы её оставили.

6 · Prompt stack — это и есть продукт.

То, что композируется в момент отправки, — это не просто «system + user». Это:

DISCOVERY directives  (turn-1 form, turn-2 brand branch, TodoWrite, 5-dim critique)
  + identity charter   (OFFICIAL_DESIGNER_PROMPT, anti-AI-slop, junior-pass)
  + active DESIGN.md   (72 systems available)
  + active SKILL.md    (31 skills available)
  + project metadata   (kind, fidelity, speakerNotes, animations, inspiration ids)
  + skill side files   (auto-injected pre-flight: read assets/template.html + references/*.md)
  + (deck kind, no skill seed) DECK_FRAMEWORK_DIRECTIVE   (nav / counter / scroll / print)

Каждый слой компонуем. Каждый слой — это файл, который можно редактировать. Откройте apps/web/src/prompts/system.ts и apps/web/src/prompts/discovery.ts, чтобы увидеть реальный контракт.

Архитектура

┌────────────────────── browser (Next.js 16) ──────────────────────┐
│  chat · file workspace · iframe preview · settings · imports     │
└──────────────┬───────────────────────────────────┬───────────────┘
               │ /api/* (rewritten in dev)          │
               ▼                                    ▼
   ┌──────────────────────────────────┐   /api/proxy/stream (SSE)
   │  Local daemon (Express + SQLite) │   ─→ any OpenAI-compat
   │                                  │       endpoint (BYOK)
   │  /api/agents          /api/skills│       w/ SSRF blocking
   │  /api/design-systems  /api/projects/…
   │  /api/chat (SSE)      /api/proxy/stream (SSE)
   │  /api/templates       /api/import/claude-design
   │  /api/artifacts/save  /api/artifacts/lint
   │  /api/upload          /api/projects/:id/files…
   │  /artifacts (static)  /frames (static)
   │
   │  optional: sidecar IPC at /tmp/open-design/ipc/<ns>/<app>.sock
   │  (STATUS · EVAL · SCREENSHOT · CONSOLE · CLICK · SHUTDOWN)
   └─────────┬────────────────────────┘
             │ spawn(cli, [...], { cwd: .od/projects/<id> })
             ▼
   ┌──────────────────────────────────────────────────────────────────┐
   │  claude · codex · devin (ACP) · gemini · opencode · cursor-agent │
   │  qwen · copilot · hermes (ACP) · kimi (ACP) · pi (RPC) · kiro (ACP) · vibe (ACP)     │
   │  reads SKILL.md + DESIGN.md, writes artifacts to disk            │
   └──────────────────────────────────────────────────────────────────┘
Слой Стек
Frontend Next.js 16 App Router + React 18 + TypeScript, готово к деплою на Vercel
Daemon Node 24 · Express · SSE streaming · better-sqlite3; таблицы: projects · conversations · messages · tabs · templates
Agent transport child_process.spawn; typed-event parsers для claude-stream-json (Claude Code), copilot-stream-json (Copilot), json-event-stream-парсеры на каждый CLI (Codex / Gemini / OpenCode / Cursor Agent), acp-json-rpc (Devin / Hermes / Kimi / Kiro / Mistral Vibe через Agent Client Protocol), pi-rpc (Pi через stdio JSON-RPC), plain (Qwen Code)
BYOK proxy POST /api/proxy/stream → OpenAI-compatible /v1/chat/completions, SSE pass-through; отвергает loopback / link-local / RFC1918 hosts на границе демона
Storage Обычные файлы в .od/projects/<id>/ + SQLite в .od/app.sqlite.gitignore, создаётся автоматически). Для изоляции тестов можно переопределить корень через OD_DATA_DIR
Preview Sandboxed iframe через srcdoc + parser <artifact> для каждого skill (apps/web/src/artifacts/parser.ts)
Export HTML (с inline assets) · PDF (browser print, aware of deck mode) · PPTX (через skill и агента) · ZIP (archiver) · Markdown
Lifecycle pnpm tools-dev start | stop | run | status | logs | inspect | check; порты задаются через --daemon-port / --web-port, namespaces — через --namespace
Desktop (optional) Electron shell — узнаёт web URL через sidecar IPC, без угадывания портов; тот же канал STATUS/EVAL/SCREENSHOT/CONSOLE/CLICK/SHUTDOWN используется tools-dev inspect desktop … для E2E

Быстрый старт

git clone https://github.com/nexu-io/open-design.git
cd open-design
corepack enable
corepack pnpm --version   # должно вывести 10.33.2
pnpm install
pnpm tools-dev run web
# откройте web URL, который напечатает tools-dev

Требования к окружению: Node ~24 и pnpm 10.33.x. nvm/fnm — только вспомогательные инструменты; если вы ими пользуетесь, выполните nvm install 24 && nvm use 24 или fnm install 24 && fnm use 24 перед pnpm install.

Для desktop/background startup, перезапуска на фиксированных портах и проверки dispatcherа media generation (OD_BIN, OD_DAEMON_URL, apps/daemon/dist/cli.js) смотрите QUICKSTART.md.

При первой загрузке:

  1. Определяется, какие agent CLI доступны в PATH, и один из них выбирается автоматически.
  2. Загружаются 31 skill + 72 design systems.
  3. Появляется welcome dialog, куда можно вставить ключ Anthropic (он нужен только для fallback-пути BYOK).
  4. Автоматически создаётся ./.od/ — локальная runtime-папка для SQLite-базы проектов, артефактов по проектам и сохранённых рендеров. Шаг od init не нужен: демон сам делает mkdir всего необходимого при запуске.

Введите промпт, нажмите Send, дождитесь формы вопросов, заполните её, наблюдайте за стримом todo card и рендером артефакта. Нажмите Save to disk или скачайте проект как ZIP.

Состояние первого запуска (./.od/)

Демон владеет одной скрытой папкой в корне репозитория. Всё внутри неё игнорируется gitом и привязано к вашей машине — коммитить это не нужно.

.od/
├── app.sqlite                 ← projects · conversations · messages · open tabs
├── artifacts/                 ← одноразовые рендеры “Save to disk” (с метками времени)
└── projects/<id>/             ← рабочая директория проекта, она же cwd агента
Хотите… Сделайте так
Посмотреть содержимое ls -la .od && sqlite3 .od/app.sqlite '.tables'
Сбросить всё к чистому состоянию pnpm tools-dev stop, rm -rf .od, затем снова pnpm tools-dev run web
Перенести папку в другое место пока не поддерживается — путь жёстко привязан к репозиторию

Полная карта файлов, скрипты и troubleshooting → QUICKSTART.md.

Структура репозитория

open-design/
├── README.md                      ← этот файл
├── README.de.md                   ← Deutsch
├── README.ru.md                   ← Русский
├── README.zh-CN.md                ← 简体中文
├── QUICKSTART.md                  ← руководство по запуску / сборке / деплою
├── package.json                   ← pnpm workspace, единственный bin: od
│
├── apps/
│   ├── daemon/                    ← Node + Express, единственный сервер
│   │   ├── src/                   ← исходники демона на TypeScript
│   │   │   ├── cli.ts             ← исходник bin `od`, компилируется в dist/cli.js
│   │   │   ├── server.ts          ← маршруты /api/* (projects, chat, files, exports)
│   │   │   ├── agents.ts          ← PATH scanner + builders argv для каждого CLI
│   │   │   ├── claude-stream.ts   ← streaming JSON parser для stdout Claude Code
│   │   │   ├── skills.ts          ← loader frontmatter из SKILL.md
│   │   │   └── db.ts              ← схема SQLite (projects/messages/templates/tabs)
│   │   ├── sidecar/               ← sidecar wrapper демона для tools-dev
│   │   └── tests/                 ← package tests демона
│   │
│   └── web/                       ← Next.js 16 App Router + React client
│       ├── app/                   ← entrypoints App Router
│       ├── next.config.ts         ← dev rewrites + prod static export в out/
│       └── src/                   ← client modules React + TypeScript
│           ├── App.tsx            ← routing, bootstrap, settings
│           ├── components/        ← chat, composer, picker, preview, sketch, …
│           ├── prompts/
│           │   ├── system.ts      ← composeSystemPrompt(base, skill, DS, metadata)
│           │   ├── discovery.ts   ← форма первого хода + ветка второго + 5-мерная критика
│           │   └── directions.ts  ← 5 visual directions × OKLch palette + font stack
│           ├── artifacts/         ← streaming parser для <artifact> + manifests
│           ├── runtime/           ← iframe srcdoc, markdown, export helpers
│           ├── providers/         ← daemon SSE + BYOK API transports
│           └── state/             ← config + projects (localStorage + daemon-backed)
│
├── e2e/                           ← Playwright UI + external integration/Vitest harness
│
├── packages/
│   ├── contracts/                 ← общие контракты web/daemon
│   ├── sidecar-proto/             ← протокол sidecar Open Design
│   ├── sidecar/                   ← базовые runtime-примитивы sidecar
│   └── platform/                  ← общие process/platform primitives
│
├── skills/                        ← 31 bundle-навык SKILL.md (27 prototype + 4 deck)
│   ├── web-prototype/             ← значение по умолчанию для prototype mode
│   ├── saas-landing/  dashboard/  pricing-page/  docs-page/  blog-post/
│   ├── mobile-app/  mobile-onboarding/  gamified-app/
│   ├── email-marketing/  social-carousel/  magazine-poster/
│   ├── motion-frames/  sprite-animation/  digital-eguide/  dating-web/
│   ├── critique/  tweaks/  wireframe-sketch/
│   ├── pm-spec/  team-okrs/  meeting-notes/  kanban-board/
│   ├── eng-runbook/  finance-report/  invoice/  hr-onboarding/
│   ├── simple-deck/  replit-deck/  weekly-update/   ← режим deck
│   └── guizang-ppt/               ← bundled magazine-web-ppt (по умолчанию для deck)
│       ├── SKILL.md
│       ├── assets/template.html   ← seed
│       └── references/{themes,layouts,components,checklist}.md
│
├── design-systems/                ← 72 системы DESIGN.md
│   ├── default/                   ← Neutral Modern (starter)
│   ├── warm-editorial/            ← Warm Editorial (starter)
│   ├── linear-app/  vercel/  stripe/  airbnb/  notion/  cursor/  apple/  …
│   └── README.md                  ← обзор каталога
│
├── assets/
│   └── frames/                    ← общие device frames (используются разными skills)
│       ├── iphone-15-pro.html
│       ├── android-pixel.html
│       ├── ipad-pro.html
│       ├── macbook.html
│       └── browser-chrome.html
│
├── templates/
│   ├── deck-framework.html        ← базовая основа deck (nav / counter / print)
│   └── kami-deck.html             ← starter deck в духе kami (пергамент / ink-blue serif)
│
├── scripts/
│   └── sync-design-systems.ts     ← повторный импорт upstream tarball из awesome-design-md
│
├── docs/
│   ├── spec.md                    ← спецификация продукта, сценарии, дифференциация
│   ├── architecture.md            ← топологии, поток данных, компоненты
│   ├── skills-protocol.md         ← расширенный od:-frontmatter для SKILL.md
│   ├── agent-adapters.md          ← detection + dispatch по каждому CLI
│   ├── modes.md                   ← prototype / deck / template / design-system
│   ├── references.md              ← развёрнутая provenance-документация
│   ├── roadmap.md                 ← поэтапная поставка
│   ├── schemas/                   ← JSON schemas
│   └── examples/                  ← канонические примеры артефактов
│
└── .od/                           ← runtime-данные, в .gitignore, создаётся автоматически
    ├── app.sqlite                 ← projects / conversations / messages / tabs
    ├── projects/<id>/             ← рабочая папка проекта (cwd агента)
    └── artifacts/                 ← сохранённые одноразовые рендеры

Системы дизайна

Библиотека из 72 design systems — разворот style guide

72 системы из коробки, каждая — один файл DESIGN.md:

Полный каталог (нажмите, чтобы развернуть)

AI & LLMclaude · cohere · mistral-ai · minimax · together-ai · replicate · runwayml · elevenlabs · ollama · x-ai

Developer Toolscursor · vercel · linear-app · framer · expo · clickhouse · mongodb · supabase · hashicorp · posthog · sentry · warp · webflow · sanity · mintlify · lovable · composio · opencode-ai · voltagent

Productivitynotion · figma · miro · airtable · superhuman · intercom · zapier · cal · clay · raycast

Fintechstripe · coinbase · binance · kraken · mastercard · revolut · wise

E-Commerceshopify · airbnb · uber · nike · starbucks · pinterest

Mediaspotify · playstation · wired · theverge · meta

Automotivetesla · bmw · ferrari · lamborghini · bugatti · renault

Otherapple · ibm · nvidia · vodafone · sentry · resend · spacex

Startersdefault (Neutral Modern) · warm-editorial

Библиотека product systems импортируется через scripts/sync-design-systems.ts из VoltAgent/awesome-design-md. Чтобы обновить её, достаточно заново запустить импорт. 57 design skills берутся из bergside/awesome-design-skills и добавляются напрямую в design-systems/.

Визуальные направления

Когда у пользователя нет brand spec, агент выводит вторую форму с пятью curated directions — это адаптация fallback-модели huashu-design с «5 schools × 20 design philosophies». Каждое направление — детерминированная спецификация: палитра в OKLch, стек шрифтов, поведенческие подсказки по layout posture и референсы. Агент подставляет всё это дословно в :root seed-шаблона. Один radio click → полностью определённая визуальная система. Без импровизации, без AI-slop.

Direction Настроение Референсы
Editorial — Monocle / FT Печатный журнал, чернила + крем + тёплая ржавчина Monocle · FT Weekend · NYT Magazine
Modern minimal — Linear / Vercel Холодный, структурный, с минимальным акцентом Linear · Vercel · Stripe
Tech utility Информационная плотность, моноширинность, терминальность Bloomberg · Bauhaus tools
Brutalist Сырой, с крупной типографикой, без теней, с жёсткими акцентами Bloomberg Businessweek · Achtung
Soft warm Просторный, низкоконтрастный, в персиково-нейтральной гамме Notion marketing · Apple Health

Полная спецификация → apps/web/src/prompts/directions.ts.

Генерация медиа

OD не заканчивается на коде. Тот же чатовый surface, который производит HTML-артефакты через <artifact>, умеет запускать и image, и video, и audio generation — через media pipeline демона (apps/daemon/src/media-models.ts, apps/web/src/media/models.ts). Каждый результат сохраняется как реальный файл в project workspace — .png для image, .mp4 для video — и в конце хода появляется как downloadable chip.

Сегодня основную нагрузку несут три семейства моделей:

Surface Model Provider Для чего используется
Image gpt-image-2 Azure / OpenAI Постеры, profile avatars, illustrated maps, infographics, magazine-style social cards, photo restoration, exploded-view product art
Video seedance-2.0 ByteDance Volcengine 15s cinematic t2v + i2v со звуком — narrative shorts, character close-ups, product films, MV-style choreography
Video hyperframes-html HeyGen / OSS HTML→MP4 motion graphics — product reveals, kinetic typography, charts, social overlays, logo outros, TikTok-style verticals с karaoke captions

Растущая галерея промптов в prompt-templates/ поставляется с 93 ready-to-replicate prompts — 43 image (prompt-templates/image/*.json), 39 Seedance (prompt-templates/video/*.json, кроме hyperframes-*) и 11 HyperFrames (prompt-templates/video/hyperframes-*.json). Каждый объект включает preview thumbnail, полный текст prompt body, целевую модель, aspect ratio и блок source с лицензией и атрибуцией. Демон отдаёт всё это по GET /api/prompt-templates, а web app показывает их карточками во вкладках Image templates и Video templates на entry view; один клик переносит prompt в composer с уже выбранной нужной моделью.

gpt-image-2 — галерея изображений (пример из 43)

3D Stone Staircase Evolution
3D Stone Staircase Evolution Infographic
трёхшаговая инфографика в эстетике высеченного камня
Illustrated City Food Map
Illustrated City Food Map
editorial-постер о путешествии с ручной иллюстрацией
Cinematic Elevator Scene
Cinematic Elevator Scene
однокадровый editorial fashion still
Cyberpunk Anime Portrait
Cyberpunk Anime Portrait
profile avatar — неоновый текст по лицу
Glamorous Woman in Black
Glamorous Woman in Black Portrait
editorial studio portrait

Полный набор → prompt-templates/image/. Источник большинства примеров — YouMind-OpenLab/awesome-gpt-image-prompts (CC-BY-4.0), с сохранённой атрибуцией авторов для каждого template.

Seedance 2.0 — галерея видео (пример из 39)

Music Podcast Guitar
Music Podcast & Guitar Technique
кинематографичный студийный фильм в 4K
Emotional Face
Emotional Face Close-up
исследование микроэмоций в киноязыке
Luxury Supercar
Luxury Supercar Cinematic
нарративный product film
Forbidden City Cat
Forbidden City Cat Satire
стилизованный сатирический short
Japanese Romance
Japanese Romance Short Film
15-секундный narrative clip на Seedance 2.0

Нажмите на любой thumbnail, чтобы воспроизвести реальный сгенерированный MP4. Полный набор → prompt-templates/video/ (entries с *-seedance-* и меткой Cinematic). Источники: YouMind-OpenLab/awesome-seedance-2-prompts (CC-BY-4.0), с сохранёнными оригинальными ссылками на твиты и author handles.

HyperFrames — HTML→MP4 motion graphics (11 готовых шаблонов)

heygen-com/hyperframes — это open-source, agent-native video framework от HeyGen: вы (или агент) пишете HTML + CSS + GSAP, а HyperFrames рендерит всё в детерминированный MP4 через headless Chrome + FFmpeg. Open Design поставляет HyperFrames как first-class video model (hyperframes-html) в dispatch-пайплайне демона, плюс skill skills/hyperframes/, объясняющий агенту контракт таймлайна, правила переходов между сценами, audio-reactive patterns, captions/TTS и catalog blocks (npx hyperframes add <slug>).

Одиннадцать hyperframes-промптов лежат в prompt-templates/video/hyperframes-*.json, и каждый из них описывает конкретный archetype:

Product reveal
5s minimal product reveal · 16:9 · push-in title card with shader transition
SaaS promo
30s SaaS product promo · 16:9 · в стиле Linear/ClickUp с UI 3D reveal
TikTok karaoke
TikTok karaoke talking-head · 9:16 · TTS + captions, синхронизированные по словам
Brand sizzle
30s brand sizzle reel · 16:9 · beat-synced kinetic typography, audio-reactive
Data chart
Animated bar-chart race · 16:9 · data-infographic в духе NYT
Flight map
Flight map (origin → dest) · 16:9 · кинематографичный route reveal в духе Apple
Logo outro
4s cinematic logo outro · 16:9 · сборка по частям + bloom
Money counter
$0 → $10K money counter · 9:16 · Apple-style hype с зелёной вспышкой и burst
App showcase
3-phone app showcase · 16:9 · парящие телефоны с calloutами по функциям
Social overlay
Social overlay stack · 9:16 · X · Reddit · Spotify · Instagram по очереди
Website to video
Website-to-video pipeline · 16:9 · съёмка сайта в 3 viewportах + transitions
 

Паттерн тот же, что и в остальных режимах: выберите template, отредактируйте brief, отправьте. Агент прочитает встроенный skills/hyperframes/SKILL.md (там описан OD-специфичный render workflow — composition source files складываются в .hyperframes-cache/, чтобы не засорять file workspace, демон запускает npx hyperframes render, обходя зависания macOS sandbox-exec / Puppeteer, и только финальный .mp4 попадает в проект как chip), соберёт композицию и выпустит MP4. Thumbnails catalog blocks © HeyGen и отдаются с их CDN; сам OSS-framework лицензирован по Apache-2.0.

Уже подключено, но пока не вынесено в шаблоны: Kling 2.0 / 1.6 / 1.5, Veo 3 / Veo 2, Sora 2 / Sora 2-Pro (через Fal), MiniMax video-01 — всё это уже живёт в VIDEO_MODELS (apps/web/src/media/models.ts). На стороне audio поддерживаются Suno v5 / v4.5, Udio v2, Lyria 2 (музыка) и gpt-4o-mini-tts, MiniMax TTS (речь). Шаблоны для них — открытая область для вкладов: добавьте JSON в prompt-templates/video/ или prompt-templates/audio/, и он появится в pickerе.

Не только чат — что ещё уже поставляется

Чатовый / артефактный цикл получает больше всего внимания, но в OD уже встроено ещё несколько менее заметных возможностей, о которых полезно знать до любых сравнений:

  • Импорт ZIP из Claude Design. Перетащите экспорт из claude.ai в welcome dialog. POST /api/import/claude-design распакует его в реальный .od/projects/<id>/, откроет entry file как tab и подготовит prompt «продолжить с того места, где остановился Anthropic» для вашего локального агента. Никакого переформулирования, никакого «попросите модель восстановить то, что уже было». (apps/daemon/src/server.ts — маршрут /api/import/claude-design)
  • OpenAI-compatible BYOK proxy. POST /api/proxy/stream принимает { baseUrl, apiKey, model, messages }, нормализует путь до …/v1/chat/completions, форвардит SSE chunks обратно в браузер и отвергает loopback / link-local / RFC1918 адреса для защиты от SSRF. Подойдёт всё, что говорит на схеме OpenAI chat — Anthropic-via-OpenAI shim, DeepSeek, Groq, MiMo, OpenRouter, self-hosted vLLM. Для MiMo автоматически выставляется tool_choice: 'none', потому что его схема tool-use плохо ведёт себя при free-form generation.
  • Шаблоны, сохранённые пользователем. Когда вам нравится результат, POST /api/templates делает snapshot HTML и metadata в SQLite-таблицу templates. В следующем проекте он появляется в строке «your templates» внутри pickerа — в том же surface, что и встроенные 31 skill, только уже ваш.
  • Сохранение вкладок. Каждый проект помнит открытые файлы и активную вкладку в таблице tabs. Откройте проект завтра — и workspace будет выглядеть ровно так, как вы его оставили.
  • Artifact lint API. POST /api/artifacts/lint запускает структурные проверки над сгенерированным артефактом (сломанная рамка <artifact>, отсутствие обязательных side files, устаревшие palette tokens) и возвращает findings, которые агент может использовать в следующем ходе. Пятимерная самокритика использует этот API, чтобы опираться на реальные сигналы, а не на интуицию.
  • Sidecar protocol + desktop automation. Процессы daemon, web и desktop получают типизированные пятикомпонентные stamps (app · mode · namespace · ipc · source) и открывают JSON-RPC IPC-канал по адресу /tmp/open-design/ipc/<namespace>/<app>.sock. tools-dev inspect desktop status \| eval \| screenshot управляет именно этим каналом, благодаря чему headless E2E работает поверх реальной Electron-shell, без особых harnessов (packages/sidecar-proto/, apps/desktop/src/main/).
  • Дружественный к Windows spawning. Каждый адаптер, который иначе упёрся бы в лимит CreateProcess примерно в 32 KB по argv на длинных composition promptах (Codex, Gemini, OpenCode, Cursor Agent, Qwen, Pi), вместо этого отправляет prompt через stdin. Claude Code и Copilot сохраняют -p; если даже этого мало, демон переходит на временный prompt-file.
  • Runtime data по namespaceам. OD_DATA_DIR и --namespace дают полностью изолированные деревья в духе .od/, так что Playwright, beta-каналы и ваши реальные проекты не делят одну SQLite-базу.

Механика против AI-slop

Вся эта механика — прямое переложение методологии huashu-design в prompt stack OD с enforceом через side-file pre-flight. Текущие формулировки можно посмотреть в apps/web/src/prompts/discovery.ts:

  • Сначала question form. Ход 1 — только <question-form>, без размышлений, без tools, без narration. Пользователь выбирает дефолты со скоростью radio-click.
  • Извлечение brand spec. Если пользователь прикладывает screenshot или URL, агент перед написанием CSS проходит пятишаговый протокол (locate · download · grep hex · codify brand-spec.md · vocalise). Никогда не угадывает brand colors по памяти.
  • Пятимерная критика. Перед тем как выдать <artifact>, агент молча оценивает результат по шкале 15 по осям philosophy / hierarchy / execution / specificity / restraint. Всё, что ниже 3/5, считается регрессией — исправить и переоценить. Два прохода — норма.
  • Checklist P0/P1/P2. Каждый skill поставляется с references/checklist.md, где есть жёсткие P0-гейты. До эмиссии артефакта агент обязан пройти P0.
  • Список запрещённого slopа. Агрессивные фиолетовые градиенты, generic emoji icons, rounded card с left-border accent, hand-drawn SVG-люди, Inter как display-шрифт, вымышленные метрики — всё это прямо запрещено в promptе.
  • Честные placeholders лучше фальшивых цифр. Если у агента нет реального числа, он пишет или подписанный серый блок, а не «10× faster».

Сравнение

Axis Claude Design (Anthropic) Open CoDesign Open Design
License Closed MIT Apache-2.0
Form factor Web (claude.ai) Desktop (Electron) Web app + local daemon
Deployable on Vercel
Agent runtime Bundled (Opus 4.7) Bundled (pi-ai) Delegated to user's existing CLI
Skills Proprietary 12 custom TS modules + SKILL.md 31 file-based SKILL.md bundles, можно просто положить в папку
Design system Proprietary DESIGN.md (v0.2 roadmap) DESIGN.md × 129 поставляемых систем
Provider flexibility Anthropic only 7+ via pi-ai 12 CLI-адаптеров + OpenAI-compatible BYOK proxy
Init question form Жёсткое правило, ход 1
Direction picker 5 детерминированных направлений
Live todo progress + tool stream (UX-паттерн из open-codesign)
Sandboxed iframe preview (паттерн из open-codesign)
Claude Design ZIP import n/a POST /api/import/claude-design — продолжайте там, где остановился Anthropic
Comment-mode surgical edits 🟡 частично — comments по preview-элементам и chat attachments уже есть, но надёжность точечных правок ещё в работе
AI-emitted tweaks panel 🚧 в roadmap — отдельная chat-side panel UX пока не реализована
Filesystem-grade workspace partial (Electron sandbox) Реальный cwd, реальные tools, persisted SQLite (projects · conversations · messages · tabs · templates)
5-dim self-critique Pre-emit gate
Artifact lint POST /api/artifacts/lint — findings возвращаются агенту
Sidecar IPC + headless desktop Stamped processes + tools-dev inspect desktop status | eval | screenshot
Export formats Limited HTML / PDF / PPTX / ZIP / Markdown HTML / PDF / PPTX (через агента) / ZIP / Markdown
PPT skill reuse N/A Built-in guizang-ppt-skill подключается как есть (по умолчанию для deck mode)
Minimum billing Pro / Max / Team BYOK BYOK — вставьте любой OpenAI-compatible baseUrl

Поддерживаемые coding-agent CLI

Автоматически обнаруживаются в PATH при запуске демона. Никакой настройки не нужно. Streaming dispatch живёт в apps/daemon/src/agents.ts (AGENT_DEFS), а парсеры для каждого CLI — рядом. Список моделей заполняется либо probingом через <bin> --list-models / <bin> models / ACP handshake, либо curated fallback-списком, если CLI не умеет сам сообщать модели.

Agent Bin Stream format Форма argv (путь для composed prompt)
Claude Code claude claude-stream-json (typed events) claude -p <prompt> --output-format stream-json --verbose [--include-partial-messages] [--add-dir …] --permission-mode bypassPermissions
Codex CLI codex json-event-stream + parser codex codex exec --json --skip-git-repo-check --full-auto [-C cwd] [--model …] [-c model_reasoning_effort=…] - (prompt через stdin)
Devin for Terminal devin acp-json-rpc devin --permission-mode dangerous --respect-workspace-trust false acp
Gemini CLI gemini json-event-stream + parser gemini gemini --output-format stream-json --skip-trust --yolo [--model …] - (prompt через stdin)
OpenCode opencode json-event-stream + parser opencode opencode run --format json --dangerously-skip-permissions [--model …] - (prompt через stdin)
Cursor Agent cursor-agent json-event-stream + parser cursor-agent cursor-agent --print --output-format stream-json --stream-partial-output --force --trust [--workspace cwd] [--model …] - (prompt через stdin)
Qwen Code qwen plain (сырые stdout chunks) qwen --yolo [--model …] - (prompt через stdin)
GitHub Copilot CLI copilot copilot-stream-json (typed events) copilot -p <prompt> --allow-all-tools --output-format json [--model …] [--add-dir …]
Hermes hermes acp-json-rpc (Agent Client Protocol) hermes acp --accept-hooks
Kimi CLI kimi acp-json-rpc kimi acp
Kiro CLI kiro-cli acp-json-rpc kiro-cli acp
Mistral Vibe CLI vibe-acp acp-json-rpc vibe-acp
Pi pi pi-rpc (stdio JSON-RPC) pi --mode rpc --no-session [--model …] [--thinking …] (prompt отправляется как RPC-команда prompt)
OpenAI-compatible BYOK n/a SSE pass-through POST /api/proxy/stream<baseUrl>/v1/chat/completions; SSRF-защита от loopback / link-local / RFC1918

Добавить новый CLI — это одна запись в apps/daemon/src/agents.ts. Формат стрима выбирается из claude-stream-json, copilot-stream-json, json-event-stream (с отдельным eventParser на CLI), acp-json-rpc, pi-rpc или plain.

Источники и происхождение

Здесь собраны все внешние проекты, из которых этот репозиторий что-то заимствует. Каждая ссылка ведёт к источнику, чтобы provenance можно было проверить самостоятельно.

Project Роль в проекте
Claude Design Закрытый продукт, для которого этот репозиторий служит open-source альтернативой.
alchaincyf/huashu-design Ядро дизайн-философии. Junior-Designer workflow, 5-step protocol для brand assets, anti-AI-slop checklist, пятимерная самокритика и библиотека «5 schools × 20 design philosophies» для direction pickerа — всё это distilled в apps/web/src/prompts/discovery.ts и apps/web/src/prompts/directions.ts.
op7418/guizang-ppt-skill Skill для magazine-web-PPT, встроенный без изменений в skills/guizang-ppt/ с сохранением оригинальной LICENSE. Используется по умолчанию в режиме deck. Культура P0/P1/P2 checklistов позаимствована для всех остальных skills.
multica-ai/multica Архитектура демона и адаптеров. PATH-scan detection агентов, local daemon как единственный привилегированный процесс, worldview agent-as-teammate. Мы переняли модель, а не vendored code.
OpenCoworkAI/open-codesign Первая open-source альтернатива Claude Design и наш ближайший peer. Заимствованные UX-паттерны: streaming-artifact loop, sandboxed iframe preview (vendored React 18 + Babel), live agent panel (todos + tool calls + interruptible), список из пяти экспортных форматов (HTML/PDF/PPTX/ZIP/Markdown), local-first storage hub, SKILL.md-внедрение вкуса и первая версия preview-аннотаций для comment mode. Всё ещё в roadmap: полная надёжность surgical edits и tweaks panel, генерируемая ИИ. Мы намеренно не вендорим pi-ai — open-codesign включает его как runtime агента, а мы делегируем исполнение тому CLI, который уже установлен у пользователя.
VoltAgent/awesome-claude-design / awesome-design-md Источник схемы DESIGN.md из 9 разделов и 70 продуктовых систем, импортируемых через scripts/sync-design-systems.ts.
bergside/awesome-design-skills Источник 57 design skills, нормализованных как файлы DESIGN.md в design-systems/.
farion1231/cc-switch Вдохновение для symlink-based distribution навыков между разными agent CLI.
Claude Code skills Конвенция SKILL.md, заимствованная без изменений — любой Claude Code skill можно положить в skills/, и демон его подхватит.

Подробный provenance-разбор — что именно мы берём и что принципиально не берём — лежит в docs/references.md.

Дорожная карта

  • Daemon + detection агентов (12 CLI adapters) + registry skills + catalog design systems
  • Web app + chat + question form + picker из 5 направлений + todo progress + sandboxed preview
  • 31 skill + 72 design systems + 5 visual directions + 5 device frames
  • SQLite-backed projects · conversations · messages · tabs · templates
  • OpenAI-compatible BYOK proxy (/api/proxy/stream) с SSRF-защитой
  • Claude Design ZIP import (/api/import/claude-design)
  • Sidecar protocol + Electron desktop с IPC automation (STATUS / EVAL / SCREENSHOT / CONSOLE / CLICK / SHUTDOWN)
  • Artifact lint API + 5-dim self-critique pre-emit gate
  • Comment-mode surgical edits — частично уже есть: comments по preview elements и chat attachments; надёжный targeted patching ещё в работе
  • UX tweaks panel, которую создаёт ИИ — пока не реализована
  • Рецепт деплоя на Vercel + через tunnel (Topology B)
  • Однокомандный npx od init, создающий проект с DESIGN.md
  • Marketplace навыков (od skills install <github-repo>) и CLI surface od skill add | list | remove | test (набросан в docs/skills-protocol.md, реализация впереди)
  • Packaged Electron build на базе apps/packaged/

Поэтапная поставка → docs/roadmap.md.

Статус

Это ранняя реализация, но замкнутый цикл (detect → выбрать skill + design system → chat → parse <artifact> → preview → save) уже работает end-to-end. Основная ценность сосредоточена в prompt stack и библиотеке skills, и они уже достаточно стабильны. UI на уровне компонентов выкатывается практически ежедневно.

Поставьте звезду

Поставьте звезду Open Design на GitHub — github.com/nexu-io/open-design

Если OD сэкономил вам хотя бы тридцать минут — подарите ему ★. Звёзды не платят аренду, но показывают следующему дизайнеру, агенту и контрибьютору, что этот эксперимент заслуживает внимания. Один клик, три секунды, реальный сигнал: github.com/nexu-io/open-design.

Как участвовать

Issues, PR, новые skills и новые design systems приветствуются. Самые ценные вклады чаще всего — это одна папка, один Markdown-файл или один adapter-PR:

  • Добавить skill — положите папку в skills/ по конвенции SKILL.md.
  • Добавить design system — положите DESIGN.md в design-systems/<brand>/, следуя схеме из 9 разделов.
  • Подключить новый coding-agent CLI — одна запись в apps/daemon/src/agents.ts.

Полный walkthrough, bar-for-merging, code style и список того, что мы не принимаем → CONTRIBUTING.md (Deutsch, Français, 简体中文).

Участники

Спасибо всем, кто помогает двигать Open Design вперёд — кодом, документацией, обратной связью, новыми skills, новыми design systems или просто точным issue. Вклад любого реального масштаба здесь важен, а стена ниже — самый простой способ сказать это вслух.

Contributors Open Design

Если вы только что отправили свой первый PR — добро пожаловать. Метка good-first-issue — хорошая точка входа.

Активность репозитория

Open Design — repository metrics

SVG выше ежедневно пересобирается workflow .github/workflows/metrics.yml с помощью lowlighter/metrics. Если нужен refresh раньше, запустите workflow вручную во вкладке Actions; для более богатых плагинов (traffic, follow-up time) добавьте секрет репозитория METRICS_TOKEN с fine-grained PAT.

История звёзд

История звёзд Open Design

Если кривая идёт вверх — это и есть тот сигнал, на который мы смотрим. Поставьте ★ этому репозиторию, чтобы помочь ей расти.

Благодарности

Семейство skills HTML PPT Studio — главный skills/html-ppt/ и template-wrapperы в skills/html-ppt-*/ (15 full-deck templates, 36 themes, 31 single-page layouts, 27 CSS animations + 20 canvas FX, keyboard runtime и magnetic-card presenter mode) — интегрировано из open-source проекта lewislulu/html-ppt-skill (MIT). Upstream LICENSE лежит в репозитории по пути skills/html-ppt/LICENSE, а авторская атрибуция принадлежит @lewislulu. Каждая Examples card конкретного template (html-ppt-pitch-deck, html-ppt-tech-sharing, html-ppt-presenter-mode, html-ppt-xhs-post, …) делегирует guidance по authoring master-skillу, чтобы поведение upstream «prompt → output» сохранялось end-to-end после клика Use this prompt.

Журнальный / горизонтально перелистываемый deck flow в skills/guizang-ppt/ интегрирован из op7418/guizang-ppt-skill (MIT). Авторская атрибуция принадлежит @op7418.

Лицензия

Apache-2.0. Встроенный skills/guizang-ppt/ сохраняет свою исходную LICENSE (MIT) и авторскую атрибуцию op7418. Встроенный skills/html-ppt/ сохраняет свою исходную LICENSE (MIT) и авторскую атрибуцию lewislulu.