想定読者:ブラウザや軽量ツールから Web 向け PNG を書き出し、リモート Mac ワーカーでも同じ検収を再現したいデザインオps/エンジニア。キーワード:OpenClaw、Gateway、フォルダ監視、ICC/sRGB、命名テンプレ、リトライ。導入の土台は OpenClaw インストール(全プラットフォーム)、ICC とバイト衛生の深掘りは PNG メタデータ・ICC/無損再圧縮 と併読してください。
目次
OpenClaw/Gateway 最小インストールと権限
リモート Mac はパイプラインホストとして扱い、個人用途のホームと混ぜないのが安全です。OpenClaw と Gateway は上記インストール記事どおりにバージョンを README にピン留めし、GUI ログインと ssh 非対話シェルの両方から curl でローカルヘルス URL が HTTP 200 になるまで確認します。
権限チェックリスト(本番前にコピー):
- サービスユーザー:ジョブツリー専用の macOS ユーザーを用意(メール・写真・iCloud 重いフォルダは避ける)。
- シークレット:トークンは
~/.config/openclaw.env等に置き mode600。タスク YAML を git にコミットしない。 - TCC:
sips/exiftool/ターミナルでプライバシーエラーが出たら、該当バイナリにフルディスクアクセスまたは Automation を付与。 - ネットワーク:Gateway は意図しない公開を避け
127.0.0.1バインドを既定に。必要なら SSH ポートフォワードで手元からだけ触る。
ssh user@host 'bash -lc "curl -sS http://127.0.0.1:<gateway-port>/health"' — メニューバーは緑なのに失敗する場合、ワーカーと対話セッションでユーザーまたは PATH が食い違っています。
フォルダ監視の設定
ブラウザは既定で ダウンロード に落としますが、リモート Mac では保存先を決め打ちの inbox に変更してください(例:~/png_jobs/web_export/inbox)。クラウド同期パスは部分書き込みと遅延でキューを壊しやすいので避けます。JSONL・ディスクウォーターマーク・バックオフの語彙は PNG 監視・リトライ・ログ保管 と揃えると運用が一つになります。
監視セットアップ手順:
- ローカル NVMe 上に
inbox・work・out・failed・quarantine・logsを作成。 fswatch(デバウンス付き)またはlaunchdのWatchPathsをinboxのみに限定。.DS_Store・*.tmp・*.crdownload・0 バイトを無視。- サイズ安定:500ms 間隔で
statが二回同一になるまでキューに入れない。 - シングルフライト:連続保存は 30〜60 秒の無音ウィンドウ後にまとめてドレイン。
ICC/カラープロファイル検証ルール
Web チームは多くの場合 埋め込み sRGB(またはブランド承認 ICC)を要求します。「Figma 上では問題ない」はテストにならないので、機械チェックに落とします。
検証ポリシー表(既定案):
| チェック | 合格 | 不合格時の動き |
|---|---|---|
| PNG シグネチャ | 先頭が PNG マジック | failed/、リトライなし |
| プロファイル埋め込み | sips -g profile が空でない |
quarantine/、ポリシー次第で sips -m /path/to/sRGB.icc |
| プロファイル同一性 | 説明または ICC が許可リスト一致(例:sRGB IEC61966-2.1) | quarantine/ で人間レビュー |
| アルファ意図 | スプライトは RGBA、ヒーローは不透明などタグ一致 | 不一致は _alpha サフィックス付きレビュー列へ |
スキルやシェルステップに包める読み取り専用プローブ例:
sips -g profile -g pixelWidth -g pixelHeight "$f"
# ICC 説明の exiftool 代替:
exiftool -icc_profile:ProfileDescription -S -s "$f"
埋め込み修正後に無損でバイトを整えたい場合は、同記事内の注意どおりアルファ縁を壊さない手順を踏んでください。
命名テンプレートと失敗時のリトライ
ファイル名が揃うと CMS アップロード・キャッシュキー・diff が予測しやすくなります。フィールド規則は OpenClaw:PNG 自動命名と一括検証 に合わせ、ブラウザ起源アセットだけ接尾辞や campaign を足します。
テンプレ例: {campaign}_{slug}_{width}x{height}_srgb_v{semver}.png
解決例:spring25_hero_cta_1200x630_srgb_v01.png
アーカイブ手順:
inbox→work/<trace_id>/へ排他ロック付きで移動。- ICC 検証を実行し、合格ならテンプレに従ってリネーム。
- 最終バイトを
out/2026-04-08/<campaign>/のように日付パーティションへ(ロールバックしやすい)。 - JSONL に
trace_id・ソースハッシュ・プロファイル文字列・出力パス・所要 ms を 1 行追記。
リトライ早見:
- 一時障害(resource busy、GPU タイムアウト、短い SMB 瞬断):指数バックオフ
5s → 20s → 60s、最大 3 回。 - 恒久(破損、ポリシー違反、想定外 ICC):
failed/へ移し、マニフェストに人間エントリが付くまで再キューしない。 - ディスクガード:空き容量が 10〜15% 未満または下限 GB を下回ったらデキューを一時停止(監視 HowTo のウォーターマーク指針と同様)。
実例:キャンペーン素材 1 枚の流れ
Chrome の保存先を ~/png_jobs/web_export/inbox に固定し、デザイナーが hero.png を書き出すとします。ウォッチャがサイズ安定を確認後、work/job-7f3a/ に移し、sips -g profile で sRGB 埋め込みを確認、寸法 1200×630 を読み取り、合格なら out/2026-04-08/spring25/spring25_hero_cta_1200x630_srgb_v01.png へリネーム移動します。logs/jobs-20260408.jsonl に 1 行追記し、OpenClaw スキルから同じ trace_id で Slack 通知する、という構成にすると外販パートナーにも手順を渡しやすいです。
よくあるエラー FAQ
ウォッチャは動くのに OpenClaw がジョブを受け取らない
非対話 PATH に fswatch が無い、カレントディレクトリ違い、launchd 環境に Gateway トークンが無い、のどれかが多いです。ssh user@host bash -lc '…' で enqueue を再実行し env をダンプして比較してください。
sips は sRGB なのに Safari が Figma と違って見える
同一マシン・同一ディスプレイプロファイルで比較し、書き出しパイプラインで ICC が剥がれていないか確認します。強制ダークモードや HDR 環境は PNG 検証のスコープ外として README に明記します。
~/Downloads を監視したい
可能ですが ZIP・PDF・インストーラでノイズが勝ちます。ブラウザの「ダウンロード場所」を専用 inbox へのシンボリックリンクに差し替えるのが無難です。
DAM の代替になるか
いいえ。この層は 技術的不変条件(ICC・命名・ログ)を リモート Mac 上で強制するものです。権利メタや承認は上流の DAM/法務プロセスに残します。
常時稼働の Apple Silicon で OpenClaw と PNG 検収を回すなら、MacPng の 購入・レンタル(ログイン不要で比較可能)と ご利用ガイド(SSH/VNC) からワーカー接続まで進められます。続きは 技術インサイト の OpenClaw/デザイン自動化記事(監視・Figma 書き出し・Design Token diff など)を参照してください。
専用リモート Mac で OpenClaw PNG/ICC パイプラインを運用
関連記事:OpenClaw インストール(全プラットフォーム)、PNG 自動命名と一括検証、ICC メタデータと無損再圧縮。一覧は 技術インサイト から。