基于 Sharp/MozJPEG 的高质量图像压缩工具,专为 AI Agent 设计。
- 极致压缩比:使用 MozJPEG 编码器,比标准 JPEG 节省 5-10% 体积
- 智能质量调整:自动降低质量直到满足目标文件大小
- 多格式支持:输入支持 JPG/PNG/WebP,输出支持 JPG/PNG
- 预设方案:内置 5 种场景预设,开箱即用
-
将整个
image-compressor文件夹复制到你的 Skills 目录:- Windows:
C:\Users\<用户名>\.gemini\antigravity\skills\ - macOS/Linux:
~/.gemini/antigravity/skills/
- Windows:
-
进入目录安装依赖:
cd ~/.gemini/antigravity/skills/image-compressor npm install
-
完成!AI Agent 会自动识别并使用此 Skill。
将文件夹放到项目的 .agent/skills/ 目录下:
your-project/
└── .agent/
└── skills/
└── image-compressor/
直接对 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 # 预设配置库
- Sharp 库:基于 libvips 的高性能 Node.js 图像处理库
- MozJPEG:Mozilla 优化的 JPEG 编码器,压缩比优于标准实现
- 渐进式加载:生成渐进式 JPEG,提升网页加载体验
- 智能重试:自动调整质量直到满足目标文件大小
- 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