dsh-custom-headers:DeepSeek Harness 模型级自定义请求头插件

DeepSeek Harness (DSH) 的原生提供方配置通常作用于整个路由,无法区分同一路由下的不同模型。在企业网关、自研代理或 OpenAI 兼容端点的部署中,不同模型往往需要携带不同的请求头(如租户标识、计费标签或自定义鉴权)。dsh-custom-headers 插件提供了按模型粒度管理请求头的能力:定义命名的配置,并在模型调用时自动附加。

核心功能

  • Per-model custom request headers:为特定模型附加自定义 HTTP 请求头。
  • Define named header profiles:支持定义多个命名的请求头配置,每个配置包含一组键值对。
  • Auto-apply headers:调用模型时自动解析并附加选定的请求头配置,实时生效,无需重启。
  • Persist configuration:配置保存在 DSH 自身的设置层中,重启后保留。
  • Validate header names and values:在保存时校验请求头名称和值的合法性。

安装与启用

安装前请确认已安装 DeepSeek Harness 0.1.7-rc.1 或 0.1.5-rc.2。

通过 DSH CLI 将插件添加到指定的 Profile(以下示例使用 web Profile,请按需替换):

dsh plugin --profile web add dsh-custom-headers

如果插件托管在 GitHub,可以使用以下命令:

dsh plugin --profile web add github:EPCN-fla/dsh-custom-headers

或者安装本地构建的 .tgz 包:

dsh plugin --profile web add /path/to/dsh-custom-headers-0.1.0.tgz

使用步骤

1. 创建请求头配置

打开 设置 页面,进入 插件 或 插件配置(取决于 DSH 版本):

  • DSH 0.1.7+:在插件详情页找到 自定义请求头 配置卡片。
  • DSH 0.1.5:在 设置 → 插件 → 插件配置 中找到 自定义请求头 卡片。

点击卡片展开后,点击 添加配置。为配置命名(如 gateway),然后添加请求头名称与值。点击 保存。系统会校验 ID 是否重复、请求头名称和值是否合法。

2. 为模型选择配置

打开 设置 → 模型,展开某个提供方卡片,在 模型目录 中找到目标模型。展开 容量 折叠区,在 请求头 下拉框中选择配置:

  • 默认:不附加自定义请求头。
  • 选择具体配置 ID:该模型后续的每次调用都会自动附加该配置的请求头。

配置存储格式

插件将配置持久化在 DSH 的用户设置中。在 DSH 0.1.7+ 版本中,数据存储于 Profile 的 cordis 补丁中;在 0.1.5 版本中,数据存储于用户设置文档的同名命名空间。

配置示例:

custom-headers:
  profiles:
    - id: gateway
      headers:
        - name: X-Tenant
          value: acme
        - name: X-Trace-Id
          value: "1"

模型行上的选择(llm-pi-ai 提供方配置):

llm-pi-ai:
  providers:
    acme:
      models:
        - id: my-model
          headersProfile: gateway

适用范围与限制

  • 适配器限制:仅对 pi-ai 适配器(llm-pi-ai)的调用生效。其他适配器(如 deepseek-official)不经过此路径,配置不会生效。
  • 优先级规则:
    • 提供方资料(Provider Profile)自带的 headers 优先级高于模型级的自定义请求头。
    • DSH 的归属标识头(如 User-Agent)始终由 Harness 决定,同名自定义项会被过滤。
    • 凭据认证头(如 Authorization)由 SDK 管理,与自定义头同名时,SDK 认证头优先。
  • 配置生效:修改配置或更换模型的选择后,下一次请求立即生效,无需重启进程。

资源与许可

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

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

小夜