想给团队搭一个私有的 自建 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 小时技术支持。