Skip to content
dsh.fish
Bundle

dsh-ua-headers

自定义所选模型调用时的 User-Agent 与额外请求头,并在设置页提供控制面板。

Source
fplj-fplj
installs
1 installs
License
MIT
Updated
Updated 18 days ago

Readme

# dsh-ua-headers

一个 DSH 插件:自定义所选模型调用时的 User-Agent,并加入自定义请求头;设置页里提供控制面板。

## 功能

- **自定义 UA**:匹配到的模型请求会替换 `User-Agent`;留空则保留 DSH 默认 UA。
- **加入请求头**:以 JSON 对象配置任意 HTTP 请求头(如 `X-Trace-Id`、`Authorization-Override` 等),会合并进模型请求。
- **按模型匹配**:支持 `*` 全部模型、精确模型 ID、`deepseek-*` 前缀匹配、`*pro` 后缀匹配。
- **自动检测供应商与模型**:设置页会通过 `ctx.llm` 检测当前已注册供应商及其可用模型,勾选即可,无需手输模型 ID。
- **设置页控制面板**:在 Web 设置面板中新增“UA 与请求头”页面,可视化编辑并保存。
- 配置持久化到 `$DSH_HOME/storages/dsh-ua-headers.json`。

## 安装

### 从 GitHub 安装(源码)

```bash
dsh plugin --profile web add github:fplj-fplj/dsh-ua-headers
```

### 从 npm 安装(推荐 / 可被 DSH Market 收录)

```bash
dsh plugin --profile web add dsh-ua-headers
```

安装后重启 DSH Desktop / Web 服务。插件清单已通过 `cordis.patch.yml` 插入,无需手动改 `cordis.yml`。

## DSH Market

本插件已发布到 npm,并提交到 [DSH 1024Store](https://github.com/imsai-sh/awesome-deepseek-harness-plugins) / [deepseek1024.com](https://deepseek1024.com/)。在 DSH 设置 → 插件市场中搜索 **dsh-ua-headers** 即可找到。

## 使用

1. 打开 DSH 设置(左下角齿轮)。
2. 进入「UA 与请求头」页面。
3. 打开“启用自定义 UA 与请求头”。
4. 填写 User-Agent;留空则不改写 DSH 默认 UA。
5. 设置模型匹配:
   - 勾选「全部模型」使用 `*`;
   - 或直接从「当前已有供应商与模型」列表中勾选实际模型;
   - 也可以手动输入规则,例如 `deepseek-v4-pro, deepseek-v4-flash` 或 `deepseek-*`。
6. 填写请求头 JSON,例如:

```json
{
  "X-Trace-Id": "my-trace-id",
  "X-Request-Source": "dsh"
}
```

7. 保存。下一次匹配的模型调用即生效。

## 说明

- 插件在 Host 进程 patch `globalThis.fetch`,拦截 OpenAI 兼容的 `/chat/completions`(及 `/responses`)POST 请求,读取请求体中的 `model` 字段并与配置匹配。
- 只有匹配到的模型请求会改写 UA / 合并请求头,其他 HTTP 请求不受影响。
- 自定义请求头会覆盖同名请求头;未出现过的请求头会新增。
- 请求头名称必须是合法 HTTP token,值不能包含换行或 NUL。

Install

dsh plugin --profile web add github:fplj-fplj/dsh-ua-headers

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source