OmniRoute 管理
OmniRoute 已接入 All API Hub 的管理站点功能。配置一次连接后,即可在插件中查看、创建、编辑和删除网关的渠道(provider 连接),也可以从账号密钥或 API 凭据库导入。
OmniRoute 是自建 AI 网关,本身没有账号语义(余额、套餐、签到)。它只能作为管理站点接入,不会出现在账号列表里。
配置连接
- 打开 设置 → 管理站点,将站点类型切换为 OmniRoute。
- 填写 部署地址:你在浏览器里打开 OmniRoute 面板时用的地址,例如
http://localhost:20128。 - 填写 访问令牌:在网关的 Settings → Access Tokens 中生成
admin作用域的令牌,粘贴到插件中。令牌以oma_开头。 - 点击 验证连接,检查令牌是否有效并具备
admin权限。验证通过后即可进入 渠道管理。
OmniRoute 全程使用 Bearer 令牌,不依赖 Cookie 会话,所以插件不需要临时窗口,也不需要同源访问。远程部署同样可直接使用,只要浏览器能访问该地址。
关于令牌权限
admin 作用域的访问令牌等同于该网关上全部上游渠道的密钥,请只在可信环境保存。渠道的读取只需要 read 作用域,但创建、修改、删除渠道需要 admin,因此插件按 admin 校验配置并给出提示。
如果只想减少暴露面,可以在网关上把令牌换成作用域更小的,但那样只能读取渠道,无法在插件里导入或修改。
管理渠道
在 渠道管理 页面选择 OmniRoute 后,可以搜索、查看详情、新建、编辑和删除渠道。
渠道字段:
| 字段 | 说明 |
|---|---|
| 名称 | 网关侧的连接名称 |
| provider | 网关内置的 provider 标识,例如 openai、anthropic、deepseek |
| 地址 | 连接级的上游地址。留空表示沿用所选 provider 的默认地址 |
| 密钥 | 上游凭据 |
| 默认模型 | 请求未指定模型时使用 |
| 优先级 | 网关按这个数字升序选择渠道,数字越小越先被使用。新建的连接由网关排到最后;仅编辑时可改 |
| 状态 | 仅编辑时可改 |
| 连接测试 | 只读:网关最近一次测试该渠道的结果(正常 / 失败 / 不支持测试 / 未测试) |
| 最近错误 | 只读:上一次失败时网关给出的原因。网关自己已对报文脱敏;成功或未测试时没有这一行 |
地址覆盖:OmniRoute 的 provider 静态配置可以被连接级地址覆盖,所以任意中转站都能单步接入——选择 OpenAI 兼容的 provider,再填上中转地址即可,不需要先在网关建 provider node。
模型前缀(高级):如果需要用一个独立前缀寻址(前缀/模型),在创建渠道时展开 高级,填写 自定义模型前缀。插件会先在网关新建 provider node,再创建引用它的连接;若连接被网关明确拒绝,插件会回收刚建的 node。删除渠道时,插件保留 provider node,避免连带删除其他渠道或模型别名;需要清理节点时,请到网关面板操作。这条路径需要同时填写地址。
关于状态:网关的创建接口不接受启用状态,新建的连接一律先处于未启用状态,由网关自己的连接测试在稍后决定是否启用。因此新建表单里没有状态字段,导入结果也不代表渠道已经连通。
关于连接测试:渠道详情里会显示网关自己对该渠道最近一次测试的结果,失败时还会显示网关给出的原因(lastError)。这条报文由网关生成,网关自己已做过脱敏(去掉凭据、token、密钥块、堆栈与绝对路径),插件原样展示;要重新测试请到 OmniRoute 面板。
关于优先级:一个 provider 下的多条连接按 priority 升序被选中,新建时由网关自动排到最后。插件只在编辑渠道时提供这个字段,没有改动就不会写回,所以导入不会打乱网关已有的顺序。
渠道密钥的可见性
网关的渠道列表默认只返回打码后的密钥,插件在列表和匹配中只使用这份打码数据。只有在需要判断「同地址的渠道是不是同一把凭据」时,插件才会通过网关的 GET /api/providers/client 读取明文,并在比较后丢弃。该接口是网关自身的实现细节,随时可能收紧;一旦读不到,插件会自动退化为「按地址与名称匹配」,导入仍然可用。
导入账号密钥或 API 凭据
- 在 设置 → 管理站点 中选中并配置 OmniRoute。
- 进入 密钥管理 或 API 凭据库,点击条目操作区中的管理站点导入按钮。
- 在导入弹窗中确认名称、provider、地址、密钥和默认模型,然后提交。
- 批量导入时,在密钥管理中勾选多个条目,使用管理站点的批量导入入口,先检查预览再执行。
导入的预填规则:
- 来源地址命中已知的一手 provider 地址(例如
https://api.deepseek.com)时,预选该 provider,并且不再覆盖地址。 - 其他地址一律预选 OpenAI 兼容的 provider,并把来源地址写成连接级覆盖。
- 来源账号声明为 Anthropic 或 Gemini 协议时,改选对应的 provider。
导入一律走单条创建接口,不会调用网关的批量或导入入口——那两个入口会逐条校验网关能不能连到源站,会把网关的出网可达性变成导入成败的一部分。凭据是否有效仍由插件自己的验证流程判断。
导入成功并不代表渠道已经连通:网关不校验凭据,也不做可达性确认。渠道详情里的连接测试一行会显示网关自己测试的结果,失败时连同网关给出的最近错误一起显示;要重新测试请到 OmniRoute 面板。源凭据本身是否有效仍由插件自己的验证流程判断。
做不到的事
- 管理站点模型同步:网关上模型来自 provider 目录、网关级别名和禁用列表,连接上只有「默认模型」一个字段,没有「按渠道写回模型列表」的落点。所以 OmniRoute 不提供模型同步。
- 网关密钥(API Key)工作区:网关自身的密钥列表默认打码,取明文需要额外开关。插件目前只在渠道工作区里管理渠道,网关密钥请到面板的 API Manager 页面处理。
- 网关密钥明文读取:网关的密钥列表恒为打码,明文只能通过单个密钥的 reveal 接口获取,且需要网关开启相应开关。
常见问题
- 提示令牌作用域不足? 换一个
admin作用域的令牌。面板的 Settings → Access Tokens 里可以重新生成。 - 提示名称冲突? 网关不接受同名连接。换个名称,或先到面板删除同名连接。
- 内网中转导入后不工作? OmniRoute 对落库的自定义地址有 SSRF 防护,默认拦截私网与云元数据地址。渠道能建成,但运行时会被网关自己拦下。请为该 provider 调整网关的防护配置,或改用网关本机可访问的地址。
- 提交后提示结果不确定? 网关返回了 5xx,写操作是否生效未知。先刷新列表核对,再决定是否重试。
- 能否迁移到其他站点? 可以在渠道列表开启「渠道迁移」。已知的一手 provider 类型可以映射到目标站点对应类型;自带模型前缀的 provider node 连接不在迁移范围内,预览会提示。OmniRoute 自身的渠道没有模型清单,迁移不会带上模型。
