---
sidebar_label: 離線版（企業內網）
title: AI Short 離線部署 | 企業內網無需外部服務器
description: AI Short 離線版專爲無法訪問外網的企業和團隊設計。無需後端服務器，無需註冊賬戶，數據存儲在瀏覽器本地，開箱即用。
---

# 離線部署版

> **目標讀者**：負責部署的 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 部署（推薦）

最簡單的部署方式，一行命令即可在內網服務器上運行：

```bash
# 使用預構建的離線版鏡像
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`：

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

### 源碼構建

如需自定義提示詞內容或修改配置：

```bash
# 克隆離線版分支
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 配置示例

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

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

### 平臺部署

Vercel、Cloudflare Pages 等平臺部署時選擇 `offline` 分支即可，其他步驟與在線版一致，詳見[項目部署](../deploy)。

## 數據導入導出

### 導出

進入「設置 > 導出數據」，將個人收藏和自建提示詞導出爲 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），但導入按標題去重，不會衝突。
