设计导出 PNG 常带 EXIF Orientation:预览自动旋转,线上管线按像素矩阵处理则方向错乱。在远程 Mac 用 OpenClaw 做「监听 → 读标签 → 无损转像素 → 归档」。下文五部分并附命令思路。
痛点拆解:
- 显示不一致:预览与无标签管线对像素理解不同。
- 半写入:未完成即打开易魔数错或空队列。
- 争用:旋转与压缩并行易留半成品。
| 策略 | 适用 | 风险 |
|---|---|---|
| 仅删除 Orientation 标签 | 像素已在正确方向、仅需去标签 | 像素未转时会导致「更错」 |
magick -auto-orient 写像素 |
标签 2–8 需物理旋转 | 须经临时文件原子替换,避免半截文件 |
| 无 EXIF 直通 + 审计 | 纯 UI 切片、工具未写 EXIF | 需与设计规范对齐,避免漏转相机图 |
OpenClaw / 网关最小部署
安装 CLI 与网关,按《OpenClaw 安装与批量校验》探活;流水线账户对收件箱只读、对 work/…logs/ 读写,令牌仅运行用户可读。另见《全平台安装指南》。验收:curl 200;magick/exiftool 在 launchd 下可用(绝对路径)。
文件夹监听策略
导出目录如 ~/png_jobs/design_export/inbox,避开 iCloud 与网络卷。fswatch 或 launchd:防抖 1–3s,大批量可静默 30–60s 再批处理;.png 且两次 stat 稳定再入队;launchd/tmux 长驻。结构对齐《PNG 监听、队列重试与日志归档》。
# 思路:防抖后调用流水线(路径与命令按环境替换)
INBOX="$HOME/png_jobs/design_export/inbox"
fswatch -o "$INBOX" | while read -r; do
sleep 2
/usr/local/bin/openclaw-run --pipeline png-exif-fix --inbox "$INBOX"
done
EXIF Orientation 处理流程
exiftool -Orientation -n file.png:1 可直通;2–8 走无损旋转。无标签则 JSONL 记 unknown_orientation 并对照规范。ICC 与旋转顺序见《PNG 元数据与 ICC 无损重压缩清单》。取值 1–8、固定 rules_version 便于回放。
批量无损旋转与命名归档
magick IN.png -auto-orient OUT.png 转像素;经 tmp/ 校验后原子到 work/,再 exiftool -Orientation=1 -n 清零。批处理配合《PNG CLI 链与重试模板》。命名如 hero_1200x630_exiffixed_v01.png 入 out/日期/,JSONL 记 pre_orientation、sha256。
# 单张无损校正思路(路径自定义)
magick "$SRC" -auto-orient "$TMP" && exiftool -overwrite_original -Orientation=1 -n "$TMP" \
&& mv "$TMP" "$WORK/"
常见报错 FAQ
队列触发频繁但处理量为零?
多为半写入。加长防抖、大小稳定后再入队;收件箱放本地 SSD。
magick 成功但仍「横屏」?
检查是否只清了标签未转像素;用另一台未开自动旋转的查看器验证。
网关 401 或 connection refused?
核对绑定地址、令牌与运行用户一致;launchd 登出后进程仍存活。
与 oxipng 同路径争写?
流水线串行:先 EXIF/旋转,再体积优化,最后进 out/。
内链:安装校验 → 监听归档 → CLI 重试 → ICC 清单;按团队替换 openclaw-run 与收件箱。公开页:首页、租用、价格、帮助、技术见解。
总结:最小网关、防抖监听、判向分支、magick 无损转像素与 JSONL 归档形成闭环,把方向问题拦在交付前。本地只负责导出,远程专机持续跑监听与批处理,可降低返工。若需长期在线的 Apple Silicon Mac 承载上述自动化,可从下方入口免登录了解租用与节点。