← 返回
未分类

prd2html

将PRD文档转化为品牌级交互式HTML可视化页面。自动读取PRD、分析调性、匹配视觉风格, 生成含动态SVG动画和交互解构模块的完整HTML。内置10套大类+9套风格+7种交互模板。
PRD2HTML 是一个 agent 驱动技能,自动读取产品需求文档(PRD),分析其调性与内容结构,匹配最适合的视觉风格,生成包含动态 SVG 动画和交互解构模块的完整 HTML 页面。 🎨 10 大类行业风格 × 9 套品牌设计系统 🧩 7 种交互模板(流程图、时间线、对比、架构、数据流、状态切换、卡片筛选) 🔍 自动品牌检测:从 PRD 提取品牌信息,搜索真实品牌色/VI 🖼️ 图片提取:SVG 精准复现 + 用户原图嵌入 📱 响应式布局,单文件 HTML,浏览器直接打开
WYY-gogogo
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 1
Stars
📥 34
下载
💾 0
安装
1
版本
#latest

概述

PRD2HTML — PRD可视化引擎

核心原则

  1. 完整保留PRD结构:章节顺序、层级、子节与原文完全一致,不阉割
  2. 先理解再执行:通读PRD后再设计,不预设视觉方案
  3. 调性自适应:UI风格随项目调性动态匹配品牌色、字体、布局
  4. 一次成型:单次调用输出高完成度HTML

🔴 模型选择(开始任何任务前)

PRD 中图片处理的质量直接取决于模型是否具备视觉识别能力。

Phase 0 第一步:检测并提示用户。

  1. 读取 PRD 后,统计 page.images 数量 + 架构图/流程图/示意图标注数量
  2. 总量 > 0 → 🔴 暂停执行。用以下文字回复用户,等待确认后再继续:

⚠️ 检测到 PRD 含 {N} 张嵌入图片 + {M} 处图表标注。

当前对话模型如不支持图片识别(image input):

✓ 仍可提取图片二进制数据(pdfplumber)

✗ 无法"看懂"图片内容——判断类型、验证边界、提取结构

✗ 架构图 SVG 复现将降级为"从文字描述推断"(准确度下降)

🟢 建议切换支持图片识别的模型以获得最佳效果

🟡 回复"继续"以当前模型执行

能力边界

拒绝场景替代方案
-------------------
纯API文档/技术规格书自行探寻其它方案
超25屏PRD拆分子PRD
无产品视角的需求列表先结构化整理
对外官网/落地页frontend-design
需CMS持续编辑自行探寻其它方案

> Phase 0 先诊断;命中拒绝场景直接告知;边缘案例咨询用户。


工作流路由

Phase 0: 读取 + 提取(含强制门禁)

Step 1: 读取 PRD

# PDF: 用 pdfplumber 提取文本
python -c "
import pdfplumber
with pdfplumber.open('PRD_PATH') as pdf:
    for p in pdf.pages:
        t = p.extract_text()
        if t: print(t)
"

Step 2: 📷 用户原图询问(🔴 暂停,等待用户回复)

🔴 停止执行。向用户发送以下文字:

📷 这份 PRD 中是否有需要原样呈现的图片?

(比如 UI 原型截图、产品渲染图、专属图表、照片等)

如果有,请:

  1. 在 PRD 同目录下创建 images 文件夹
  2. 按章节命名图片:{序号}_{章节名}.png

例如:04_产品架构图.png、07_UI原型-首页.jpg

  1. 将图片放入后告诉我"已就绪"

如果没有,回复"跳过"。

处理规则:

  • 用户放置的图片 → 直接 嵌入,不做其它处理
  • 用户跳过 → 进入 Step 3 自动视觉内容处理
  • images/ 目录存在但为空 → 视为"跳过";未搜到目录请用户告知目录路径
  • 所有用户图片必须按文件名排序嵌入到对应章节

Step 3: 🔴 视觉内容处理 — 强制门禁

按内容类型分策略:

内容类型策略说明
---------------------
架构图/流程图/关系图/层级图SVG 精准复现从 PRD 提取结构 → 生成 SVG 方框+连线+箭头
UI 截图/照片/不可复现视觉边界检测截图 → data:imagepdfplumber 精确裁剪
全文纯文字无图表跳过

SVG 复现流程:

  1. 从 PRD 原文提取章节标题和图表描述文字
  2. 根据描述生成 SVG( + + + 箭头 marker)
  3. 使用页面 CSS 变量(--color-primary 等)保持视觉一致
  4. SVG 放置于对应 section 标题下方
  5. 所有文字必须与 PRD 原文一致,不允许编造

门禁规则:

  • 每个标有"图:/架构图/流程图/示意图"的 PRD 章节 → HTML 中必须有对应的
  • 遗漏任何一处 → Phase 0 不合格,重做
  • 详见 references/image-extraction.md

Step 4: 提取章节大纲(必须输出)

Step 5: 识别 project_type

Phase 1: 调性发现

品牌检测(必须在 Q1 之前执行):

  1. 扫描 PRD 全文,识别PRD内容所属品牌名称
  2. WebSearch 搜索品牌官网/VI/设计指南,提取真实色号;brand-palettes.md 的静态表仅为搜索结果的缓存兜底
  3. 提取品牌设计语言:Primary/Secondary 色号、深浅偏好、字体偏好、特殊视觉元素
  4. 匹配成功 → 品牌色覆盖 style 预设的 primary/accent/gradient;设计语言覆盖对应 token
  5. 纯内部项目/新品牌/通用方案 → 跳过品牌检测,正常走 Q1-Q3

交互式决策树(一次一题,可跳过由 agent 推断):

问题内容路由
------------------
Q1 视觉定位A个人品牌 / B产品概念(推荐) / C专业文档 / D自定义决定 Hero 骨架
Q2 品牌色系A品牌色为主 / B品牌色+中性色(推荐) / C自定义决定色彩策略
Q3 风格参考条件触发:无品牌+无风格偏好时A-H → 9套流行风格
Q4 Hero策略A产品+Slogan / B数据冲击 / C混合(推荐)决定首屏骨架
Q5 交互模块从PRD提取选项,≥3个决定交互嵌入位置
  • 大类预设:project_typereferences/README.md 10 套 category
  • 风格叠加:选 A-H → 额外加载 style-*.md
  • 跳过所有问题 → 大类预设自动匹配

Phase 2: 生成 HTML

子代理分派(🔴 强烈建议,节省上下文窗口)

使用 Agent 工具并行派发 3 个子任务(run_in_background: true),主代理收结果后拼合。

调用方式(每个分派 = 一次 Agent 工具调用):

Agent({ name: "css", run_in_background: true, prompt: "读取以下文件并生成完整设计系统CSS:..." })
Agent({ name: "svg", run_in_background: true, prompt: "读取以下文件并生成架构图SVG:..." })
Agent({ name: "interact", run_in_background: true, prompt: "读取以下模板并生成交互模块:..." })

每个 prompt 必须包含(🔴 缺一不可):

  1. 要读取的 reference 文件绝对路径(C:/Users/.../references/category-*.md 等)
  2. 主代理从 Phase 0/1 获取的参数(品牌色号、章节大纲、概念类型→模板映射)
  3. 输出格式要求

3 个子任务:

子代理读取文件输出
-----------------------
"css"README.md + category-.md + style-.md + design-constants.md:root CSS变量 + 组件CSS + 响应式
"svg"svg-animation.md + 章节大纲所有架构图/流程图 SVG
"interact"js-robustness.md + interactive-templates/{类型}.md交互模块 HTML+JS

> ⚠️ 如果当前平台不支持 Agent 工具 → 降级为顺序执行,主代理自行完成。

分派判断:

模块是否分派原因
------:---:------
CSS 设计系统✅ 分派需读取 category/style token 文件,独立输出
架构图/流程图 SVG✅ 分派从 PRD 描述→SVG,完全独立,上下文重
交互模块✅ 分派7 种模板独立,按需选择分派 1~3 个

> 如果不支持子代理 → 降级为,主代理自行顺序执行完成所有模块。

加载路由表

步骤加载文件内容
---------------------
Phase 0references/image-extraction.md图片提取:SVG复现/边界检测/用户原图
Phase 1references/brand-palettes.md品牌色检测:WebSearch + 静态表缓存
Phase 1references/README.mdCategory/Style token 索引与映射
2.1references/design-constants.md间距/字号/对比度/断点
2.2references/layout-skeletons.md12 种版式骨架 + 匹配规则
2.3输出规范(下方)固定导航/渐入动画/章节标签/表格/响应式
2.4references/svg-animation.mdSVG 动画设计指南
2.5references/interactive-templates/7 种概念类型 × 7 种交互模板
2.7references/js-robustness.mdJS 健壮性约束 + 交互模板索引
2.8导航覆盖:所有 section id 必须有导航链接,生成后用正则核对

输出规范

  • 单文件 HTML,CSS/JS 全内联
  • 浏览器直接打开,无需服务器
  • 路径:PRD 同目录

设计决策树

决策原因
------------
前3屏 100vh 全屏Hero抓注意力→Problem共鸣→Solution信心,第一印象形成区
双模而非全交互交互辅助理解,文档保留原文,互补不替代
交互原位展开而非弹窗弹窗打断阅读流,原位保留上下文
SVG 分步不挤一图逐步推进帮助理解节奏,一图塞满只能"看"不能"懂"
调性自适应而非固定模板PRD类型多样,一套固定视觉必翻车
品牌色点缀而非铺满大色块桌面端疲劳,点缀/CTA用品牌色,正文中性色
reveal 渐入而非一次性渲染逐section渐入控制节奏,一次性全渲染信息淹没

红线

  • ❌ 不可阉割 PRD 内容
  • ❌ 不可使用纯装饰性动画
  • ❌ 不可编造数据
  • ❌ 不可跳过调性发现
  • ❌ 不可依赖外部运行时(Node/React)
  • ❌ 不可用 box-shadow 做 SVG 阴影 → filter: drop-shadow()
  • ❌ 不可丢弃 PRD 图片/流程图/架构图
  • ❌ 不可生成无法点击的交互模块
  • ❌ 不可因修 bug 删交互功能
  • ❌ 不可遗漏导航锚点

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-06-01 01:19 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

design-media

Nano Banana Pro

steipete
使用 Nano Banana Pro (Gemini 3 Pro Image) 生成或编辑图像。支持文生图、图生图及 1K/2K/4K 分辨率,适用于图像创建、修改及编辑请求,使用 --input-image 指定输入图像。
★ 431 📥 117,551
design-media

UI/UX Pro Max

xobi667
提供 UI/UX 设计智能与实现指导,帮助打造精美界面。适用于 UI 设计、UX 流程、信息架构、视觉风格、设计系统/标记、组件规格、文案/微文案、无障碍及前端 UI(HTML/CSS/JS、React、Next.js、Vue、Svelte
★ 223 📥 48,398
design-media

Openai Whisper

steipete
使用 Whisper CLI 进行本地语音转文字(无需 API 密钥)
★ 333 📥 94,399