DSH Header Injection 插件:按 Host 規則注入請求頭

在開發智能體或使用 DeepSeek Harness (DSH) 時,有時需要模擬特定客戶端或繞過目標站點(如 WAF)的檢查。直接修改配置很繁瑣,且可能影響全局行爲。該插件提供了按域名注入請求頭的機制,允許針對特定 Host 修改 HTTP 請求頭,同名頭會覆蓋原值。

插件簡介

該插件由 ZhiGangCai 維護,是一個請求頭注入工具。它支持按 Host 規則注入 HTTP 請求頭,同名頭覆蓋原值,且對頭名大小寫不敏感。默認配置預設了一條規則:對 agentrouter.org 注入 User-Agent 以繞過 WAF。插件採用 MIT 許可證。

工作原理

插件通過 patch 全局 fetch 實現,無需修改 DSH 源碼。它主要針對 openai-completions 和 anthropic-messages 通路。當請求發出時,系統會按規則順序匹配 Host,取第一條命中規則;命中後逐條覆蓋注入規則定義的請求頭集合,原樣轉發;未命中任何規則的請求保持原樣透傳,零影響。

安裝與啓用

通過命令行安裝插件,安裝後需重啓 DSH Web 後端使插件生效。

dsh plugin --profile web add /path/to/dsh-header-injection

配置方式

1. 設置面板(推薦)

DSH 設置面板提供了可視化的配置入口,支持即時生效。

  1. 進入 DSH 設置 -> 插件 -> 請求頭注入。
  2. 配置項說明:
    - enabled:控制是否啓用注入,默認爲 true。
    - rules:注入規則數組。每條規則包含 hosts(Host 列表)和 headers(請求頭集合)。
  3. 規則格式:
    - Host:逗號分隔的 Host 後綴列表,支持子域匹配(例如 example.org, foo.com 會匹配 a.example.org 和 foo.com)。
    - 請求頭:多行文本,每行一條 頭名: 值。注入時使用 Headers.set 語義,即覆蓋同名頭。
  4. 簡寫形式:規則內可用 ua 字段替代多行 headers(如 {hosts: "example.org", ua: "MyUA/1.0"}),等價於一條 User-Agent 頭。兩者同時存在時 headers 優先。

保存配置後,設置會持久化到 ~/.dsh/settings.yaml 的 dsh-header-injection: 段,且無需重啓即可生效。

2. 環境變量降級

當 settings 服務不可用時,可使用環境變量配置。

環境變量 默認值 說明
AR_UA_ENABLED 1 0 時停止注入但保留 patch
AR_UA_HOSTS agentrouter.org 逗號分隔的 Host 列表
AR_UA_VALUE RooCode/0.15.0 UA 值
AR_UA_RULES - JSON 格式的多規則數組
AR_UA_HEADERS - 多行請求頭文本(單條規則形態)

使用方法

1. 狀態摘要

使用 dsh-header-injection 命令查看當前規則列表與命中/改寫計數。

dsh-header-injection

2. 健康檢查

訪問 HTTP 健康路由 GET /dsh-header-injection/health,該路由會返回規則數組與命中/改寫計數。

典型用例:繞過 AgentRouter 客戶端 WAF

AgentRouter 前端部署了阿里雲 WAF,對客戶端進行三重校驗(TLS 指紋 + SDK 請求頭 + 請求結構)。DSH 默認的 User-Agent(deepseek-harness/<version>)會被攔截並返回 unauthorized_client_error。

通過注入 User-Agent: RooCode/0.15.0,WAF 放行進入令牌校驗階段。當前實測表明,僅修改 UA 即可繞過指紋檢查,無需額外補充 X-Title 或 X-Stainless-* 等頭。

注意事項

  1. 僅覆蓋注入:插件僅覆蓋注入請求頭,未在規則中提及的頭保持不變。
  2. TLS 指紋未僞裝:當前版本未僞裝 TLS 指紋。雖然 agentrouter.org 當前未按指紋拒絕該 UA 組合,但若目標站點收緊 WAF 判定,需在規則中補充更多頭。
  3. 源碼檢查:安裝前請檢查源碼與許可證,確保符合環境要求。

生態背景

DSH 理念是「一切皆插件」。社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。

  • 插件目錄:https://www.skillhub.cn/plugins/ZhiGangCai/dsh-header-injection
  • GitHub 倉庫:https://github.com/ZhiGangCai/dsh-header-injection
羽毛球分组比赛记分
小程序二维码

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

小夜