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

65 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: image-workflow
description: 查看、裁剪、缩放、格式转换已有图片,或在图片生成工具已配置时按描述生成/编辑图片时使用。未配置生成工具时必须明说无法生成,绝不把已有图片或占位图当成生成结果。
---
# 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,再交给用户;
失败时贴出工具报错,不要换一张别的图顶替。
## 输出要求
- 每个产出图都要给真实路径和尺寸,生成类还要给提示词。
- 未配置时不要绕弯子说“已生成”,直接说缺什么、
用户补什么才能生成。