想給團隊搭一個私有的 自建 AI 聊天工作台,最省事的做法是把 Open WebUI、LibreChat 或 Dify 部署在日本東京(Tokyo, Japan)或韓國首爾(Seoul, South Korea)的 VPS 上,再用你自己的金鑰接入 OpenAI、Anthropic(Claude)和 Google Gemini API。JUSTG 提供東京和首爾雲伺服器,配本地原生 IP,$19.99/月起,含 1 個 IPv4 + 免費 IPv6,付款後自動開通,足夠支撐中小團隊的 API 型 AI 工作台。本文講清楚為什麼選日本或韓國、可直接使用的 Docker Compose 範例、HTTPS、使用者帳號、API 金鑰保護、成本控制和資料隱私。
- 適合呼叫 AI API 的機房:日本東京、韓國首爾(OpenAI、Claude、Gemini API 在兩國均為官方支援地區)。
- 俄羅斯莫斯科(Moscow, Russia)不適合:這些 AI API 不對俄羅斯開放。
- IP 類型:日本或韓國原生 IP,獨享,不是共享代理。
- 價格:JUSTG Tokyo Cloud VPS 與 JUSTG Seoul Cloud VPS $19.99/月起(1 核 / 512 MB),最高 7 核 / 24 GB,$169.99/月;KVM 架構,可裝 Linux 或 Windows。
- 網路:1 個原生 IPv4 + 免費 IPv6,500 Mbps 連接埠,亞洲最佳化線路;首爾機房使用 KT 網路。
- 實測:2026 年 10 月 JUSTG 用東京、首爾 IP 測試 ChatGPT、Claude、Gemini,均可正常使用。
為什麼把 AI 工作台放在東京或首爾
一句話:主流 AI API 在日本、韓國官方可用,而且到東亞使用者的延遲很低。
- 官方支援地區。OpenAI、Anthropic、Google 都把日本、韓國列為支援地區,伺服器從受支援國家發起 API 請求,符合服務條款。JUSTG 於 2026 年 10 月實測東京、首爾原生 IP 可正常使用 ChatGPT、Claude、Gemini;不過服務商政策隨時可能調整,帳號、付款方式、手機號等檢查依然適用。
- 東亞低延遲。工作台放在東京或首爾,離日本、韓國、台灣、香港和東南亞使用者都近,聊天介面、檔案上傳和串流輸出都更順暢。
- 穩定的原生 IP。VPS 擁有自己註冊在日本或韓國的 IPv4,不像共享代理或 VPN 出口那樣被大量陌生人共用,行為可預期,也方便加入白名單。
- 金鑰和日誌集中管理。員工只用瀏覽器登入,API 金鑰始終留在伺服器上。
需要特別說明:俄羅斯莫斯科 不適合 這個場景,OpenAI、Claude、Gemini API 都不對俄羅斯開放。如果團隊有人在俄羅斯辦公,請把工作台部署在東京或首爾,再透過 HTTPS 訪問。
選軟體:Open WebUI、LibreChat 還是 Dify
三者都開源、都能用 Docker 執行,區別在於你要的是聊天介面還是 AI 應用搭建平台。
| 工具 | 適合場景 | 支援的模型來源 | 建議記憶體 |
|---|---|---|---|
| Open WebUI | 團隊版類 ChatGPT 聊天、文件問答(RAG)、支援 Ollama | OpenAI 相容 API、Ollama;Claude/Gemini 可經 LiteLLM 等閘道器接入 | 2 GB 起(帶 RAG 建議 4 GB) |
| LibreChat | 多模型聊天,原生支援 OpenAI、Anthropic、Google | OpenAI、Anthropic、Google、自定義端點 | 4 GB(含 MongoDB、搜尋元件) |
| Dify | 搭建 AI 應用、工作流、知識庫,並對外提供 API | 透過外掛接入主流模型廠商 | 4-8 GB(容器較多) |
實操:用 Docker Compose 部署 Open WebUI + LiteLLM
這套組合提供一個聊天介面和一個 OpenAI 相容閘道器,可同時路由到 OpenAI、Claude 和 Gemini。
在已安裝 Docker 的 Ubuntu 24.04 JUSTG 東京雲伺服器上,先建專案目錄並生成隨機金鑰:
mkdir -p /opt/ai && cd /opt/ai
openssl rand -hex 32 # use output as WEBUI_SECRET_KEY
openssl rand -hex 24 # use output as LITELLM_MASTER_KEY
建立 .env 檔案,並設定許可權 chmod 600 .env:
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GEMINI_API_KEY=...
LITELLM_MASTER_KEY=change-me
WEBUI_SECRET_KEY=change-me
建立 litellm.yaml:
model_list:
- model_name: gpt-4o-mini
litellm_params: { model: openai/gpt-4o-mini, api_key: os.environ/OPENAI_API_KEY }
- model_name: claude-sonnet
litellm_params: { model: anthropic/claude-sonnet-4-5, api_key: os.environ/ANTHROPIC_API_KEY }
- model_name: gemini-flash
litellm_params: { model: gemini/gemini-2.5-flash, api_key: os.environ/GEMINI_API_KEY }
建立 docker-compose.yml:
services:
litellm:
image: ghcr.io/berriai/litellm:main-stable
command: ["--config", "/app/config.yaml", "--port", "4000"]
env_file: .env
volumes: ["./litellm.yaml:/app/config.yaml:ro"]
restart: unless-stopped
openwebui:
image: ghcr.io/open-webui/open-webui:main
environment:
- OPENAI_API_BASE_URL=http://litellm:4000/v1
- OPENAI_API_KEY=${LITELLM_MASTER_KEY}
- WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY}
- ENABLE_SIGNUP=false
volumes: ["webui:/app/backend/data"]
ports: ["127.0.0.1:3000:8080"]
depends_on: [litellm]
restart: unless-stopped
volumes:
webui:
docker compose up -d
docker compose logs -f openwebui
注意兩個服務都只監聽 Docker 內部網路或 127.0.0.1,在反向代理配置好之前不會對公網暴露。模型名稱會隨時間變化,複製上面的模型 ID 前請先核對各廠商的最新模型列表。
用反向代理加上 HTTPS
AI 工作台絕不能用明文 HTTP 對外,Caddy 可以自動申請免費的 Let's Encrypt 證書。
把 ai.example.com 的 A 記錄指向 VPS 的 IP(例如 203.0.113.10),AAAA 記錄指向它的 IPv6,然後執行:
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'CFG'
ai.example.com {
reverse_proxy 127.0.0.1:3000
encode gzip
}
CFG
systemctl reload caddy
ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable
開啟 https://ai.example.com,第一個註冊的帳號會成為管理員。因為設定了 ENABLE_SIGNUP=false,之後的使用者請在管理後台建立。串流輸出經 Caddy 轉發無需額外配置。
使用者帳號、許可權與 API 金鑰保護
原則是:金鑰只留在伺服器上,給員工發帳號而不是發金鑰。
- 每人一個帳號,用分組或角色限制誰能使用昂貴模型。
- 金鑰放在許可權為 600 的
.env中,不要在公用電腦的瀏覽器介面裡貼上,也不要提交到 Git。 - 每個專案或工作台使用獨立的 API 金鑰,需要吊銷時互不影響。
- SSH 只允許金鑰登入(
PasswordAuthentication no),並安裝 fail2ban。 - 如果公司有統一登入,Open WebUI、LibreChat 和 Dify 都支援 OAuth/OIDC。
- VPS 擁有固定原生 IP,可以在支援 IP 限制的廠商後台或你自己的內部 API 中把它加入白名單。
成本控制與用量監控
API 費用會隨人數和上下文長度增長,邀請全員之前先把限額設好。
- 在各廠商控制檯(OpenAI、Anthropic Console、Google AI Studio / Cloud 帳單)設定月度預算和用量告警。
- 用 LiteLLM 虛擬金鑰按部門設定預算(
max_budget)和速率限制。 - 預設使用較便宜的 mini / flash 檔模型,高階模型只留給確實需要的任務。
- 限制上傳檔案大小和 RAG 檢索片段數量,長上下文是最主要的費用來源。
- 每週在管理後台檢視一次按使用者統計的用量。
資料隱私與本地小模型
自建能把聊天記錄、上傳檔案和向量資料留在你自己控制的伺服器上,但發給 API 的提示詞仍會到達模型廠商。
- 閱讀各廠商 API 的資料使用政策;企業 API 流量的處理方式通常與消費級應用不同,但請確認你所用方案的資料保留期限。
- 備份
webui資料卷並加密備份,定期清理舊對話。 - 敏感草稿可以用 Ollama 在 CPU 上跑小型量化模型,比如 Q4 格式的 3B-8B 模型。JUSTG 不提供 GPU,速度大約每秒幾個 token,適合分類、短摘要、脫敏,不適合高強度聊天。
docker run -d --name ollama -v ollama:/root/.ollama -p 127.0.0.1:11434:11434 ollama/ollama
docker exec ollama ollama pull qwen2.5:3b
然後在 Open WebUI 中新增 Ollama 連線,地址填 http://host.docker.internal:11434(或共享網路中的容器名)。
選哪個 JUSTG 方案
先按使用者所在地選東京或首爾,再按軟體組合選記憶體。
| 記憶體 | 適合 | 不適合 |
|---|---|---|
| 2 GB | Open WebUI + LiteLLM,純 API,約 10-20 個輕度使用者 | Dify、本地模型、大型知識庫 |
| 4 GB | LibreChat 或帶 RAG 的 Open WebUI;Ollama 跑 1.5B-3B 小模型做簡單任務 | 完整 Dify 多工作流 + 本地模型 |
| 8 GB | 帶知識庫的 Dify,或 Open WebUI + CPU 執行 7B-8B Q4 模型 | GPU 級推理或大模型 |
512 MB 和 1 GB 入門方案對這些軟體來說太小,建議從 2 GB 起步;方案最高可到 7 核 / 24 GB 記憶體,$169.99/月。團隊在日本、台灣、香港可選 JUSTG 東京雲伺服器,團隊在韓國可選 JUSTG 首爾雲伺服器(KT 網路),兩者均為亞洲最佳化線路,也可參考 AI VPS 專題頁。如需更多 CPU、記憶體、硬碟、頻寬或額外 IP,支援定製配置,請透過工單聯絡銷售獲取報價。南非約翰內斯堡(Johannesburg, South Africa)雲伺服器即將上線(約翰內斯堡獨立伺服器已開售,$199/月起),想第一時間獲得通知可提交工單。
常見問題
在亞洲呼叫 OpenAI 或 Claude API,VPS 放在哪裡最合適?
日本東京和韓國首爾都是 OpenAI、Anthropic Claude、Google Gemini API 的官方支援地區。JUSTG 在這兩座城市都提供帶本地原生 IP 的雲伺服器,$19.99/月起,選離使用者更近的一個即可。
莫斯科 VPS 能用來呼叫 ChatGPT 或 Claude API 嗎?
不能。OpenAI、Claude、Gemini API 不對俄羅斯開放,所以莫斯科 VPS 不適合這類服務。請改用 JUSTG 東京或首爾雲伺服器部署 AI 工作台。
自建 AI 聊天工作台需要 GPU 伺服器嗎?
不需要。Open WebUI、LibreChat 和 Dify 只是把請求轉發給雲端 API,2-4 GB 記憶體的 CPU VPS 就夠用。JUSTG 不提供 GPU,Ollama 在 CPU 上跑小型量化模型只適合輕量任務。
自建 AI 工作台比直接用 ChatGPT 更隱私嗎?
它能把聊天記錄、檔案和帳號體系留在自己的伺服器上,員工也接觸不到金鑰。但提示詞依然會傳送給 API 廠商,請檢視其資料保留條款,絕不能外流的內容交給本地模型處理。
馬上開始
一個帶 HTTPS、使用者帳號和預算限制的私有 AI 工作台,一小時內就能上線。部署一台 JUSTG 東京雲伺服器 或 JUSTG 首爾雲伺服器,按上面的步驟操作,遇到問題隨時透過工單聯絡 7×24 小時技術支援。