원클릭으로
holo-social-image
HOLO社媒图片预处理技能 - 使用 GIMP CLI + PIL 自动处理产品图片 (裁剪、抠图去背景、调色、品牌水印、格式转换、尺寸调整)。 所有产品图片必须来自 NAS 共享盘真实资料或业务员上传。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
HOLO社媒图片预处理技能 - 使用 GIMP CLI + PIL 自动处理产品图片 (裁剪、抠图去背景、调色、品牌水印、格式转换、尺寸调整)。 所有产品图片必须来自 NAS 共享盘真实资料或业务员上传。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
红龙工业设备 AI 智能获客系统。B2B 全栈 SDR,覆盖客户发现→背景调查→开发信触达→智能报价→Pipeline 管理,支持 WhatsApp + Email + Telegram + LinkedIn 多渠道。基于 OpenClaw Agent 技能集群。
获客系统初始化引导 v2.1。首次使用时引导用户配置凭据、生成工作台配置、挂载NAS、测试邮箱、安装依赖。当用户说"初始化获客系统"、"开始使用获客系统"、"一键安装依赖"时触发。
获客工作流参考(质量门控 + 阶段定义)。执行引擎已内置 — 实际编排使用 create_agent + spawn_agent,不再需要手动按步骤执行。本文件仅保留获客专用的质量检查点和阶段定义。
Use when 用户需要写开发信、cold email、外联邮件、起草销售邮件时。路由:此技能只生成邮件内容不发送,生成后必须交给 email-sender 技能发送(email-sender 内置ICP校验、邮箱铁律、联系记录),禁止直接调 send_email_smtp 发送开发信。
根据输入生成日报 Markdown 草稿并写入 reports 目录
Use when 需要发送邮件、批量发送开发信或跟进邮件时。路由:发送邮件必须走此技能(内置黑名单检查+ICP校验+邮箱铁律+联系记录),禁止绕过直接调 send_email_smtp。v2.0 对接实际 Agent 工具链,不再依赖 PowerShell 脚本。
| name | holo-social-image |
| version | 1.0.0 |
| description | HOLO社媒图片预处理技能 - 使用 GIMP CLI + PIL 自动处理产品图片 (裁剪、抠图去背景、调色、品牌水印、格式转换、尺寸调整)。 所有产品图片必须来自 NAS 共享盘真实资料或业务员上传。 |
| triggers | ["处理产品图片","图片预处理","抠图去背景","社媒图片处理","holo-social-image",{"触发词":"抠图/裁剪/去背景/处理图片/加水印/缩放/调整图片/修图/GIMP"},"是 holo-social-gen 的上游预处理层:脏图→干净标准化素材"] |
Skill Graph: 领域 → [[_index-outreach|多渠道触达领域]]
更新记录 v2.0 (2026-04-13): 移除所有嵌入式 GIMP Script-Fu(因 GIMP 2.10 Windows console 版 PDB 参数签名不一致导致无法工作)。改用
gimp_backend模块(PIL 实现)+ PIL 原生操作。背景去除已验证可用。
我是厨房 — 洗菜、切菜、改刀,不管摆盘出品。
NAS 原始图 / 业务员上传的图(脏的)
│
▼ 我来处理
┌─────────────────────────┐
│ holo-social-image │
│ 预处理管道 │
│ │
│ 检测 → 处理 → 标准化 │
│ │
│ 主力工具: GIMP CLI │
│ 轻量操作: PIL/Pillow │
│ │
│ 输出: 干净的产品素材 │
└──────────┬──────────────┘
│
▼
holo-social-gen(拿好素材做设计)
holo-social-infographic(拿好素材做信息图)
这是最常用的场景。 业务员在微信/WorkBuddy 里说一句话,AI 直接处理。
| 用户说的话 | AI 做什么 |
|---|---|
| "帮我裁剪一下这张图" / "把多余的部分裁掉" | GIMP 裁剪到主体区域 |
| "把背景去掉" / "抠个图" / "做成白底的" | GIMP 去背景 → 白底/透明底 |
| "这张图太暗了" / "亮度调一下" | GIMP 曲线/色阶调整 |
| "加个水印" / "打上HOLO" | PIL 右上角 HOLO 角标 |
| "压缩一下" / "太大了" | PIL resize + quality 调整 |
| "转成 PNG" / "转成 JPG" | PIL 格式转换 |
| "旋转一下" / "翻转" | GIMP 旋转/镜像 |
| "帮我处理这批图" | 批量处理流程(见模式B) |
业务员: [发送图片] + "帮我把这个裁剪一下,去掉旁边的杂物"
│
▼
AI 接收图片 → 保存到临时目录
│
▼ Step 1: 多模态分析
AI 用"眼睛"看图:
- 图片内容是什么?(机器/零件/场景?)
- 背景是什么颜色?(白底/灰底/杂乱?)
- 有哪些问题需要处理?(尺寸太大/偏暗/倾斜?)
- 主体在哪里?(裁剪区域判断)
│
▼ Step 2: 确认方案
AI: "看到了,这是一张水冷机的照片,左边有多余的杂物,
背面是灰色的地面。我建议:
1. 裁剪到机器主体(去除左侧杂物)
2. 去掉灰色背景 → 替换为纯白底
3. 输出 1200×900 白底 JPG
要这样处理吗?还是你有其他要求?"
│
▼ Step 3: 业务员确认/修改
│
▼ Step 4: 执行处理(GIMP 或 PIL)
│
▼ Step 5: 展示结果
AI: [展示处理后的图片] "处理完了,你看下效果。
原图 2400×1600 → 输出 1200×900 (185KB)
如果还需要微调随时说。"
gen 在生成社媒图前的自动检查流程:
Step 0: 图片预处理检查清单
━━━━━━━━━━━━━━━━━━━━━━━
□ 图片来源是哪里? → 必须是 NAS 或用户上传的真实图
□ 是白底吗? → 不是 → GIMP 去背景
□ 尺寸合适吗? → 太大 → PIL resize
□ 有 HOLO 水印吗? → 没有 → PIL 加水印
□ 格式/base64友好吗? → 不是 PNG/JPG → 转换
核心原则:PIL 做一切,GIMP 只做备选(裁剪/旋转目前走 PIL)
⚠️ GIMP Script-Fu 在 Windows console 模式下有 PDB 参数签名不一致问题,背景去除 以外的操作用 PIL 替代。 背景去除已通过
gimp_backend模块使用 PIL 实现并验证可用。
import sys, os
# 添加 cli-anything-gimp 路径
sys.path.insert(0, r"C:\Users\Administrator\gimp\agent-harness")
from cli_anything.gimp.utils import gimp_backend # 背景去除
from cli_anything.gimp.core import media # 白底检测
from PIL import Image, ImageDraw, ImageFilter, ImageEnhance
import numpy as np
# ── 背景去除 ────────────────────────────────────────────
# 1. 先检测是否需要去背景
det = media.detect_white_background(input_path)
print(det["verdict"], det["corner_score"])
# → "clean_white" / "not_white" / "mixed"
if det["verdict"] != "clean_white":
# 2. 去背景 → 白底 PNG
result = gimp_backend.remove_background_and_export(
input_path=input_path,
output_path=output_path,
method="color", # 默认颜色选择法
output_bg="white", # "white" | "transparent"
threshold=50, # 1-100,越高越激进
timeout=120,
)
print(result["file_size"], result["method"])
# ── 裁剪 ────────────────────────────────────────────────
img = Image.open(input_path)
# x, y 是左上角坐标,w, h 是宽高
cropped = img.crop((x, y, x + w, y + h))
cropped.save(output_path)
# ── 调色(亮度/对比度/饱和度)── PIL ──────────────────────
img = Image.open(input_path)
enhancer = ImageEnhance.Brightness(img)
img_bright = enhancer.enhance(1.3) # 1.0=原图,>1=变亮
enhancer = ImageEnhance.Contrast(img)
img_contrast = enhancer.enhance(1.2) # 1.0=原图,>1=高对比
enhancer = ImageEnhance.Color(img)
img_saturated = enhancer.enhance(1.3) # 1.0=原图,0=灰度
# ── 旋转 ────────────────────────────────────────────────
img = Image.open(input_path)
rotated = img.rotate(angle, expand=True, fillcolor=(255, 255, 255))
# ── 加 HOLO 水印 ─────────────────────────────────────────
def add_holo_watermark(img: Image.Image) -> Image.Image:
draw = ImageDraw.Draw(img)
brand_color = (211, 47, 47) # #D32F2F
text = "HOLO"
try:
font = ImageFont.truetype("arial.ttf", 24)
except Exception:
font = ImageFont.load_default()
bbox = draw.textbbox((0, 0), text, font=font)
tw, th = bbox[2] - bbox[0], bbox[3] - bbox[1]
padding = 8
x = img.width - tw - padding * 2 - 15
y = 15
overlay = Image.new('RGBA', img.size, (0, 0, 0, 0))
overlay_draw = ImageDraw.Draw(overlay)
overlay_draw.rounded_rectangle(
[x - padding, y - padding, x + tw + padding, y + th + padding],
radius=4, fill=(211, 47, 47, 200)
)
overlay_draw.text((x, y), text, fill=(255, 255, 255, 255), font=font)
img = img.convert('RGBA')
return Image.alpha_composite(img, overlay).convert('RGB')
# ── 等比缩放 ────────────────────────────────────────────
img = Image.open(input_path)
w, h = img.size
if max(w, h) > 1200:
ratio = 1200 / max(w, h)
img = img.resize((int(w * ratio), int(h * ratio)), Image.LANCZOS)
img.save(output_path, quality=85)
# ── 格式转换 ────────────────────────────────────────────
img = Image.open(input_path)
img.save(output_path) # PIL 根据扩展名自动选格式
| 工具 | 来源 | 用途 |
|---|---|---|
gimp_backend.remove_background_and_export() | cli-anything-gimp | 去背景(内部 PIL 实现) |
media.detect_white_background() | cli_anything-gimp | 白底检测 |
| PIL / Pillow | 独立库 ≥ 9.0 | 裁剪/调色/旋转/水印/resize |
| numpy | 独立库 ≥ 1.21 | 颜色计算(背景检测) |
GIMP 安装检查(仅供参考,当前不需要 GIMP 运行):
& "C:\Program Files\GIMP 2\bin\gimp-console-2.10.exe" --version
# 应输出: GNU 图像处理程序 版本 2.10.x
⚠️
gimp-console-2.10.exe在 Windows 上存在 PDB 参数签名与文档不符的问题。remove_background_and_export()已改用 PIL 实现规避此问题,无需 GIMP 实际运行。
适用场景:
from PIL import Image, ImageDraw, ImageFont
import base64
def add_holo_watermark(img: Image.Image) -> Image.Image:
"""在右上角添加 HOLO 品牌水印"""
draw = ImageDraw.Draw(img)
brand_color = (211, 47, 47) # #D32F2F
text = "HOLO"
try:
font = ImageFont.truetype("arial.ttf", 24)
except:
font = ImageFont.load_default()
bbox = draw.textbbox((0, 0), text, font=font)
tw, th = bbox[2] - bbox[0], bbox[3] - bbox[1]
padding = 8
x = img.width - tw - padding * 2 - 15
y = 15
overlay = Image.new('RGBA', img.size, (0, 0, 0, 0))
overlay_draw = ImageDraw.Draw(overlay)
overlay_draw.rounded_rectangle(
[x - padding, y - padding, x + tw + padding, y + th + padding],
radius=4,
fill=(211, 47, 47, 200)
)
overlay_draw.text((x, y), text, fill=(255, 255, 255, 255), font=font)
img = img.convert('RGBA')
return Image.alpha_composite(img, overlay).convert('RGB')
def resize_for_platform(img: Image.Image, target_max: int = 1200) -> Image.Image:
"""等比缩放,保持宽高比"""
w, h = img.size
if max(w, h) <= target_max:
return img
ratio = target_max / max(w, h)
return img.resize((int(w * ratio), int(h * ratio)), Image.LANCZOS)
def to_base64(img: Image.Image, format: str = 'JPEG', quality: int = 85) -> str:
"""将图片转为 base64 字符串(用于 HTML 内嵌)"""
import io
buffer = io.BytesIO()
img.save(buffer, format=format, quality=quality)
return base64.b64encode(buffer.getvalue()).decode('ascii')
media.detect_white_background(path) 返回结构化判断:
verdict: "clean_white" | "not_white" | "mixed" | "edge_noise"
corner_score: 0.0-1.0 (四角白度置信分)
recommendation: "skip_remove" | "force_remove" | "inspect"
检测逻辑: 四角 5% 区域均值 > 230 且方差 < 10 = 白底。
| 工具 | 版本要求 | 用途 | 优先级 |
|---|---|---|---|
| Python PIL/Pillow | ≥ 9.0 | 裁剪/调色/旋转/水印/resize/去背景 | 主力 |
| numpy | ≥ 1.21 | 颜色计算和图像分析 | 必需 |
| cli-anything-gimp | installed | gimp_backend.remove_background_and_export() + media.detect_white_background() | 必需 |
⚠️ 产品图片优先使用 NAS 共享盘真实资料。也支持业务员通过对话直接上传。
NAS 共享盘 (192.168.0.98):
Y:\基础资料\ ← 业务员上传的原始图
Y:\1.HOLO机器目录(最终资料存放)\
├── 1.风冷皮带接头机\ ← 产品图来源
├── 2.水冷式接头机\
├── 3.易洁带碰接机\
├── 4.输送带分层机\
├── 5.打齿机\
├── 7.裁切 切割、环切、分条机\
└── 8.焊接 导条机\
禁止行为:
| 技能 | 关系 | 说明 |
|---|---|---|
| holo-social-gen | 下游 | image 处理好的干净素材 → gen 做 AI 设计 |
| holo-social-infographic | 下游 | image 处理好的配图 → infographic 做参数表/对比图 |
| cli-anything-hub | 底层依赖 | 提供 GIMP CLI 工具发现和环境检查 |
| honglong-products | 数据源 | 提供产品型号列表和 BOM 信息 |
| nas-file-reader | 数据源 | 读取 NAS 共享盘上的产品原图 |
#D32F2F(HOLO Red)— 唯一正确值