dsh-scoped-http-proxy:顯式調用的 HTTP 代理服務

前言

在 DeepSeek Harness(DSH)裏做插件時,有時只有某段業務代碼需要走本地或內網 HTTP(S) 代理,而不是把整個進程的模型 API、MCP、搜索或網頁抓取都改成走代理。改系統代理、Clash 或環境變量會影響面太大;全局包裝 fetch 又容易和其他插件搶行爲。下面介紹維護者 314857493 發佈的 dsh-scoped-http-proxy:它提供 Cordis 上的可選代理服務,以及在 DSH 設置頁裏填寫代理地址的界面;只有調用方主動使用時纔會走你配置的代理。

這是什麼

dsh-scoped-http-proxy 是 DSH 社區插件(MIT 許可證,當前包版本 0.1.1)。它不修改系統代理、Clash、環境變量、全局 fetch 或全局 dispatcher,也不掃描、包裝或接管其他插件的網絡請求,不自動修復 Fake-IP。裝好插件本身不會讓模型 API、MCP、搜索或網頁抓取自動走代理。

核心功能

  1. Cordis 服務 scopedHttpProxy:其他插件通過依賴注入調用 ctx.scopedHttpProxy.fetch(url, options),返回標準 Response,支持調用者傳入 signal;重定向需調用者自行處理,且不能通過 options 覆蓋代理 dispatcher。超時、響應大小、響應體消費/取消和目標地址准入由調用者負責。

  2. Web 設置界面:在 DSH 側邊欄 「插件」→「獨立 HTTP 代理」 填寫完整代理地址(例如 http://127.0.0.1:7897)並保存。支持 HTTP(S) 代理與 IPv6 地址;不支持 SOCKS、URL 內嵌賬號密碼或 URL 路徑。保存寫入當前 profile 的 Cordis patch;後續新請求用新地址,已在途的請求繼續完成。默認地址爲 http://127.0.0.1:7897。

  3. 與 Fake-IP 類插件的關係:同維護者的 dsh-web-fetch-fakeip 從 0.4.0 起可通過本服務做條件回退,兩者需同時安裝。市場中的 kaminn 與 wjj-8283 插件使用各自 TUN 處理方式,不會自動調用本服務;僅安裝本插件不會改變它們的行爲。

安裝與啓用

環境要求:Node.js 22.19+;資料中寫明已在 DSH Desktop 的 Cordis 4.0.5 / Web 設置接口 0.2.1-rc.4 上驗證。

官方安裝命令如下(針對 web profile):

dsh plugin --profile web add 'git+https://github.com/314857493/dsh-scoped-http-proxy.git#v0.1.1'

安裝後重啓 DSH,打開側邊欄 「插件」→「獨立 HTTP 代理」,填寫完整地址並保存。

也可在 Cordis 配置中手工寫入:

- id: scoped-http-proxy
  config:
    proxyUrl: http://127.0.0.1:8080

卸載前應先停用或移除依賴 scopedHttpProxy 的插件,再執行:

dsh plugin --profile web remove dsh-scoped-http-proxy

並移除用戶 patch 中對 scoped-http-proxy 的覆蓋項,然後重啓 DSH。

典型用法:接入其他插件

通過 Cordis 服務協作,無需導入本包實現。在插件入口聲明注入並調用:

export const inject = ['scopedHttpProxy'];
export function apply(ctx) {
  // 在業務代碼需要代理時調用:
  // const response = await ctx.scopedHttpProxy.fetch(url, {
  //   method: 'GET', signal, headers: { accept: 'text/html' }
  // });
}

地址僅在上述(或等價)調用路徑上生效。

適用場景與注意

適合誰:需要在 DSH 插件內、對少數 HTTP(S) 請求顯式走代理的開發者;或與同維護者 Fake-IP 插件組合做條件回退的場景。

安全與權限:這是供可信插件使用的網絡能力,不是面向模型開放的工具,也不承擔 SSRF 過濾。僅允許 HTTP(S) 目標 URL、禁止目標內嵌憑據;其他地址策略由調用者負責。插件以當前 DSH 進程權限運行,只配置你信任的代理服務器。安裝前應自行查看源碼與 MIT 許可證。

社區插件目錄位於獨立站點,與 DeepSeek / 幻方無官方從屬關係;可在 SkillHub 目錄頁 查看條目,完整說明見 GitHub 倉庫。

經過上面的步驟,你可以在不動全局網絡棧的前提下,爲指定插件邏輯提供可配置的 HTTP(S) 代理入口。

羽毛球分组比赛记分
小程序二维码

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

小夜