Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

openclaw-selfieOpenClaw selfie 搜索

Agent Skill

openclaw-selfie 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,120

周安装

134

GitHub Stars

公开资料未说明

下载量

1,093
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:openclaw-selfie(OpenClaw selfie 搜索)
来源仓库:https://github.com/zhouyi531/openclaw-selfie
安装命令:
openclaw skills install openclaw-selfie
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install openclaw-selfie

简介

通过 tuqu.ai API 为 OpenClaw 角色生成身份一致的 SFW 图像。

  • 适用于创建人物肖像、合影等视觉素材的自动化需求。
  • 支持关键词控制与风格调整,输出符合设定的人物形象。
  • 需配置有效的 API 密钥并遵守服务条款,注意图像用途合规性。
  • 生成结果仅供创意参考,涉及真实人物时应取得相应授权。

SKILL.md

name
openclaw-selfie
description
>-
metadata
>-

OpenClaw Selfie — Identity-Consistent Photo Generation for OpenClaw Characters

What This Skill Does

Generate photos where your OpenClaw character looks the same every time — selfies, group shots, portraits, stylized scenes, and more — all through tuqu.ai's image generation API. The skill handles character identity preservation, prompt enhancement, preset application, balance management, and billing.

Installation

Install via ClawHub

clawhub install openclaw-selfie

Or with the native OpenClaw command:

openclaw skills install openclaw-selfie

Prerequisites

  • Python 3.8+ must be available on your system (python3 in PATH).
  • A tuqu.ai service key for each OpenClaw role that needs to generate images. Each role can have

its own key — the skill passes it explicitly per request via --service-key.

Post-Install Verification

After installation, verify the skill is working:

# Check that the helper script runs
python3 scripts/tuqu_request.py GET /api/catalog --query type=all

# Check available models and pricing
python3 scripts/tuqu_request.py GET /api/pricing-config

If both commands return JSON, the skill is ready. Authenticated calls (generation, balance, etc.) also require --service-key <your-role-service-key>.

Optional Environment Overrides

Only set these when you need to point at a non-default host:

  • TUQU_BASE_URL — defaults to https://photo.tuqu.ai
  • TUQU_BILLING_BASE_URL — defaults to https://billing.tuqu.ai/dream-weaver

How It Works

All API calls go through scripts/tuqu_request.py. The helper auto-selects the correct host and auth mode for each endpoint, keeps credentials explicit via --service-key, and prints formatted JSON for direct inspection.

Detailed API semantics are in TUQU_API.md. Exact request/response fields are in references/endpoints.md and task sequences in references/workflows.md.

Important: Credential Handling

Authenticated calls must pass --service-key <role-service-key> explicitly on every request. Do not rely on a shared credential environment variable — different OpenClaw roles can carry different keys.

Use These Command Patterns

List or query data:

python3 scripts/tuqu_request.py GET /api/catalog --query type=all
python3 scripts/tuqu_request.py GET /api/model-costs
python3 scripts/tuqu_request.py GET /api/pricing-config

Send a small JSON body inline:

python3 scripts/tuqu_request.py POST /api/enhance-prompt \
  --json '{"category":"portrait","prompt":"soft editorial portrait with window light"}'

Send a larger payload from disk:

python3 scripts/tuqu_request.py POST /api/v2/generate-image \
  --service-key <role-service-key> \
  --body-file payloads/generate-image.json

Override helper defaults only with a documented reason:

python3 scripts/tuqu_request.py POST /api/custom-path \
  --base-url https://photo.tuqu.ai \
  --auth-mode user-key \
  --service-key <role-service-key> \
  --json '{"prompt":"example"}'

Run Supported Tasks Through the Helper

Classify the Request First

Before picking an endpoint, classify the user request into one of these buckets:

  1. Current-role selfie or portrait request:

自拍, 照片, 写真, 发张图, or similar wording that implies the current role should be in frame

  1. Character-on-camera request:

the user explicitly wants the current role or a saved character to appear in the image

  1. Freestyle or edit-only request:

landscape, objects, scenery, atmosphere shots, or pure image editing without the current role

If the request is ambiguous, decide whether the current role needs to appear in the final image.

Decide Whether the Current Role Must Appear

  • Treat 自拍 as current-role-on-camera by default.
  • 自拍 means the current role appears in the image. It does not mean a phone must be visible.
  • If the user asks for the role to be shown, keep identity-preserving generation.
  • If the request is for scenery, objects, mood boards, or edit-only transforms, do not force the

current role into the frame.

  • Do not ask the user for their own face photo unless they explicitly ask to put themselves in the

image.

Route by Subject Type

Use identity-preserving routing when the current role must appear:

  • Selfie / portrait / role-on-camera requests -> POST /api/v2/generate-for-character
  • Freestyle / landscape / object / edit-only requests -> POST /api/v2/generate-image

Keep all supported calls on scripts/tuqu_request.py.

Run Character Prechecks Before Identity-Preserving Generation

When the current role must appear in the frame, enforce this order:

  1. Check whether the current role already has a Tuqu character.
  2. If not, create the character first through /api/characters.
  3. Check balance through /api/billing/balance.
  4. Only then call /api/v2/generate-for-character.

Helper sequence:

