前言¶
在 DeepSeek Harness (DSH) 的使用場景中,有時需要讓特定的 provider 流量通過代理服務器,而保持其他流量直連。全局代理配置通常粒度不夠。dsh-provider-proxy 插件通過在設置頁面爲每個 provider 單獨配置代理參數,解決了這一問題。
它是什麼¶
dsh-provider-proxy 是一個讓 provider 會走代理的插件。它屬於聯網工具類別,由 hpfs0 維護,stars: 1,開源協議爲 MIT。
安裝與啓用¶
安裝前需確保已構建過產物(lib/index.js、lib/client.js)。桌面版必須先完整打開一次以初始化 profile。
dsh plugin --profile desktop add dsh-provider-proxy
dsh plugin --profile web add dsh-provider-proxy
安裝後重啓對應應用。設置項會寫入 $DSH_HOME/profiles/<profile>/cordis.patch.yml。
核心功能¶
- 獨立配置:爲每個 provider 單獨配置是否走代理,其餘 provider 和 DSH 的其它流量保持直連。
- 代理類型:支持 HTTP、HTTPS、SOCKS5 代理類型。
- 域名規則:支持通過 onlyHosts 和 bypassHosts 規則指定目標域名。
- Web 搜索:支持 Web 搜索卡片代理。
- 連接自檢:支持連接自檢測試,點擊測試按鈕驗證代理連通性。
- 獨立調度:基於 AsyncLocalStorage 實現 provider 獨立 dispatcher。
使用方法¶
- 打開 設置,在左側導航找到 Provider 代理。
- 頁面會列出所有已激活的 provider,每個 provider 一張卡片。
- 在卡片中配置:
- 開關:控制該 provider 是否走代理。
- 類型:選擇 HTTP / HTTPS / SOCKS5。
- IP / 主機:填寫主機名或 IP,不帶協議頭。
- 端口:1–65535 的整數。
- 用戶名 / 密碼:代理認證字段,用戶名與密碼必須成對填寫。 - 高級設置:點擊卡片內的“高級:目標域名規則”摺疊區,配置
onlyHosts(僅走代理)和bypassHosts(直連)。 - Web 搜索卡片:列表中會出現一張 Web 搜索 卡片,配置後
web_search工具流量將走代理。 - 測試連接:在已啓用代理的 provider 卡片上點擊測試按鈕,驗證延遲與出口 IP。
已知限制¶
- SOCKS5 限制:SOCKS5 代理由 undici 內置的 Socks5ProxyAgent 實現,API 穩定性標記爲 Experimental。
- 認證限制:代理認證字段用戶名與密碼必須成對填寫,不支持單填。
- 協議支持:SOCKS5 不支持 socks:// 別名與 SOCKS5 over TLS。
- DNS 解析:bypassHosts 命中時由本機解析並連接目標,不經過代理。
- 工具支持:web_search 可以走代理,web_fetch 不支持。
- 系統兼容:不支持 PAC,也不讀取系統代理設置。
- 配置修改:不改寫 baseURL。
- 容錯性:代理不可達時請求照常失敗。
- 密碼存儲:密碼以明文隨設置寫入 cordis.patch.yml。
驗證方式¶
插件本身不顯示出口 IP。可靠的判斷方式是在代理端查看日誌,或臨時將端口改成一個無人監聽的端口。如果請求失敗並報 ECONNREFUSED,說明請求確實被代理承載。