关于 meitu-visual-me
meitu-visual-me 是一款基于记忆的 AI 视觉助手,可结合用户资料和日常记忆生成个性化图像与视频,并支持多种场景工作流。适合希望将个人偏好融入视觉创作的用户;首次使用会说明本地资料读取及发送至 Meitu OpenAPI 的内容。
主要功能
- 01结合资料与记忆生成视觉内容
- 02支持多种场景工作流
- 03提供风格化图像与视频创作
- 04根据反馈学习用户偏好
- 05可选读取本地视觉资料
适用场景
- 01根据个人状态生成场景图像
- 02为自拍更换背景或生成头像系列
- 03将服装参考图用于虚拟试穿
- 04把静态图像转换为短视频
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ meitu/ meitu-skills --skill meitu-visual-me安装后在 Claude Code 中输入/meitu-visual-me确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/channel-presets.mdfeedback-loop.mdfirst-time-guide.mdmemory-protocol.mdmodels.mdsetup.mdstyle-library.mdtroubleshooting.mdworkflows.md详细介绍
Meitu Visual Me
始终使用用户的语言回复。
数据免责声明:
- 本地读取: Meitu Visual Me 可能会读取
MEMORY.md、USER.md和./visual/PROFILE.md等本地文件,以生成个性化内容。这些文件仍保存在本地,但其中的摘录、摘要或衍生信息可能会被纳入生成的提示词。- 上传至 meitu API: 您提供的图片(照片、参考图片)、生成的提示词,以及这些提示词中包含的任何本地个人资料、记忆或项目详情,都会发送至 Meitu OpenAPI 进行处理,且受 Meitu 隐私政策约束。
- 首次使用授权: 首次使用时,此 Skill 会说明上述数据使用情况,包括本地个人资料、记忆或项目上下文可能被纳入提示词。您可以选择不提供照片,或不使用记忆/个人资料上下文。
概述
由记忆驱动的 AI 视觉助手。读取用户个人资料和日常记忆,生成个性化图片和视频。支持 17 种场景工作流和 28 种热门风格。先体验,再反馈,系统会自动学习您的偏好。
仅在用户明确要求使用这类个性化视觉工作流时执行;不要把泛化的“任何视觉内容创作需求”都路由到本 Skill。首次使用或涉及 profile/memory 内容时,应先说明哪些本地资料会被读取,以及哪些摘要可能进入发往 Meitu OpenAPI 的 prompt。
| 您说 | 功能 |
|---|---|
| “帮我画” | 根据您当前的状态自动选择场景并生成内容 |
| 发送一张自拍 + “换个赛博背景” | 更换背景,即时生成结果 |
| “头像系列” | 根据一张脸生成多种风格的头像 |
| “帮我做张 ID 卡” | 可选 4 种潮流风格,制作专属收藏卡 |
| “微缩场景” | 将您当前的状态变成玩具微缩世界 |
| “一键换风格” | 一张图片,多种风格变体 |
| “今日卡” | 结合城市 + 天气 + 心情,生成每日信息卡 |
| “帮我试穿这件” | 发送服装图片进行虚拟试穿 |
| “把这张图动起来” | 将图片变成短视频 |
| “合个影” | 与您和 OpenClaw 一起合影 |
依赖项
- 工具:meitu-cli (
npm install -g meitu-cli@latest) - 凭据:优先使用环境变量或预先配置的
~/.meitu/credentials.json;如果操作者明确需要持久化本地设置,请运行meitu config set-ak --value <AK>+meitu config set-sk --value <SK> - 用户知识(可选):
./visual/(如果不存在,则跳过知识读取,直到用户选择开始使用本地视觉工作区;之后参考照片和个人资料/记忆文件将存储在./visual/下) - 项目文件:
./(cwd,包含openclaw.yaml、DESIGN.md等) - 平台上下文(可选):
USER.md、MEMORY.md、memory/今日.md、SOUL.md、IDENTITY.md(由平台注入;如果不存在则跳过) - 用户配置(可选):
$VISUAL/config/defaults.yaml
路径别名: 下文中的
$VISUAL={OPENCLAW_HOME}/workspace/visual/。当./visual/存在时,它指向该目录;在 OpenClaw 平台上会自动解析为~/.openclaw/workspace/visual/。
平台设置
OpenClaw: 用户数据位于 ~/.openclaw/workspace/visual/。平台会自动注入这些数据;运行时,./visual/ 会解析为该路径。
Claude Code / 其他 Agent: 用户数据位于当前工作目录下的 ./visual/。只有当用户继续使用基于个人资料的个性化功能,或需要长期本地记忆时,才创建或更新此本地工作区;否则跳过知识写入。
工作流中的所有
./visual/路径,都会在运行时由各平台解析为对应的实际路径。
预检
每次生成前都必须通过;如果未通过,停止生成:
-
meitu --version— 如果尚未安装,提示:npm install -g meitu-cli@latest -
验证凭据:
meitu auth verify --json— 如果凭据无效,将返回身份验证错误。有关凭据设置,请阅读 references/setup.md -
检查
./visual/目录是否存在(如果不存在,先提示首次使用的用户;不要阻止操作) -
用户是否发送了图片或视频?— 不支持视频;提示用户发送截图
-
一次性工作区解析(结果会在整个工作流中保留): 检测模式:cwd 下有
openclaw.yaml→ 项目模式;否则 → 单次模式 检查./visual/目录 → 确定 capabilities -
**最小化规则:**仅读取或持久化当前请求所需的个人资料、记忆或项目字段。除非用户明确希望获得此类个性化行为,否则不要创建或更新包含姓名、性别或身份详情的长期记忆/个人资料记录。
解析后可用的变量(在后续步骤中直接引用):
mode = "project" (cwd has openclaw.yaml) | "one-off" visual = ./visual/ path (value if exists, otherwise null) can_read_knowledge = visual exists can_record = mode == "project" AND visual exists output_dir = Resolve output_dir: openclaw.yaml → "./output/" | else → "$VISUAL/output/meitu-visual-me/"mkdir -p {output_dir}硬性限制:output_dir 不得指向技能文件夹内
核心工作流
Preflight → [Context] → Execute → [Refine] → Deliver → [Record]
↑ creative tasks run this ↑ creative ↑ project mode
↑ tool tasks skip ↑ tool skip ↑ one-off skip
上下文
第 1 部分:路由
先路由,后阅读——先匹配工作流,再决定要阅读哪些内容以及如何继续。
第一步:匹配工作流
将用户输入与下方“工作流”部分中的触发词进行比对,匹配特定工作流。阅读 references/workflows.md 了解场景详情。
如果没有匹配项,则分为以下三种情况:
- 描述明确(例如,“帮我画一只猫在月球上”)——无需匹配工作流;按照提示词构建规则确定风格,然后直接使用
text-to-image生成 - 只发送图片,没有文字——根据图片内容推荐 4 个合适的选项(例如,更换背景、风格混搭、制作身份证、图生视频),让用户选择
- 指示模糊(例如,“帮我画”“帮我生张图”)——推荐场景:
- 检查
./visual/memory/global.md中的偏好场景——如果找到,优先推荐这些场景 - 没有记忆——根据一天中的时段和上下文,从 17 个工作流中选出 4 个,让用户选择
- 检查
第二步:确定阅读级别和风格处理方式
| 工作流类型 | 阅读级别 | 风格处理方式 | 包含的工作流 |
|---|---|---|---|
| 场景生成 | 标准阅读 | 遵循风格规则(如果有记忆则使用;否则提供 4 个选项) | persona-diorama、daily-card、morning-grid、ootd、data-diorama、emotion-grid、relationship-board、memory-collage、real-toon |
| 引导式生成 | 标准阅读 | 工作流包含内置的风格选择步骤(例如,从 4 种身份证风格中选择 1 种) | id-card、style-remix、avatar-series |
| 更换背景 | 轻量阅读 | 无需选择风格(场景由用户描述) | swap-bg |
| 工具操作 | 不阅读 | 不涉及风格,直接执行 | beauty、virtual-tryon |
| 视频 | 轻量阅读 | 不涉及风格 | to-video、motion-transfer |
对于图像生成,请阅读 references/style-library.md,了解风格关键词和自动匹配规则。
第三步:确定 CLI 命令
每个工作流对应的 CLI 命令都列在“工作流”部分的表格中。有关命令参数的详细信息,请阅读 references/models.md。image-edit 需要选择子模型:praline_pro(通用编辑)/gummy_pro(人像/宠物摄影、发型调整);风格化默认使用 image-style-transfer,只有明确要求高质量编辑时才应使用 image-edit --model nougat。
路由决策输出(从上下文传递至执行):
{
"workflow": "persona-diorama",
"command": "text-to-image",
"read_level": "standard",
"has_reference_image": true,
"style": "微缩世界",
"style_resolved": true
}
第 2 部分:加载上下文
读取级别由上方的路由表决定。零读取和轻量读取工作流无需执行此步骤。
标准读取清单(优先级从高到低):
./DESIGN.md— 项目上下文(如果存在,优先读取;仅补充其中未涵盖的内容)./openclaw.yaml— 解析短名称引用(例如,brand: "acme"→./visual/assets/brands/acme/)./visual/rules/quality.yaml— 禁止使用的风格./visual/PROFILE.md— 视觉形象./visual/memory/global.md(前 30 行)— 偏好- 平台上下文(有则读取,无则跳过):
USER.md、MEMORY.md、memory/今日.md、SOUL.md、Weather API
利用找到的任何信息;绝不捏造用户经历。
第 3 部分:构建提示词
公式:[构图/镜头角度] + [主体] + [动作/表情] + [场景/背景] + [风格参考] + [光线] + [用户专属细节]
硬性规则:
-
纯叙述风格;禁止堆砌关键词
- ❌
woman, dress, red background, fashion, 8K, masterpiece - ✅
A young woman in a tailored brown dress, posing with confidence against a cherry red backdrop, fashion editorial feel with warm film grain
- ❌
-
提供参考图时,必须在提示词中明确说明其用途(保留面部相似度/参考构图/参考风格);不能只附上图片而不作说明
-
将风格关键词融入叙述——挑选 1-2 个并自然地融入句子;禁止在末尾堆砌
-
有用户上下文时,优先融入个人细节;没有时,直接根据用户描述生成,不要因此中断。
-
每张生成的图片都必须有明确的风格方向。 风格确定优先级:
- 用户本次指定了风格 → 直接采用
- 用户未指定,但
./visual/memory/global.md记录了偏好的风格 → 直接采用记忆中的风格,不要再次询问 - 用户未指定,且没有记忆 → 根据当天状态和场景,从 references/style-library.md 的风格匹配指南中挑选 4 种合适的风格,让用户在生成前选择
绝不生成没有风格方向的“通用”图片。如果用户持续选择同一种风格,就在 Record 阶段通过观察流程记住它,并在下次直接采用。
示例 1(persona-diorama — 根据 memory/今日.md,用户今天完成了一项重要交付):
木桌上摆着一间等距视角的微缩工作室。一个小人被[从记忆中提取的物品]环绕。桌角的礼花炮正喷射出彩纸。温暖的午后阳光透过窗户洒入,整个场景像一间精心制作的玩具店微缩模型。
示例 2(swap-bg — 用户发送了一张自拍,并说“换成东京街头”):
保持人物完全不变,只将背景换成充满活力的东京街景,有霓虹招牌、繁忙的斑马线,以及沿街两侧店面散发的温暖灯光;营造夜晚氛围,并带有柔和的城市灯光
示例 3(ID card — 使用参考图,用户选择了 Cyber Neon 风格):
面部相似度是首要任务。保留准确的面部结构。一位留着黑色短发、戴黑框眼镜、穿着宽松连帽衫的年轻男子。轻度采用 3D 收藏手办渲染风格——保持接近真实的比例。生成一张 Cyber Neon 风格的竖版 ID CARD:拉丝碳纤维底板、霓虹青色与洋红色发光边框、等宽终端字体。信息区:“小明”/“独立开发者”/“杭州”——EST. 2000。侧边条:“卫衣收集者”。略微倾斜,呈现影棚布光的产品照片质感。
执行
CLI 命令决策表:
| 任务类型 | 命令 | 关键参数 | 备注 |
|---|---|---|---|
| 文生图 | meitu text-to-image | --prompt --size --ratio | 无参考图 |
| 使用参考图生成 | meitu text-to-image | --image_list --prompt --size | 风格化/合照 |
| 替换背景/编辑内容 | meitu image-edit | --image_list --prompt --model | 参见模型选择表 |
| 换脸 | meitu image-face-swap | --head_image_url --sence_image_url --prompt | 头像系列 |
| 美颜增强 | meitu image-edit --model gummy_pro | --image_list --prompt --model gummy_pro | 单人肖像精修 |
| 图生视频 | meitu image-to-video | --image_list --prompt --video_duration | 异步任务 |
| 动作迁移 | meitu video-motion-transfer | --image_list --reference_video_list --prompt | 异步任务 |
| 虚拟试穿 | meitu image-outfit-swap | --image_url --prompt [--clothes_image_url] |
image-edit 模型选择:
| 优先级 | 模型 | 适用场景 | 输出风格 |
|---|---|---|---|
| 1 | text-to-image --image_list | 风格化:卡通、3D 手办、动漫、素描、艺术再创作 | 艺术风格(非写实人脸) |
| 2 | gummy_pro | 肖像/宠物摄影、调整发型 | 写实肖像 |
| 3 | praline_pro (default) | 其他所有场景:文本修改、替换背景、调色、添加/移除元素、多图融合 | 通用编辑 |
快速规则:“变画风”(风格变化,输出看起来不像真人)→
text-to-image --image_list;“拍写真/换发型”(肖像照)→gummy_pro;“改内容”(修改内容)→praline_pro
参考图路由:
| 意图模式 | 参考图处理方式 | 命令 |
|---|---|---|
| 风格化(照片 → 手办/动漫等) | 通过 --image_list 传入,提示词描述目标风格 | text-to-image --image_list |
| 替换背景 | 通过 --image_list 传入,提示词明确说明“保持人物不变” | image-edit --model praline_pro |
| 合照(多张参考图) | 通过 --image_list 传入多张图片,提示词描述合照场景 | text-to-image --image_list img1 img2 |
| 仅分析参考图(不传给工具) | 将构图/风格信息提取到提示词中 | text-to-image(纯文生图) |
| 换脸 | 分别通过 --head_image_url 和 --sence_image_url 传入 | image-face-swap |
输出目录: 使用 Preflight 中解析出的 output_dir。确保目录存在(mkdir -p)。在所有 meitu 命令中添加 --json --download-dir {output_dir}。
结果字段引用:
- 使用
--download-dir→ 使用downloaded_files[0].saved_path获取本地路径(也可使用media_urls,但本地路径更可靠) - 不使用
--download-dir→ 使用media_urls[0]获取结果 URL - 错误响应 → 首先读取 CLI 原始字段
code、hint、error_name和action_url;向用户说明失败情况时,根据meitu-tools合约将其映射为 Agent 增强字段error_type、user_hint、next_action和action_link
图像输入: 通过 URL 或本地路径传入用户提供的图像。需要参考图时,检查 ./visual/assets/references/user.jpg。
命令示例:
# Text-to-image
meitu text-to-image --prompt "..." --size 2K --ratio 1:1 --json --download-dir {output_dir} --skill_name skill_meitu-visual-me
# Image editing
meitu image-edit --image_list <url> --prompt "..." --model praline_pro --json --download-dir {output_dir} --skill_name skill_meitu-visual-me
# Image-to-video (async)
meitu image-to-video --image_list <url> --prompt "..." --video_duration 5 --json --skill_name skill_meitu-visual-me
错误降级(按顺序尝试各级):
| 级别 | 操作 | 示例 |
|---|---|---|
| L1 | 移除低优先级修饰内容 | 删除光照/材质描述,保留主体 + 场景 + 风格 |
| L2 | 降级枚举参数 | --size 4K → --size 2K(text-to-image);--size 2K → --size 1K(image-poster-generate);--ratio 9:16 → --ratio 1:1 |
| L3 | 移除可选输入 | 移除参考图,改用纯文生图 |
| L4 | 精简至核心元素 | 仅保留主体 + 风格,移除其他所有内容 |
| L5 | 停止并报告错误 | 告知用户具体错误,建议检查凭据或联系支持团队 |
| 连续失败 2 次后升级一级。其他错误请参阅 references/troubleshooting.md。 |
优化(创意任务必须执行,工具任务跳过)
工具任务(beauty、virtual-tryon、image-superres-enhance)→ 跳过此步骤,直接进入交付。
创意任务的迭代优化循环:
- 展示结果 — 展示生成的图像,并简要说明设计思路(为何选择这种风格、构图和配色)
- 等待反馈 — 有三种可能的方向:
- 用户认可(“好” / “不错”)→ 进入交付
- 用户要求修改(“背景换一下” / “颜色太亮”)→ 第 3 步
- 用户完全否定(“完全不对” / “重新来”)→ 返回执行并重新生成
- 调整并重新生成 — 根据反馈修改提示词或参数 → 重新运行 CLI 命令 → 返回第 1 步
- 迭代上限 — 建议最多进行 3 轮。超过 3 轮后,主动建议调整需求方向、拆分子任务或尝试不同的工作流
注意: 不要连续生成多张图像而不展示结果。每次生成后都要等待用户反馈。
交付
文件已位于正确目录中(执行阶段使用预检的 output_dir);只需重命名:
文件重命名:
mv {downloaded} {output_dir}/{YYYY-MM-DD}_{description}.{ext}
路径显示规则: 向用户展示文件路径时,优先使用 ~/.openclaw/... 格式。某些聊天平台(例如,企业微信 MEDIA)只能识别以 ~/ 为前缀的路径;绝对路径会导致图像/文件无法显示。内部处理可以使用绝对路径。
企业微信交付: 对于企业微信渠道(channel=openclaw-weixin),使用 MEDIA:visual/output/meitu-visual-me/{filename}.jpg(相对路径)。
交付后: 交付后,等待用户反馈再进行下一次生成。如果用户提供风格/偏好反馈,则进入记录步骤。当用户说“适配各平台”时,读取 references/channel-presets.md。
DESIGN.md 维护: 如果 DESIGN.md 的 Iteration Log 条目超过 5 条,则进行精简:保留最近的 5 条,并将较早的条目归档到 ./drafts/design-history.md。
记录
can_record = false → 跳过整个部分。 在一次性模式下,所有反馈仅对当前对话有效。
默认零写入 — 生成后不写入任何内容;仅在用户主动提供反馈时才写入:
| 用户说 | 操作 |
|---|---|
| “好” / “喜欢这个风格” | 将观察结果追加到 ./visual/memory/observations/observations.yaml(自动写入,无需用户确认)。如果该观察结果的 projects >= 2,在回复末尾非阻塞地提及:“顺便说一下,你在 N 个项目中都偏好 X。要将它保存为通用偏好吗?”用户确认 → 写入 memory/global.md 或 memory/scenes/{scene}.md,删除该观察结果;用户忽略 → 不做任何操作 |
| “不要 XX 风格” | 有 openclaw.yaml → 询问:“只在这个项目中跳过 XX,还是今后所有项目都不使用 XX?”仅限当前项目 → 追加到 ./DESIGN.md 的 Constraints;今后所有项目 → 追加到 ./visual/rules/quality.yaml(需要用户确认)。没有 openclaw.yaml → 仅适用于当前任务,不写入 |
| “我是男的”(身份事实) | 写入 ./visual/PROFILE.md |
| 发送新的参考照片 | 保存为 ./visual/assets/references/user.jpg |
| “换个背景重生” | 重新运行当前任务,不写入 |
如果用户没有说任何内容,不写入任何内容,也不读取 observations.yaml(零开销)。
一次性模式例外: 当用户在一次性模式下反复表达相同偏好时(例如,多次说“不要渐变”),Agent 可以主动提议:
“你已经几次提到不要渐变了。要将它添加到全局禁用列表吗?” → 用户同意 → 写入
$VISUAL/rules/quality.yaml(需要确认) → 用户不同意 → 仅对当前对话有效
正向反馈记录路径:
- 读取
$VISUAL/memory/observations/observations.yaml(如果不存在则创建) - 扫描语义相似的键 → 合并或创建新键
- 写回文件
- 如果
len(projects) >= 2→ 提议提升为长期偏好(非阻塞)
提升提议模板:
“你在 N 个项目中都偏好 X。要保存它吗? → 保存到 {scope_hint} 场景 [默认] → 保存到全局偏好 → 不保存”
如果 scope_hint 不为 null → 默认保存到 scenes/{scope_hint}.md;如果为 null → 默认保存到 global.md。
用户确认 → 写入目标文件 + 删除观察条目。用户忽略 → 不做任何操作。
处理反馈时,读取 references/feedback-loop.md 了解写入格式详情;读取 references/memory-protocol.md 了解观察结果的生命周期和分类
首次使用指南
如果 ./visual/ 目录不存在,表示这是新用户。读取 references/first-time-guide.md 执行入门流程。
工作流(17)
所有工作流的详情,请读取 references/workflows.md
生成
| 触发词 | 工作流 | 命令 |
|---|---|---|
| 微缩场景、个人场景 | persona-diorama | text-to-image |
| 今日卡、城市打卡 | daily-card | text-to-image |
| 早安、晨间四宫格 | morning-grid | text-to-image |
| OOTD、今天穿什么 | ootd | text-to-image |
| 数据场景、今日数据 | data-diorama | text-to-image |
| 九宫格、情绪九宫格 | emotion-grid | text-to-image |
| 关系板、关系拼贴 | relationship-board | text-to-image |
| 记忆拼贴 | memory-collage | text-to-image |
| 合影、合个影 | real-toon | text-to-image |
| ID 卡、收藏卡 | id-card | text-to-image |
| 一键换风格、换风格、风格万花筒 | style-remix | text-to-image --image_list(风格化) / image-edit --model praline_pro(保留结构编辑) |
编辑
| 触发词 | 工作流 | 命令 |
|---|---|---|
| 换背景(替换背景)、改背景(更改背景) | swap-bg | image-edit --model praline_pro |
| 头像系列、换头像(更换头像) | avatar-series | text-to-image → image-face-swap |
| 美颜、磨皮(平滑肌肤) | beauty | image-edit --model gummy_pro |
视频与试穿
| 触发词 | 工作流 | 命令 |
|---|---|---|
| 动起来(让画面动起来)、图生视频(图片转视频) | to-video | image-to-video |
| 做这个动作 | motion-transfer | video-motion-transfer |
| 试穿、试衣(试穿衣服) | virtual-tryon | image-outfit-swap |
参考资料
| 文件 | 阅读时机 |
|---|---|
| references/workflows.md | 执行特定场景工作流时 |
| references/models.md | 需要详细命令参数时 |
| references/style-library.md | 生成图像时(用户指定风格或需要自动匹配时) |
| references/channel-presets.md | 需要适配多个平台时 |
| references/feedback-loop.md | 处理用户反馈写入格式时 |
| references/memory-protocol.md | 处理观察生命周期和偏好分类时 |
| references/troubleshooting.md | 遇到错误时 |
| references/setup.md | 首次配置时 |
| references/first-time-guide.md | ./visual/ 不存在时(新用户引导) |