마케팅·제품 UI PNG는 팔레트(색 수)와 파일 크기가 곧 배포·CDN 비용·렌더링 안정성입니다. 여기서는 공개 문서 기준 OpenClaw 설치·게이트웨이를 띄운 뒤, 디자인 납품 inbox를 감시해 pngquant·optipng(또는 oxipng)로 자동 순찰하고, 임계값·실패 재시도까지 한 번에 재현하는 순서만 정리합니다. 키워드: OpenClaw, pngquant, optipng, PNG 팔레트, 원격 Mac, 폴더 감시.
목차
① OpenClaw 설치·온보딩·게이트웨이 확인
공식 Getting Started에 따르면 macOS에서는 아래로 CLI를 설치한 뒤, 온보딩 마법사가 모델 키와 게이트웨이를 잡아 줍니다. Node는 22.14+ 지원·24 권장입니다.
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon
openclaw gateway status
openclaw dashboard
gateway status에서 리스닝(기본 18789)이 보이면 Control UI까지 연결된 상태입니다. 설정 충돌·자격 증명 누락은 openclaw doctor로 한 번에 훑는 편이 안전합니다. 서비스 계정·커스텀 홈을 쓸 때는 문서에 있는 OPENCLAW_HOME, OPENCLAW_CONFIG_PATH 등으로 경로를 고정하세요.
전체 플랫폼 옵션은 OpenClaw 설치 가이드(전 플랫폼)와 맞춰 읽으면 재현성이 올라갑니다.
② 디자인 납품 폴더·CLI 스택
원격 Mac 한 대에 납품 파이프라인을 고정합니다. 예시:
~/delivery_jobs/default/inbox— 디자이너가 수출한 PNG 투입staging— 작업 중 복사pass— 임계 통과failed— 규칙 위반·도구 오류logs— JSON Lines 감사 로그
도구는 Homebrew 기준으로 brew install pngquant optipng가 무난합니다. 무손실 쪽을 oxipng로 통일하고 싶다면 동일 슬롯에 바꿔 끼우면 됩니다. OpenClaw 쪽에서는 “폴더 이벤트 → 셸 스크립트 실행 → 로그 요약” 스킬을 묶어 에이전트가 사람에게 실패 요약만 넘기게 할 수 있습니다.
③ 폴더 감시로 배치 트리거
수출 도구가 임시 파일을 여러 번 건드리므로 디바운스가 필수입니다. Figma·Sketch보내기가 끝난 뒤 20~45초 무활동을 본 다음 한 번만 드라이버를 돌리는 패턴이 안정적입니다.
INBOX="$HOME/delivery_jobs/default/inbox"
fswatch -o "$INBOX" | while read -r _; do
sleep 35
/usr/local/bin/run-png-palette-audit.sh --job default \
--config "$HOME/delivery_jobs/default/thresholds.json"
done
launchd로 상주시킬 때는 WorkingDirectory와 절대 경로를 명시하세요. 다중 크기 세트·이름 규칙과 맞물리면 보내기 폴더 감시·PNG 세트 자동화 글의 디렉터리 패턴을 그대로 빌려도 됩니다.
④ 팔레트·바이트 검사와 임계값
팔레트 양자화는 pngquant로 “허용 최대 색 수·품질 하한”을 코드화합니다. 예: 스프라이트류 --colors 256 이하, 품질 70-100 범위만 통과. 출력 PNG의 실제 팔레트 항목 수는 identify -verbose 또는 전용 스크립트로 세어 thresholds.json의 max_colors와 비교합니다.
# 예: 양자화 시도(실패 시 pngquant가 non-zero exit)
pngquant --quality=75-95 --speed 1 --output "$OUT" -- "$IN"
# 무손실 패스(브랜드 자산 등 정책 허용 시)
optipng -o7 -strip all -out "$OUT_OPT" "$OUT"
용량 임계는 stat -f%z로 원본·후처리 바이트를 같이 로그에 남기고 max_bytes와 비교합니다. “압축 후에도 상한 초과”는 리사이즈·비트 깊이·불필요 메타데이터를 의심합니다. 무손실 재압축·ICC 정책은 Mac PNG 메타데이터·무손실 재압축 가이드와 정합을 맞추면 납품 논쟁이 줄어듭니다.
샘플 thresholds.json 필드 예: max_bytes, max_colors, min_quality, allow_quantize(클래스별 true/false), lossless_only(브랜드 키 비주얼).
⑤ 실패 격리·백오프 재시도
일시적 I/O·동기화 지연에는 지수 백오프가 맞습니다. 권장: 1s → 2s → 4s … 최대 5회, 그 이후 failed/에 이동하고 로그 한 줄에 rule·detail·bytes·colors를 남깁니다. 소스 수정 후 같은 파일명으로 inbox에 다시 넣으면 새 job으로 깨끗이 도는 흐름이 운영하기 쉽습니다. CLI 연쇄·락 파일·큐 슬라이스는 블로그의 PNG 파이프라인 재시도 글과 같은 패턴을 적용하면 됩니다.
⑥ FAQ (권한·경로)
pngquant: command not found (cron·launchd)
LaunchAgent EnvironmentVariables에 PATH=/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin를 넣거나, 스크립트에서 도구를 전부 절대 경로로 호출하세요.
읽기/쓰기는 되는데 macOS가 막습니다
다운로드 폴더·외장 볼륨은 격리 플래그와 프라이버시 TCC를 확인하세요. iCloud가 걸린 Desktop은 이벤트가 두 번 올라와 디바운스만으로는 부족할 수 있어, 납품 루트는 로컬 SSD 고정 경로를 권장합니다.
팔레트는 통과인데 용량만 큽니다
큰 알파·잡음·비효율 IDAT일 수 있습니다. 무손실 패스 후에도 max_bytes를 넘으면 해상도·재수출 파이프라인을 디자인 측에 되돌립니다.
원격 워커가 필요하면 MacPng 요금·구매·대여를 로그인 없이(기간 한정) 확인한 뒤 SSH/VNC 도움말로 접속을 마무리하면 됩니다.