Aether 使用经验

最近我也用上 AI(感谢站内的佬友们提供的公益站:grinning_face_with_smiling_eyes:),公益站注册多了发现配置起来比较麻烦,且模型可用性也是处于薛定谔的状态。这时我就想要一个工具能够管理这些 AI 服务商提供服务,并提供统一的出口,还能够检测服务商提供的模型的可用性。

我发现了 Aether 项目(佬友开发的),它是一个自托管的 AI API 网关,提供统一的 API 入口,无缝对接主流 AI 服务和 CLI 工具。这正是我需要的,而且它提供的界面也吸引到我了。当天就立马部署上试试。部署非常迅速,由于我是第一次使用 AI API 网关,项目缺少使用说明,但是摸索着总算用了起来。再次感受到 Aether 好用(也找到检测模型可用的方式)。下面我将举个例子来介绍它是如何使用的。

假设我想使用它对接某个服务商对外提供 Gemini 2.5 Pro 模型。

模型管理

第一步到「模型管理」里面添加 Gemini 2.5 Pro 模型,这个模型即是统一对外的模型。

模型选好了之后,那它有谁提供呢?这就进入「提供商」管理。提供商顾名思义就是提供服务商家。

提供商

添加提供商

第二步到「提供商」里添加某个服务商来提供 Gemini 2.5 Pro 模型能力。

填入以下信息:

  • 名称:这里添加服务商的名字。名字任意,选择自己能识别就好
  • 其他可选项
    • 主站链接:会用在站点的端点 Base URL 中,建议填入
    • 描述:提供商的描述
    • 计费类型:提供商端点是如何计费的
      • 月卡额度
      • 按量付费
      • 免费套餐
    • 代理配置:支持 http 和 socks5 代理,可配置用户名和密码
      • http://ip:port
      • socks5://ip:port

提供商创建后可以为其添加 API 端点和密钥。

点击刚刚创建的「测试」提供商会弹出提供商的详情页。在详情页中可以设置 API 端点和密钥。

添加 API 端点

点击「添加 API 端点」

填入以下信息:

  • API 格式,支持多种格式
    • CLAUDE
    • CLAUDE_CLI
    • OPENAI
    • OPENAI_CLI
    • GEMMI
    • GEMMI_CLI
  • BASE RULE
  • 自定义路径,留空默认
    • CLAUDE 默认 /v1/messages
    • OPENAI 默认 /v1/chat/completions
    • GEMNI 默认 /v1beta/models/{MODEL}

端点可以按需添加多个,看提供商支持哪种格式的 API。这里我们添加两个端点 CLAUDE 和 OPENAI。

密钥管理

接下就就是重点,「添加密钥」,就是提供商生成的密钥,用来访问模型的。New API 提供商在「令牌管理」里面可以找到。

填入以下信息:

  • 密钥名称
  • API 密钥
    • 填入从提供商那里获得的密钥
  • 支持的 API 格式
    • 选择提供商支持的格式,这里我就选择的 OpenAI 的
  • 自动获取上游可用模型
    • 表示该密钥允许使用系统从上游获取到的所有可用模型,自动同步模型列表变化。
    • 启用后,在模型管理模型映射正则表达式能匹配到模型。

支持添加多 Key。

模型列表

「模型列表」选择在「模型管理」中创建的模型。

模型映射

「模型映射」即是模型列表中的模型映射提供商提供的模型,由于提供商提供的模型名字不一定是标准名字。这里模型映射将 Aether 提供的标准名称映射到提供商提供模型的模型名称上。

「模型映射」功能使用需要先在「模型管理」先关联提供商。

点击「模型管理」的 Gemini 2.5 Pro 模型,显示详情页。选择「链路控制」关联提供商,选择刚刚创建的 DEV88公益 提供商。

再去「提供商」页面点击 DEV88公益 详情页,可以看到「模型列表」中出现 Gemini 2.5 Pro 模型。

接下就是将这个模型关联到提供商提供的模型来。点击「添加映射」

  • 目标模型,选择 Gemini 2.5 Pro 模型。
  • 映射名称,点击刷新按钮可以获取上游的模型,选择 Gemini 2.5 Pro 模型对应的模型

在模型映射中,点击下面按钮可以测试提供商的模型可用性。

独立密钥

最后在「独立密钥」中创建一个独立余额的 API Key。

  • 密钥名称,必填
  • 初始余额
  • 有效期设置
  • 速率限制
  • 访问限制
    • 允许的提供商
    • 允许的 API 格式
    • 允许的模型

至此,就可以通过 Aether 的 API 端点和密钥来调用 DEV88公益 的 Gemini 2.5 Pro 模型啦。

比如在 Lobechat 中设置

  • API Key
    • 在「独立密钥」中创建的 API Key
  • API 代理地址
    • 我选择是的 OpenAI 格式,所以是 https://<aether-ip:port>/v1
  • 模型列表
    • 点击「获取模型列表」,可获取到「模型管理」里面创建的 Gemini 2.5 Pro 模型
  • 连通性检查
    • 选择 gemini-2.5-pro,可以检查模型的可用性

