dsh-multi-model-provider:模型目录、画像构建与 Agent 模型选择

前言

在 DeepSeek Harness (DSH) 的插件化架构中,管理多模型提供商的目录、构建模型画像以及为 Agent 选择主模型是日常开发中的常见需求。dsh-multi-model-provider 插件由 AlexKaiqi 维护,旨在提供统一的模型目录、画像构建支持、Agent 模型选择以及多模态运行时能力。该插件使用 MIT 许可证,属于模型推理类别。

核心功能

该插件主要提供以下三项核心能力:

  1. 模型注册:将语言模型和其他任务模型(如图像、语音、视频、Embedding 等)注册到统一的目录中。
  2. 画像构建:为已注册或选中的模型提供基于证据的画像,并进行八 Token 速度探测。
  3. Agent 模型选择:从动态目录中选择 Agent 的主语言模型。

使用方法

Agent 模型选择

其他插件通过注入 modelCatalog 来读取目录信息。要获取当前可用的 Agent 模型候选列表,可以使用 snapshot()。随后,通过 selectAgentModel() 指定 Agent 使用的主模型。

// 注入 modelCatalog
export const inject = ['modelCatalog']

// 获取当前的语言模型候选列表
const snapshot = await ctx.modelCatalog.snapshot()

// 选择指定的主模型
await ctx.modelCatalog.selectAgentModel({
  provider: 'volcengine',
  model: 'doubao-seed-1-6',
})

模型路由与任务模型管理

插件提供了命令行工具来管理模型路由和任务模型注册。

语言模型路由

使用 configure_model_route 和 list_model_routes 来管理主语言模型。

// 配置模型路由
await ctx.modelCatalog.configure_model_route(...)

// 列出所有模型路由
await ctx.modelCatalog.list_model_routes()

任务模型注册

对于非语言模型(如 reranking 等),使用 register_task_model 和 list_task_models 进行注册和管理。

// 注册任务模型
await ctx.modelCatalog.register_task_model(...)

// 列出任务模型注册
await ctx.modelCatalog.list_task_models()

禁用路由

如果需要禁用连接上的所有路由,可以在 select_task_models 中传入空数组。

// 禁用连接上的所有路由
await ctx.modelCatalog.select_task_models({ ids: [] })

设置界面配置

在 DSH 0.1.2-rc.1 及更高版本中,可以通过设置界面直接配置火山引擎(Volcengine Ark)。操作路径为:
Settings → Models → Configure Volcengine Ark。

在该页面中,需要输入官方按量计费的基础 URL https://ark.cn-beijing.volces.com/api/v3,填写 API Key,获取账户目录,选择模型 ID,然后保存。列表中的错误依然可见,也可以手动输入精确的模型 ID 或 ep-* 端点 ID。

重要说明

  1. 非语言模型调用限制:安装此插件并不会使图像、语音或实时模型变为可调用状态。实时模型的适配器由 dsh-realtime-voice 提供。
  2. 路由状态:路由在被声明为“仅注册”状态,直到其声明的运行时适配器和凭据可用。
  3. 已禁用的模型:OpenAI Sora 2 / Pro 和 Music 3.0 因提供者 API 为遗留接口或新用户不可用而保持禁用状态。
  4. 元数据持久化:仅用于发现的 maxTokens 元数据会被验证,但不会作为请求默认值持久化,以防止大容量导致不兼容的 max_output_tokens 值。
  5. 凭据引用:注册工具接受凭据引用(如 OPENAPI_KEY),而不是实际的 API Key 值。用户仅在安全的设置凭据字段中输入实际值。
  6. 数据真实性:插件不会编造基准测试分数、延迟范围或 lastProbe 结果。lastProbe 仅通过 Agent 显式调用 validate_model_portrait(liveProbe=true) 记录。

总结

该插件是 DeepSeek Harness 中管理多模型生态的核心工具之一。通过它,开发者可以集中管理模型目录和画像,并通过编程方式控制 Agent 的模型选择。更多细节和源码可参考项目仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