Baoyu Compress Image

🗜️ 智能压缩图片,体积立减 60%+

智能图片压缩工具,自动选择最优引擎(sips/cwebp/ImageMagick/Sharp)批量转 WebP/PNG,支持质量调节与递归处理。

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

使用说明

核心用法

baoyu-compress-image 是一款基于 Bun 运行时开发的智能图片压缩 CLI 工具,支持 macOS、Linux、WSL 及 Windows(PowerShell)多平台。用户通过 ${BUN_X} {baseDir}/scripts/main.ts 调用,输入单文件或目录即可自动完成格式转换与体积优化。

关键参数:

  • -f/--format:输出格式(webp/png/jpeg),默认 WebP
  • -q/--quality:质量 0-100,默认 80
  • -k/--keep:保留原文件
  • -r/--recursive:递归处理子目录
  • --json:结构化输出便于集成

智能引擎选择:按优先级自动检测 sips(macOS 原生)→ cwebp → ImageMagick → Sharp,无需手动指定依赖。

显著优点

1. 零配置开箱即用:自动降级依赖链,用户仅需安装 bun 或 npx 即可运行
2. 多层级配置支持:通过 EXTEND.md 支持项目级、XDG 标准级、用户级三档偏好持久化

3. 跨平台兼容:原生适配 POSIX shell 与 PowerShell,路径解析逻辑分离清晰

4. 高效批量处理:递归模式配合 JSON 输出,适合 CI/CD 集成

潜在缺点与局限性

  • 运行时依赖:强制依赖 Bun 生态,未预装 bun 时需经 npx 二次拉取,冷启动延迟
  • 引擎优先级固化:sips 仅在 macOS 可用,Linux/Windows 用户无法享受原生加速
  • 质量映射非透明:各引擎对 -q 80 的实际编码策略可能存在差异,缺乏统一校准
  • 无预览回滚:默认覆盖原文件(--keep=false),误操作风险需用户自行规避

适合人群

  • 前端开发者:批量优化构建产物图片
  • 运维/CI 工程师:集成至部署流水线自动压缩
  • 内容运营:本地快速处理素材,无需打开 Photoshop

常规风险

  • 数据覆盖风险:默认行为替换原文件,建议首次使用加 -k 验证输出
  • 质量损失不可逆:WebP 为有损格式,高压缩比下可能出现色带、模糊
  • 依赖漂移:npx -y bun 可能拉取最新版本,存在 API 变更隐患
  • EXTEND.md 配置泄露:若将敏感路径写入项目级配置,可能随仓库暴露

安全解读

核心用法

baoyu-compress-image是一款专注于图像压缩的Agent Skill,采用TypeScript开发,基于Bun运行时执行。用户可通过自然语言指令如"压缩图片""优化图像""转为WebP"等触发该技能。核心命令为${BUN_X} {baseDir}/scripts/main.ts <input> [options],支持单文件处理、目录批量处理及递归子目录扫描。

该技能采用智能降级策略选择压缩引擎:优先尝试macOS原生sips工具,其次调用cwebp、ImageMagick的convert命令,最终回退至Node.js sharp库。输出格式默认为WebP(现代浏览器兼容性最优),可选PNG或JPEG,质量参数0-100可调(默认80)。保留原文件、JSON格式输出、自定义输出路径等特性满足多样化工作流需求。

显著优点

多引擎智能调度:无缝集成系统级工具与npm生态,在macOS/Linux/Windows(WSL)三端保持一致的压缩体验,无需用户手动安装特定依赖。

零网络依赖:完全本地执行,图像数据不出本机,符合企业级数据安全要求。CLI设计便于集成CI/CD流水线或批处理脚本。

EXTEND.md配置扩展:支持项目级、XDG配置级、用户级三级配置覆盖,团队可统一压缩标准,个人可保留偏好设置。

透明压缩反馈:输出格式清晰展示"原大小→压缩后大小→压缩率",配合--json参数便于日志记录与自动化报告生成。

潜在缺点与局限性

运行时依赖门槛:必须预装Bun或支持npx -y bun,Windows原生环境需借助WSL或Git Bash,纯PowerShell用户可能遇到兼容性问题。

sharp依赖的历史CVE风险:底层依赖的sharp库曾存在CVE-2023-4863等严重漏洞,虽已修复但要求用户保持npm/bun依赖更新,安全意识薄弱的环境存在潜在攻击面。

无GUI交互:纯命令行工具,对非技术用户不够友好。缺乏压缩预览、质量对比滑动条等可视化功能。

格式支持有限:专注于WebP/PNG/JPEG输出,不支持AVIF、HEIC等新兴格式,亦不提供动图(GIF/WebP动画)处理。

适合的目标群体

  • 前端开发者:优化网站资源包,自动生成WebP格式提升Core Web Vitals指标
  • 内容运营人员:批量压缩CMS配图、社交媒体素材,保持画质同时降低CDN流量成本
  • DevOps工程师:集成至构建流程,实现提交前自动资源优化
  • 摄影师/设计师:快速生成预览版本或网络传输用轻量文件
  • 技术文档作者:压缩截图插入Markdown/GitBook,控制仓库体积

常规使用风险

性能风险:处理超高分辨率图像(如50MP+ RAW导出图)或大体积目录时,sharp的V8内存限制可能触发OOM。建议增加--max-file-size参数或分批次处理。

依赖漂移:sharp与libvips的版本绑定较严格,跨平台迁移时可能遇到二进制兼容问题。lockfile缺失场景下建议显式指定sharp版本。

子进程异常:sips/cwebp等系统工具若未安装或版本过旧,降级链可能多次失败后才触发sharp回退,日志中出现多行错误输出,需用户具备一定调试能力理解引擎选择逻辑。

元数据丢失:默认压缩流程可能剥离EXIF、ICC色彩配置等元数据,对印刷场景或版权追踪需求需额外验证--keep原图策略。

Baoyu Compress Image 内容

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