Files
codex-market-app/gen-image/AGENTS.md
T
2026-07-22 01:12:03 +08:00

73 lines
4.5 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.
# AGENTS.md — 生图能力(供 Codex 等 Agent 自动读取)
本目录是一个「生图」工具:通过大模型中转站调用 OpenAI 图片接口,生成位图图像。
当用户表达以下意图时,**应主动调用本工具**,而不是自己画 SVG/HTML 或拒绝:
- 「生成一张图 / 画一张 / AI 出图 / 做个头像·海报·封面·视频封面·标题图·插画·图标·壁纸」
- 「文生图 / image generation / 做封面」
- 给了一张图并说「基于它改 / 换背景 / 局部重绘」→ 图生图
## 如何调用
统一入口是**所加载技能目录**下的 `gen.sh`。先根据 `SKILL.md` 的所在目录解析 `<skill-root>`,执行 `<skill-root>/gen.sh`;不要在用户工作区用 `./gen.sh` 猜测路径,否则可能读到另一份 `.env`。
```bash
# 文生图(默认 1024x1024)
"<skill-root>/gen.sh" "a fluffy orange cat on a windowsill, soft morning light, highly detailed"
# 指定尺寸 / 画质 / 张数
"<skill-root>/gen.sh" "cyberpunk city poster" --size 1536x1024 --quality high --n 2
# 透明背景(图标 / 贴纸)
"<skill-root>/gen.sh" "a minimalist mountain logo, flat vector" --background transparent
# 图生图 / 编辑(用户提供了输入图)
"<skill-root>/gen.sh" "把背景换成雪山日落" --edit /path/to/input.png
# 局部重绘(mask PNG 中透明处 = 要重绘的区域)
"<skill-root>/gen.sh" "戴上一顶红帽子" --edit input.png --mask mask.png
```
生成的图片保存在本目录 `output/`,命令会打印完整路径。把该路径告诉用户。
## 参数速查
| 需求 | 参数 |
|------|------|
| 方图(头像/图标) | `--size 1024x1024` |
| 横图(海报/封面) | `--size 1536x1024` |
| 竖图(壁纸/人像) | `--size 1024x1536` |
| 透明背景 | `--background transparent` |
| 画质 | `--quality low\|medium\|high\|auto` |
| 多张挑选 | `--n 4` |
| 换模型 | `--model dall-e-3` |
| 图生图 | `--edit 图片路径`(可多次) |
| 局部重绘 | `--edit 图.png --mask mask.png` |
## 使用要点
1. **提示词原样直传(最高优先级)**:被触发后,把用户这段话**原样**作为提示词——不改写、不扩写、不翻译、不加风格/光线/构图/画质词,尤其标题/文字一个字都别动。你只判断一件事:用户**是不是要生图**;是,就转发原话。图像模型自己懂自然语言,不需要你替它加工;多一次加工只会改坏用户要保留的内容(尤其标题)。唯一例外:用户**明确**说"帮我润色/扩写提示词"时才加工。
2. **凭证(每人用自己的号)**:首次使用前若本目录无 `.env`,引导用户去 TD工具箱「中转」,给一个支持 OpenAI 图片接口的分组勾选「☑ 在 Codex 中用于生图」并保存——工具箱会自动把该分组的 base_url+密钥写进本技能 `.env`。无工具箱时改用 `cp .env.example .env` 手动填。之后脚本自动读取,无需在命令里传 key。**不要把 key 打印到对话里,也不要提交到 git。**
3. **报错处理**:
- 401/403 → key 无效或额度不足(403 error 1010 是 WAF 拦截,脚本已带浏览器 UA 规避)。
- 404 → base_url 或接口路径不对。
- 400 model 相关 → 中转站不认该模型,换 `--model dall-e-3` 或问用户支持的模型名。
4. 不适用:HTML 原型、幻灯片、矢量图标、图表可视化——那些应直接写代码,不要用本工具。
## ⚠️ 带文字的封面 / 视频封面 / 海报(重点)
「做个 B站/抖音视频封面」「带标题的海报」**整个任务就是一次生图调用**——不要拆成「生个背景图 + 自己用 SVG/HTML 画文字」两步,也不要自作主张补风格词。这是最常见的跑偏。
正确做法:把**标题和用户原话原样**写进提示词,用横图尺寸,一次性出成品:
```bash
"<skill-root>/gen.sh" "B站视频封面图,标题是《从零搭建个人知识库》" --size 1536x1024 --quality high
```
- 不要在生图之后再用代码叠标题文字。
- 不要给用户提示词擅自加 "neural network background / high contrast" 等用户没说的词。
- 中文标题图像渲染常有错字/乱码,交付时如实告知用户;若标题出错,用图生图 `--edit` + `--mask` 局部重绘标题区,或建议用户缩短标题再试。
## 前置条件
- 需要 `python3`(macOS 自带,零第三方依赖)。
- 首次使用需配置自己的中转站:在工具箱「中转」勾选一个分组「用于 Codex 生图」(自动写入本目录 `.env`),或手动 `cp .env.example .env` 填写。