dsh-llm-pool v0.1.1
DSH 插件 · 统一模型池

整合多个模型服务商
一个统一的模型池

dsh-llm-pool 将多个真实模型服务商注册为一个统一模型池。 会话优先固定一个成员以复用前缀缓存,新会话按负载分配;调用失败时自动切换。

会话粘性 全局均衡 自动故障切换 能力感知

DSH 0.2.1-rc.5 · Node.js 22.19+ / 24 · MIT · 27 tests

routing model live
session pool-a model-a
virtual provider pool-a 3 members
real members model mapping
provider-a active model-a
provider-b standby model-a-alt
provider-c cooling model-a
sticky balanced failover ready 0 keys stored

路由示意,不是实际界面截图

概述

统一模型池的工作方式

每个真实服务商仍然使用自己的 endpoint、密钥和模型配置。
插件把它们注册成一个虚拟 provider,在模型选择器里作为统一入口出现。

每个会话优先固定一个成员;新会话分配到当前负载较低的成员;只有调用失败或能力不匹配时才迁移。

功能

核心能力

01

会话粘性

同一会话尽量固定在一个成员上,前缀缓存不因每次调用换渠道而失效。新会话才进入全局均衡。

02

首 token 前切换

认证、配额、限流、5xx、超时会进入冷却并换下一个成员;已经输出内容后交给 DSH 的 durable retry,不拼接两个渠道。

03

能力感知

上下文和输出取最小,推理档位取交集并支持逐成员映射,图片取并集。不满足当前请求的成员自动跳过。

流程

一次请求的处理流程

  1. 01

    DSH 请求统一模型

    会话记录 pool-a / model-a,上下文、推理档位和工具照常校验。

  2. 02

    池子选出真实成员

    新会话按当前绑定数均衡;已有会话用绑定;模型映射到该成员的实际 id。

  3. 03

    失败按阶段处理

    首 token 前换下一个候选并记录冷却;已输出后终止,由 DSH 重新执行整个 step。

routing trace live
session 5d2f…c91a sticky
virtual pool-a / model-a resolved
member provider-a · model-a healthy
fallback provider-b · model-a-alt ready
cache prefix warm reused
example trace · no keys stored · no proxy

安装

安装与配置

把 web 换成你的 profile 名。安装后刷新客户端,在 Settings → Models 底部打开“统一服务商池”。

dsh plugin --profile web add dsh-llm-pool

Test 会发起真实计费请求;插件不读取、不保存 provider key。

01

建池

选择成员,自动聚合模型,确认映射,保存。

02

选模型

在 /model 或输入框菜单选择 pool-a → model-a。

03

照常使用

子代理、默认模型、AgentTeams 成员都可以选它。

限制

使用限制与边界

不是新的模型供应商

虚拟 provider 复用你已有的真实路由,不代理请求,也不替换 provider 配置。

不保存 API key

请求仍由 DSH 的 provider 层发出;插件不读取、不记录、不上传密钥。

默认不是轮询

默认 sticky:尽量让一个会话固定一个成员。需要时可以切到 round-robin 或 failover。

不拼接两个回复

已经产生可见输出后失败,调用终止,由 DSH 重试整个 step;不会把两个渠道的内容接在一起。

开始使用

安装 dsh-llm-pool