前言¶
在使用 DeepSeek Harness 处理 HTTP 请求时,有时需要统一或修改请求头。dsh-user-agent 插件负责将所有出站 HTTP 请求(包括 LLM API 调用和其他 global-fetch 流量)的 User-Agent 重写为自定义值。
插件简介¶
该插件由维护者 dsh-plugins 开发,是一个 MIT 许可的联网工具插件。它通过覆盖调用者的请求头(例如 dsh-llm 的基准 UA)来工作。
核心功能¶
- Rewrite anything that uses global
fetch:重写任何使用 globalfetch的内容,包括 DeepSeek / OpenAI 兼容适配器调用、网络搜索以及工具发出的 HTTP 请求。 - Live settings page:提供独立的 Web 设置标签页,可实时开关重写并编辑字符串,无需重启。
- Standard settings integration:值存储在
dsh-user-agent命名空间下,支持跨会话持久化。 - Clean lifecycle:仅在插件运行时包装
globalThis.fetch,停止或更新时自动恢复原始 fetch。
安装与启用¶
使用标准的 DSH 插件安装命令:
dsh plugin add @dsh-plugin/dsh-user-agent
安装完成后,打开 Web GUI 设置,进入 UA 设置 标签页。开启开关,输入目标 User-Agent 字符串,点击 保存。更改会立即应用到下一次请求。
配置¶
插件支持通过配置文件覆盖默认值。配置项位于 cordis.patch.yml 或用户设置层,与标准的 DSH 设置系统集成:
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enabled |
boolean |
true |
总开关,关闭时为透传模式。 |
userAgent |
string |
DeepSeek-Harness/0.1 (+https://github.com/deepseek-ai/dsh) |
应用于每个重写请求的 User-Agent 字符串。 |
注意事项¶
- 需要 Node.js 环境版本 >= 20。
- 插件仅在运行期间生效,停止或移除插件后,包装逻辑即失效。
- 遵循 MIT 许可证。
总结¶
dsh-user-agent 提供了一种在不修改代码的情况下,对 Harness 发出的所有 HTTP 请求进行 UA 统一管理的方案。适合需要统一请求标识或进行特定请求伪装的场景。