Files
codex-app-server/cloud/skills/image-workflow/SKILL.md
T
host 33bd14638f feat: 图片生成 MCP 工具 image_generate(中转站图片分组)
- cloud/imagegen.py:POST /v1/images/generations,解析 url 或
  b64_json,下载落盘到工作区;basename 校验防路径逃逸;
  缺 IMAGE_GEN_API_KEY 时明确报未配置,绝不回退任务自己
  的分组 2 key(分组 2 allow_image=False,回退只会 404)。
- cloud/imagegen_mcp.py:stdio MCP,工具 image_generate。
- worker --imagegen-mcp:租户 codex-home 播种脚本与
  [mcp_servers.imagegen],容器启动前写 env(系统级
  IMAGE_GEN_* + 代理 + NO_PROXY 网关 host)。
- image-workflow 技能:有 image_generate 时用它生成,
  无工具或报未配置时明说无法生成;改图暂无专用工具。
- 测试:imagegen 9 项 + worker 播种/env 3 项。
实测依据(2026-10-30):分组 4 key 调 gpt-image-2.5-flare
返回 200,URL 图为真实 PNG 1024x1024;此前分组 4 账号
schedulable=False 时全模型 404,调度开启后恢复。
部署注意(主机侧,不在代码里):env 需配 IMAGE_GEN_API_KEY;
Tinyproxy 白名单需加 qinglanapi.top(下载返回图 URL 用);
autoscaler 需加 --imagegen-mcp。
2026-10-30 02:53:30 +08:00

3.2 KiB
Raw Blame History

name, description
name description
image-workflow 查看、裁剪、缩放、格式转换已有图片,或在图片生成工具已配置时按描述生成/编辑图片时使用。未配置生成工具时必须明说无法生成,绝不把已有图片或占位图当成生成结果。

image-workflow:图片查看与处理

何时用

  • 查看已有图片、裁剪、缩放、转格式、读图片尺寸和格式。
  • 用户明确要求“按描述生成一张图”或“按描述改这张图”, 且本环境已配置图片生成工具 / API 时。

何时不用

  • 只是写代码、改文本、查文档:不用本技能。
  • 用户要生成图片,但本环境没有生成工具:不要硬做, 走下面的“未配置”分支。

工具前提(先核查,不满足就明说)

  1. 查看和处理已有图片:查 python3 -c "import PIL", 以及 convert / magick(ImageMagick)是否存在。 有其一即可做裁剪、缩放、转格式;都没有就明说。
  2. 生成图片:本环境已配置图片生成 MCP 工具 image_generate(中转站图片分组,走系统级 key,不用 任务自己的网关 key)。调用它生成,不要自己去调 /v1/images/generations,也不要编造 key 或 endpoint。 参数:prompt(必填)、output_filename(工作区内的 文件名,如 hero.png)、size(1024x1024 / 1536x1024 / 1024x1536,默认 1024x1024)。工具返回绝对路径、格式、 尺寸、字节数;失败时工具直接报错,不要换图顶替。 如果工具列表里没有 image_generate,或调用它报 “image generation not configured”,回答必须是“本环境 未配置图片生成工具,无法按描述生成”,并给出替代方案 (例如用 shell 画示意图、或用户提供已有图片后做裁剪/ 缩放),绝不能:
    • 把网上找来的图、占位图、已有图片说成是刚生成的;
    • 编造一个图片路径或图片内容描述。 编辑已有图片(按描述改图)目前没有专用工具:不要 把 image_generate 说成改图工具,改图需求先按“生成 一张新图”处理并向用户说明这是新图不是原图修改。

步骤(已有图片处理)

  1. 先读原图信息:格式、尺寸、文件大小,确认输入路径存在。
  2. 按用户要求做裁剪 / 缩放 / 转格式,产出到用户指定的 路径(未指定时用工作区内的新文件名,不覆盖原图)。
  3. 验证产出:重新打开产出图,确认格式、尺寸符合要求, 文件大小不是 0。

步骤(生成,仅当 image_generate 工具在位时)

  1. 把用户描述原样记下来,不要自己加没说的元素。
  2. 调 image_generate,记录提示词、尺寸、产出路径。
  3. 验证产出:用 shell / PIL 重新打开返回路径的图,确认 格式、尺寸符合要求,文件大小不是 0,再交给用户; 失败时贴出工具报错,不要换一张别的图顶替。

输出要求

  • 每个产出图都要给真实路径和尺寸,生成类还要给提示词。
  • 未配置时不要绕弯子说“已生成”,直接说缺什么、 用户补什么才能生成。