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 认证头优先。
- 提供方资料(Provider Profile)自带的
- 配置生效:修改配置或更换模型的选择后,下一次请求立即生效,无需重启进程。