DeepSeek Harness 可视化模型切换插件

前言

DeepSeek Harness(DSH)遵循“一切皆插件”的理念。在开发智能体时,管理多个 API Provider 和模型是一项重复性工作。通常需要手工编辑 settings.yaml,不仅繁琐且容易出错。为了解决这个痛点,社区开发者 jianjianzhu 开发了 dsh-model-switcher。

这是什么

这是一个面向 DeepSeek Harness Web profile 的可视化自定义模型管理插件。它在 插件 → 模型切换器 中提供 Provider 预设、API Key 安全写入、模型发现和默认模型切换,无需手工编辑 settings.yaml。作者为 jianjianzhu,开源协议为 MIT。

核心功能

该插件提供了以下能力:

  • Provider 预设:支持 NyroAPI/SAPI、标准 OpenAI 兼容、OpenRouter 和自定义预设。
  • 内置预设:包含 DeepSeek、SiliconFlow、Gemini、Anthropic、Ollama、LM Studio、vLLM 和 LiteLLM。
  • 配置管理:支持编辑 Provider ID、名称、基础地址和 API 协议。
  • 安全存储:API Key 通过 Harness credentials Remote 写入凭据存储,不写入普通 settings.yaml、日志或导出配置。
  • 模型发现:调用 Harness 模型发现接口测试连接,通过搜索和勾选导入模型。保留服务商返回的模型名称、上下文长度、最大输出和输入类型。
  • 已有 Provider 管理:读取并编辑已有 Provider,支持重命名和删除。保留已有 Provider 的凭据引用,并允许目录型 Provider 继承内置 API 地址。
  • 路径清理:自动清理误填的 /models、/chat/completions、/responses、/messages 路径。
  • 错误诊断:针对认证、权限、地址、超时、TLS 和网络错误提供中文诊断。
  • 请求头安全:支持安全的自定义请求头;敏感鉴权头不会在界面显示。
  • 高级字段调整:可视化调整 Developer Role、finish_reason、流式 usage 和 Token 上限字段。
  • 模板导入导出:导入和导出不含 API Key、Authorization、Cookie 等敏感信息的 Provider 模板。
  • 默认模型:保存多个模型,并可将第一个模型设为默认模型。
  • NyroAPI 特性:预设自动设置 supportsFinishReason: false、supportsDeveloperRole: false 和 maxTokensField: max_tokens。

安装与启用

在插件目录中运行以下命令:

node tests/smoke.mjs
dsh plugin --profile web add .

安装完成后,打开 Harness 的 插件 页面,选择 模型切换器。

典型用法

操作流程非常简单:选择服务商、填写密钥、获取模型、选择默认模型并保存即可。协议、地址和兼容参数默认收纳在高级设置中。

适用场景与注意

  • 版本限制:当前版本仅面向 Web profile。
  • 连接测试:连接测试使用服务商的模型发现端点;不提供模型列表的网关仍可手动填写模型 ID。
  • 特殊服务商:Azure 等需要专用协议或非标准模型发现地址的服务仍需后续适配。
  • 安全性:API Key 通过 Harness credentials Remote 写入凭据存储。插件不会把明文密钥写入 settings.yaml、日志或导出配置。

结语

该插件通过可视化的方式降低了管理多个 Provider 的门槛,同时保证了密钥安全。更多细节和源码,请参考目录页或 GitHub 仓库。

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

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

小夜