Skip to content

Latest commit

 

History

History
230 lines (180 loc) · 18.4 KB

File metadata and controls

230 lines (180 loc) · 18.4 KB

クむックスタヌト

English · Português (Brasil) · Deutsch · Français · 日本語 · 简䜓䞭文 · 繁體䞭文

補品党䜓をロヌカルで実行したす。

環境芁件

  • Node.js: ~24Node 24.x。リポゞトリは package.json#engines を通じおこれを匷制しおいたす。
  • pnpm: 10.33.x。リポゞトリは packageManager を通じお pnpm@10.33.2 をピン留めしおいたす。Corepack を䜿甚すれば、ピン留めされたバヌゞョンが自動的に遞択されたす。
  • OS: macOS、Linux、WSL2 が䞻芁なパスです。Windows ネむティブはほずんどのフロヌで動䜜するはずですが、WSL2 のほうが安党なベヌスラむンです。
  • オプションのロヌカル゚ヌゞェント CLI: Claude Code、Codex、Devin for Terminal、Gemini CLI、OpenCode、Cursor Agent、Qwen、GitHub Copilot CLI など。䜕もむンストヌルされおいない堎合は、蚭定から BYOK API モヌドを䜿甚しおください。

nvm / fnm はオプションの䟿利なツヌルであり、必須のプロゞェクトセットアップではありたせん。䜿甚する堎合は、pnpm を実行する前に Node 24 をむンストヌル遞択しおください。

# nvm
nvm install 24
nvm use 24

# fnm
fnm install 24
fnm use 24

その埌、Corepack を有効化しおリポゞトリに pnpm を遞択させたす。

corepack enable
corepack pnpm --version   # 10.33.2 が衚瀺されるはずです

ワンショットdev モヌド

corepack enable
pnpm install
pnpm tools-dev run web # daemon ず web をフォアグラりンドで起動したす
# tools-dev が出力した web URL を開きたす

デスクトップシェルずすべおの管理察象 sidecar をバックグラりンドで起動する堎合

pnpm tools-dev # daemon + web + desktop をバックグラりンドで起動したす

初回起動時、アプリはむンストヌル枈みのコヌド゚ヌゞェント CLIClaude Code / Codex / Devin for Terminal / Gemini / OpenCode / Cursor Agent / Qwenを怜出しお自動遞択し、デフォルトで web-prototype スキルず Neutral Modern デザむンシステムを採甚したす。プロンプトを入力しお Send を抌しおください。゚ヌゞェントが巊ペむンにストリヌミングし、<artifact> タグが解析されお HTML が右偎にラむブレンダリングされたす。完了したら Save to disk をクリックしお、アヌティファクトを ./.od/artifacts/<timestamp>-<slug>/index.html に氞続化したす。

Design system ドロップダりンには 129 のデザむンシステム が同梱されおいたす — 手䜜りのスタヌタヌ 2 皮Neutral Modern、Warm Editorial、バンドルされた補品システム 70 皮、awesome-design-skills から取埗した 57 のデザむンスキルです。1 ぀を遞ぶず、すべおのプロトタむプがそのブランドの矎孊でスキニングされたす。

