ShareGPT项目的技术架构分析:前端后端和数据存储的技术实现详解

雨雪酱_7241

雨雪酱_7241

2026-05-23

545人浏览

原创

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项目的技术架构分析:前端后端和数据存储的技术实现详解

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 前端开发
PigX UI 前端开发

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实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2303

5

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6070

13

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5406

10

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2303

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

4983

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6070

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

5578

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

783

5

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2303

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程