Stella Selfie

Polar Sponsor
爱发电 赞助
.NET 9.0

生成人物一致的自拍照图像并发送到任意OpenClaw频道。支持Gemini、fal和laozhang.ai提供商,多参考头像融合。

Stella Selfie.

功能概述

Stella Selfie.是一项面向实际任务的技能,主要用于Generate persona- consistent selfie 图像使用 Google 双子座或飞鹰(xAI Grok Imagine),并通过 OpenClaw 发送到消息频道. 支持多参考的avatar 混合.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
  • 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

使用与执行

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Stella Selfie

使用 Google Gemini 或 fal(xAI Grok Imagine)生成符合角色设定的自拍照,并通过 OpenClaw 发送至消息通道。支持多参考图像融合,以保障角色形象的高度一致性。

适用场景

  • 用户说“发张照片”、“发我一张照片”、“发张自拍”、“send a pic”、“send me a photo”、“send a selfie”
  • 用户说“展示一下你长什么样……”、“发一张你的照片……”、“展示你在……”
  • 用户描述具体场景:“穿着……发张图”、“在……发张照片”、“send a pic wearing...”、“send a pic at...”
  • 用户希望 Agent 以特定服饰、地点或情境出镜

提示词模式

模式 1:镜面自拍(默认)

最适合:服饰展示、全身照、时尚类内容

这张人物的镜面自拍,[用户上下文],呈现完整身体反射。

模式 2:直面自拍

最适合:特写人像、场景实拍、情绪表达

这张人物的自拍,[用户上下文],直视镜头。

模式 3:第三人称照片

最适合:非自拍视角,包括明确要求第三人称的请求,以及不应被识别为自拍的场景

这张人物的自然第三人称照片,[用户上下文],构图自然,非自拍。

模式选择逻辑

信号 自动选择模式
强用户关键词:outfit、wearing、clothes、dress、suit、fashion mirror
强用户关键词:full-body、mirror、reflection、pose、show the look mirror
强用户关键词:selfie、close-up、portrait、face、eyes、smile、looking into the lens direct
强用户关键词:third-person、not a selfie、candid shot、他拍、路拍、抓拍 third_person
历史关键词:travel photo、tourist photo、旅拍、打卡照、风景合影 third_person

默认策略:

  • 优先解析用户显式需求:相机风格、服饰强调、身体构图、场景、姿势及表情。
  • 对于涉及服饰/全身/自我呈现的请求,默认使用 mirror 模式,即使用户未明确提及“镜子”。
  • 对于聚焦于面部、情绪、即时感或临场感的自拍请求,默认使用 direct 模式。
  • 仅当用户明确要求非自拍风格,或清晰描述了一个不应被识别为自拍的画面时,才使用 third_person 模式。

无匹配关键词且时间线不可用时的默认模式:mirror

分辨率关键词

用户表述 分辨率
(默认) 1K
2k、2048、medium res、中等分辨率 2K
4k、high res、ultra、超清、高分辨率 4K

分步操作指南

步骤 1:收集用户输入

