工具定位
这是一条“在线预览”方向的工具型 AI 提示词(Prompts)。目标是让 AI 直接产出一个可运行、可构建、可部署的在线工具:用户上传 PSD 或 AI 文件后,在浏览器里安全预览,并生成“字体缺失与兼容性诊断报告”,同时给出可执行的替换建议与导出能力。
适用场景
适用于设计交付、外包对接、团队规范化检查等场景:在不打开专业软件的前提下快速确认文件是否可用、是否存在缺失字体、是否存在跨平台不兼容风险(例如 Windows/Mac 字体族差异、同名字体版本不一致、字体未嵌入导致的替换)。
交付物要求(必须一次性给全)
AI 需要输出完整交付物,包含:项目源码(前后端/或单体)、清晰文件树、安装与运行命令、生产构建命令、Docker 部署说明(含反向代理建议)、以及可执行的测试用例或 QA checklist(用于验证上传、预览、报告导出、异常处理、性能与安全)。
Prompt(复制即可用)
你是一名资深全栈工程师+产品经理,请生成一个可部署的“PSD/AI 字体缺失与兼容性诊断在线工具”。
【硬性目标】
1) 用户在网页上上传 PSD 或 AI 文件后,页面可以在线预览(缩略图/画布预览均可),并生成一份诊断报告:
- 文件基本信息(类型、大小、分辨率/画布尺寸、图层数量、文本图层数量)
- 字体清单(字体族/样式/出现次数/涉及文本图层)
- 缺失字体判断:给出“本机/服务器不可用字体”的判定逻辑(基于可配置字体库),并提示替换建议
- 兼容性风险:例如字体名称不规范、同名字体版本差异、字体未嵌入、AI 文件为 PDF 兼容时的限制说明
2) 支持导出报告:JSON + Markdown(.md)+ 可下载的 HTML 报告(带表格和高亮风险)。
3) 必须给出:完整项目代码、文件树、依赖说明、开发/生产运行命令、Docker 部署、以及测试用例或 QA checklist。
【技术约束与建议】
- 优先使用 Node.js 生态,给一个单体仓库。
- 前端:React/Next.js 或 Vite 均可;需要有上传进度、错误提示、空状态。
- 后端:Node.js(Express/Fastify) 均可,负责解析、生成报告、导出文件。
- PSD 解析:可使用 ag-psd 等 JS 库解析文本图层与字体信息;预览可以用渲染位图(在服务端或客户端)或用图层合成预览。
- AI 解析:说明 AI 文件解析策略:优先按“PDF 兼容”方式用 pdf.js 预览;若无法解析,给出降级方案(仅做元信息与提示)。
- 安全:限制上传大小;仅接受特定扩展名与 MIME;解析过程隔离(临时目录、超时/内存限制);不保存用户文件(或明确保留策略)。
【产品与交互要求】
- 页面分区:上传区、预览区、诊断结果区(字体表、风险列表)、导出区。
- 诊断结果要有“风险等级”(高/中/低)并解释原因与修复建议。
- 提供一个“示例文件”入口(无需真实文件,允许用 mock 数据演示 UI)。
【输出格式要求】
A. 先给一句话说明工具做什么。
B. 给出完整文件树。
C. 逐文件给出关键代码(可分块展示),确保复制到本地即可跑通。
D. 给出命令:安装、开发启动、生产构建、生产启动。
E. 给出 Dockerfile + docker-compose.yml(可选)+ 反向代理建议(Nginx 示例可选)。
F. 给出测试:至少包含 3 个自动化测试点(例如 API 的字体清单、导出报告、异常文件处理),以及一份 QA checklist。
【禁止】
- 不要生成任何图片/海报/插画/渲染图导向内容;不要出现 Midjourney/Stable Diffusion。
- 不要要求我再补充信息;你需要做合理假设并写进 README。
实现要点提示
为了让工具“可验证”,建议把字体可用性作为可配置资源:例如在服务端维护一个 fonts.json(允许的字体族列表),并在解析后做集合差集得到“疑似缺失字体”。同时提供“字体映射建议”,例如把常见替代字体映射为系统可用字体,或提示用户嵌入/转曲。
测试与QA检查清单(建议最少覆盖)
1) 上传成功:大文件提示、进度与取消;2) PSD 解析成功:文本图层/字体清单完整;3) AI 预览:PDF 兼容时可预览,失败时降级提示清晰;4) 风险等级计算:缺失字体/字体未嵌入/名称异常可触发;5) 报告导出:JSON/Markdown/HTML 下载文件名与内容正确;6) 安全性:扩展名/MIME 校验、大小限制、超时处理;7) 性能:并发上传与解析不会阻塞 UI;8) 无状态部署:容器重启不影响使用(临时文件清理)。