SuperAPI AI 工具集

baoyu-compress-image

通用与其它

查看项目

更新于 10-16 04:06

技能介绍

用途

baoyu-compress-image 是一个图片压缩技能,用于对图片进行压缩优化,默认目标格式为 WebP,也支持 PNG 和 JPEG。当用户提出“压缩图片”“优化图片”“转换为 webp”等需求时可以使用。

主要能力

  • 使用当前可用的最佳工具进行压缩,自动选择顺序为:sips → cwebp → ImageMagick → Sharp。
  • 默认输出 WebP 格式,也可通过参数指定 png 或 jpeg。
  • 支持单文件或目录输入。
  • 可设置输出路径、质量(0-100,默认 80)。
  • 可选择保留原图(默认不保留)。
  • 支持递归处理子目录。
  • 支持 JSON 格式输出结果。
  • 输出会显示压缩前后大小及压缩比例,例如:image.png → image.webp (245KB → 89KB, 64% reduction)。

使用方式

脚本位于 scripts/ 子目录,将 ${SKILL_DIR} 替换为 SKILL.md 所在目录路径。

运行命令:

npx -y bun ${SKILL_DIR}/scripts/main.ts <input> [options]

参数说明:

  • <input>:文件或目录,必填。
  • --output / -o:输出路径,默认为同路径、新扩展名。
  • --format / -f:输出格式,可选 webp、png、jpeg,默认 webp。
  • --quality / -q:质量 0-100,默认 80。
  • --keep / -k:保留原图,默认 false。
  • --recursive / -r:处理子目录,默认 false。
  • --json:输出 JSON,默认 false。

示例:

# 单文件转 WebP(替换原图)
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png

# 保留 PNG 格式
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png -f png --keep

# 目录递归处理
npx -y bun ${SKILL_DIR}/scripts/main.ts ./images/ -r -q 75

# JSON 输出
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png --json

偏好设置(EXTEND.md)

可使用 Bash 检查 EXTEND.md 是否存在,优先级顺序如下:

项目级:

test -f .baoyu-skills/baoyu-compress-image/EXTEND.md && echo "project"

用户级(跨平台,$HOME 适用于 macOS/Linux/WSL):

test -f "$HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md" && echo "user"

路径对应位置:

  • .baoyu-skills/baoyu-compress-image/EXTEND.md:项目目录。
  • $HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md:用户主目录。

处理结果:

  • 找到:读取、解析并应用设置。
  • 未找到:使用默认值。

EXTEND.md 支持:默认格式、默认质量、保留原图偏好。

适用场景

  • 需要将图片批量或单张转换为 WebP 以减少体积。
  • 需要优化 PNG 或 JPEG 图片并控制质量。
  • 需要在项目中递归处理图片目录。
  • 需要以 JSON 形式获取压缩结果以便后续处理。

限制与依赖

  • 外部依赖:bun。脚本示例使用 npx -y bun ...,运行前需确认 bun 可用。
  • 若运行时依赖缺失,应停止执行并返回确切的安装/设置命令。
  • 迁移说明:迁移模式为 OpenClaw native first;保留 scripts 目录;不保留 references 和 prompts 目录;外部依赖 bun;风险等级 low;检测到的环境变量:HOME。
  • 配置兼容性:保留原 .baoyu-skills/<skill>/EXTEND.md 行为,并在需要时于运行时包装器中添加 OpenClaw 兼容路径。

暂未提供

  • 价格与收费方式暂未提供。
  • 具体性能数据、压缩效果承诺暂未提供。