Baoyu Compress Image

🗜️ 智能多引擎图像压缩工具

智能图像压缩工具,自动选择最优引擎(sips/cwebp/ImageMagick/Sharp),支持 WebP/PNG/JPEG 格式转换,批量处理与质量自定义。

收藏
8.1k
安装
2.3k
版本
1.60.0
CLS 安全性认证2026-08-10
点击查看完整报告 >

使用说明

核心功能

baoyu-compress-image 是一款基于 TypeScript 开发的 CLI 图像压缩工具,采用多引擎降级策略:优先使用 macOS 原生 sips,其次 cwebpImageMagick,最后回退到 Node.js 的 Sharp 库,确保跨平台兼容性。

显著优点

  • 智能引擎选择:无需手动安装依赖,自动检测并利用系统已有工具
  • 格式灵活:默认 WebP(现代浏览器最优),可选 PNG/JPEG
  • 批量处理:支持递归目录压缩,适合静态站点优化
  • 可扩展配置:通过 EXTEND.md 实现项目级/用户级偏好设置
  • Bun 运行时:利用 Bun 的高性能 I/O,压缩速度快

潜在局限

  • 依赖 Bun 生态:需安装 bun 或 fallback 到 npx,Windows 用户配置成本略高
  • 非无损优先:默认质量 80,追求极致无损需手动调整
  • 无 GUI:纯命令行工具,非技术用户门槛较高
  • EXTEND.md 未提供:当前文档未展示具体配置示例,自定义能力待验证

适合人群

  • 前端开发者:优化 Web 性能,生成 WebP 资源
  • DevOps/CI 场景:集成到构建流水线自动压缩静态资源
  • 内容创作者:批量处理博客/电商图片,降低存储与带宽成本

常规风险

  • 覆盖风险:默认替换原文件,建议配合 --keep 使用
  • 质量损失:WebP 有损压缩不可逆,重要素材需备份
  • 引擎差异:不同后端压缩率/视觉质量可能有细微差别

技术规格

| 属性 | 值 |
|------|-----|
| 版本 | 1.56.1 |
| 运行时 | Bun / npx |
| 许可证 | 未注明(开源仓库可查) |

安全解读

核心用法

baoyu-compress-image 是一款基于 Bun/Node 运行的本地图片压缩 CLI 工具,核心脚本位于 scripts/main.ts。用户通过 ${BUN_X} {baseDir}/scripts/main.ts <输入> 调用,支持单文件或整目录处理。工具智能选择压缩引擎优先级:macOS 原生 sips → Google cwebp → ImageMagick → Sharp,确保跨平台可用性。

命令行参数丰富:-f 指定输出格式(webp/png/jpeg,默认 webp),-q 设置质量(0-100,默认 80),-o 自定义输出路径,--keep 保留原文件,-r 递归处理子目录,--json 输出结构化结果。配置文件支持三级覆盖:项目目录 .baoyu-skills/ → XDG 配置目录 → 用户主目录,便于团队协作与个人偏好分离。

显著优点

工具链自适应:无需手动安装特定依赖,自动检测并使用系统已装工具,降低部署门槛。格式现代化:默认输出 WebP,体积较 PNG/JPEG 减少 25%-35%,直接优化网页 Core Web Vitals。批量处理能力:递归目录扫描配合 JSON 输出,轻松集成 CI/CD 流水线或自动化脚本。零网络依赖:纯本地运算,杜绝隐私泄露与 API 限流风险。轻量可扩展:源码仅 318 行,TypeScript 编写,EXTEND.md 机制允许用户自定义默认质量与格式偏好。

潜在缺点与局限性

运行时依赖较重:需预装 Bun 或 Node + npx,Windows 用户还需额外配置环境。工具链不稳定:若系统未装 sips/cwebp/ImageMagick,自动降级至 Sharp 可能因 npm 安装失败导致功能中断。临时文件竞态:压缩过程中生成 .tmp 临时文件再重命名,高并发场景下存在极低的文件覆盖风险。T3 来源级别:个人开发者维护,无企业 SLA 保障,安全更新响应与长期维护存不确定性。路径验证不足:当前未严格校验输入路径是否超出工作目录,存在理论上的目录遍历隐患。

适合的目标群体

前端开发者与 Web 工程师需批量优化站点图片资源;运维人员构建静态站点生成流水线;设计师快速导出 WebP 交付物;个人站长与博客运营者降低 CDN 流量成本;技术团队寻求可自托管、零订阅费用的图片处理方案。

常规使用风险

性能风险:大目录递归处理时,串行调用外部工具可能阻塞事件循环,建议分批次或结合 & 后台运行。依赖漂移:Sharp 作为可选依赖动态加载,若锁定版本不当可能因上游更新引入 breaking change。权限问题:Windows 下临时文件目录若设于系统盘,可能因 UAC 受限导致写入失败。命令注入残余风险:虽当前参数经内部生成,但未来版本若开放更多插值接口,需警惕未过滤的用户输入传入 spawn。升级兼容性:EXTEND.md 配置格式若后续版本变更,可能导致配置失效,建议升级前阅读 Release Note。

Baoyu Compress Image 内容

scripts文件夹
手动下载zip · 4.7 kB
main.tstext/plain
请选择文件