Files
workbuddy_skills/draw-ui/references/generation.md
T
admin 237a09a5b0 修:draw-ui / oil-motion 原被当子模块指针收录 ⇒ 改为正常文件入库(两份内容原先对别人是空的)
一、问题(本轮实测)
`draw-ui` 与 `oil-motion` 目录里**各自带一个内嵌 `.git`** ⇒ 上一次提交把它们记成了 **gitlink(子模块指针)**
⇒ 仓库里只存了一个不属于任何远端的 commit id,**别人克隆下来这两份是空的** ✗(`git status` 显示 ` m draw-ui` / ` m oil-motion` = 子模块内容有改动)。

二、处置(可回退)
· 把两处的 `.git` **挪走**(⛔ 不是删除)⇒ `归档/内嵌git-20261008/{draw-ui,oil-motion}.git`;
· `git rm --cached` 掉那两个 gitlink,再 `git add` 两个目录 ⇒ **按正常文件入库**(内容才真的进仓库)。

三、副作用(如实记)
挪走 `.git` 后,这两个技能**不能再原地 `git pull` 取上游更新**(要更新得重新拉一份覆盖);
如需恢复其本地仓库,把 `归档/内嵌git-20261008/` 里的 `.git` 挪回原处即可。
2026-10-08 22:29:52 +08:00

38 lines
4.1 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.
# 生成工具与接口边界
工具选择以主流程为准。本文件说明可选服务适配器与图片输入边界;适配器名称不代表通用设计流程依赖特定宿主。
外部服务凭据按 [API Key 配置与业务读取](api-key-setup.md) 接入。以下示例的 SKILL_DIR 是本 Skill 的绝对目录;已通过配置页保存的凭据须由包装入口注入。命令显式使用 bash,避免下载压缩包安装时丢失可执行权限。
脚本默认使用 ZenMux,默认模型为 `openai/gpt-image-2`;可用 `--model` 显式覆盖。调用前按当前服务目录确认用户指定的模型ID,遇到歧义先解析,不猜测收费版本。
```bash
node "$SKILL_DIR/scripts/credential-ui/src/profile.ts" run default -- bash "$SKILL_DIR/scripts/ask_draw.sh" --type wide --name "dashboard" --prompt "页面提示词"
node "$SKILL_DIR/scripts/credential-ui/src/profile.ts" run default -- bash "$SKILL_DIR/scripts/ask_draw.sh" --frame /path/to/reference.png --type wide --name "dashboard" --prompt "保留固定区域的页面提示词"
```
| 参数 | 作用 |
| --- | --- |
| `--type` | `ultrawide` 21:9、`wide` 16:9、`classic` 4:3、`square` 1:1、`portrait` 3:4;默认wide |
| `--frame` / `--ref` | 固定框架参考图 / 可重复传入的参考图 |
| `--name` / `-o` | 文件名 / 输出路径 |
| `--model` | 模型ID覆盖 |
| `--provider` | `zenmux` 或 `codex`,后者是脚本保留的 OpenAI Responses API 适配器名称 |
| `--mode` | `normal`、`replicate`、`frame-lock`、`asset-redraw` |
`portrait` 是画布预设,不能直接代表真实手机视口或完整长页。脚本的 ZenMux OpenAI 分支使用 `generate_images/edit_image` 时未传比例参数;返回尺寸不能由 `--type` 或元数据中的 `aspect_ratio` 推断。需要精确尺寸时使用宿主已有、已确认支持尺寸参数的调用方式;完成后读取实际图片尺寸。不要为修正比例而拉伸图片。
优先通过已有安全凭据管理在运行时注入环境变量,不新建明文凭据文件。ZenMux 密钥兼容脚本的查找顺序:`ZENMUX_API_KEY`、项目及上层 `.env.local`、`~/.config/see/api_key`。使用其他宿主的 ZenMux 工具时沿用其安全凭据管理,不复制密钥或新建明文副本。
OpenAI Responses API 适配器通过 `--provider codex` 选择,读取 `OPENAI_IMAGE_API_KEY` 或 `OPENAI_API_KEY`,不复用宿主登录凭据。Windows 使用 `scripts/ask_draw.ps1`,macOS/Linux 使用 `scripts/ask_draw.sh`。需要设置密钥时按 API Key 配置文档复用现成入口或展示固定页面,不输出密钥值。选择 `--provider codex` 时使用 `run openai` 包装;默认适配器使用 `run default`。
生图成功会输出 `output_path` 和 `metadata_path`。实际打开并检查文件;记录使用的模型、提示词、参考、真实尺寸和待修正项。已有文件应使用新路径保留,不静默覆盖。
失败时保留原始错误与有效产物。鉴权、余额、参数或型号错误先解决原因;只对明确暂时性错误做有上限、已授权的重试,不把所有断连都认作正常现象。对结果不满意的重画属于新的生成,不伪装成网络重试。
## 参考图能力核验
用户提供视觉参考时,分别核验模型、服务接口和当前脚本能否接收图片。脚本没有参考图参数不等于模型不支持;先查对应服务官方接口,再决定是否通过已有SDK或任务内适配器传入。未实际提交图片时,只能称为文字提炼参考,不能说模型看过原图。
ZenMux的OpenAI兼容接口公开支持POST /images/edits;本地参考图优先使用multipart/form-data上传实际文件,文件字段为image[];JSON请求使用images数组,每项为image_url,可传base64 data URL。不要误用generations接口或将路径字符串冒充图像输入。区分请求封装、传输形式与模型能力,按当前接口返回验证成功,不能根据一种格式的失败断言整个模型不支持参考图。当前具体模型仍需校验,并检查响应。接口依据:https://zenmux.ai/docs/api/openai/create-image-edit.html 。模型对比按 [UI 设计与验收](ui-design.md) 固定输入。