python3 scripts/tuqu_request.py GET /api/characters --service-key <role-service-key>
python3 scripts/tuqu_request.py POST /api/characters \
  --service-key <role-service-key> \
  --body-file payloads/create-character.json
python3 scripts/tuqu_request.py POST /api/billing/balance --service-key <role-service-key>
python3 scripts/tuqu_request.py POST /api/v2/generate-for-character \
  --service-key <role-service-key> \
  --body-file payloads/generate-for-character.json

Use the create-character step only when the current role does not already have a usable Tuqu character.

Apply Default Selfie Behavior

  • For a normal selfie, default to a front-camera composition with the current role in frame.
  • Do not show the phone by default.
  • Show the phone only when the user explicitly asks for a mirror selfie, visible phone, or similar

framing.

  • If the user only says 自拍 or 发张图, assume the goal is a natural current-role portrait rather

than a literal handheld-phone shot.

Discover presets, models, and pricing

python3 scripts/tuqu_request.py GET /api/catalog --query type=all
python3 scripts/tuqu_request.py GET /api/model-costs
python3 scripts/tuqu_request.py GET /api/pricing-config

Use /api/pricing-config before accepting a user-supplied model name. Match the requested model to a real models[].id, then use that modelId in later generation payloads.

Improve a prompt

python3 scripts/tuqu_request.py POST /api/enhance-prompt \
  --json '{"category":"portrait","prompt":"soft editorial portrait with window light"}'

Generate from prompt or reference images

python3 scripts/tuqu_request.py POST /api/v2/generate-image \
  --service-key <role-service-key> \
  --body-file payloads/generate-image.json

Example payloads/generate-image.json:

{
  "prompt": "cinematic portrait in warm sunset light",
  "referenceImageUrls": ["https://example.com/reference.jpg"],
  "resolution": "2K",
  "ratio": "Original",
  "modelId": "seedream45"
}

Apply a preset

python3 scripts/tuqu_request.py GET /api/catalog --query type=all
python3 scripts/tuqu_request.py POST /api/v2/apply-preset \
  --service-key <role-service-key> \
  --body-file payloads/apply-preset.json

Manage characters

python3 scripts/tuqu_request.py GET /api/characters --service-key <role-service-key>
python3 scripts/tuqu_request.py POST /api/characters \
  --service-key <role-service-key> \
  --body-file payloads/create-character.json
python3 scripts/tuqu_request.py PUT /api/characters/<character-id> \
  --service-key <role-service-key> \
  --body-file payloads/update-character.json
python3 scripts/tuqu_request.py DELETE /api/characters/<character-id> \
  --service-key <role-service-key>

Generate with saved characters

python3 scripts/tuqu_request.py GET /api/characters --service-key <role-service-key>
python3 scripts/tuqu_request.py POST /api/billing/balance --service-key <role-service-key>
python3 scripts/tuqu_request.py POST /api/v2/generate-for-character \
  --service-key <role-service-key> \
  --body-file payloads/generate-for-character.json

Optionally refine the scene prompt first with /api/enhance-prompt. When the request is a selfie or other current-role portrait, make sure the character check and balance check happen before the generation call.

Inspect history and balance

python3 scripts/tuqu_request.py GET /api/history --service-key <role-service-key>
python3 scripts/tuqu_request.py POST /api/history \
  --service-key <role-service-key> \
  --body-file payloads/history-item.json
python3 scripts/tuqu_request.py DELETE /api/history/<history-id> --service-key <role-service-key>
python3 scripts/tuqu_request.py POST /api/billing/balance --service-key <role-service-key>

Start a recharge flow

python3 scripts/tuqu_request.py GET /api/v1/recharge/plans --service-key <role-service-key>
python3 scripts/tuqu_request.py POST /api/v1/recharge/wechat \
  --service-key <role-service-key> \
  --json '{"planId":"698b7fead4c733c85f2a9c74"}'
python3 scripts/tuqu_request.py POST /api/v1/recharge/stripe \
  --service-key <role-service-key> \
  --json '{"planId":"698b7fead4c733c85f2a9c74","successUrl":"https://your-app.com/payment/success","cancelUrl":"https://your-app.com/payment/cancel"}'

Operating Rules

  • Use scripts/tuqu_request.py instead of ad-hoc curl for supported endpoints.
  • Classify the request before routing it: current-role selfie/portrait, role-on-camera, or

freestyle/edit-only.

  • Route identity-preserving requests to /api/v2/generate-for-character.
  • Route freestyle or edit-only requests to /api/v2/generate-image.
  • When the current role must appear, ensure a Tuqu character exists first, then check balance,

then generate.

  • Pass --service-key on every authenticated helper call.
  • Use --body-file for large JSON payloads, especially generation and preset payloads.
  • Treat /api/catalog as the source of truth for presetId, preset type, and preset variables.
  • Use /api/pricing-config to resolve user-supplied model names before setting modelId.
  • Treat ordinary 自拍 as front-camera composition with the current role visible and the phone not

visible unless explicitly requested.

  • Do not ask the user for their face photo unless they explicitly ask to place themselves in the

image.

  • Keep raw error payloads visible when troubleshooting; the helper already prints JSON responses.
  • Read TUQU_API.md before overriding helper defaults or diagnosing auth/host issues.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

81.83%
按下载量换算894

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills