Skip to content

2576998022/image-compressor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

极致图像压缩 Skill

基于 Sharp/MozJPEG 的高质量图像压缩工具,专为 AI Agent 设计。

🎯 核心功能

  • 极致压缩比:使用 MozJPEG 编码器,比标准 JPEG 节省 5-10% 体积
  • 智能质量调整:自动降低质量直到满足目标文件大小
  • 多格式支持:输入支持 JPG/PNG/WebP,输出支持 JPG/PNG
  • 预设方案:内置 5 种场景预设,开箱即用

📦 安装方法

方式一:复制到 Skills 目录(推荐)

  1. 将整个 image-compressor 文件夹复制到你的 Skills 目录:

    • Windows: C:\Users\<用户名>\.gemini\antigravity\skills\
    • macOS/Linux: ~/.gemini/antigravity/skills/
  2. 进入目录安装依赖:

    cd ~/.gemini/antigravity/skills/image-compressor
    npm install
  3. 完成!AI Agent 会自动识别并使用此 Skill。

方式二:项目级安装

将文件夹放到项目的 .agent/skills/ 目录下:

your-project/
└── .agent/
    └── skills/
        └── image-compressor/

🚀 使用方式

让 AI 帮你压缩

直接对 AI 说:

  • "帮我压缩这张图片"
  • "把图片压到 500KB 以下"
  • "优化一下红包封面大小"

单张压缩

# 基本用法
node scripts/compress.cjs <输入图片> [输出图片] [质量/预设]

# 示例:微信红包封面(自动限制 500KB)
node scripts/compress.cjs cover.png cover.jpg wechat-cover

# 示例:输出 PNG 格式
node scripts/compress.cjs photo.png compressed.png 75

# 示例:自定义质量
node scripts/compress.cjs image.jpg small.jpg 60

批量压缩

# 批量压缩目录下所有图片
node scripts/batch-compress.cjs <输入目录> [输出目录] [质量/预设]

# 示例:批量压缩微信红包封面(输出到 "压缩后" 子目录)
node scripts/batch-compress.cjs "C:\红包封面" wechat-cover

# 示例:指定输出目录
node scripts/batch-compress.cjs ./images ./output high

批量压缩特性:

  • 自动扫描目录下所有图片(JPG/PNG/WebP/GIF/TIFF/BMP)
  • 自动创建输出目录
  • 统一命名格式:YYYYMMDD_红包封面01.jpg
  • 输出压缩统计报告

📋 预设方案

预设名称 质量 适用场景
ultra 95 高清壁纸、印刷素材
high 85 博客配图、一般用途
balanced 75 网页优化(默认)
wechat-cover 65 微信红包封面(限 500KB)
thumbnail 50 缩略图、列表预览

📁 目录结构

image-compressor/
├── README.md             # 本文件
├── SKILL.md              # AI Agent 读取的技能定义
├── package.json          # npm 依赖配置
├── scripts/
│   ├── compress.cjs      # 单张压缩脚本
│   └── batch-compress.cjs # 批量压缩脚本
└── presets/
    └── presets.json      # 预设配置库

⚙️ 技术原理

  1. Sharp 库:基于 libvips 的高性能 Node.js 图像处理库
  2. MozJPEG:Mozilla 优化的 JPEG 编码器,压缩比优于标准实现
  3. 渐进式加载:生成渐进式 JPEG,提升网页加载体验
  4. 智能重试:自动调整质量直到满足目标文件大小

🔧 依赖要求

  • Node.js 18+
  • npm 或 pnpm

📝 输出示例

[压缩] 使用预设: wechat-cover - 微信红包封面专用 - 目标 500KB 以下
[压缩] 正在压缩: cover.png
[压缩] 输出路径: cover.jpg
[压缩] 压缩质量: 65
[压缩] 目标大小: 500KB
[压缩] 图片尺寸: 2048x2048
[压缩] 原始格式: png
[压缩] 输出格式: JPEG
[压缩] 原始大小: 5522.2 KB
[压缩] 压缩后: 200.7 KB
[压缩] 节省: 96.4%
[压缩] 压缩完成!

📄 许可证

MIT License

About

图片压缩

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors