dsh-network-proxy-plus:DSH 0.2.x 下的網絡代理與 SOCKS5 設置

前言

在 DeepSeek Harness(DSH)裏做插件安裝、拉 GitHub 依賴、調用遠端 API 時,出站 HTTP 往往依賴系統或環境變量裏的代理。DSH 0.2.x 的配置模型與 0.1.x 不同,社區裏早期的 dsh-network-proxy 在 0.2.1 上無法加載,且只支持填 http(s):// URL,本地常見的 socks5://127.0.0.1:10809 用不了。下面介紹維護者 Lanlan-gys 發佈的聯網工具類插件 dsh-network-proxy-plus:在設置頁可視化配置 SOCKS5 / SOCKS5H / HTTP / HTTPS,保存後立即生效,並同步子進程環境變量。

這是什麼

dsh-network-proxy-plus 是 DeepSeek Harness 的網絡代理設置插件(MIT 許可證,當前 package 版本 1.0.3)。README 說明它是 DSH 0.2.x 上對 dsh-network-proxy 的可工作替代,並增加了 SOCKS5 支持。插件在側邊欄提供獨立頁「網絡代理」(位於「啓動動畫」與「桌寵配置」之間),用於選擇出口模式、代理類型、地址與端口;字段均爲 volatile,改完不重啓插件即可換掉 undici 的全局 dispatcher。

社區目錄頁:https://www.skillhub.cn/plugins/Lanlan-gys/dsh-network-proxy-plus
源碼與說明:https://github.com/Lanlan-gys/dsh-network-proxy-plus

SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

相對舊版解決了什麼

上游 dsh-network-proxy@1.0.1 面向 DSH 0.1.5,在 0.2.x 上因調用已不存在的 settings.register(namespace, schema, …) 而無法加載,表現爲裝上後沒有設置入口。此外舊版 ProxyAgent 不支持 SOCKS,無法使用 SOCKS5 本地端口。

本插件按 0.2.x 接口在宿主端導出 Config(各字段 .volatile()),監聽 loader/volatile-update / settings/document-updated 後更新 dispatcher;並實現 SOCKS5 連接器(Agent({ connect })),支持 IPv4 / IPv6 / 域名目標、用戶名密碼認證,以及 SOCKS 隧道內的 TLS(HTTPS)。

設置項與默認行爲

打開 設置 → 網絡代理,可配置:

字段 說明 默認值
模式 跟隨系統 / 自定義代理 / 直連 跟隨系統
類型 SOCKS5 / SOCKS5H / HTTP / HTTPS SOCKS5
地址 代理地址 127.0.0.1
端口 代理端口 10809
用戶名 / 密碼 可選,SOCKS5 認證 空

默認「跟隨系統」而非「自定義代理」,避免新安裝時在沒有本地代理的機器上替用戶接管網絡導致斷網。需要自定義時切換到「自定義代理」,地址與端口已預填,修改後點「應用」即可。

行爲要點(均來自 README):

  • 立即生效:volatile 字段只更新運行中配置,不重啓插件。
  • 迴環直連:localhost、127.0.0.0/8、::1、0.0.0.0 始終直連,避免本地服務(如 http://127.0.0.1:11434)被送進代理形成環路。
  • NO_PROXY:啓動環境裏已有的 NO_PROXY / no_proxy 仍生效。
  • 子進程環境變量:自定義或跟隨系統模式下,會將代理信息同步給 bash / pwsh 等子進程(curl、git、pnpm 等)。SOCKS5 僅設置 ALL_PROXY;HTTP(S) 代理設置 HTTP_PROXY / HTTPS_PROXY / ALL_PROXY;NO_PROXY 會補上回環地址。
  • 跟隨系統:Windows 讀註冊表 Internet Settings(含 ProxyOverride);其他平臺讀啓動時的 HTTP(S)_PROXY。系統代理關閉時還原爲啓動環境(等同直連)。PAC(AutoConfigURL)不支持,需改用手動模式。

安裝與啓用

插件以 DSH 進程權限運行,安裝前請自行查看倉庫源碼與 MIT 許可證。

方式一:從 GitHub 安裝(推薦)

在 DSH 插件管理器中使用 GitHub 安裝源:

github:Lanlan-gys/dsh-network-proxy-plus

該方式下 pnpm 會正常安裝依賴(如 undici)。

方式二:本地目錄(開發)

本地 link 安裝時需在該目錄執行 pnpm install --prod,再將絕對路徑作爲 bundle 安裝;修改 client.js / index.js 後可由 HMR 熱加載。

裝好之後

  1. 打開 設置,側邊欄應出現「網絡代理」。
  2. 選擇「自定義代理」,類型選 SOCKS5,地址 127.0.0.1,端口改爲你本機代理端口(例如 10809),點「應用」。
  3. 狀態顯示「已生效」即表示已接管 Harness 內 Node 出站請求(fetch / undici)。

典型用法

本地已有 SOCKS5 監聽在 127.0.0.1:10809 時,按上面第三步配置即可。若代理需要認證,在同一頁填寫用戶名與密碼後應用。

需要與系統代理一致時,保持模式爲「跟隨系統」,無需手填地址(Windows 下注意 PAC 不受支持,需改爲自定義或系統手動代理)。

完全不走代理時,將模式設爲「直連」。

適用場景與限制

適合:在 DSH 0.2.x 上需要 SOCKS5 / SOCKS5H,或希望在 Harness 設置裏統一管理代理與子進程環境,而不是隻依賴 shell 裏的 export。

限制(README 明確列出):

  • 不支持 PAC(AutoConfigURL)。
  • 隻影響 Harness 進程內的 Node 出站與其派生子進程;瀏覽器自身流量仍由系統代理決定。
  • 除迴環與 NO_PROXY 外,內網地址不做額外旁路,一律走代理。

插件結構簡要:index.js(宿主 Config、SOCKS5、dispatcher、環境變量)、client.js(設置頁 UI)、cordis.patch.yml 等。

結尾

dsh-network-proxy-plus 面向 DSH 0.2.x,用獨立設置頁提供四種代理類型與三種出口模式,強調保存即生效、迴環直連與子進程環境同步。需要安裝源與完整行爲說明時,見 GitHub README;在社區目錄可查看分類「聯網工具」下的條目。

  • 目錄:https://www.skillhub.cn/plugins/Lanlan-gys/dsh-network-proxy-plus
  • GitHub:https://github.com/Lanlan-gys/dsh-network-proxy-plus
羽毛球分组比赛记分
小程序二维码

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

小夜