从用户消息中提取以下信息:

  • 显式上下文(可选):场景、服饰、地点、活动——通过关键词识别
  • 模式(可选):mirror、direct 或 third_person——若未明确指定,则根据用户意图自动识别
  • 目标通道:发送位置(例如 #general、@username、频道 ID)
  • 通道提供方(可选):平台类型(discord、telegram、whatsapp、slack)
  • 分辨率(可选):1K / 2K / 4K — 默认为 1K
  • 数量(可选):生成图片张数 — 默认为 1;仅当用户明确要求时才增加
  • 是否含显式场景?:请求中是否包含任何具体场景/服饰/地点/活动关键词?

步骤 2:结合时间线上下文或近期场景记忆增强

timeline_resolve 是一项可选增强能力,非必需前提。

  • 若当前环境不支持 timeline_resolve,跳过本步骤,直接采用 Stella 默认行为。
  • 若请求为当前状态的 Sparse 提示(例如“发张自拍”、“发张照片”、“想看看你”、“send a selfie”、“send a photo”、“show me what you look like”),且 timeline_resolve 可用,则加载并遵循 references/timeline-integration.md 中的规则。
  • 若当前请求明显回溯至当前对话中最近已解析的一个时间线场景,即使该照片请求本身并非 Sparse,也应加载并遵循 references/timeline-integration.md。
  • 若用户已提供清晰独立的场景、服饰、地点、活动或相机要求,且该请求并非对近期已解析时间线场景的回调,则不启用时间线增强,直接遵循默认策略。
  • 调用 timeline_resolve 时,不得自由将请求重写为输出槽位问题;须严格遵守 references/timeline-integration.md 中定义的固定查询规则。
  • 仅当提示词能明确包含一个具体的 city 及来自时间线数据的确切本地日期/时间锚点时,才启用 Nano Banana 真实世界锚定能力。若缺少上述锚点,不得声称具备真实世界同步能力。
  • 若时间线返回 fact.status === "empty"、缺失 result.consumption,或发生任何错误,则立即回退至步骤 3,且不向用户提及时间线失败。

切勿因时间线不可用而阻塞图像生成。 时间线增强为尽力而为机制,仅适用于当前状态的 Sparse 提示或对近期已解析时间线场景的显式回调。

步骤 3:组装提示词

首先依据默认策略选定模式。

若请求为 Sparse,且已加载 references/timeline-integration.md 并获得可用的时间线上下文,则应用其专用于 Sparse 的合并与提示词规则。

当该时间线增强包含户外真实世界锚定时,需将锚定子句作为一条独立的强指令句保留,而非软性氛围描述(如 Make it feel like...)。

否则,直接使用用户的显式上下文,并保持 Stella 原有 fallback 行为:

[mirror]  这张人物的镜面自拍,[用户显式上下文(如有)],呈现完整身体反射。
[direct]  这张人物的自拍,[用户显式上下文(如有)],直视镜头。
[third_person] 这张人物的自然第三人称照片,[用户显式上下文(如有)],构图自然,非自拍。

步骤 4:生成图像

运行 Stella 脚本:

node {baseDir}/dist/scripts/skill.js 
  --prompt "" 
  --target "" 
  --channel "" 
  --caption "" 
  --resolution "<1K|2K|4K>" 
  --count 

步骤 5:确认结果

脚本执行完成后,向用户确认:

  • 图像已成功生成
  • 图像已发送至目标通道
  • 若发生任何错误,发送简洁、可操作的失败提示

环境变量

Stella 支持多种图像生成提供方及网关驱动的发送路径,因此其敏感运行时环境变量在 metadata.openclaw.requires.env 中显式声明,供 OpenClaw 的环境变量注入白名单使用。该技能同时设置 metadata.openclaw.always: true,因此这些声明不会成为硬性加载时依赖。实际凭证校验仍由 skill.js 在运行时基于所选提供方动态执行。

变量 是否必需 说明
GEMINI_API_KEY 必需(当 Provider=gemini 时) Google Gemini API 密钥
FAL_KEY 必需(当 Provider=fal 时) fal.ai API 密钥
LAOZHANG_API_KEY 必需(当 Provider=laozhang 时) laozhang.ai API 密钥(sk-xxx);请访问 api.laozhang.ai 获取
Provider 可选 图像生成提供方:gemini、fal 或 laozhang
AvatarBlendEnabled 可选 启用或禁用多参考头像融合
AvatarMaxRefs 可选 最多融合的参考图像数量

凭证要求依提供方而异:

  • 默认 Provider=gemini:需配置 GEMINI_API_KEY
  • Provider=fal:需配置 FAL_KEY
  • Provider=laozhang:需配置 LAOZHANG_API_KEY

媒体文件处理(Gemini)

当 Provider=gemini 时,Stella 将生成的文件写入:

  • ~/.openclaw/workspace/stella-selfie/

发送成功后,Stella 立即删除本地文件;若发送失败,则保留文件用于调试。

技能环境配置项

在 OpenClaw 的 openclaw.json 文件中,于 skills.entries.stella-selfie.env 下配置:

配置项 默认值 说明
Provider gemini 图像生成提供方:gemini、fal 或 laozhang
AvatarBlendEnabled true 启用多参考头像融合
AvatarMaxRefs 3 最多融合的参考图像数量

关于 Provider=fal 用户的注意事项:fal 的图像编辑 API 仅接受 HTTP/HTTPS 图像 URL,不支持本地文件路径(来自 Avatar / AvatarsDir)。请在 IDENTITY.md 中配置 AvatarsURLs,填入参考图像的公开 URL,以启用 fal 的图像编辑功能。

关于 Provider=laozhang 用户的注意事项:laozhang.ai 使用 Google 原生 Gemini API 格式(gemini-3-pro-image-preview)。它需要来自 Avatar / AvatarsDir 的本地参考图像,不使用 AvatarsURLs。支持 1K/2K/4K 分辨率及 10 种宽高比。请访问 api.laozhang.ai 获取您的 API 密钥 —— 使用前请务必在 token 设置中配置计费方式。

交付路径

  • Stella 通过 openclaw message send 发送图像。
  • 交付鉴权与路由由本地 OpenClaw 安装完成,不由技能级网关令牌处理。

外部端点与数据流

端点 / 路径 使用时机 传输数据
Google Gemini API Provider=gemini 提示词文本及来自 Avatar / AvatarsDir 的选定本地参考图像
fal API Provider=fal 提示词文本及来自 AvatarsURLs 的公开参考图像 URL
laozhang.ai API(api.laozhang.ai) Provider=laozhang 提示词文本及本地参考图像(Avatar / AvatarsDir,以 base64 编码上传)
本地 OpenClaw CLI 始终用于交付 目标通道、目标 ID、标题文本及生成的媒体路径/URL

安全与隐私

  • Stella 读取 ~/.openclaw/workspace/IDENTITY.md 和本地头像文件,构建参考上下文。
  • 在 Provider=gemini 下,选定的本地头像图像会作为常规图像生成流程的一部分上传至 Gemini。
  • 在 Provider=fal 下,仅发送公开的 http/https 头像 URL;本地头像文件不会直接上传至 fal。
  • 在 Provider=laozhang 下,来自 Avatar / AvatarsDir 的本地头像文件经 base64 编码后上传至 laozhang.ai。
  • 生成的文件(Gemini 和 laozhang)均写入 ~/.openclaw/workspace/stella-selfie/,并在发送成功后立即删除。

用户配置

使用本技能前,您必须完成 OpenClaw 工作区配置。参见 templates/SOUL.fragment.md 获取推荐的能力片段,将其添加至您的 SOUL.md 文件中。

必需:IDENTITY.md

在 ~/.openclaw/workspace/IDENTITY.md 中添加以下字段:

Avatar: ./assets/avatar-main.png
AvatarsDir: ./avatars
AvatarsURLs: https://cdn.example.com/ref1.jpg, https://cdn.example.com/ref2.jpg
  • Avatar:主参考图像路径(相对于工作区根目录)
  • AvatarsDir:存放同一角色多张参考照片的目录(不同风格、场景、服饰)
  • AvatarsURLs:参考图像的公开 URL 列表(逗号分隔)—— Provider=fal 必需(fal 的 API 不支持本地文件)

必需:avatars/ 目录

将参考照片存放在 ~/.openclaw/workspace/avatars/ 目录中:

  • 支持 jpg、jpeg、png 或 webp 格式
  • 所有照片应为同一角色
  • 不同风格、场景、服饰和表情效果更佳
  • 图像按创建时间选取(最新者优先)

必需:SOUL.md

将 Stella 能力块添加至 ~/.openclaw/workspace/SOUL.md。复制粘贴代码片段请参阅 README.md(“4. SOUL.md”章节)。

安装

clawhub install stella-selfie

安装完成后,请完成上述配置步骤,再使用本技能。

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习