dsh-request-params:为 dsh 的模型请求添加自定义参数

前言

DeepSeek Harness(DSH)在发送模型请求时,只包含其适配器已知的字段。一些网关,例如 OpenRouter,需要更多字段:供应商路由与顺序、fallback 模型、reasoning 预算、会话 ID 等。现有插件往往只覆盖某个片段,难以满足通用需求。dsh-request-params 插件用一个页面为所有渠道的请求添加、替换或删除字段与头,并支持 OpenRouter 的供应商路由与 fallback 模型、reasoning effort、采样参数以及任意自定义字段。

插件定位

  • 名称:dsh-request-params
  • 维护者:xiaohai-78
  • 版本:0.2.1
  • 许可证:MIT
  • 分类:模型推理

该插件在请求离开 DSH 前应用参数,并在渠道页面提供实时预览与请求日志,让你在发送前确认内容,并在事后查看网关响应。

核心功能

  • 按渠道组织参数:列出 DSH 已配置的渠道(官方 DeepSeek 路由与所有 llm-pi-ai 路由),打开某个渠道即可为它添加参数。其他地址的参数在“其他地址”中管理。
  • 实时预览:选择模型后,页面显示该渠道的参数会向请求添加哪些字段(JSON 格式),包括未保存的编辑。预览不会实际发送请求。
  • OpenRouter 供应商路由:通过搜索与排序选择供应商,设置是否允许其他供应商、排除某些供应商、排序、价格上限、量化、速度偏好等。不提供该模型的供应商会被标记,导致“未找到端点”的列表会在保存前被提示。
  • Reasoning effort 与采样参数:为 reasoning 设置 effort、max_tokens、exclude,以及 top_k、min_p、top_a、repetition_penalty 等 OpenRouter 标准未包含的采样字段。
  • 会话粘性:在请求体中添加 session_id,并在头中添加 x-session-id,使一次对话保持在同一个供应商上,以命中缓存。
  • 应用归属头:为 OpenRouter 添加 HTTP-Referer 和 X-OpenRouter-Title 头,用于在网关端标记流量来源。
  • 请求日志:每个渠道显示最近请求的状态、添加的字段以及网关拒绝时的响应。全局请求日志列出所有由 DSH 发出的模型请求。
  • 安全与容错:核心字段(messages、tools、model 等)与凭证头(Authorization、x-api-key 等)不可修改。密钥通过环境变量({{env:NAME}})注入,不会在界面显示。应用参数出错时,请求会以原样发出,不会失败。
  • 其它网关支持:除了 OpenRouter,还可为其它网关添加自定义字段与头,例如 vLLM 的 chat_template_kwargs、Helicone 头、Cloudflare AI Gateway 缓存头、OpenAI 的 prompt_cache_key 等。
  • 工作流与日常体验:提供“暂停全部”开关;未保存的编辑在离开页面后保留;支持 Ctrl/⌘ + S 保存;删除可撤销;外部修改的规则文件会被检测而非覆盖;参数可导出/导入为 JSON;支持中英文、浅色/深色模式,移动端适配。

安装与启用

安装命令如下(需在终端中执行):

dsh plugin --profile web add dsh-request-params

如果从源码运行 DSH,则使用:

pnpm dsh plugin --profile web add dsh-request-params

安装后重启 dsh web,侧边栏“插件”下方会出现“Request Params”入口。

典型用法:OpenRouter 供应商路由

以下步骤演示在 OpenRouter 渠道中配置供应商路由。

  1. 将 DSH 路由到 OpenRouter。在 llm-pi-ai 中,openrouter 是内置供应商,只需配置 API Key 环境变量:
   - name: '@deepseek-ai/dsh-llm-pi-ai'
     config:
       providers:
         openrouter:
           apiKeyEnv: OPENROUTER_API_KEY

在 DSH 的对话中选中一个 OpenRouter 模型。

  1. 打开“Request Params”,选择 openrouter 渠道。点击“Provider routing”,输入一个供应商(如 deepseek)并按回车。如果该供应商不提供预览的模型,会显示警告;选择一个它支持的模型。设置“其他供应商”为“从不”,如果只允许使用选定的供应商。点击“保存”(或 Ctrl/⌘ + S)。

  2. 发送消息后,渠道的“最近请求”会显示添加的字段与网关状态。

适用场景与注意

适合在以下场景中使用:

  • 使用 OpenRouter 或其它网关,需要按供应商路由、fallback 模型、reasoning effort 与采样参数精细控制请求。
  • 需要为请求添加自定义字段或头,以适配特定网关能力或合规要求。
  • 希望在发送前预览请求内容,并在事后查看网关响应与参数应用情况。

注意事项:

  • 该插件以当前 DSH 进程的权限运行。安装前建议检查源码与许可证(MIT)。
  • 不要通过环境变量直接在配置文件中写入 API Key;使用 apiKeyEnv 指向环境变量,插件会通过 {{env:NAME}} 格式读取。
  • 核心字段与凭证头受安全保护,无法通过插件修改。

结尾

dsh-request-params 让你在不修改代码的情况下,为 DSH 发出的模型请求添加自定义参数,支持 OpenRouter 的供应商路由与 fallback 模型,并为其它网关提供通用扩展点。如果你需要在网关层面精细控制请求参数,这个插件提供了一个可视化、可预览、可审计的方案。

  • 目录页:https://www.skillhub.cn/plugins/xiaohai-78/dsh-request-params
  • GitHub:https://github.com/xiaohai-78/dsh-request-params
羽毛球分组比赛记分
小程序二维码

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

Xiaoye