ShareGPT开源项目介绍:GitHub仓库结构和技术栈的详细说明

夏涛姑娘_5982

夏涛姑娘_5982

2026-06-01

861人浏览

原创

sharegpt是分层演进的开源系统,核心定位为将chatgpt网页对话结构化为可归档、可传播的公开链接;其典型路径为chrome扩展本地提取dom→生成json→提交至serverless api→社区网站展示与数据集工程化。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

sharegpt开源项目介绍:github仓库结构和技术栈的详细说明

一、ShareGPT开源项目的核心定位与典型使用路径

如果您在GitHub上搜索ShareGPT,会发现它并非一个单一可执行应用,而是一套围绕ChatGPT对话分享能力构建的、分层演进的开源系统。其核心价值在于将用户在ChatGPT网页版中的完整交互过程,以结构化、可归档、可传播的方式固化为公开链接。项目早期以Chrome扩展形态存在,后期延伸出社区网站与数据集工程能力,技术实现严格遵循“前端本地化→服务端轻量化→存储异构化”的演进逻辑。以下是对其GitHub仓库结构与技术栈的逐层说明:

二、GitHub仓库结构解析

ShareGPT官方主仓库(如sharegpt/sharegpt)采用清晰的模块化布局,各目录职责边界明确,不依赖隐式约定,所有关键入口均有文档支撑。根目录下主要包含以下结构:

1、chrome/ 目录:存放完整的Chrome浏览器扩展源码,含manifest.json、content-script.ts、popup.ts及图标资源;该目录可独立构建为.crx包,无需任何后端依赖即可运行。

2、app/ 目录:Next.js全栈应用根目录,对应sharegpt.com生产站点;内含pages/(路由)、api/(Serverless函数)、lib/(工具函数)、styles/(Tailwind配置)等标准子结构。

3、scripts/ 目录:存放GitHub Actions工作流脚本,包括每日抓取公开分享对话、清洗JSONL格式、去重校验并自动提交至Hugging Face数据集的自动化流水线。

4、prisma/ 与 upstash/ 目录:分别定义PlanetScale MySQL数据库模型(schema.prisma)与Upstash Redis缓存策略(redis.config.ts),二者通过环境变量解耦,支持多环境部署。

5、.github/workflows/ 目录:包含CI/CD配置,覆盖扩展打包验证、Next.js构建检查、TypeScript类型强制、以及PR合并前的端到端测试(基于Playwright)。

三、核心技术栈选型依据

ShareGPT的技术栈不是堆砌流行词,而是针对每一层能力瓶颈所作的精准匹配。每个组件均服务于一个具体约束条件,例如零配置安装、毫秒级首屏、或每分钟百万级短链生成。其技术清单如下:

1、Next.js 13+(App Router):承担SSR渲染与ISR增量静态再生双重任务;/explore页使用getServerSideProps预取元数据,/share/[id]页使用generateStaticParams + revalidate: 60实现缓存刷新,避免冷启动延迟。

2、TypeScript + ESLint + Prettier:全项目强类型覆盖,类型定义文件(types/conversation.d.ts)与DOM提取逻辑(chrome/content-script.ts)完全对齐,杜绝JSON序列化字段错位。

3、Tailwind CSS + shadcn/ui:无CSS-in-JS运行时开销,所有样式编译为原子类;UI组件库经定制适配暗色模式与高对比度访问需求,满足WCAG 2.1 AA标准。

4、PlanetScale(MySQL兼容):用于持久化用户账户、收藏关系、评论内容;利用其分支(Branch)机制实现零停机迁移,Schema变更通过Prisma Migrate生成不可变版本。

Github Auto
Github Auto

管PR、盯Issue、跑CI、发Release——GitHub仓库日常运维扔给它。少开几个Chrome标签页。

下载

5、Upstash Redis(Serverless-first):承担短链UUID生成计数器、会话Token黑名单、热门对话缓存三重角色;通过REST API调用,规避Node.js进程内存泄漏风险。

四、关键依赖与权限设计

项目对外部服务的调用均通过抽象层封装,确保可替换性与安全隔离。所有敏感凭证均不进入Git历史,由Vercel环境变量或Chrome扩展权限声明显式管控:

1、Chrome扩展权限仅声明"activeTab"与"scripting":拒绝请求"storage"或"cookies",所有对话数据在内存中完成JSON序列化后即刻销毁,符合GDPR“最小必要”原则。

2、NextAuth.js认证流程不存储明文密码:仅保存经过NextAuth签名的JWT Token于HttpOnly Cookie,有效期设为7天,刷新令牌轮换机制启用。

3、Vercel Serverless Functions限制最大执行时间为10秒:所有API端点(如/api/conversations)内置超时熔断,防止恶意长连接耗尽资源。

4、Cloudflare R2作为只读附件存储:对话中上传的图片、代码块截图等二进制内容,经SHA-256哈希去重后写入R2,URL通过S3兼容签名临时授权,有效期24小时。

五、构建与本地验证流程

开发者可在无生产环境依赖下完整复现全部功能链路,所有步骤均经CI流水线验证,确保跨平台一致性:

1、克隆仓库后执行 pnpm install,自动识别workspace协议并链接chrome/与app/包依赖。

2、进入 chrome/ 目录,运行 pnpm build 生成dist/文件夹,拖入Chrome开发者模式完成加载。

3、进入 app/ 目录,设置 NEXT_PUBLIC_API_BASE=https://localhost:3000/api 环境变量,启动本地Next.js开发服务器。

4、在Chrome中打开任意ChatGPT对话页,点击Share按钮,观察控制台是否成功捕获

节点并输出结构化JSON。

5、确认本地app服务收到POST请求后返回UUID,且浏览器剪贴板已写入 http://localhost:3000/share/abc123 格式链接。

相关专题

更多
github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2026.01.21

8525

27

GitHub官网入口版本汇总
GitHub官网入口版本汇总

本专题整合了GitHub入口版本地址汇总,阅读专题下面的文章了解更多详细内容。

2026.04.02

878

19

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2026.01.21

8525

27

GitHub官网入口版本汇总
GitHub官网入口版本汇总

本专题整合了GitHub入口版本地址汇总,阅读专题下面的文章了解更多详细内容。

2026.04.02

878

19

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

20

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

0

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

0

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

0

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

0

15

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GitHub Copilot手册
GitHub Copilot手册

共0课时 | 0人学习

Laravel5.7框架视频教程
Laravel5.7框架视频教程

共21课时 | 4.5万人学习

布尔教育git快速入门视频教程
布尔教育git快速入门视频教程

共10课时 | 3.3万人学习