• AI 应用
  • 提示工程
  • 人工智能
  • 前端

导读

本文围绕 ChatGPT-Shortcut 项目的离线版(offline 分支)展开,系统讲解其无后端、纯静态的架构原理,以及如何在内网环境完成 Docker、源码构建、Nginx 等方式的部署与日常运维。读完本文,你将掌握离线版的团队使用流程、localStorage 数据存储机制、数据导入导出与在线版迁移方案,以及提示词库更新和常见故障处理等完整实战能力。

离线版适用场景与定位

ChatGPT-Shortcut 离线版专为无法或不便访问公网的环境设计,典型场景包括:

  • 企业内部网络
  • 政府机关、涉密或物理隔离(air-gapped)网络
  • 银行、金融机构等高安全要求环境
  • 校园网络
  • 需要数据本地化留存、符合个人数据保护合规要求(如越南 NĐ-13/2023、HIPAA、SOC 2 等)的组织

离线版的核心定位是:无后端、无注册、数据全部存放在用户自己的浏览器中。一次部署后,内网成员只需要打开浏览器即可浏览、搜索和复制提示词,无需安装任何软件。

团队使用流程

离线版本质是一个纯静态网站。管理员将其部署到内网服务器后,整个团队的协作方式非常简单:

  1. 管理员将离线版部署到内网服务器(例如 http://192.168.1.100:3000);
  2. 团队成员在浏览器中打开该内网地址,即可浏览、搜索并复制提示词;
  3. 每个人的收藏与自建提示词都保存在自己的浏览器中,彼此完全隔离;
  4. 无需注册账号、无需安装任何软件,打开即用。

离线版数据架构:内网服务器承载共享只读的提示词库;每个用户的收藏、自建提示词、排序和标签保存在各自浏览器的 localStorage 中——相互独立,无需账号

提示:提示词库(精选提示词)是构建时打包的静态数据,所有用户看到的内容一致。而每个人的收藏、自建提示词、排序和标签则存放在各自浏览器的 localStorage 中,完全独立。

离线版与在线版的功能差异

功能在线版离线版
浏览 / 搜索 / 筛选提示词✅✅
复制提示词✅✅
收藏管理存储在服务器存储在浏览器本地
自建提示词存储在服务器存储在浏览器本地
我的收藏(拖拽排序、标签)✅✅
多语言支持(18 种语言)✅✅
数据导入 / 导出✅✅(格式互通)
提示词详情页✅✅(静态数据,无评论)
注册 / 登录✅❌(无需账号)
社区提示词列表 / 投票✅❌
评论与反馈✅❌

从对比中可以清晰看到:离线版保留了最核心的提示词浏览、搜索、复制与"我的收藏"管理能力,去掉了所有依赖后端服务器的能力(账号、社区、评论),从而实现了纯静态、零后端的部署形态。

数据存储机制

每个用户的数据保存在各自浏览器的 localStorage 中,与服务器完全无关:

数据存储键说明
收藏列表local_favorites已收藏提示词 ID 数组
自建提示词local_user_prompts用户自行创建的提示词数据
排序顺序local_myspace_order"我的收藏"中卡片的排序
自定义标签local_custom_tags标签定义与分配关系

值得补充的是,在线版的本地缓存也遵循类似的"浏览器侧存储"思路:从 AuthContext.tsx 可以看到,在线版通过 lscache 工具以 lscache-user_auth、lscache-myspace 等键在 localStorage 中缓存用户状态(代码位于 src/utils/cache.js),并借助 syncMySpaceState 统一更新各层缓存,避免状态漂移。离线版则直接以 local_* 前缀的键作为唯一数据源,架构更简单。

数据安全注意事项

  • 浏览器 localStorage 容量上限约为 5 MB,日常使用完全足够;
  • 清除浏览器数据会永久丢失个人数据——建议定期通过"我的账户 → 数据管理 → 导出数据"备份;
  • 更换电脑或浏览器后,需要重新导入数据。

部署方案

离线版基于 offline 分支。管理员只需部署一次,团队成员无需任何额外操作。

方式一:Docker 部署(推荐)

最简单的方式,一条命令即可在内网服务器上启动:

# 使用离线版预构建镜像(GitHub Container Registry)
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-compose 编排:

services:
  aishort-offline:
    container_name: aishort-offline
    image: ghcr.io/rockbenben/chatgpt-shortcut:offline
    ports:
      - "3000:3000"
    restart: unless-stopped

方式二:从源码构建

当需要自定义提示词内容或修改配置时,可以从源码构建:

# 克隆离线分支
git clone -b offline https://github.com/rockbenben/ChatGPT-Shortcut.git
cd ChatGPT-Shortcut

# 安装依赖
yarn

# 本地开发
yarn start

# 构建单语言版本(以越南语为例)
yarn build --locale vi

# 构建全部语言
yarn build

构建产物输出到 build/ 目录,可以部署在任意静态文件服务器上(Nginx、Apache、Caddy 等)。当前仓库的 package.json 显示项目基于 Docusaurus 3.10,build 脚本实际执行 node scripts/buildPhased.mjs(分阶段构建),并要求 Node.js 版本 >=20,这些在离线分支的构建流程中同样适用。

方式三:Nginx 配置示例

server {
    listen 3000;
    server_name _;
    root /path/to/build;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

注意 try_files ... /index.html 的回退规则:它确保浏览器直接访问任意前端路由(如刷新收藏页面)时都能正确回退到应用入口,而不是返回 404。

方式四:托管平台部署

在 Vercel、Cloudflare Pages 等平台上部署时,只需选择 offline 分支,其余步骤与在线版一致,详见 部署文档。

数据导入与导出

导出

进入"我的账户 → 数据管理 → 导出数据",即可将收藏和自建提示词导出为 JSON 文件。

导入

支持导入以下 JSON 格式:

  • 离线版导出的文件:完整恢复收藏、提示词、排序和标签;
  • 在线版导出的文件:自动做兼容处理:
    • 用户提示词 → 合并到本地(按标题去重);
    • 精选收藏(card)→ 合并到本地收藏;
    • 社区收藏(community)→ 自动转换为本地自建提示词;
    • 我的空间(MySpace)排序 → 恢复到本地;
    • 自定义标签 → 追加合并(不覆盖已有标签)。

从在线版迁移

  1. 在在线版(aishort.top)的"我的账户"页面导出数据;
  2. 在离线版的"我的账户 → 数据管理 → 导入"中导入该 JSON 文件;
  3. 社区收藏会自动转换为本地提示词,精选收藏正常同步。

常见问题(FAQ)

部署后团队如何使用?

管理员部署到内网服务器后,只需把访问地址(如 http://192.168.1.100:3000)告知成员。每个人用浏览器打开即可,无需安装、无需注册。

成员之间的数据会互相影响吗?

不会。每个人的收藏和自建提示词保存在各自浏览器的 localStorage 中,完全隔离。服务器上只有共享的提示词库(只读)。

数据会丢失吗?

以下操作会清空个人数据:

  • 清除浏览器数据或缓存;
  • 使用无痕 / 隐私浏览模式;
  • 更换电脑或浏览器。

建议通过"我的账户 → 数据管理 → 导出数据"定期将重要数据备份为 JSON 文件。

成员之间能否共享自建提示词?

可以。一个人导出 JSON 文件,其他成员在"我的账户 → 数据管理 → 导入"中导入即可,系统会自动去重。

如何更新提示词库?

提示词库是构建时打包的静态数据,更新步骤如下:

  1. 管理员从 offline 分支拉取最新代码;
  2. 重新构建并部署(或拉取最新 Docker 镜像);
  3. 团队成员只需刷新浏览器即可看到新内容,个人数据不受影响。

离线版数据格式与在线版兼容吗?

兼容。两者导出的 JSON 格式相同,可以双向导入。提示词 ID 不同(在线版使用服务器 ID,离线版使用时间戳 ID),但导入时按标题去重,不会产生冲突。

总结

ChatGPT-Shortcut 离线版通过"静态站点 + 浏览器 localStorage"的架构,在完全不依赖后端的前提下保留了提示词库最核心的使用价值。对于有数据本地化要求的企业、政府和金融内网环境,管理员只需通过 Docker 一条命令或源码构建即可完成部署,配合 JSON 导入导出机制,团队即可在完全隔离公网的环境中高效共享与使用提示词资产。

  • AI 应用
  • 提示工程
  • 人工智能
  • 前端

【免费下载链接】ChatGPT-Shortcut

Stop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor · Русский 한국어 العربية हिन्दी ไทย | 别再从头写提示词:现成的拿来就用,好用的收进自己的库

项目地址: https://gitcode.com/gh_mirrors/ch/ChatGPT-Shortcut
点击查看 免费下载

相关推荐