baoyu-compress-image

设计与多媒体 已审计 @JimLiu v1.56.1
信任分
92/100
兼容 Agent
1
速查档案 只列事实:领域、Agent、信任分、作者、原文章节。装与不装请看下方作者解读。
领域
设计与多媒体
兼容 Agent
Claude Code
信任分
92 / 100 · 已通过审计
作者 / 版本 / 许可
@JimLiu · v1.56.1 · 未声明 license
安装命令数
1 条

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

想读作者英文原文? ↓ 滚到正文区切换 · 在 GitHub 查看 ↗

解读由编辑根据原文凝练而成,命令、链接、术语均与作者原文一致;想看完整论述请切到右侧

baoyu-compress-image 解决的是「图片体积大、上传慢、不同平台尺寸限制不一样」的工程化痛点——它不重新发明压缩算法,只是把现有最佳工具自动选好、参数调好。

设计思路

作者的策略叫「best available tool」:不强求装某个特定库,而是按优先级探测系统里已有的工具:sips(macOS 自带)→ cwebp(Google WebP 官方)→ ImageMagick → Sharp(Node 库),哪个先找到用哪个。这意味着一台干净的 mac 可以零依赖直接用,复杂环境也能落地。默认输出格式是 WebP,体积压缩比最好;不接受 WebP 的平台可降级到 PNG。

工作流

脚本目录:{baseDir}/scripts/。运行时它会:① 解析 {baseDir}${BUN_X} 占位符(bun 优先,其次 npx -y bun,都没有就提示装 bun);② 探测系统里第一个可用的压缩工具;③ 按你给的参数(质量、尺寸、批量目录)执行;④ 输出对照表(原大小 → 压后大小 → 比例)。

适合谁

  • 博客 / 公众号作者,发文前批量压一次,加载快、SEO 也好
  • 设计师交付前自检,把客户的「200 张 PNG 各 5MB」一键变成 WebP
  • 移动端 App 静态资源压缩
  • 把扫描件 / 截图归档到 Obsidian 笔记前先压

关键参数

  • 输入支持单文件或整个目录
  • 默认 WebP,可强制 PNG
  • 质量参数可调(默认偏向「肉眼无损」)
  • 同名输出可自动加 .webp 后缀,原图不丢

注意

透明背景、需要逐像素对比的场景,不要用有损 WebP——选 PNG 或调到无损 WebP(quality=100)。EXTEND.md 提供进一步扩展点(你可以把自家 CDN、上传逻辑接到压缩流程末尾)。