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。
This commit is contained in:
1 parent
4bbe6a99e3
commit
33bd14638f
6 files changed
+788
-10
No files matched your search
@@ -22,13 +22,24 @@ description: 查看、裁剪、缩放、格式转换已有图片,或在图片
|
||||
1. 查看和处理已有图片:查 `python3 -c "import PIL"`,
|
||||
以及 `convert` / `magick`(ImageMagick)是否存在。
|
||||
有其一即可做裁剪、缩放、转格式;都没有就明说。
|
||||
2. 生成 / 编辑图片:先查任务环境里是否已配置图片生成
|
||||
工具或 MCP / API(包括需要什么 key、走哪个 endpoint)。
|
||||
没有配置时,回答必须是“本环境未配置图片生成工具,
|
||||
无法按描述生成”,并给出替代方案(例如用 shell 画示意图、
|
||||
或用户提供已有图片后做裁剪/缩放),绝不能:
|
||||
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` 说成改图工具,改图需求先按“生成
|
||||
一张新图”处理并向用户说明这是新图不是原图修改。
|
||||
|
||||
## 步骤(已有图片处理)
|
||||
|
||||
@@ -38,12 +49,13 @@ description: 查看、裁剪、缩放、格式转换已有图片,或在图片
|
||||
3. 验证产出:重新打开产出图,确认格式、尺寸符合要求,
|
||||
文件大小不是 0。
|
||||
|
||||
## 步骤(生成 / 编辑,仅当工具已配置时)
|
||||
## 步骤(生成,仅当 image_generate 工具在位时)
|
||||
|
||||
1. 把用户描述原样记下来,不要自己加没说的元素。
|
||||
2. 调已配置的生成工具,记录工具名、提示词、产出路径。
|
||||
3. 验证产出图存在且能打开,再交给用户;失败时贴出
|
||||
工具报错,不要换一张别的图顶替。
|
||||
2. 调 `image_generate`,记录提示词、尺寸、产出路径。
|
||||
3. 验证产出:用 shell / PIL 重新打开返回路径的图,确认
|
||||
格式、尺寸符合要求,文件大小不是 0,再交给用户;
|
||||
失败时贴出工具报错,不要换一张别的图顶替。
|
||||
|
||||
## 输出要求
|
||||
|
||||
|
||||
Reference in new issue
Block a user