AI 中转站(Sub2API)搭建

🚀 AI 中转站(Sub2API)搭建

一、核心概念与价值

  • 作用:将 Claude、OpenAI、Gemini 等多个 AI 平台的 API 统一成一个接口,提高安全性与管理便利性。
  • 核心优势安全。避免第三方中转站窃取你的请求内容(如 System Prompt、API Key、代码等)。
  • 适用场景:个人/企业统一管理多 AI 服务、拼车共享、规避官方直接计费风险。

源码地址:https://github.com/Wei-Shaw/sub2api/blob/main/README_CN.md

二、准备工作

项目 要求/建议
服务器 海外 VPS(如 AWS、Vultr、DigitalOcean),最低 1核1GB(自用足够)
操作系统 Ubuntu 24 (两文均基于此)
域名 推荐使用 Cloudflare 托管(隐藏 IP、免费 SSL、端口转发)
本地工具 SSH 客户端(Xterminal、Terminus 等)

三、通用部署方式(非 Docker,源自第一篇)

1. 连接服务器
  • 使用 SSH 工具登录,记录服务器信息(IP、端口、用户名、密码)。
2. 安装 Sub2API 核心
bash 复制代码
mkdir -p sub2api-deploy && cd sub2api-deploy
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-deploy.sh | bash
  • 安装中需设置
    • 监听地址:直接回车(默认)
    • 服务端口:自定义(如 10086,范围 1024-65535),务必记下
3. 安装 PostgreSQL(数据库)
bash 复制代码
sudo apt update
sudo apt install -y postgresql postgresql-contrib
sudo systemctl enable postgresql
sudo systemctl start postgresql

# 创建数据库和用户(替换密码)
sudo -u postgres psql -c "CREATE USER sub2api_user WITH ENCRYPTED PASSWORD '你的强密码';"
sudo -u postgres psql -c "CREATE DATABASE sub2api OWNER sub2api_user;"
  • 记录信息 :地址 127.0.0.1,端口 5432,名称 sub2api,用户名 sub2api_user,密码(自设)
4. 安装 Redis(缓存)
bash 复制代码
sudo apt install -y redis-server
sudo systemctl enable redis-server
sudo systemctl start redis-server

# 设置密码(替换密码)
sudo sed -i "s/^# requirepass foobared/requirepass 你的强密码/" /etc/redis/redis.conf
sudo systemctl restart redis-server
  • 记录信息 :地址 127.0.0.1,端口 6379,密码(自设)
5. 域名与 Cloudflare 配置
  • 域名购买(可选):在 Cloudflare 购买(需外币卡)或接入已有域名。
  • DNS 解析 :添加 A 记录,如 api → 服务器 IP,开启 Proxy Status(橙色云朵)。
  • 端口转发 (Origin Rule):
    • 路径:Cloudflare 控制台 → Rules → Origin Rules → Create Rule
    • 字段:Hostname 匹配 api.你的域名.com
    • 操作:Rewrite to 端口(如 10086
    • SSL/TLS 设置:Flexible 模式
6. Sub2API 后台初始化
  • 访问 https://api.你的域名.com,按向导填入:
    • PostgreSQL 和 Redis 的连接信息
    • 设置管理员账号/密码
  • 完成后即可进入后台。

四、Docker 部署方式(源自第二篇,推荐)

1. 创建项目目录和 compose 文件
bash 复制代码
mkdir -p /data/sub2api && touch /data/sub2api/compose.yaml
2. 编辑 compose.yaml 内容
  • 使用第二篇文章提供的完整 Docker Compose 配置(见原文代码块)。
  • 必须修改的默认密码/密钥
    • DATABASE_PASSWORD
    • REDIS_PASSWORD
    • ADMIN_EMAIL / ADMIN_PASSWORD
  • 端口 :默认 6780,可自行修改。
  • 安全注意 :若使用 HTTPS,建议删除环境变量中 SECURITY_URL_ALLOWLIST_ENABLED=falseSECURITY_URL_ALLOWLIST_ALLOW_INSECURE_HTTP=true
3. 启动服务
bash 复制代码
cd /data/sub2api
docker compose up -d
  • 等待镜像拉取并启动,检查容器状态(docker ps)。
4. 访问与配置
  • 访问 http://服务器IP:6780(或你设置的端口)
  • 登录:使用 compose.yaml 中设置的 ADMIN_EMAIL / ADMIN_PASSWORD

五、Sub2API 后台使用(两文共通)

1. 创建分组(不同 AI 平台)
  • 分组管理创建分组 → 输入名称、选择平台(OpenAI、Claude 等)
2. 添加账号(以 OpenAI OAuth 为例)
  • 账号管理添加账号 → 选择平台和分组
  • 账号类型选 OAuth → 生成授权链接 → 在浏览器完成登录 → 复制回调 URL 完成授权
3. 创建 API 密钥
  • API 密钥创建密钥 → 选择分组 → 生成
  • 记录 API 端点 (BaseURL)和 密钥(API Key)
4. 客户端使用(如 cc switch)
  • 供应商名称:自定义
  • API Key:从 Sub2API 复制
  • 请求地址:Sub2API 端点(https://api.你的域名.comhttp://IP:端口
  • 模型列表:自动获取,选择所需模型(如 gpt-5.5

六、安全与维护建议

方面 建议
访问安全 使用 Cloudflare 代理(隐藏真实 IP)、开启 HTTPS(Flexible/Full)、禁用 HTTP 内网明文
数据安全 定期备份 PostgreSQL 和 Redis 数据目录;环境变量中的密码使用强密码
更新 Docker 方式:docker compose pull && docker compose up -d 脚本方式:重新运行安装脚本
监控 定期检查容器日志(docker logs sub2api)或服务器资源占用

七、常见问题速查

问题 可能原因 解决方案
无法访问后台 端口未开放(防火墙/安全组) 在 VPS 控制台允许自定义端口(如 10086/6780)
授权后无法跳转 OAuth 回调地址不含端口 使用域名+Origin Rule 解决(非 Docker 方式)或直接用 IP+端口访问
模型调用失败 分组/账号未正确关联 检查账号是否激活,分组是否勾选正确
Redis 连接错误 密码未设置或 compose 中不一致 确保 REDIS_PASSWORD 与 Redis command 中的 --requirepass 一致

根据你的技术偏好,可以选择通用脚本部署 (更贴近系统底层)或 Docker 部署(更易维护)。建议优先尝试 Docker 方式,开箱即用。如果有任何具体步骤卡住,可以告诉我你选择的部署方式和遇到的现象,我可以进一步协助排查。

相关推荐
甲维斯1 小时前
Claude“山寨版”来了,支持中文,可配“任意模型”
人工智能·ai编程
测试员周周1 小时前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例
RSTJ_16252 小时前
PYTHON+AI LLM DAY THREETY-NINE
开发语言·人工智能·python
怕浪猫2 小时前
荒岛原始无工业、无电力、无设备,从零搭建最基础计算机体系
人工智能·设计模式·面试
2601_949499942 小时前
金价涨、光模块跌?不,它们之间存在更复杂的四重关联
人工智能·区块链
tanis_20772 小时前
Deepseek V4 Pro 新手极速上手指南
人工智能·语言模型
AI袋鼠帝2 小时前
阿里最强视频模型!千问App首发灰测 HappyHorse 1.0
人工智能
tanis_20772 小时前
扫描版中文 PDF 怎么提取文字:用 MinerU 做 OCR + 结构化一体处理
人工智能·pdf·ocr
NOCSAH3 小时前
统好 AI:以 AI 技术重构传统 ERP 核心能力
人工智能·重构