额外

New API 签到

意外之喜,Aether 支持 New API 签到。

在「提供商」页面点击 DEV88公益 提供商的扩展操作配置按钮(钥匙图标)。

  • 认证模板
    • 选择 New API
  • 站点地址
  • COOKIE
    • 登入 New API,按 F12,刷新页面,选择一个链接,在它的 Headers 里面找到 Cookie 字段填入。

以上就上是我初步使用 Aether。谢谢大家的阅读。有啥不正确的地方欢迎大家来斧正。还有很多功能没有使用,欢迎大家去尝试,其中也有些功能不太会用,比如说「模型管理」中模型映射的映射规则就没有整明白。欢迎大家来补充。

33 个赞

提供商、多端点、多密钥的关系真是简洁易懂,方便设置;不过渠道模型必须绑定全局模型之后才能使用这点感觉不够灵活,并且提供商界面尽管设置多个密钥的情况下,却还是只能从其中一个密钥向上游获取模型。感觉细节上还有很大进步空间

1 个赞

想补充下,模型映射应该不是必要的,只要关联的全局模型在渠道模型中存在,就能用这个模型,但是具体是精准匹配还是正则匹配就不知道了

1 个赞

是哒,它的提供商、多端点和多密钥用起来很有意思。渠道模型必须绑定全局模型我也是我也是摸索了一边才理清的。

然后如果提供商的模型名字和全局名字不对应,测试模型只有在模型映射中才能成功。

2 个赞

嗯嗯,估计可以配置全局模型的正则来匹配。

有空试试这个。我现在就用的是 litellm。 没有 UI,纯配置文件配置,感觉好麻烦。 :folded_hands:

感谢佬友分享经验 :folded_hands:

这个我用了一段时间了,导师掏钱我搞了一个小鸡,买了一点各家中转站的额度,搭了个中转站给组内用,很不错,很稳定

1 个赞

感谢支持 因为一直在开发新功能 教程这块确实还没写, 不过最近在补充了 看到佬友这边写的很好到时候借鉴一下

说明一下 设置提供商模型必须绑定全局模型的意图是: 对用户端使用的是简洁、统一的模型名称, 也方便做计费统计(不过计费模块最近还在改进)

也有一些小技巧: 比如所有的优先级都可以双击编辑、也可以拖动排序; 端点倍率(CC 1x)也可以通过双击编辑

有问题或者使用建议 欢迎在原帖或者git上提issue我这边都会处理.

2 个赞

发了个帖子详细说明了下模型映射


是支持从多个密钥获取模型的,并且支持配置每个密钥的可用模型和可用端点


可以配置模型的映射规则

使用正则配置多个提供商,后续配置只需打开密钥的自动获取模型

被正则匹配到的模型会自动映射

3 个赞

这个还没来得及部署,不过可以透传那种仅支持codex和claduecode的站点吗?之前接到cpa,明明是在claudecode和codex里用,基本都是报错用不了

可以的,测试 Any Router 公益站,可以正常使用

1 个赞

捉到佬,感谢佬友的开发,期待新功能。 :face_blowing_a_kiss:

一开始没悟到,后来用起来发现全局模型这个设定真的很好,对外统一名称。

今天确实碰到一个问题:全局模型下的模型如何设置调用提供商的顺序呢?尝试着调小提供商中密钥的优先级,发现提供商的顺序没有改。

感谢大佬!我去学习一下。 :smiling_face_with_three_hearts:

提供商页面右上角image
点这里可以修改提供商优先级

1 个赞

找到啦,谢谢佬友!

感谢大佬分享经验

大佬,我想问下添加了两个不同端点的key之后,为什么渠道批量管理模型只能获取到其中一个渠道的模型;另外,这里为什么同时会显示OpenAI和Gemini两个,并且呈现出的模型,为什么是一样的

1 个赞

第一个问题: 没看懂
第二个问题:
这里其实就是用你添加过的key去上游获取的, 如果你添加的key是openai格式那么这里就显示的openai走的/v1/models, 如果你添加的key的gemini走的是 /v1beta/models; 但这里应该是我遗漏了 因为其他的地方 我都统一去重后改成了 “上游模型”
为什么模型都一样, 是因为newapi自带了格式转换, openai支持的模型, 用gemini格式都可以请求; 当然现在Aether也支持的格式转换, 只需在端点设置中开启.

另外 不建议在这里添加上游模型. 在这里添加上游模型, 自动创建的全局模型计费都是0. 还是建议先创建全局模型, 再正常关联提供商, 会有正常的计费;

关联提供商有两处地方: 1. 全局模型里(方便一个模型关联多个提供商) 2. 提供商详情的模型列表里(方便该提供商一次关联多个模型)

第一个问题可能是: 建议在密钥的权限管理中获取和限制密钥的模型, 然后如果名称跟全局模型不一样再在下方添加映射.

好的,多谢大佬 :heart_decoration: