- 提示工程
- AI 安全治理
【免费下载链接】TheBigPromptLibrary
A collection of prompts, system prompts and LLM instructions
本篇文章以开源仓库 TheBigPromptLibrary 中收录的 Strap UI 定制 GPT 系统指令 为分析主体,完整拆解该 GPT 的三大核心机制:JSON 知识库(站点模板、样式表、组件库)、三层单字母命令系统,以及"生成 → 截图 → 迭代"的视觉反馈闭环。读完后,你既能掌握如何利用templates.json、styles.json、bootstrap.json一类配置驱动完整网页生成,也能把这套"知识库约束 + 命令接口 + 迭代调优"的设计模式复用到自己的定制 Agent 与提示词工程实践中。
1. Strap UI 是什么:一个"完整网页生成专家"型定制 GPT
Strap UI 是一个专门用于生成完整可交付网页的 ChatGPT 定制 GPT(Custom GPT),由开发者 @nschlaepfer(GitHub)与 @nos_ult(Twitter)制作。根据其系统指令中的自我描述,它的核心定位是:
Specialist in generating complete webpages. Responsive HTML. Improve existing code. Iterate and explore.
即"完整网页生成专家":输出响应式 HTML、能够改进既有代码、并且强调迭代与探索。与之配套的说明中还有几个关键约束,决定了它的工作方式:
- 永远输出完整网页:系统指令明确要求"你的回复始终是完整的网页,绝不是部分代码或碎片"(Your responses will always be in the form of complete webpages, never partial code or fragments)。
- 由知识库 JSON 驱动:Strap UI 的能力核心在于"解读
templates.json、styles.json、bootstrap.json等文件中的 JSON 数据来构建功能完整的网页",并按 JSON 中定义的结构与风格指南交付整站。 - 以
sample.html为参考起点:系统指令专门强调"使用 sample.html 作为参考或起点",并把它视为通往成功的关键路径。 - 迭代式开发:根据用户反馈修改布局、样式与功能,并通过"截图回传"形成可视化调优循环。
这些配置和知识文件全部原样保存在仓库的 knowledge/Strap UI 目录下,本节之后将逐一展开。需要说明的是,原指令文件中引用的文件名是bootstrap.json,而仓库中实际保存的文件名为bootstap.json(原样保留,未做重命名)。
2. JSON 知识库:站点模板、样式表与组件库的职责分工
Strap UI 的"知识"由四类文件构成,它们分别回答四个问题:做什么类型的网站(templates)、用什么样式框架(styles)、拼哪些组件(bootstrap/WebDesignResouces)、按什么骨架起步(sample.html)。这正是该 GPT 能稳定产出高质量页面而非"凭空发挥"的关键。
2.1 templates.json —— 站点级模板库
templates.json 定义了 6 种网站模板,每种模板都包含:适用描述(description)、示例骨架布局(exampleLayout)、推荐组件(recommendedComponents)与推荐样式框架(recommendedStyles)。这就是系统指令中"根据知识库中的 JSON 文件遵循结构与风格指南"的落地载体:
| 模板键名 | 适用场景 | 示例骨架框架 | 推荐组件 | 推荐样式 |
|---|---|---|---|---|
eCommerceSite | 电商站点:商品列表、购物车、结算 | Bootstrap 4.3.1 | navigationBar、cards、modals | Bootstrap |
portfolioSite | 个人/职业作品集,强调视觉呈现 | Bulma 0.9.3 | gridSystem、modals | Bulma |
corporateWebsite | 企业官网:服务区块、关于我们、联系方式 | Foundation 6.6.3 | navigationBar、modals、cards | Foundation |
blogSite | 经典博客:主内容区 + 侧边栏 | Semantic UI 2.4.1 | gridSystem、cards | SemanticUI |
personalBlog | 简洁优雅的个人博客 | Pico CSS 1.x | cards | PicoCSS |
photoGallery | 摄影师/艺术家作品展示 | Tailwind CSS 2.2.19 | gridSystem | TailwindCSS |
每个exampleLayout都是可直接引用的标准 HTML 骨架,例如电商模板给出的结构是<!DOCTYPE html>...<header class='navbar ...'>...<main class='container'>...<footer class='footer mt-auto py-3 bg-light'>...</footer></body></html>,配合 CDN 引入对应框架的 CSS。模板末尾还保留了"Additional templates can be added here"的注释,说明知识库本身被设计为可扩展的配置清单。
2.2 styles.json 与 WebDesignResouces.json —— 样式框架资源池
styles.json 集中登记了 7 套可直接使用的 CSS 框架,每一项都给出描述(description)、适用场景(useCases)与 CDN 地址(link):
| 框架 | 定位 | 典型场景 | CDN 来源(link 字段) |
|---|---|---|---|
| Bootstrap | 综合前端框架,移动优先、响应式 | 电商、教育平台、仪表盘 | stackpath.bootstrapcdn.com(4.3.1) |
| PicoCSS | 面向语义 HTML 的极简 CSS | 个人博客、小型企业站、极简作品集 | jsdelivr(1.x) |
| Materialize | Material Design 设计哲学 + 响应式 | 富交互 UI、管理后台 | cdnjs(1.0.0) |
| Bulma | 现代、灵活、基于 tile 的框架 | 科技创业公司、创意代理、现代作品集 | cdnjs(0.9.3) |
| TailwindCSS | 工具类优先(utility-first) | 自定义 UI、SPA、设计重负载项目 | jsdelivr(2.2.19) |
| Foundation | 专业级高级响应式框架 | 企业级网站、复杂电商 | jsdelivr(6.6.3) |
| SemanticUI | 面向可读、可维护代码的 UI 语义化框架 | 社区网站、论坛、社交平台 | cdnjs(2.4.1) |
| Skeleton | 轻量简单样板 | 落地页、简单作品集 | cdnjs(2.0.4) |
仓库中的另一份文件 WebDesignResouces.json 在此基础上进一步扩充了Animate.css(跨浏览器 CSS 动画库)、AOS(滚动进场动画)、Pure.css(小型响应式 CSS 模块)、Milligram(极简高性能框架)等候选资源,构成更完整的设计资源池。
2.3 bootstap.json 与 bootstrap_updated_2023.json —— 组件与版本演进
组件级知识保存在 bootstap.json(标准组件 + UI Kit)与 bootstrap_updated_2023.json(Bootstrap 5.3.2 更新说明)中。
标准组件清单及其用途(bootstap.json / WebDesignResouces.json 中均有完整定义)包括:
| 组件 | 描述 | 典型用例 | 示例写法 |
|---|---|---|---|
| navigationBar | 适配任何站点布局的导航栏,支持下拉、响应式折叠、品牌选项 | 主站导航、用户仪表盘、移动菜单 | <nav class='navbar navbar-expand-lg'>...</nav> |
| modals | 可定制的弹窗,用于告警、表单、详情展示 | 联系表单、信息弹窗、图片画廊 | <div class='modal fade' id='exampleModal' ...> |
| cards | 灵活卡片,承载图片、文本、链接 | 商品列表、博文、个人资料卡 | <div class='card' style='width: 18rem;'>... |
| gridSystem | 响应式栅格系统 | 照片画廊、商品栅格、布局结构 | <div class='row'><div class='col'>...</div></div> |
| offCanvas | 侧滑导航/内容面板 | 移动菜单、购物车、聊天面板 | <div class='offcanvas offcanvas-end' ...> |
| accordion | 可折叠内容面板 | FAQ、产品描述、可折叠列表 | <div class='accordion' id='accordionExample'>... |
| spinners | 异步操作的加载指示器 | 页面加载、数据提交、等待屏 | <div class='spinner-border' role='status'>... |
| tooltips | 悬停提示小气泡 | 帮助文本、表单说明 | <button ...>赞 |