项目准备

  • new-api: 强大的 AI 模型接口管理与分发系统。
  • chatgpt-next-web: 跨平台、轻量级且高度可定制的 ChatGPT 网页终端。
  • g4f (GPT4Free): 聚合多种免费大模型接口的逆向项目。
  • gemini-fastapi: 将 Google Gemini 网页版 Cookie 转换为 OpenAI 标准 API 格式的项目。

容器化部署

我们使用 docker-compose 将这四个服务部署在一起。为了方便且安全,我们不使用静态 IP,而是直接利用 Docker 的内部网络,通过“服务名”让它们互相通信。外部请求全部交给前端 chatgpt-next-web 处理。

1. 准备环境变量文件

由于 gemini-fastapi 需要用到你的个人 Cookie 等敏感信息,建议在部署目录下新建一个 .env 文件来统一管理。

创建 .env 文件并填入你的 Gemini 抓包数据:

1
2
3
4
5
# 你自定义的一个密钥,用于在 new-api 中调用此接口时验证
API_KEY=your_custom_gemini_key
# 抓取 Google Gemini 网页版的 Cookie 填入下面两项
SECURE_1PSID=你的__Secure-1PSID值
SECURE_1PSIDTS=你的__Secure-1PSIDTS值

2. 创建 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
services:
# 1. 核心路由与管理中心
new-api:
image: calciumion/new-api:latest
container_name: new-api
restart: always
ports:
- "3000:3000"
volumes:
- /home/ubuntu/data/new-api:/data
environment:
- TZ=Asia/Shanghai

# 2. 前端对话 Web UI
chatgpt-next-web:
image: yidadaa/chatgpt-next-web
container_name: chat-next-web
ports:
- "4000:3000"
environment:
- TZ=Asia/Shanghai
# 利用 Docker 内部网络直接访问 new-api 的 3000 端口
- BASE_URL=http://new-api:3000
# 填入稍后在 new-api 中生成的令牌 (Token)
- OPENAI_API_KEY=sk-xxxxxx
# 你的网页端访问密码,防止被白嫖
- CODE=your_password
restart: always
depends_on:
- new-api

# 3. G4F (白嫖模型接口)
g4f-slim:
image: hlohaus789/g4f:latest-slim
container_name: g4f-slim
restart: unless-stopped
ports:
- "1337:8080"
volumes:
- /home/ubuntu/data/gpt4free/generated_media:/app/generated_media
- /home/ubuntu/data/gpt4free/har_and_cookies:/app/har_and_cookies
environment:
# 通过 host.docker.internal 访问宿主机的 mihomo http 代理
- G4F_PROXY=http://host.docker.internal:7890
# 关键配置:打通容器与宿主机的网络解析 (兼容 Linux 宿主机)
extra_hosts:
- "host.docker.internal:host-gateway"

# 4. Gemini Cookie 逆向接口
gemini-fastapi:
image: ghcr.io/nativu5/gemini-fastapi:latest
container_name: gemini-fastapi
restart: on-failure:3
ports:
- "8000:8000"
volumes:
- ./config:/app/config
- ./data:/app/data
- ./cache:/app/cache
environment:
- CONFIG_SERVER__HOST=0.0.0.0
- CONFIG_SERVER__PORT=8000
- CONFIG_SERVER__API_KEY=${API_KEY}
- CONFIG_GEMINI__CLIENTS__0__ID=client-a
- CONFIG_GEMINI__CLIENTS__0__SECURE_1PSID=${SECURE_1PSID}
- CONFIG_GEMINI__CLIENTS__0__SECURE_1PSIDTS=${SECURE_1PSIDTS}
- GEMINI_COOKIE_PATH=/app/cache

在同级目录下执行启动命令:

1
docker-compose up -d

New API 渠道配置指南

现在你的四大金刚已经启动。接下来登录 new-apihttp://服务器IP:3000,默认账号 root,密码 123456),将后端的两个免费接口接入到系统中:

接入 G4F 渠道

在“渠道”页面添加新渠道:

  • 类型:选择 OpenAI
  • 模型:填入 G4F 支持的模型名称(如 gpt-3.5-turbo, gpt-4 等)
  • 密钥:随便填任意字符(例如 sk-g4f),G4F 本地部署通常不需要强验证。
  • **代理地址 (Base URL)**:填入 http://g4f-slim:8080 (注意:这里我们直接用内网服务名 g4f-slim 和容器内部端口 8080,安全且高效)。

接入 Gemini 渠道

继续添加新渠道:

  • 类型:选择 OpenAI(gemini-fastapi 已经将接口格式转换为了 OpenAI 标准格式)。
  • 模型:选择 gemini-pro, gemini-1.5-pro 等。
  • 密钥:填入你刚才在 .env 文件中设置的 API_KEY(即 your_custom_gemini_key)。
  • **代理地址 (Base URL)**:填入 http://gemini-fastapi:8000

生成最终令牌并使用

  1. 进入“令牌”页面,新建一个令牌并复制它生成的 Key。
  2. 将这个 Key 填入 docker-compose.ymlchatgpt-next-web 服务的 OPENAI_API_KEY 变量。
  3. 执行 docker-compose restart chatgpt-next-web 重启前端容器。
  4. 打开 http://服务器IP:4000,输入你在配置中设置的 CODE 密码,即可开始畅享你聚合了各大模型能力的私人 AI 助手!