前言¶
DeepSeek Harness(DSH)的命令行啓動路徑會調用 installProxyFromEnvironment(),將代理環境變量轉化爲進程級的路由策略。而 DSH 桌面版的啓動路徑缺少這一步,導致桌面版中 agent 自帶的 web_fetch 工具始終直連。當網絡環境需要通過代理訪問時,直連會導致請求失敗(例如報錯 URL hostname resolves to a non-public IP address)。dsh-local-proxy 插件用於填補這一缺口,使桌面版 Agent 的網絡請求能夠走本機的 HTTP 代理。
插件定位¶
dsh-local-proxy 是一個 DSH 插件,由 WoodSettler 維護。它旨在解決 DSH 桌面版無法使用系統代理的問題,讓 agent 的網絡流量使用本機的本地 HTTP 代理。
核心功能¶
該插件僅做兩件事:
1. 查找代理:優先讀取代理環境變量(HTTPS_PROXY、HTTP_PROXY、ALL_PROXY)。若未設置,則讀取 Windows 系統代理註冊表(HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings)。僅接受迴環地址。
2. 使用代理:通過 DSH 的 installProxyFromEnvironment 安裝進程內 dispatcher,並將代理變量發佈給子進程。在 Node.js 環境下,還會設置 NODE_USE_ENV_PROXY=1。
安裝與啓用¶
安裝插件需要使用 --profile desktop 參數。安裝後,插件會自動將自身添加到 dsh.profile.bundles。安裝完成後,重啓 DSH。
dsh plugin --profile desktop add github:woodsettler/dsh-local-proxy
典型用法¶
提供三種安裝方式:
* 從 Git 倉庫安裝:
dsh plugin --profile desktop add github:woodsettler/dsh-local-proxy
- 從 npm 安裝:
dsh plugin --profile desktop add dsh-local-proxy
- 從本地檢出安裝(在目錄內運行):
dsh plugin --profile desktop add .
適用場景與注意¶
- 適用場景:在 Windows 系統上使用 DSH 桌面版,且需要通過 HTTP 代理訪問網絡資源的場景。
- 注意事項:
- 僅支持 Windows 系統,非 Windows 系統不可用。
- 插件不會檢測代理是否可用或節點是否存活。如果代理配置錯誤,需要自行修復。
- 插件不處理 TUN 模式、PAC 解析或端口掃描。
- 任何步驟出錯時,插件只記錄日誌,不會破壞原本可用的直連網絡。
- 日誌位置:
<DSH_HOME>/dsh-local-proxy(DSH_HOME默認爲~/.dsh)。
結尾¶
本插件解決了 DSH 桌面版 Agent 在代理環境下的直連問題,使開發者能在代理環境下正常開發。更多細節可參考插件目錄或 GitHub 倉庫。