離線部署版
目標讀者:負責部署的 IT 管理員或技術負責人。普通用戶訪問管理員部署好的內網地址即可,不需要看本文。
適用場景:企業內網、政務網絡、銀行業(金管會合規)、軍工資安隔離環境、保密單位、政府單位、校園網等無法或不便訪問外網的環境。
無後端、無需註冊——所有數據存在瀏覽器本地。部署後內網團隊打開瀏覽器即可使用。
團隊使用方式
離線版是純靜態網站。部署到內網服務器後,成員用瀏覽器訪問內網地址即可使用:
- 管理員將離線版部署到內網服務器(如
http://192.168.1.100:3000) - 團隊成員用瀏覽器打開該地址,即可瀏覽、搜索、複製提示詞
- 每個人的收藏和自建提示詞保存在自己的瀏覽器中,互不影響
- 無需註冊賬戶,無需安裝任何軟件,打開即用
內網服務器(部署離線版)
├── 提示詞庫數據(所有人共享,來自靜態 JSON)
│
├── 用戶 A 的瀏覽器 → localStorage(A 的收藏和自建提示詞)
├── 用戶 B 的瀏覽器 → localStorage(B 的收藏和自建提示詞)
└── 用戶 C 的瀏覽器 → localStorage(C 的收藏和自建提示詞)
:::tip 提示 提示詞庫(精選提示詞)是構建時打包的靜態數據,所有用戶看到的內容一致。每個用戶的收藏、自建提示詞、排序和標籤保存在各自瀏覽器的 localStorage,彼此獨立。 :::
與在線版的區別
| 功能 | 在線版 | 離線版 |
|---|---|---|
| 提示詞瀏覽/搜索/篩選 | ✅ | ✅ |
| 提示詞複製 | ✅ | ✅ |
| 收藏管理 | 服務器存儲 | 瀏覽器本地存儲 |
| 自定義提示詞 | 服務器存儲 | 瀏覽器本地存儲 |
| 我的收藏(拖拽排序、標籤) | ✅ | ✅ |
| 多語言支持(18種) | ✅ | ✅ |
| 數據導入/導出 | ✅ | ✅(格式互通) |
| 提示詞詳情頁 | ✅ | ✅(靜態數據,無評論) |
| 用戶註冊/登錄 | ✅ | ❌(無需賬戶) |
| 社區提示詞列表/投票 | ✅ | ❌ |
| 評論反饋 | ✅ | ❌ |
數據存儲
每位用戶的數據保存在自己瀏覽器的 localStorage,與服務器無關:
| 數據 | 存儲鍵 | 說明 |
|---|---|---|
| 收藏列表 | local_favorites | 收藏的提示詞 ID 數組 |
| 自建提示詞 | local_user_prompts | 用戶創建的提示詞數據 |
| 排列順序 | local_myspace_order | 我的收藏中的卡片排序 |
| 自定義標籤 | local_custom_tags | 標籤定義和分配關係 |
:::caution 注意
- 瀏覽器本地存儲約 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),但導入按標題去重,不會衝突。