运行时依赖
安装命令
点击复制技能文档
何时使用此技能 当用户想要通过 GoAI 进行图片生成、图片编辑或基于参考图片的图片创建,特别是对于以下提示:生成图片、画图、出图、做图、修图和改图。除非用户明确要求优化提示、润色提示、重写、翻译或添加创意细节,否则应将用户的图片提示原样传递。不要默默地为诸如“画一个老虎”这样的简短提示添加内容。不要将用户的提示翻译成其他语言。如果用户用中文写,应将中文传递给 --prompt。如果用户用英文写,应将英文传递给 --prompt。可以剥去诸如“帮我”、“给我”、“请”、“生成”或“画一张”的轻量级请求包装,但不能重写核心提示内容。示例: 用户:给我生成一只狮子 -> --prompt “一只狮子”或 --prompt “给我生成一只狮子” 用户:画一个老虎 -> --prompt “画一个老虎”或 --prompt “一个老虎” 除非用户明确要求英文翻译,否则永远不要将“给我生成一只狮子”转换为狮子。
默认行为 此软件包目前针对 https://mustgoai.com 的生产环境。仅当您故意需要不同的端点时才覆盖 GOAI_BASE_URL。此技能现在通过 uv 使用单个跨平台的 Python 入口点。如果用户没有指定模型,脚本将查询 /api/v1/models/capabilities,按 display.priority 对启用的图片模型进行排序,并选择最高优先级的模型。将 uv 视为用户需要手动安装的唯一运行时依赖项。在首次运行时,uv 可能会创建本地环境,安装 httpx,并在机器没有可用解释器的情况下下载 Python。这种首次运行的设置是预期的,不应将其描述为错误。如果用户提供本地图片路径,脚本将首先上传它们,然后将生成的 URL 作为 reference_images 发送。如果用户提供远程 URL,脚本将原样传递它们。
脚本规则 始终通过 uv 使用 Python 入口点:uv run --project . python scripts/generate_image.py \ --prompt “...” \ [--model “...”] \ [--aspect-ratio “...”] \ [--resolution “...”] \ [--reference “/path/to/image.png”] \ [--reference “https://example.com/image.png”] Python 路径验证 GOAI_API_KEY, 默认为 https://mustgoai.com,除非 GOAI_BASE_URL 被设置,并将 401、402、429、内容阻塞、缺少 task_id、缺少 image_url 和后端终止故障状态视为硬故障。轮询遵循 Web 客户端行为:它每 3 秒检查一次,重试暂时的轮询错误,并等待后端终止状态而不是强制执行客户端超时。Python 入口点在被意外调用为 python scripts/generate_image.py ... 或 python3 scripts/generate_image.py ... 时自我修复为 uv run。不要尝试修复系统 Python 环境以用于此技能。
当通过 OpenClaw 的 exec 工具调用此技能时,始终使用 timeout=600 以允许长达 10 分钟的图片生成。除非脚本本身以非零状态退出或后端报告终止故障状态,否则不要将运行描述为超时或被杀死。如果 uv 缺失,应明确指导用户首先安装它:macOS:brew install uv Windows:winget install astral-sh.uv 安装 uv 后,重新运行相同的命令。不要要求用户手动安装 Python 包;uv 负责准备 Python 和技能依赖项。如果执行报告缺少 Python 模块(如 httpx),不要运行 pip install、pip install --user 或 pip install --break-system-packages。重新通过 uv 运行技能;依赖项集仅来自 pyproject.toml 和 uv.lock。如果 GOAI_API_KEY 缺失,应明确指导用户访问 https://mustgoai.com,注册或登录,打开设置 -> API 密钥,创建密钥,然后在 ~/.openclaw/openclaw.json 中配置技能环境。
输出契约 成功时,按以下顺序打印所有四行: MEDIA:/absolute/path/to/generated-file MEDIA_URL:https://... RESULT_PATH:/absolute/path/to/generated-file RESULT_URL:https://... 在成功运行后响应用户时,始终包括确切的本地文件路径和确切的公共 URL 以纯文本形式,即使 OpenClaw 已经渲染或读取了本地媒体文件。不要仅因为图片预览成功就省略 URL。在失败时,退出非零状态并打印简洁的错误消息。不要将二进制输出内联回对话中。