Zipic Mac 开发者图片压缩 API — URL Scheme 与 Shortcuts 自动化集成
Web 开发 自动化 开发者 URL Scheme Zipic

Web 开发者的图片压缩指南:自动化你的开发流程

2026-04-08 Zipic Team

面向 Mac 开发者的图片压缩工具。用 URL Scheme、Apple Shortcuts、文件夹监控和图片压缩 API 把 Web 开发图片优化做成自动化流水线。

如果你在做网站或 Web 应用,图片体积是少数你能真正掌控的性能杠杆之一。但大部分团队仍然在手动优化:把导出文件拖到在线工具,凭手感拉滑块,再手动提交结果。这套流程对付一张图还行,可一旦项目里有几百张截图、营销素材和内容稿,就完全跑不动。

开发者真正需要的是一个像构建工具一样的图片压缩工具 —— 可脚本化、可重复、不打扰人。Zipic 是一款 macOS 原生应用,通过 URL Scheme、AppIntents、Apple Shortcuts、文件夹监控和 Finder 集成把整套压缩引擎暴露出来。换句话说,它给你提供了一套真正可以塞进现有开发流程的 Mac 图片压缩 API

本文带你过一遍 Web 开发者用 Zipic 压缩图片的四种方式 —— 从 Finder 上一次性压缩,到完全自动化的 CI 风格流水线。

为什么 Web 开发者需要自动化图片压缩

手动压缩根本扩展不了。一个普通的产品团队会持续产出:

  • CleanShot X 或 ⌘⇧4 截图(PNG,每张 2–5 MB)
  • Figma 导出的 Hero / OG 图(PNG/JPEG)
  • 每次发版上百张 WebP/AVIF 营销素材
  • 用户上传的、未经处理直接打 CDN 的图片

没有自动化时,每张图都是体力活:开工具、选质量、保存、改名、提交。乘以发布频率,就是几小时的杂活 —— 或者更糟,紧赶时间直接漏掉压缩。

脚本化流程能彻底解决这件事:

手动流程脚本化流程
打开在线工具,上传,下载一行命令或一个键盘快捷键
一张张拍脑袋决定质量用预设固化团队标准
大批量速度感人500 张目录几秒搞定
赶 deadline 经常忘文件出现就自动跑

接下来四种脚本化方式,正是把这套流水线搭起来的关键。

方案 1:URL Scheme — Mac 上的图片压缩 API

Zipic 的 URL Scheme 是 Mac 上最接近真正图片压缩 API 的形态。基地址是 zipic://compress,所有压缩选项 —— 输入路径、输出格式、级别、调整尺寸、保存位置 —— 都映射成查询参数,你可以用任何语言拼出来。

最小调用长这样:

open "zipic://compress?url=/Users/me/exports/hero.png&format=webp&level=3&directory=/Users/me/site/public/img&location=custom"

完整参数列表:

参数类型用途
urlstring(可重复)图片或文件夹路径,传多个 url= 即可批量。
formatstring输出格式:originaljpegwebpheicavifpngjxl
leveldouble(1–6)压缩级别。Web 场景 2–3 最稳。
directorystringlocation=custom 时的输出目录。
locationstringoriginalcustom
width / heightdouble调整到目标尺寸;0 表示等比例自适应。
addSuffix / suffixbool / string给文件名追加后缀,比如 -compressed

因为本质就是 URL,任何能打开 URL 或调 shell 的语言都能调用:

# Python — 部署前先把 exports 目录压一遍
import subprocess

url = (
    "zipic://compress?"
    "url=/Users/me/site/exports&"
    "format=webp&level=3&"
    "directory=/Users/me/site/public/img&"
    "location=custom&"
    "width=1920"
)
subprocess.run(["open", url])
// Swift — 在 Xcode 的 Run Script Phase 或构建脚本里触发
import AppKit

let url = URL(string: "zipic://compress?url=/Users/me/site/exports&format=webp&level=3")!
NSWorkspace.shared.open(url)
// Node — 在 postbuild 脚本里调用
const { execSync } = require("node:child_process");
const url = "zipic://compress?url=/Users/me/site/dist/img&format=avif&level=3";
execSync(`open "${url}"`);

下面这段视频展示了在 iTerm2 里用 URL Scheme 触发压缩 —— 图片直接被压成 WebP 并保存,整个过程 Zipic 主窗口都没出现。

Zipic 的压缩预设在 设置 → 工作流 里维护,这里也可以打开静默模式,让 URL Scheme 调用在后台压缩,不把应用拉到前台:

Zipic 工作流设置 — Web 开发者用 URL Scheme 后台静默压缩

完整参数文档:工作流集成

方案 2:Apple Shortcuts 集成 — CI 风格的工作流

如果你想要比裸 URL 更强的能力 —— 错误处理、动作链、参数从输入读 —— Zipic Pro 原生支持 AppIntents。这意味着 Zipic 的动作直接出现在 Apple Shortcuts 里,和 Finder、Files 以及其他兼容 AppIntents 的应用并列。不用解析 URL,不用转义,不用拼字符串。

Zipic 暴露了两个 AppIntents 动作:

  1. Compress — 接收文件 / 文件夹,并暴露所有压缩选项(级别、格式、保存位置、调整尺寸)。不设选项时使用 Zipic 当前激活的预设。
  2. Convert Format — 只想换格式时用这个更聚焦的动作。
Zipic Shortcuts 动作 — Compress 和 Convert Format AppIntents 用于 Web 开发自动化

一个典型的开发者快捷指令长这样:在 Finder 里做一个 Quick Action,拿当前选中文件,用级别 3 压成 WebP,然后保存到 dist/img 文件夹。把它绑到 ⌃⌥C 这样的快捷键,你在 Finder 里随手选文件就能一键发布。

Zipic 快捷指令配置 — 用 URL Scheme 自动压缩 Finder 选中的文件

下面的视频演示了两种触发方式:键盘快捷键,以及 Finder 右键 → 快速操作 → Zipic。

相比裸 URL Scheme,最大的优势是组合性。你可以在 Shortcut 里把 Zipic 和其他动作串起来 —— 读文件名、发到 Slack、写清单、上传 S3 —— 而不用跳出自动化层。复杂的流水线里 AppIntents 也比 URL Scheme 可靠得多,因为它原生处理错误。

方案 3:监控构建产物目录 — 文件夹监控

URL Scheme 适合能挂钩构建步骤的场景。但有时候最干净的集成方式是 完全不集成 —— 直接让 Zipic 盯住一个目录,新出现的所有图片自动压。

Zipic Pro 的文件夹监控会监视你指定的目录,按你给它配的预设自动压缩任何新出现的图片。Web 开发者最常用的几个监控目标:

  • CleanShot X / 截图目录 —— 截图一保存就压完,进仓库前就处理好
  • Figma 导出目录 —— 每次导出自动转 WebP,让设计师和开发同步用同一种输出格式
  • CMS 上传目录 —— 同步到生产之前,先把落到暂存目录的上传文件预处理一遍
  • dist/imgpublic/img —— 构建产物自动压,连 vite.config.js 和 webpack 都不用动

每个监控目录可以用独立预设,所以你能给一个目录配无损 PNG,给另一个配激进的 AVIF。

设置只要点几下:Zipic → 设置 → 自动化 → +,选目录、设置监控深度(0 表示只监控顶层,1–5 包含子目录),选预设。配完之后,任何保存到这个目录的文件都会被自动压缩。

更深入的内容见 macOS 自动化:文件夹监控自动压缩图片监控目录自动压缩文档

方案 4:Finder 右键和 Raycast — 一次性快速压缩

不是每个任务都需要全自动化。有时候你只想压一下 code review 时随手截的三张图,再贴到 PR 描述里。这种场景 Zipic 提供了两个零配置的入口:

  • Finder 右键 → 快速操作 → Zipic —— 调用方案 2 配置好的 AppIntents 快捷指令。选文件、右键、点一下,搞定。
  • Raycast 扩展 —— ⌘ Space → "Compress",Zipic 会处理 Finder 当前选中的文件。完全不用碰鼠标,特别适合键盘流开发者。详见 Raycast 扩展指南

两条路径用的是和 URL Scheme 完全一样的压缩引擎和预设系统,唯一的区别是交互方式。哪种顺手就用哪种。

最佳实践:开发者的格式与质量等级选择

流水线就位之后,下一个问题是 压成什么。答案取决于素材类型。下面是一份面向开发者的决策矩阵:

素材类型格式级别备注
Hero / 首屏图片AVIF + WebP 兜底3性价比之王;用 <picture> 提供
截图 / UI 抓图WebP3比 PNG 小 30%,视觉无损
摄影照片AVIF 或 WebP2–3CDN 支持时 AVIF 大约再省 20%
营销缩略图WebP4小图可以放心激进压缩
带透明的图标 / LogoWebP 或 PNG3不要用 JPEG(无 alpha 通道)
OG / 社交分享图JPEG2兼容性最大化

几条值得收藏的经验:

  1. 2026 年 WebP 和 AVIF 几乎全面胜出 JPEG。 WebP 浏览器支持率超过 95%,AVIF 也到了 93%+。
  2. 先调尺寸再压缩。 一张 4000 像素宽的图压到 200 KB 仍然是浪费 —— 用 width 参数对齐你最大的布局宽度。
  3. Hero 内容用级别 2–3,缩略图用级别 4–5。 级别越高省得越多,但细节多的图会出现可见瑕疵。
  4. 留意透明通道。 WebP/HEIC → JPEG 会丢 alpha。需要透明时坚持用 WebP 或 PNG。

更长的格式分析见 JPEG vs PNG vs WebP:该选哪种图片格式?如何为你的项目选择合适的图片格式

上面这些都可以在 Zipic 里预先配成预设,然后在 URL Scheme 调用或 Shortcuts 里按名字引用:

Zipic Web 开发者压缩预设 — 多种格式和级别组合 Zipic 保存格式选择器 — WebP、AVIF、JPEG、PNG、HEIC、JPEG-XL 输出

实战:一个真实的开发者流水线

下面这套组合拳是一个发布营销站的小团队真实在跑的:

  1. 设计师 把 Hero 图从 Figma 导到 ~/Design/exports。Zipic 监控这个目录,每张导出图自动转成 AVIF 级别 3,宽度上限 1920。
  2. 开发者 把截图丢进 ~/Sites/marketing/public/img/blog。第二个监控目录把它们压成 WebP 级别 3。
  3. CI 步骤(可选):一段 prebuild 的 Node 脚本对整个 public/img 目录跑一次 zipic://compress,作为兜底扫尾。
  4. 用 Raycast 的工程师⌘ Space → Compress 一次性压缩临时文件,全程不离开键盘。

最终结果:团队没人再手动压图。预设负责固化标准,监控目录负责自动执行标准,URL Scheme 作为构建期的安全网兜底。

相关阅读

完整文档:工作流集成 | 监控目录自动压缩 | 图片压缩基础


想给你的开发流程加一套图片压缩 API?下载 Zipic — 免费版每天 25 张图。Zipic Pro 解锁 URL Scheme 高级参数、AppIntents、文件夹监控和无限批量处理 — 一次买断,无订阅。