Skill ドロップダりンはモヌドPrototype / Deck / Template / Design systemでグルヌプ化され、モヌドごずのデフォルトスキルには · default サフィックスが付きたす。バンドルされおいるスキル

  • Prototype — web-prototype汎甚、saas-landing、dashboard、pricing-page、docs-page、blog-post、mobile-app。
  • Deck / PPT — simple-deck単䞀ファむルの暪スワむプず magazine-web-pptop7418/guizang-ppt-skill からの guizang-ppt バンドル — deck モヌドのデフォルト。独自のアセットテンプレヌト + 4 ぀のリファレンスを同梱。サむドファむルを持぀スキルには自動的に「Skill root (absolute)」のプリアンブルが付䞎され、゚ヌゞェントが CWD ではなく実際のディスク䞊のパスに察しお assets/template.html や references/*.md を解決できるようになりたす。

スキルずデザむンシステムを組み合わせれば、単䞀のプロンプトから遞択した芖芚蚀語でレむアりトに適したプロトタむプたたはデッキが生成されたす。

その他のスクリプト

pnpm tools-dev                 # daemon + web + desktop をバックグラりンドで起動
pnpm tools-dev start web       # daemon + web をバックグラりンドで起動
pnpm tools-dev run web         # daemon + web をフォアグラりンドで起動e2e/dev サヌバヌ
pnpm tools-dev restart         # daemon + web + desktop を再起動
pnpm tools-dev restart --daemon-port 7457 --web-port 5175
pnpm tools-dev status          # 管理察象ランタむムを怜査
pnpm tools-dev logs            # daemon/web/desktop のログを衚瀺
pnpm tools-dev check           # status + 最近のログ + 䞀般的な蚺断
pnpm tools-dev stop            # 管理察象ランタむムを停止
pnpm --filter @open-design/daemon build  # `od` 甚に apps/daemon/dist/cli.js をビルド
pnpm --filter @open-design/web build     # 必芁に応じお web パッケヌゞをビルド
pnpm typecheck                 # workspace の typecheck

pnpm tools-dev がロヌカルラむフサむクルの唯䞀の゚ントリポむントです。削陀枈みのレガシヌルヌト゚むリアスpnpm dev、pnpm dev:all、pnpm daemon、pnpm preview、pnpm startは䜿甚しないでください。

ロヌカル開発䞭、tools-dev は最初に daemon を起動し、そのポヌトを apps/web に枡したす。apps/web/next.config.ts は /api/*、/artifacts/*、/frames/* をその daemon ポヌトに曞き換えるため、App Router アプリは CORS 蚭定なしで隣接する Express プロセスず通信できたす。

メディア生成 / ゚ヌゞェントディスパッチャヌチェック

Image、Video、Audio、HyperFrames スキルは、daemon が゚ヌゞェントを起動する際に泚入する環境倉数を通じおロヌカル od CLI を呌び出したす

  • OD_BIN — apps/daemon/dist/cli.js ぞの絶察パス。
  • OD_DAEMON_URL — 実行䞭の daemon URL。
  • OD_PROJECT_ID — アクティブなプロゞェクト ID。
  • OD_PROJECT_DIR — アクティブなプロゞェクトのファむルディレクトリ。

メディア生成が OD_BIN: parameter not set、apps/daemon/dist/cli.js の欠萜、たたは failed to reach daemon at http://127.0.0.1:0 で倱敗する堎合は、daemon CLI を再ビルドしお管理察象ランタむムを再起動しおください

pnpm --filter @open-design/daemon build
pnpm tools-dev restart --daemon-port 7457 --web-port 5175
ls -la apps/daemon/dist/cli.js
curl -s http://127.0.0.1:7457/api/health

その埌、叀いタヌミナル゚ヌゞェントセッションを再開する代わりに、Open Design アプリからプロゞェクトを再床開いおください。daemon から起動された゚ヌゞェントは、次のような倀を確認できるはずです

echo "OD_BIN=$OD_BIN"
echo "OD_PROJECT_ID=$OD_PROJECT_ID"
echo "OD_PROJECT_DIR=$OD_PROJECT_DIR"
echo "OD_DAEMON_URL=$OD_DAEMON_URL"
ls -la "$OD_BIN"

OD_DAEMON_URL は http://127.0.0.1:0 ではなく、http://127.0.0.1:7457 のような実際の daemon ポヌトでなければなりたせん。:0 ずいう倀は内郚的な「空きポヌトを遞択する」起動ヒントにすぎず、゚ヌゞェントセッションに挏れおはなりたせん。

daemon のみの本番モヌドでは、daemon 自身が http://localhost:7456 で静的な Next.js ゚クスポヌトを提䟛するため、リバヌスプロキシは関䞎したせん。

daemon の前段に nginx を配眮する堎合は、SSE ルヌトをバッファリングなし・圧瞮なしに保っおください。䞀般的な倱敗䟋は、ブラりザコン゜ヌルに 80〜90 秒埌に net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK) が衚瀺されるずいうもので、これは daemon が X-Accel-Buffering: no を送信しおいおも、nginx の gzip on がチャンク分割された SSE レスポンスをバッファリングしおしたうために発生したす。

location /api/ {
    proxy_pass http://127.0.0.1:7456;

    proxy_buffering off;
    gzip off;

    proxy_read_timeout 86400s;
    proxy_send_timeout 86400s;
    proxy_http_version 1.1;
    proxy_set_header Connection "";

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

2 ぀の実行モヌド

モヌド ピッカヌの倀 リク゚ストの流れ
Local CLIdaemon が゚ヌゞェントを怜出した堎合のデフォルト "Local CLI" フロント゚ンド → daemon /api/chat → spawn(<agent>, ...) → stdout → SSE → アヌティファクトパヌサヌ → プレビュヌ
Anthropic APIフォヌルバック / CLI なし "Anthropic API · BYOK" フロント゚ンド → @anthropic-ai/sdk 盎接呌び出しdangerouslyAllowBrowser → アヌティファクトパヌサヌ → プレビュヌ

䞡モヌドずも 同じ <artifact> パヌサヌず 同じ サンドボックス化された iframe にデヌタを䟛絊したす。異なるのはトランスポヌトずシステムプロンプトの配信方法だけですロヌカル CLI には独立したシステムチャンネルがないため、合成プロンプトはナヌザヌメッセヌゞに折り蟌たれたす。

プロンプトの構成

送信ごずに、アプリは 3 ぀のレむダヌからシステムプロンプトを構築しおプロバむダヌに送信したす

BASE_SYSTEM_PROMPT   出力契玄<artifact> でラップ、コヌドフェンスなし
   + アクティブなデザむンシステム本文  DESIGN.md — パレットタむポレむアりト
   + アクティブなスキル本文          SKILL.md — ワヌクフロヌず出力ルヌル

トップバヌでスキルたたはデザむンシステムを切り替えるず、次回の送信から新しいスタックが䜿甚されたす。本文はセッションごずにメモリ内にキャッシュされるため、遞択ごずに 1 回の daemon フェッチで枈みたす。

ファむルマップ

open-design/
├── apps/
│   ├── daemon/                # Node/Express — ロヌカル゚ヌゞェントを起動 + API を提䟛
│   │   └── src/
│   │       ├── cli.ts             # `od` bin ゚ントリ
│   │       ├── server.ts          # /api/* + 静的配信
│   │       ├── agents.ts          # claude/codex/devin/gemini/opencode/cursor-agent/qwen/copilot 甹 PATH スキャナ
│   │       ├── skills.ts          # SKILL.md ロヌダヌフロントマタヌパヌサヌ
│   │       └── design-systems.ts  # DESIGN.md ロヌダヌ
│   │   ├── sidecar/           # tools-dev daemon sidecar ラッパヌ
│   │   └── tests/             # daemon パッケヌゞのテスト
│   ├── web/                   # Next.js 16 App Router + React クラむアント
│       ├── app/               # App Router ゚ントリポむント
│       ├── src/               # React + TypeScript クラむアントランタむムモゞュヌル
│       │   ├── App.tsx        # mode / skill / DS ピッカヌ + send をオヌケストレヌション
│       │   ├── providers/     # daemon + BYOK API トランスポヌト
│       │   ├── prompts/       # system、discovery、directions、deck フレヌムワヌク
│       │   ├── artifacts/     # ストリヌミング <artifact> パヌサヌ + マニフェスト
│       │   ├── runtime/       # iframe srcdoc、markdown、゚クスポヌトヘルパヌ
│       │   └── state/         # localStorage + daemon バック゚ンドのプロゞェクト状態
│       ├── sidecar/           # tools-dev web sidecar ラッパヌ
│       └── next.config.ts     # tools-dev rewrites + 本番 apps/web/out ゚クスポヌト蚭定
│   └── desktop/               # Electron ランタむム、tools-dev によっお起動怜査される
├── packages/
│   ├── contracts/             # 共有 web/daemon アプリ契玄
│   ├── sidecar-proto/         # Open Design sidecar プロトコル契玄
│   ├── sidecar/               # 汎甚 sidecar ランタむムプリミティブ
│   └── platform/              # 汎甚プロセスプラットフォヌムプリミティブ
├── tools/dev/                 # `pnpm tools-dev` ラむフサむクルず inspect CLI
├── e2e/                       # Playwright UI + 倖郚統合Vitest ハヌネス
├── skills/                    # SKILL.md — 任意の Claude Code スキルリポゞトリからドロップむン
│   ├── web-prototype/         # 汎甚シングルスクリヌンプロトタむプprototype モヌドのデフォルト
│   ├── saas-landing/          # マヌケティングペヌゞhero / features / pricing / CTA
│   ├── dashboard/             # 管理分析ダッシュボヌド
│   ├── pricing-page/          # 独立した pricing + 比范
│   ├── docs-page/             # 3 列ドキュメンテヌションレむアりト
│   ├── blog-post/             # ゚ディトリアル長文
│   ├── mobile-app/            # 電話フレヌムのシングルスクリヌン
│   ├── simple-deck/           # 最小限の暪スワむプデッキ
│   └── guizang-ppt/           # magazine-web-ppt — バンドルされた deck/PPT デフォルト
│       ├── SKILL.md
│       ├── assets/template.html
│       └── references/{themes,layouts,components,checklist}.md
├── design-systems/            # DESIGN.md — 9 セクションスキヌマawesome-claude-design
│   ├── default/               # Neutral Modernスタヌタヌ
│   ├── warm-editorial/        # Warm Editorialスタヌタヌ
│   ├── README.md              # カタログ抂芁
│   └── 
129 systems           # スタヌタヌ 2 çš® · 補品システム 70 çš® · デザむンスキル 57 çš®
├── scripts/sync-design-systems.ts    # 䞊流の getdesign tarball から再むンポヌト
├── docs/                      # 補品ビゞョン + 仕様
├── .od/                       # ランタむムデヌタgitignore 枈み、自動䜜成
│   ├── app.sqlite              #   projects / conversations / messages / tabs
│   ├── artifacts/              #   ワンショット "Save to disk" レンダリング
│   └── projects/<id>/          #   プロゞェクトごずの䜜業ディレクトリ + ゚ヌゞェント cwd
├── pnpm-workspace.yaml        # apps/* + packages/* + tools/* + e2e
└── package.json               # root quality スクリプト + `od` bin

トラブルシュヌティング

  • 「no agents found on PATH」 — claude、codex、devin、gemini、opencode、cursor-agent、qwen、copilot のいずれかをむンストヌルしおください。たたは、トップバヌで「Anthropic API · BYOK」に切り替え、蚭定 にキヌを貌り付けたす。
  • /api/chat で daemon が 500 を返す — daemon タヌミナルで stderr の末尟を確認しおください。通垞は CLI が匕数を拒吊しおいたす。CLI ごずに argv の圢匏が異なりたす。調敎が必芁な堎合は apps/daemon/src/agents.ts の buildArgs を参照しおください。
  • メディア生成で OD_BIN が欠萜、たたは daemon URL が :0 — 䞊蚘のメディアディスパッチャヌチェックを実行しおください。叀い CLI セッションを再開せず、Open Design アプリからプロゞェクトを再床開いお、daemon が新しい OD_* 倉数を泚入できるようにしおください。
  • Codex がプラグむンコンテキストを倚く読み蟌みすぎる — OD_CODEX_DISABLE_PLUGINS=1 pnpm tools-dev で Open Design を起動するず、daemon から起動された Codex プロセスが --disable plugins で実行されたす。
  • アヌティファクトがレンダリングされない — モデルが <artifact> でラップせずにテキストを生成したした。システムプロンプトが通っおいるこずを確認しdaemon ログを確認、より高性胜なモデルたたは厳栌なスキルぞの切り替えを怜蚎しおください。

ビゞョンぞのマッピング

このクむックスタヌトは docs/ にある仕様の実行可胜なシヌドです。仕様は、これがどこぞ成長するかを蚘述しおいたすdocs/roadmap.md を参照。ハむラむト

  • docs/architecture.md は、出荷されたスタックを説明しおいたす前面に Next.js 16 App Router、その背埌にロヌカル daemon、そしお apps/web/next.config.ts の dev 時 rewrites によっおブラりザが同じ /api 衚面ず通信し続けるようにしたす。
  • docs/skills-protocol.md は、完党な od: フロントマタヌ型付き入力、スラむダヌ、機胜ゲヌティングに぀いお説明しおいたす。この MVP は name / description / triggers / od.mode / od.design_system.requires のみを読み取りたす — 残りを远加するには apps/daemon/src/skills.ts を拡匵しおください。
  • docs/agent-adapters.md はより豊かなディスパッチ機胜怜出、ストリヌミングツヌル呌び出しを予芋しおいたす。apps/daemon/src/agents.ts は最小限のディスパッチャヌです — 配線を蚌明するには十分です。
  • docs/modes.md は 4 ぀のモヌドprototype / deck / template / design-systemを列挙しおいたす。最初の 2 ぀のスキルを出荷しおいたす。ピッカヌはすでに mode でフィルタリングしおいたす。