- release.yml 便携包离线预装 钉钉/飞书中国版/企业微信 插件(借鉴 openclaw-china 生态) - config-server 新增 /api/local-models:自动探测 Ollama/LM Studio 本地模型(借鉴 RealShocky/openclaw-windows) - Config.html 检测到本地模型自动生成卡片、免 Key 点选即用;新增钉钉渠道卡片 - skills-cn 新增 pdf-toolkit/web-to-markdown/qrcode-maker/image-compress(13→17) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
---
|
||
name: image-compress
|
||
description: "图片压缩/转换 - 批量压缩、改尺寸、转格式(jpg/png/webp),本地处理不失隐私"
|
||
metadata: { "openclaw": { "emoji": "🖼️" } }
|
||
---
|
||
|
||
# 图片压缩 / 转换
|
||
|
||
帮用户压缩图片体积、调整尺寸、转换格式,全部本地处理,照片不外传。
|
||
|
||
## 能力概述
|
||
|
||
- **压缩**:降低体积(控制质量/分辨率),适合发邮件、传微信
|
||
- **改尺寸**:按宽高或百分比缩放
|
||
- **转格式**:jpg / png / webp 互转(webp 体积最小)
|
||
- **批量**:处理整个文件夹
|
||
|
||
## 操作方式
|
||
|
||
用 Bash 工具,Python 的 Pillow 库(跨平台、纯本地):
|
||
|
||
```bash
|
||
python -c "import PIL" 2>/dev/null || pip install -q Pillow
|
||
|
||
# 单张压缩(质量 75,宽度限制 1600px 等比缩放)
|
||
python - <<'PY'
|
||
from PIL import Image
|
||
im = Image.open("input.jpg")
|
||
if im.width > 1600:
|
||
im = im.resize((1600, int(im.height*1600/im.width)))
|
||
im.convert("RGB").save("output.jpg", "JPEG", quality=75, optimize=True)
|
||
print("已压缩 -> output.jpg")
|
||
PY
|
||
|
||
# 批量:当前目录所有 jpg/png -> webp(体积更小)
|
||
python - <<'PY'
|
||
from PIL import Image
|
||
import glob, os
|
||
for f in glob.glob("*.jpg") + glob.glob("*.png"):
|
||
out = os.path.splitext(f)[0] + ".webp"
|
||
Image.open(f).save(out, "WEBP", quality=80)
|
||
print(f"{f} -> {out}")
|
||
PY
|
||
```
|
||
|
||
## 使用建议
|
||
|
||
- 处理前 `ls -lh` 看原图体积,处理后再 `ls -lh` 对比,告诉用户压缩了多少
|
||
- 默认不覆盖原图(输出新文件名),除非用户明确要求覆盖
|
||
- 含透明通道的 PNG 转 JPG 会丢透明,转 webp 可保留——按需选格式
|