计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
meitu-id-photo【效率与协作】用于基于用户原图制作规格化证件照、证件照换底色或单人写真套图。当用户要证件照、一寸照、二寸照、护照/签证照、白底/蓝底/红底证件版、写真照、三宫格写真、主题/场景写真时触发。不适用于多人合影、卡通化转绘、普通人像轻修。执行时会读取 Meitu 凭证、调用本地 `meitu` CLI,把人像照片、生成提示词与任务参数发送到 Meitu OpenAPI,并把结果写入本地输出目录。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
meitu CLI,把人像照片、生成提示词与任务参数发送到 Meitu OpenAPI,并把结果写入本地输出目录。"
version: "1.2.0"
metadata: {"openclaw":{"requires":{"bins":["meitu"],"env":["MEITU_OPENAPI_ACCESS_KEY","MEITU_OPENAPI_SECRET_KEY","MEITU_OPENAPI_TOOL_TASK_MODE"],"paths":{"read":["本 skill 采用“证件照与写真套图”决策方式,但执行统一收敛到现有公开模板工具集:
image-editimage-editimage-portrait-generate核心原则只有两条:证件照求“规格准确、身份不漂移、不过度美化”,写真求“像本人、风格明确、摄影质感成立”。
执行前应让用户清楚知道:本 Skill 会读取 Meitu 凭证、调用本地 meitu CLI、将人像照片、生成提示词和任务参数发送到 Meitu OpenAPI,并把生成结果写入 ./output/ 或 $VISUAL/output/meitu-id-photo/。证件照场景只收集当前任务必需的信息,非必要不持久化姓名、性别或其他身份字段。
npm install -g meitu-cli@latest
MEITU_OPENAPI_ACCESS_KEY / MEITU_OPENAPI_SECRET_KEY~/.meitu/credentials.jsonmeitu config set-ak --value "..." + meitu config set-sk --value "..."(会写入本地文件)meitu auth verify --jsonMEITU_OPENAPI_TOOL_TASK_MODE=command路径别名: 下文中
$VISUAL={OPENCLAW_HOME}/workspace/visual/
Preflight -> Intent Routing -> Execute -> Refine -> Deliver -> [Record]
meitu --version -> 未安装则提示 npm install -g meitu-cli@latestmeitu auth verify --json -> 凭证无效则引导配置openclaw.yaml -> project mode; else -> one-off
检查 $VISUAL 目录 -> 确定 capabilities
can_record = cwd 有 openclaw.yaml AND $VISUAL 存在(两者缺一即 false)./output/ | else -> $VISUAL/output/meitu-id-photo/
mkdir -p {output_dir}硬约束:
{output_dir}禁止指向 skill 文件夹内部。output/ 永远在 skill 文件夹外部。 Execute 中所有--download-dir {output_dir}使用此处解析的路径。
先判断用户要的是哪一类任务,只走一条路径:
| 用户需求 | 工具路径 |
|---|---|
| 标准证件照(指定规格) | image-edit |
| 已有证件照 / 人像只换白底蓝底红底 | image-edit |
| 写真照 / 艺术照 / 主题场景写真 | image-portrait-generate |
| 三宫格写真(同一人多 pose,同主题同服装) | image-portrait-generate |
边界:
适用条件:用户明确要一寸、二寸、护照、签证、身份证、驾照、入学、结婚证、工牌等标准规格,或者明确说“做证件照”。
执行规则:
常用规格:
| 用途 | 尺寸 | 背景 |
|---|---|---|
| 中国普通一寸 | 25x35mm / 295x413px | 蓝 / 红 / 白 |
| 中国普通二寸 | 35x49mm / 413x579px | 蓝 / 红 / 白 |
| 中国护照 | 33x48mm / 390x567px | 白 |
| 美国签证 / 护照 | 51x51mm / 600x600px | 白 |
| 日本履历书 | 30x40mm | 白 |
| 工作证 / 学生证 | 22x32mm 或 25x35mm | 白 |
完整规格继续读取 references/spec-database.md。
命令:
meitu image-edit \
--skill_name skill_meitu-id-photo \
--image_list {user_photo_url} \
--prompt "{id_photo_prompt}" \
--model praline_pro \
--json \
--download-dir {output_dir}
{id_photo_prompt} 是运行时生成的提示词,不是固定常量。模板要点:
示例 prompt:
输出 {spec_name} 标准证件照,尺寸 {spec_size},{color_name} 纯色背景,人物正面平视居中,肩部以上或标准半身证件构图,严格保持原五官身份特征与脸型比例,不做美颜美型,不瘦脸,不放大眼睛,不改变鼻子和嘴型,仅做光线均匀化、背景纯色替换、服装整理为 {attire_desc},整体真实自然清晰。
服装选择:
| 场景 | attire |
|---|---|
| 默认 | 深色正装外套搭配白色有领衬衫 |
| 男士职业照 | 深蓝色西装外套搭配白色有领衬衫和深色领带 |
| 女士职业照 | 黑色职业西装外套搭配白色圆领衬衫 |
| 用户自定义 | 按用户描述填写 |
适用条件:用户已有一张基本合格的人像或证件照,只要求换成白底 / 蓝底 / 红底,不要求重新换装或大幅重构。
执行规则:
命令:
meitu image-edit \
--skill_name skill_meitu-id-photo \
--image_list {user_photo_url} \
--prompt "{bg_replace_prompt}" \
--model praline_pro \
--json \
--download-dir {output_dir}
{bg_replace_prompt} 是运行时生成的提示词。背景描述速查:
纯白色背景(#FFFFFF)均匀铺满纯蓝色背景(#438EDB)均匀铺满纯红色背景(#FF0000)均匀铺满示例 prompt:
将人物背景替换为 {color_name} 纯色证件照背景,背景均匀干净,无杂物无渐变,严格保持人物五官身份特征、发型、表情、服装和构图不变,不美颜不瘦脸不改五官,只做背景替换与轻微光线均匀化,输出自然真实。
适用条件:用户要写真照、形象照、艺术照、主题场景写真、三宫格写真,而不是标准证件规格。
执行规则:
命令:
meitu image-portrait-generate \
--skill_name skill_meitu-id-photo \
--image_list {user_photo_url} \
--prompt "{portrait_prompt}" \
--size 2K \
--json \
--download-dir {output_dir}
{portrait_prompt} 应根据用户主题动态生成:
soft studio portrait, natural skin texture, {theme}, {outfit}, {lighting}, keep facial identityretro yearbook portrait, soft window light, vintage knitwearvertical three-panel composition, same person, same outfit, three poses, consistent lighting只根据用户指出的问题做最小修改:
| 反馈 | 调整 |
|---|---|
| 背景色不对 | 改背景 prompt 重跑 |
| 规格不对 | 改 {spec_name} 和对应尺寸描述重跑 |
| 服装不对 | 改 attire_desc 重跑 |
| 不像本人 | 建议换更正面、更清晰的原图 |
| 人物位置偏 | 原路径重跑一次 |
| 写真风格不够明确 | 补充主题 / 光线 / 服装 / 场景后重跑 |
不要在工具成功后主动做二次分析或自动复跑。用户满意前,建议最多迭代 3 轮。
output_dir 已在 Preflight 解析完毕,文件已由 --download-dir 下载到 {output_dir}。最终步骤返回 JSON 中 downloaded_files[0].saved_path 即为本地文件路径。Deliver 只做重命名:
mv "{downloaded_files[0].saved_path}" "{output_dir}/{date}_{output_label}.{ext}"
{ext} 取自 downloaded_files[0].saved_path 的实际扩展名。
命名建议:
{YYYY-MM-DD}_{spec_name}_{color_name}.{ext}{YYYY-MM-DD}_id-photo-bg-{color_name}.{ext}{YYYY-MM-DD}_portrait-set.{ext}交付说明:
前提: can_record = cwd 有 openclaw.yaml AND $VISUAL 存在(两者缺一即 false)。不满足 -> 跳过全部记录,反馈仅当前对话有效。
No feedback -> 完全跳过,不读 observations.yaml,零开销。
User approved style ->
read $VISUAL/memory/observations/observations.yaml -> scan similar key -> merge or append -> write back. len(projects) >= 2 -> propose promotion (non-blocking):
"顺便说一下,你在 N 个项目中都偏好 X。要保存吗? -> 保存到场景 [默认] -> 保存到全局偏好 -> 不保存" User confirms -> write to
$VISUAL/memory/scenes/{scope}.md或global.md,then delete observation key User ignores -> do nothing
User rejected ("不要 XX") -> has openclaw.yaml -> ask scope -> project: DESIGN.md Constraints / universal: quality.yaml(需用户确认) no openclaw.yaml -> current task only, write nothing
本 skill 负责“证件照 / 证件底色替换 / 单人写真套图”三类任务,不做:
| 不做 | 说明 |
|---|---|
| 多人合影 / 多主体同框重制 | 非单人证件照 / 写真场景 |
| 卡通化 / 插画化 / 3D 头像 | 非摄影写实路径 |
| 普通人像轻修 / 局部磨皮 / 五官细修 | 非本 skill 主场景 |
| 海报设计 / 字体排版 | 非人像套图生成 |
判断准则:
image-edit)