前言¶
DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。dsh-router 是由 CARVIN94 开发的插件,旨在为 DSH 提供一个 OpenAI 兼容的 API 路由层。它不需要额外部署网关服务,而是直接作为 DSH Web 的插件运行,在宿主服务的 /v1 路径上原生暴露 OpenAI 兼容接口。这解决了传统多服务场景下需要维护独立端口、处理跨域以及同步配置的痛点。
该插件遵循 MIT 许可证。
核心能力¶
dsh-router 将供应商管理、账号池调度、组合回退策略以及凭证存储统一在核心层处理,遵循以下原则:
- 插件化集成:以插件形式嵌入 DSH Web,随宿主启停,天然同源,无需处理 CORS。
- 供应商与扩展即插即拔:供应商和扩展(如扩展命令改写)均为独立插件,可在 DSH 插件面板中单独开关。
- 模型与策略统一管理:模型能力不内置在插件中,由核心统一管理;账号池的选号、冷却、禁用以及组合回退策略只需在核心层配置一次。
- 单一凭证库:所有供应商凭证存储在
auths/credentials.sqlite,由核心统一管理生命周期。 - 组合即模型:在路由面板配置好的组合会自动带出为 DSH 模型目录下的
router选项,可直接在设置中调用。 - Team 友好支持:支持 Agent Team 场景,基于会话身份进行亲和选号,不同会话尽量隔离到不同连接,统计也会按会话隔离,避免互相拖累。
- 用量可观测:提供面板看板,可查看用量趋势、Top 榜及最近请求记录。
安装与启用¶
安装前请确保宿主环境满足以下条件:DSH 版本 0.2.0 及以上、Node.js >= 20,并且使用了 web profile。
- 执行安装命令:
dsh plugin --profile web add dsh-router-core
- 重启
dsh web服务。 - 打开 DSH 设置面板,在左侧导航栏「模型」下方会出现「路由」入口。
- 进入「路由」面板,即可添加供应商链接、配置组合策略以及查看用量看板。
配置与使用¶
在路由面板中,主要完成以下配置步骤:
- 添加供应商:支持添加不同类型的供应商(如链接池、API Key、轮询登录等),配置凭证。
- 创建组合:设置供应商的回退链(Fallback),优先级由高到低排列。
- 启用模型:在供应商详情页中启用或禁用具体的模型,或自定义通用能力模型。
配置完成后,这些组合会自动同步到 DSH 的模型列表中,后续调用时直接选择对应的组合名称即可。
注意事项¶
- 版本限制:插件 0.1.x 版本已不再支持,需要 DSH 0.2.0 及以上版本。
- 连接数限制:当连接数小于并发成员数时,前缀缓存会互相驱逐,无法通过选号手段彻底隔离。
- Token 估算:上游返回
usage时使用真实值;若上游不返回usage,则按估算值显示(失败请求不估算)。缓存 Tokens 为输入 Tokens 的子集。 - 数据落盘:用量数据按天聚合并存储在
data/usage.json中。
总结¶
dsh-router 将原本分散的网关功能整合进 DSH 生态,通过插件化机制实现了供应商和策略的灵活扩展。对于需要管理多供应商、多账号以及 Team 任务的 DSH 用户,它提供了一个轻量、统一且易于观测的解决方案。
- 目录页: https://www.skillhub.cn/plugins/CARVIN94/dsh-router
- 源码: https://github.com/CARVIN94/dsh-router