← ClaudeAtlas

nx-image-compresslisted

自动化图片压缩工作流。支持本地路径、文件夹批量压缩,调用 NX MCP 服务端智能压缩, 返回 CDN 地址及压缩比,支持覆盖原文件或另存。
xiaowu89/skill-compress · ★ 11 · AI & Automation · score 80
Install: claude install-skill xiaowu89/skill-compress
# 图片压缩 通过 nx-mcp-server 远程压缩服务对图片进行智能压缩。 ## 配置 在项目根目录创建 `.mcp.json`: ```json { "mcpServers": { "nx-mcp-compress": { "type": "url", "url": "https://mcp.api-inference.modelscope.net/4378d43d3e7d4c/mcp", "env": { "NX_API_KEY": "你的 API Key" } } } } ``` ��找顺序:项目根目录 → 用户家目录。提取 `url` → `MCP_URL`,`env.NX_API_KEY` → `API_KEY`。 Skill 直连 MCP 端点,**无需重启 Claude Code**。 > **没有 API Key?** 联系微信 `zhjian_2026` ���取。 ## 压缩流程 ### 步骤 1:检查配置 ```bash cat .mcp.json 2>/dev/null || cat ~/.mcp.json 2>/dev/null ``` - 找到 → 记录 `url` 和 `NX_API_KEY`,继续步骤 2 - 找不到 → 询问用户是否已有 API Key: - **有 Key**:帮用户创建 `~/.mcp.json`,全局和项目安装都通用 - **没有 Key**:告知联系微信 `zhjian_2026` 获取 > ⚠️ 配置缺失时不要继续后续步骤。 ### 步骤 2:执行压缩(一次 Bash 调用,纯内存,零文件) 替换 `PIC_DIR`、`MCP_URL`、`API_KEY`、`QUALITY` 后,heredoc 直接通过 stdin 喂给 node: ```bash NODE_PATH=$(npm root -g) node << 'COMPRESSEOF' const fs=require('fs'),path=require('path'); let PIC_DIR='<目标图片目录绝对路径>'; const SINGLE_FILE='<单张图片路径,为空则压缩整个目录>'; const MCP_URL='<从.mcp.json读取的url>'; const API_KEY='<从.mcp.json读取的NX_API_KEY>'; const QUALITY=90; (async()=>{ const exts=['.png','.jpg','.jpeg','.webp','.bmp','.tga']; let imgs; if(SINGLE_FILE){imgs=[path.basename(SINGLE_FILE)];PIC_DIR=path.dirname(SINGLE_FILE)} else{imgs=fs.readdirSync(PIC_DIR).filter(f=>exts.includes(path.extname(f).toLowerCase())).sort()} const origTotal=imgs.reduce((s,f)=>s+fs.statSync(path.join(PIC_DIR,f)).size,0); console.log(`共 ${imgs.length} 张,总 ${(origTotal/1024).toFixed(0)}KB