Appearance
GPT Image 2.5 提示词档案设计
目标
在 VitePress 博客新增「GPT Image 2.5 提示词档案」专栏,持续收录来自用户指定 ChatGPT 共享会话的最终逆向提示词。每条记录固定匹配一张新生成的 GPT Image 2.5 图片,并可追溯到来源会话。
首次来源:https://chatgpt.com/share/6aaea0e7-faf4-83ea-8342-c4b131ac1713(标题:图片逆向提示词-1)。后续可传入其他共享会话链接。
已确认的产品约束
- 专栏首页采用可筛选的视觉图鉴。
- 一条记录只展示最终提示词;不展示原始参考图和分析过程。
- 每条记录保留来源会话链接。
- 新图统一由
gpt-image-2.5-sunburst生成,参数为1536x1024、high。 - 增量同步仅收录尚未存在的提示词;不得重生已有图片。
架构
发布数据
docs/public/gpt-image-prompts.json 为静态数据源,包含档案元数据和 records 数组。每条记录具有:
- 稳定
id:由来源链接和最终提示词组成的 SHA-256 哈希前缀; prompt:最终逆向提示词原文;sourceUrl、sourceTitle:可回溯来源;image:站内生成图片相对路径;model、size、quality:生成规格;createdAt:收录时间。
图片输出至 docs/public/gpt-image-prompts/<id>.png。JSON 与图片由同一次同步共同提交,卡片不会指向不存在的图片。
同步流程
新增 Node 脚本,负责接收一个或多个共享会话 URL、提取候选提示词、计算去重 ID 和维护 JSON;Codex 在用户明确发出“更新获取”指令后运行此流程,并对候选项调用内置生图能力:
- 读取共享会话文本并识别最终提示词。会话无公开正文或无法稳定读取时,脚本明确失败且不写入空记录;支持通过本地提取文件作为受控备用输入。
- 标准化提示词用于比较,按
sourceUrl + prompt计算 ID;若 JSON 已有同 ID 则跳过。 - 对每条新提示词调用 Codex 内置 GPT Image 2.5 生图能力,生成规格为
1536x1024、high,将生成文件复制到专栏资源目录。 - 仅在图片成功落盘后向 JSON 追加记录,按收录时间倒序写入,并更新
generatedAt。 - 输出新增、跳过与失败的清单;任意失败以非零状态退出,同时保留已成功的原子记录。
本工作流不要求也不读取 OPENAI_API_KEY;使用用户已开通的 Codex 内置生图能力。密钥与任何订阅凭据均不写入仓库或 JSON。
前端
docs/gpt-image-prompts/index.md提供专栏入口与 SEO 元数据。GptImagePromptArchive.vue加载 JSON,显示收录总数、来源与更新时间。- 卡片以生成图为主视觉,显示提示词摘要、模型规格和来源链接;可按来源会话筛选。
- 详情采用前端展开面板:显示完整最终提示词、复制按钮、图片和生成元数据,避免为每条记录维护独立 Markdown 页面。
- 将组件注册到 VitePress 主题,增加顶部导航和专栏侧边栏。
错误处理与边界
- 共享页面不可公开读取、未找到提示词、API 未配置、图像生成被拒绝或写盘失败时,输出具体原因,不添加半成品 JSON 记录。
- 单次运行中每条提示词独立处理;成功项保留,失败项下次同步会重试。
- 去重不跨来源会话合并:相同文本但不同来源会话均可收录,因为可追溯来源不同。
- 不抓取、保存或展示共享会话里的原始参考图片与分析文字。
验证
- 单元测试覆盖 ID 生成、提示词去重、数据写入前的必填字段校验。
- 使用模拟内置生图结果验证图片与 JSON 的匹配和失败路径。
- 构建 VitePress,确认专栏路径、组件和静态资源可被解析。