资讯中心

ChatGPT-Shortcut(AiShort)自部署全解析:Vercel / Cloudflare / Docker / 离线内网版与自定义配置

📅 2026/9/27 4:35:20
ChatGPT-Shortcut(AiShort)自部署全解析:Vercel / Cloudflare / Docker / 离线内网版与自定义配置
AI 应用提示工程人工智能前端【免费下载链接】ChatGPT-ShortcutStop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย 别再从头写提示词现成的拿来就用好用的收进自己的库项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut点击查看免费下载本文基于 ChatGPT-ShortcutAiShort项目的部署文档编写系统讲解如何自托管这一「可搜索 AI 提示词库」先按需求在三种部署形态中选型再分别掌握标准部署本地构建、Vercel、Cloudflare Pages、Docker、面向企业内网的离线部署版、站点与提示词的自定义配置以及让 Fork 自动跟随上游更新的同步机制。读完本文你将具备独立搭建、定制并长期维护一套 AiShort 实例的完整能力。部署形态选型先想清楚再动手AiShort 允许开发者自部署或深度定制官方将部署方式归纳为三种形态选型时主要看对后端与数据归属的需求形态后端说明标准部署默认复用官方共享后端Fork 后可自定义网站名称、描述、提示词等见 配置与自定义登录、收藏、社区、同步开箱即用离线部署版无后端数据存浏览器本地企业内网、政务等无外网环境无需账户带后端的完整自部署自建独立后端需要独立的账户体系、数据自主可控、私有社区前两种形态按本文即可完成部署。第三种因后端服务本身并未开源需要邮件联系开发者并简要说明使用场景与规模由官方提供部署方案与支持。本指南按部署流程拆分为四篇子文档本文将其逐一展开并结合仓库源码佐证标准部署、离线部署版、配置与自定义、开启同步更新。标准部署复用官方共享后端开箱即用标准部署的核心思路是复用官方共享后端——登录、收藏、社区、评论、跨设备同步等能力开箱即用你只需要把前端静态站点跑起来。先 Fork 本项目再任选一种方式部署。环境要求Node.js 20.0 或更高版本package.json 的engines字段明确标注node: 20.0支持 macOS、Windows含 WSL和 Linux。本地构建# 安装依赖 yarn # 本地开发 yarn start # 构建默认按 scripts/i18nLocales.mjs 的 defaultLocale 生成静态产物到 build 目录 yarn build只构建部分语言用yarn build --locale locale如zh-Hans、en、ja……完整 locale 列表见 scripts/i18nLocales.mjs。多语言可串联yarn build --locale zh-Hans yarn build --locale en。从源码层面看yarn build实际执行的是node scripts/buildPhased.mjs见 package.json 的scripts.build。该脚本的设计值得了解默认语言单一数据源defaultLocale当前为zh-Hans与 18 个locales都定义在 scripts/i18nLocales.mjs同时被docusaurus.config.js与分段构建脚本引用从根上避免「配置里的 locales」与「实际构建的 locales」脱钩历史上这种脱钩正是脏 URL 的根源之一。透传模式当显式传入参数如yarn build --locale pt时scripts/buildPhased.mjs 直接把参数转交给单次docusaurus build不再分段与 Vercel/Cloudflare 等只部署单一/少数语言的场景保持一致。分段构建防 OOM不带参数的全量yarn build会把 18 个 locale 切成每块 ≤3 个语言的小块每块单独跑一个docusaurus build进程、进程退出即释放内存——因为一次性docusaurus build全部 18 个 locale 会在单进程内把内存撑爆。块大小可用环境变量BUILD_CHUNK调整默认 3内存吃紧可用 2。构建完成后还会把所有 locale 的 sitemap 合并进根build/sitemap.xml让 robots 指向的站点地图覆盖全部 18 种语言。Vercel 部署Vercel 支持导入仓库一键部署先在页面右上角 Fork 本项目再到 Vercel 新建项目页面导入刚 Fork 的仓库即可其余配置保持默认。注意Vercel 免费版可能因内存不足报错。改单语言部署即可——进入项目Settings → Build Deployment → Build Command点Override改成单语言命令中文yarn build --locale zh-Hans葡萄牙语yarn build --locale pt其他类推。这正是分段构建脚本中「透传模式」的设计动机单语言场景下直接跑一次docusaurus build峰值内存远低于全量 18 语言构建。Cloudflare Pages 部署先在仓库页面点击Fork生成自己的副本。登录 Cloudflare Pages选择Create a project绑定刚 Fork 的仓库。配置构建参数Build commandyarn build --locale zh-Hans按要部署的语言换 locale葡萄牙语用yarn build --locale ptOutput directorybuild点部署等待 Cloudflare Pages 构建完成。之后每次推新代码都会自动触发构建和部署。Docker 部署一行命令即可启动# ghcr.io docker run -d -p 3000:3000 --name chatgpt-shortcut ghcr.io/rockbenben/chatgpt-shortcut:latest # docker hub docker run -d -p 3000:3000 --name chatgpt-shortcut rockben/chatgpt-shortcut:latest或用docker-compose仓库根目录自带一份可直接使用的 docker-compose.ymlservices: chatgpt-shortcut: container_name: chatgpt-shortcut image: ghcr.io/rockbenben/chatgpt-shortcut:latest ports: - 3000:3000 restart: unless-stopped镜像背后的实现见 Dockerfile采用两阶段构建——第一阶段用node:24-alpine作为构建器执行yarn install --frozen-lockfile与yarn build期间通过SKIP_GIT_INFOtrue关闭对 git 的依赖构建日期回退为当前时间见docusaurus.config.js的buildDate逻辑从而无需安装 git、可把.git排除出构建上下文第二阶段用nginx:stable-alpine托管静态产物并把仓库自带的 nginx.conf 复制进容器。nginx 配置监听 3000 端口location /下用try_files $uri $uri/ /index.html实现 SPA 回退另配置error_page 404 /404.html。离线部署版企业内网与无外网环境适用场景企业内网、政务网络、保密环境、校园网等无法或不便访问外网的环境如对数据驻留有要求的机构等。离线版无后端、无需注册——所有数据存在浏览器本地。部署后内网团队打开浏览器即可使用。团队使用方式离线版是纯静态网站部署到内网服务器后管理员将离线版部署到内网服务器如http://192.168.1.100:3000。团队成员用浏览器打开该地址即可浏览、搜索、复制提示词。每个人的收藏和自建提示词保存在自己的浏览器中互不影响。无需注册账户无需安装任何软件打开即用。提示词库精选提示词是构建时打包的静态数据所有用户看到的内容一致而每个用户的收藏、自建提示词、排序和标签保存在各自浏览器的 localStorage彼此独立。与在线版的功能区别功能在线版离线版提示词浏览/搜索/筛选✅✅提示词复制✅✅收藏管理服务器存储浏览器本地存储自定义提示词服务器存储浏览器本地存储我的收藏拖拽排序、标签✅✅多语言支持18 种✅✅数据导入/导出✅✅格式互通提示词详情页✅✅静态数据无评论用户注册/登录✅❌无需账户社区提示词列表/投票✅❌评论反馈✅❌浏览器本地数据存储每位用户的数据保存在自己浏览器的 localStorage与服务器无关共使用四个存储键数据存储键说明收藏列表local_favorites收藏的提示词 ID 数组自建提示词local_user_prompts用户创建的提示词数据排列顺序local_myspace_order我的收藏中的卡片排序自定义标签local_custom_tags标签定义和分配关系注意事项浏览器本地存储约 5MB 容量上限日常使用够用。清除浏览器数据会丢失个人数据——建议定期通过「我的账户 → 数据管理 → 导出数据」备份。更换电脑或浏览器后需重新导入数据。部署方式离线版基于offline分支。管理员完成一次部署后团队成员无需任何操作即可使用。Docker 部署推荐——一行命令即可在内网服务器运行# 使用预构建的离线版镜像 docker run -d -p 3000:3000 --name aishort-offline ghcr.io/rockbenben/chatgpt-shortcut:offline # 或使用 Docker Hub docker run -d -p 3000:3000 --name aishort-offline rockben/chatgpt-shortcut:offline部署后团队成员访问http://服务器IP:3000即可使用。使用docker-composeservices: aishort-offline: container_name: aishort-offline image: ghcr.io/rockbenben/chatgpt-shortcut:offline ports: - 3000:3000 restart: unless-stopped源码构建——如需自定义提示词内容或修改配置# 克隆离线版分支offline 分支是否可用以你实际获取的仓库为准 git clone -b offline https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut.git cd ChatGPT-Shortcut # 安装依赖 yarn # 本地开发 yarn start # 构建单语言版本如中文 / 印尼语 yarn build --locale zh-Hans yarn build --locale ind # 构建全部语言 yarn build构建产物在build/目录可部署到任意静态文件服务器Nginx、Apache、Caddy 等。Nginx 配置示例server { listen 3000; server_name _; root /path/to/build; index index.html; location / { try_files $uri $uri/ /index.html; } }平台部署Vercel、Cloudflare Pages 等平台部署时选择offline分支即可其他步骤与在线版一致。数据导入导出与迁移导出进入「我的账户 → 数据管理 → 导出数据」将个人收藏和自建提示词导出为 JSON 文件。导入支持以下格式的 JSON 文件离线版导出的文件完整恢复收藏、提示词、排序和标签。在线版导出的文件自动兼容处理——用户提示词 → 合并到本地按标题去重精选收藏card→ 合并到本地收藏社区收藏community→ 自动转为本地自建提示词MySpace 排序 → 恢复到本地自定义标签 → 追加合并不覆盖已有。从在线版迁移在在线版aishort.top的「我的账户」页面导出数据再到离线版的「我的账户 → 数据管理」导入该 JSON 文件社区收藏会自动转为本地提示词精选收藏正常同步。常见问题部署后团队怎么用管理员部署到内网服务器后把访问地址如http://192.168.1.100:3000告诉团队成员即可。每个人用浏览器打开无需安装、无需注册。每个人的数据会互相影响吗不会。每个人的收藏和自建提示词保存在各自浏览器的 localStorage完全独立。服务器上只有共享的提示词库只读。数据会丢失吗清除浏览器数据/缓存、使用隐私/无痕模式浏览、更换电脑或浏览器都会导致个人数据丢失。建议重要数据定期通过「我的账户 → 数据管理 → 导出数据」备份为 JSON 文件。能否在团队间共享自建提示词可以。一人导出 JSON 文件后其他成员在「我的账户 → 数据管理 → 导入数据」中导入即可自动去重。如何更新提示词库提示词库是构建时打包的静态数据管理员拉取最新的offline分支代码重新构建并部署或拉取最新 Docker 镜像团队成员刷新浏览器即可看到新内容个人数据不受影响。离线版的数据格式和在线版兼容吗兼容。导出的 JSON 格式相同可在两个版本间互相导入。提示词 ID 不同在线版用服务器 ID离线版用时间戳 ID但导入按标题去重不会冲突。配置与自定义标题、描述、提示词与后端AiShort 开源可以自由修改网站标题、描述、提示词与后端等内容。站点标题与描述编辑docusaurus.config.js即可。仓库当前的配置中title仅保留品牌名AiShorturl为正式站点地址、baseUrl为/构建日期取自 HEAD commit 时间以保证 18 个语言版本的 schema.org 时间字段一致非 git 环境或 Docker 构建中SKIP_GIT_INFOtrue时回退为当前时间。使用说明与介绍修改 docs 目录下的对应文件即可如 docs/introduction.md 与 docs/guides 下的各指南。主页提示词数据模型与生成流水线源数据在src/data/prompt.json——一个数组每个对象按zh/en/ja等语言代码键存放所有语言的版本。新增提示词时格式如下{ zh: { title: custom prompt, prompt: custom prompt, description: custom description, remark: custom mark }, en: { title: custom prompt, prompt: custom prompt, description: custom description, remark: custom mark }, website: null, tags: [music], id: 500, weight: 1 }编辑后运行python CodeUpdateHandler.py脚本会按预设规则拆分prompt.json生成各语言的prompt_locale.json并同步更新各语言的主页面和精选提示词页面。从 CodeUpdateHandler.py 的源码可以看到流水线的关键实现脚本按src/data下的prompt.json为单一输入依据语言列表首语言zh-Hans为主语言拆分为多份语言文件并生成卡片 JSON 与详情页数据若检测到opencc库则用 OpenCC 完成简体到繁体的自动转换否则跳过转换并给出警告脚本还会为每张卡片注入(id, lang)维度的datePublished/dateModified卡片内容未变则保留旧日期跨多次重建保持稳定内容变更则更新dateModified、保留datePublished卡片不存在则两个日期都用构建时间。注意建议将id设为 500 以上避免与现有提示词或社区内容的 ID 冲突。运行python CodeUpdateHandler.py会自动为每条提示词含新增的生成卡片数据和详情页无需手动创建页面文件自定义提示词默认没有精选元描述和评论数据。自定义后端API 模块结构项目默认连接一个共享后端登录、收藏、社区、评论、跨设备同步等功能都依赖它src/api提供了完整的接口契约可供参考。后端服务本身并未开源如需带后端的完整自部署参见前文「部署形态选型」。API 模块结构src/api/ ├── index.ts # 统一导出入口 ├── config.ts # API URL 配置 ├── client.ts # Axios 客户端含认证拦截器 ├── auth.ts # 认证 API登录/注册/OAuth ├── prompts.ts # 提示词 CRUD 搜索 投票 ├── favorites.ts # 收藏操作 ├── myspace.ts # 我的空间数据核心数据源 ├── comments.ts # 评论系统 └── user.ts # 用户信息关键实现细节结合源码src/api/config.ts 集中定义所有接口地址主 API 地址API_URL生产环境为https://api.newzone.top/apiStrapi 后端、Google OAuth 登录入口服务地址、以及新旧 OAuth 流程的开关USE_LEGACY_GAUTH。所有接口地址集中在此便于后期修改。src/api/client.ts 创建 Axios 实例baseURL取API_URL30 秒超时兜底请求拦截器自动附加Authorization: Bearer token响应拦截器统一处理错误遇到 401 会清除本地auth_token并联动清理用户相关缓存。缓存机制API 数据通过lscache结合 ETag 实现智能缓存——服务器返回 304 Not Modified 时直接复用本地缓存减少数据传输。缓存 TTL 在 src/utils/cache.js 中定义如提示词卡片 100 天、社区/用户/评论/我的空间等数据 30 天均配合 ETag 使用并在lscache之上再加一层内存 Map 缓存以保证同一 key 多次读取返回同一引用。开启同步更新Fork 自动跟随上游Vercel 一键部署的项目可能一直提示存在更新——因为Vercel 默认新建项目而非 fork无法检测上游更新。解决方法删除原仓库用页面右上角的Fork按钮 fork 本项目在 Vercel 新项目页面的 Import Git Repository 处重新选择刚 fork 的项目并部署。打开自动更新Fork 后需手动在Actions页面启用 Workflows并跑一次Upstream SyncAction如果遇到 Upstream Sync 执行错误请先手动执行一次 Sync Fork。启用后项目每天自动同步上游更新避免功能落后。手动更新代码想手动立即更新时可参考代码托管平台关于「同步 fork」的官方文档通过 Web 界面或命令行把上游的更新合并进自己的 fork。也可以关注star / watch本项目及时获得新功能更新通知。小结三种部署形态对应三类需求标准部署含本地构建、Vercel、Cloudflare Pages、Docker 四种落地方式适合大多数希望「开箱即用 轻度定制」的场景离线部署版适合隔离网络环境四个 localStorage 存储键把数据完全留在用户浏览器带后端的完整自部署则需要联系官方获取方案。若想深度定制站点元信息在docusaurus.config.js、提示词在src/data/prompt.jsonCodeUpdateHandler.py、后端契约在src/api而多语言构建的默认语言与语言列表统一由 scripts/i18nLocales.mjs 这一个数据源驱动。部署完成后别忘了按上文「开启同步更新」一节让 Fork 每天跟随上游持续获得新功能。赞分享AI 应用提示工程人工智能前端【免费下载链接】ChatGPT-ShortcutStop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย 别再从头写提示词现成的拿来就用好用的收进自己的库项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut点击查看免费下载相关推荐AiShortChatGPT-Shortcut部署实战Vercel / Cloudflare / Docker / 企业内网离线版全解析AiShortChatGPT Shortcut部署实战Vercel / Cloudflare / Docker / 企业内网离线版全解析 本篇以 ChatAI 应用提示工程人工智能前端AiShortChatGPT-Shortcut部署实战指南标准部署、离线内网版与配置自定义全解析AiShortChatGPT Shortcut部署实战指南标准部署、离线内网版与配置自定义全解析 本文基于仓库内部署文档体系 项目部署 https://AI 应用提示工程人工智能前端AiShortChatGPT-Shortcut项目部署实战指南标准部署、离线版、配置自定义与自动同步AiShortChatGPT Shortcut项目部署实战指南标准部署、离线版、配置自定义与自动同步 本文面向想要自托管或二次定制 AiShort 的开发AI 应用提示工程人工智能前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

看完文章,想为自己的企业也做一次专业网站诊断?

尧图顾问免费为您评估现有网站,并给出建站/改版建议与报价方案。

免费获取方案