跳至主要内容

離線部署版

目標讀者:負責部署的 IT 管理員或技術負責人。普通用戶訪問管理員部署好的內網地址即可,不需要看本文。

適用場景:企業內網、政務網絡、銀行業(金管會合規)、軍工資安隔離環境、保密單位、政府單位、校園網等無法或不便訪問外網的環境。

無後端、無需註冊——所有數據存在瀏覽器本地。部署後內網團隊打開瀏覽器即可使用。

團隊使用方式

離線版是純靜態網站。部署到內網服務器後,成員用瀏覽器訪問內網地址即可使用:

  1. 管理員將離線版部署到內網服務器(如 http://192.168.1.100:3000
  2. 團隊成員用瀏覽器打開該地址,即可瀏覽、搜索、複製提示詞
  3. 每個人的收藏和自建提示詞保存在自己的瀏覽器中,互不影響
  4. 無需註冊賬戶,無需安裝任何軟件,打開即用
內網服務器(部署離線版)
├── 提示詞庫數據(所有人共享,來自靜態 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 排序 → 恢復到本地
    • 自定義標籤 → 追加合併(不覆蓋已有)

從在線版遷移

  1. 在在線版(aishort.top)的「我的賬戶」頁面導出數據
  2. 在離線版的「設置」頁面導入該 JSON 文件
  3. 社區收藏會自動轉爲本地提示詞,精選收藏正常同步

常見問題

部署後團隊怎麼用?

管理員部署到內網服務器後,把訪問地址(如 http://192.168.1.100:3000)告訴團隊成員即可。每個人用瀏覽器打開,無需安裝、無需註冊。

每個人的數據會互相影響嗎?

不會。每個人的收藏和自建提示詞保存在各自瀏覽器的 localStorage,完全獨立。服務器上只有共享的提示詞庫(只讀)。

數據會丟失嗎?

以下操作會導致個人數據丟失:

  • 清除瀏覽器數據/緩存
  • 使用隱私/無痕模式瀏覽
  • 更換電腦或瀏覽器

建議重要數據定期通過「設置 > 導出數據」備份爲 JSON 文件。

能否在團隊間共享自建提示詞?

可以。一人導出 JSON 文件後,其他成員在「設置 > 導入數據」中導入即可,自動去重。

如何更新提示詞庫?

提示詞庫是構建時打包的靜態數據。更新方式:

  1. 管理員拉取最新的 offline 分支代碼
  2. 重新構建並部署(或拉取最新 Docker 鏡像)
  3. 團隊成員刷新瀏覽器即可看到新內容(個人數據不受影響)

離線版的數據格式和在線版兼容嗎?

兼容。導出的 JSON 格式相同,可在兩個版本間互相導入。提示詞 ID 不同(在線版用服務器 ID,離線版用時間戳 ID),但導入按標題去重,不會衝突。