离线部署版
适用场景:企业内网、政务网络、保密环境、校园网等无法或不便访问外部网络的场景。
AI Short 离线版无需后端服务器和用户注册,所有数据存储在浏览器本地。部署后即可在内网中供团队直接使用。
团队使用方式
离线版是一个纯静态网站,部署到内网服务器后,团队成员只需用浏览器访问该内网地址即可使用:
- 管理员将离线版部署到内网服务器(如
http://192.168.1.100:3000) - 团队成员用浏览器打开该地址,即可浏览、搜索、复制提示词
- 每个人的收藏和自建提示词保存在自己的浏览器中,互不影响
- 无需注册账户,无需安装任何软件,打开即用
内网服务器(部署离线版)
├── 提示词库数据(所有人共享,来自静态 JSON)
│
├── 用户 A 的浏览器 → localStorage(A 的收藏和自建提示词)
├── 用户 B 的浏览器 → localStorage(B 的收藏和自建提示词)
└── 用户 C 的浏览器 → localStorage(C 的收藏和自建提示词)
提示词库内容(精选提示词)是构建时打包的静态数据,所有用户看到的内容相同。每个用户的收藏、自建提示词、排序和标签则保存在各自浏览器的 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-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 zh-Hans
# 构建全部语言
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),但导入时按标题去重,不会冲突。