多个大模型API管理太乱?这个开源网关帮你一键聚合

简介

什么是 Octopus ?

Octopus 是一个开源的 LLM API 聚合服务,它可以帮助用户将多个大模型提供商的 API 统一管理,实现协议转换、负载均衡和用量统计。

主要特点

  • 多渠道聚合:连接多个 LLM 提供商渠道,支持单渠道多 KEY 多端点,统一管理所有 API
  • 协议互转:支持 OpenAI ChatOpenAI ResponsesAnthropic 三种协议格式无缝互转,一套配置适应不同客户端
  • 自动同步:自动同步上游模型列表和价格信息,无需手动维护
  • 负载均衡:多渠道智能路由,支持按权重轮询和故障自动重试
  • 数据分析:完整的请求统计、Token 消耗和成本追踪,支持可视化仪表盘
  • 精美 UI:简洁美观的 Web 管理面板,支持桌面端和移动端
  • 多数据库支持:支持 SQLiteMySQLPostgreSQL 三种数据库
  • 开源免费:基于 AGPL-3.0 协议开源,可免费使用和修改

应用场景

  • 个人开发者:统一管理 OpenAIClaudeGemini 等多个 API Key,避免反复切换配置
  • AI 编程工具:为 Claude CodeCodex 等工具提供统一的 API 入口,支持协议自动转换
  • 团队协作:多用户权限管理,按需分配 API 配额和访问权限
  • 成本控制:实时统计 Token 消耗和费用支出,优化 API 使用成本
  • 高可用部署:多渠道负载均衡,单个渠道故障自动切换,保障服务稳定性

Octopus 界面截图

Octopus 是一个为个人打造的美观优雅的 LLM API 聚合服务,让多模型管理变得简单高效。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 bestrui ,选择第三个 bestrui/octopus,版本选择 latest

本文写作时, latest 版本对应为 v0.10.3

docker 文件夹中,创建一个新文件夹 octopus,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/octopus/data /app/data 存放数据库和设置文件等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8735 8080

默认没有对外暴露端口

需要点 + 号自己添加

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 octopus 和 子目录
mkdir -p /volume1/docker/octopus/data

# 进入 octopus 目录
cd /volume1/docker/octopus

# 一键启动
docker run -d \
--name=octopus \
--restart=unless-stopped \
-p 8735:8080 \
-v $(pwd)/data:/app/data \
bestrui/octopus

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
version: '3.8'

services:
octopus:
image: bestrui/octopus
container_name: octopus
restart: unless-stopped
ports:
- "8735:8080"
volumes:
- ./data:/app/data # 数据持久化目录

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 octopus 和 子目录
mkdir -p /volume1/docker/octopus/data

# 进入 octopus 目录
cd /volume1/docker/octopus

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中访问 http://<群晖IP>:8735 即可看到登录界面

使用默认账号密码登录:用户名 admin,密码 admin

登录后的主界面

安全起见,进设置立即修改默认密码

在「渠道管理」中添加你的 LLM API 渠道,还是以 硅基流动 为例

  • 渠道名称:例如 :SiliconFlow
  • 渠道类型:支持 OpenAI Chat 等多种协议,这里用了 Anthropic
  • Base URL:填入: https://api.siliconflow.cn
  • API Key:填入你在 硅基流动API Key
  • 模型:可以手动填入,也可以刷新之后选取

目前硅基流动(SiliconFlow)注册就送 16 元的代金券

注册地址:

https://cloud.siliconflow.cn/i/NkUiXVhQ

添加完成后

在「分组管理」中创建模型分组

生成 API Key 供客户端调用

接下来需要复制刚生成的 API Key

可以在编程工具或者其他工具中调用

  • 提供商名称: 例如 octopus
  • API 密钥: 上一步创建并复制的 API Key
  • 端点设置:默认填了 OpenAI 的,地址都一样,用 http://<群晖IP>:8735/v1 即可

随便问个问题

日志中能看到我们的请求

注意事项

  1. 修改默认密码:首次登录后请立即修改默认密码 admin,避免安全风险
  2. 数据持久化:确保 /app/data 目录已正确挂载,配置文件和数据库存储在此目录
  3. 端口配置:本文使用 8735 端口,请确保该端口未被其他服务占用

参考文档

bestruirui/octopus: One Hub All LLMs For You | 为个人打造的 LLM API 聚合服务
地址:https://github.com/bestruirui/octopus

Linux.do 社区讨论
地址:https://linux.do/t/topic/1316708