SuperAPI AI 工具集

canghe-compress-image

设计与创作

查看项目

更新于 10-15 16:28

技能介绍

用途

canghe-compress-image 是一个图像压缩技能,用于将图片压缩为 WebP(默认)或 PNG 等格式。当用户提出“压缩图片”“优化图片”“转换为 webp”等需求时可以使用。

主要能力

  • 使用当前可用的最佳工具进行压缩,工具选择顺序为:sips → cwebp → ImageMagick → Sharp。
  • 默认输出格式为 WebP,也支持 png、jpeg。
  • 支持单文件或目录输入。
  • 支持递归处理子目录。
  • 支持质量参数(0-100,默认 80)。
  • 支持保留原图(--keep)。
  • 支持 JSON 输出(--json)。
  • 可通过 EXTEND.md 自定义偏好,支持项包括:默认格式、默认质量、是否保留原图。

使用方式

脚本位于 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

输出示例:

image.png → image.webp (245KB → 89KB, 64% reduction)

偏好配置(EXTEND.md)

使用 Bash 检查 EXTEND.md 是否存在,优先级顺序为:先检查项目级,再检查用户级。

项目级路径:.canghe-skills/canghe-compress-image/EXTEND.md

用户级路径:$HOME/.canghe-skills/canghe-compress-image/EXTEND.md(跨平台:$HOME 适用于 macOS/Linux/WSL)

检查命令:

# 先检查项目级
test -f .canghe-skills/canghe-compress-image/EXTEND.md && echo "project"

# 再检查用户级
test -f "$HOME/.canghe-skills/canghe-compress-image/EXTEND.md" && echo "user"

结果处理:找到则读取、解析并应用设置;未找到则使用默认值。

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

适用场景

  • 需要将图片批量或单个压缩为 WebP 以减小体积。
  • 需要优化图片但保留 PNG 等原格式。
  • 需要递归处理目录中的图片。
  • 需要以 JSON 形式获取压缩结果。

限制

  • 依赖可用工具链(sips、cwebp、ImageMagick、Sharp),实际使用哪个工具取决于环境。
  • 具体安装方式、收费、价格、平台支持范围等资料暂未提供。