sharegpt技术架构分四层:一、chrome扩展阶段为纯前端本地化,直接解析dom生成json并提交至api;二、社区网站采用next.js全栈架构,结合ssr/isr与serverless后端;三、存储采用planetscale mysql、upstash redis及cloudflare r2多层异构设计;四、数据集工程化通过github actions定时抓取、清洗、去重并发布jsonl至hugging face。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

ShareGPT项目作为一款以浏览器扩展起家、后延伸至社区网站与数据集工程的开源工具,其技术架构随演进阶段呈现明显分层特征。以下是针对其不同实现形态的技术架构拆解:
一、Chrome扩展阶段:纯前端本地化架构
该阶段完全不依赖远程后端服务,所有逻辑在浏览器环境中执行,核心目标是零配置、高隐私、即时生成分享链接。扩展通过内容脚本直接读取ChatGPT网页DOM结构,提取对话序列并序列化为标准JSON,再提交至托管服务。
1、在Chrome浏览器中安装ShareGPT扩展,启用“读取和更改此网站的数据”权限。
2、打开ChatGPT网页版任意对话页面,右上角自动显示“Share”按钮。
3、点击按钮后,内容脚本遍历当前页面所有div[data-message-id]节点,按时间顺序提取文本、角色(user/assistant)、模型标识与时间戳。
4、将结构化数据封装为JSON对象,并通过fetch POST至https://sharegpt.com/api/conversations端点。
5、接收服务器返回的UUID短链(如sharegpt.com/share/abc123),复制至剪贴板。
二、社区网站阶段:Next.js全栈服务化架构
随着用户分享量激增,sharegpt.com需支撑高并发内容展示与交互功能,采用Next.js实现SSR+ISR混合渲染策略,兼顾首屏性能与动态更新能力。后端API由Vercel Serverless Functions承载,避免长期运行服务开销。
1、访问sharegpt.com/explore时,Next.js服务端预取最新100条公开对话元数据,生成静态HTML。
2、用户滚动加载更多时,前端调用/api/conversations?cursor=xxx获取下一页JSON数据。
3、每条对话详情页(如/share/abc123)使用getStaticProps结合revalidate: 60实现每分钟级增量静态再生。
4、用户登录态通过NextAuth.js管理,凭据存储于PlanetScale数据库,会话Token经JWT签名后存入HttpOnly Cookie。
PigX UI Pro 前端开发指南 - Vue 3 + TypeScript + Element Plus。当用户提到 PigX UI、PigX 前端、lgb-mgui 项目、Vue 3 企业级后台开发、Element Plus 后台开发时使用此技能。
5、对话内容正文嵌入页面HTML的<script type="application/json"></script>标签中,供前端React组件直接解析渲染。
三、数据存储与缓存策略:多层异构设计
为平衡读写性能、成本与一致性,ShareGPT社区网站采用分层存储方案:高频访问元数据走低延迟缓存,原始对话内容持久化至关系型数据库,并为后续数据导出预留NoSQL接口。
1、对话元数据(ID、标题、点赞数、创建时间、作者ID)写入PlanetScale MySQL集群,支持水平扩展与自动故障转移。
2、完整对话JSON文本经Zstandard压缩后存入Upstash Redis,设置TTL为7天,作为热数据缓存加速详情页加载。
3、用户上传的含图片或代码块的富媒体对话,额外将base64图像转存至Cloudflare R2对象存储,URL存入MySQL关联字段。
4、搜索索引由Vercel Edge Functions调用Meilisearch托管实例构建,每新增对话触发一次异步索引更新。
四、数据集工程化阶段:离线批处理流水线
当ShareGPT从工具转向AI训练数据源,原始网页数据需经清洗、去重、格式标准化,形成可用于监督微调(SFT)的JSONL语料。该阶段脱离在线服务,转为定时执行的CI/CD流水线任务。
1、每日凌晨UTC 02:00,GitHub Actions触发scrape-sharegpt工作流,使用Playwright无头浏览器抓取sharegpt.com/explore?page=1–100全部卡片链接。
2、并发请求每张卡片详情页,提取<script id="__NEXT_DATA__"></script>内嵌JSON,抽取messages数组字段。
3、调用Python清洗脚本:过滤空消息、移除含system角色的非标准轮次、校验role仅含user/assistant、截断超长单条消息(>8192字符)。
4、对清洗后JSON对象计算SHA-256哈希值,写入SQLite去重表;未命中则追加至输出文件sharegpt_clean.jsonl。
5、最终文件经gzip压缩,推送至Hugging Face Hub仓库,版本标记为2026-05-22。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!







