dsh-proxy-env:DeepSeek Harness 代理環境開關插件

前言

在開發基於 DeepSeek Harness(DSH)的智能體或工作流時,有時需要統一管理 HTTP 代理,有時又只需在特定子進程或請求中啓用代理。直接在系統環境變量中設置往往缺乏靈活性,且難以在 Web 界面中動態調整。DSH 生態中的 dsh-proxy-env 插件提供了在 DSH 內部統一管理代理環境的能力,支持 Host 側的全局分發與子進程環境注入,以及 Web 側的配置卡片。

安裝與啓用

通過官方插件命令安裝,安裝後需重啓對應 Profile 的 Web 進程才能生效。

dsh plugin --profile web add github:localSummer/dsh-proxy-env#main

安裝完成後,使用 --dump-config 檢查配置層,應出現 # == dsh-proxy-env 層且包含 id: proxy-env。

核心功能

該插件主要解決代理環境的注入與控制問題,核心能力如下:

  1. 代理模式

    • all 模式:代理 API 調用、子進程、Git、npm 等所有流量,通過設置 HTTP(S)_PROXY / ALL_PROXY / NO_PROXY 環境變量實現。
    • include 模式:僅代理指定主機清單內的 in-process fetch 請求,子進程環境變量保持不變。
  2. Host 側控制

    • 在 Host 側設置全局 dispatcher 與子進程代理環境。
    • 在 Web 設置頁提供「代理環境」配置卡片,支持開關與配置項修改。
  3. 安全與容錯

    • 代理地址支持 http:// 或 https:// 協議。
    • 與機器既有 no_proxy 合併,並強制包含 localhost 和 127.0.0.1。
    • 代理不可達時啓動降級直連並告警;在 on 模式下,若代理不可達,插件拒絕寫入 enabled=true。

配置項

配置命名空間爲 settings.yaml 的 proxy-env 段,也可在 Web 設置頁中編輯。主要字段包括:

字段 類型 說明
enabled boolean 是否啓用代理
url string 代理地址,默認 http://127.0.0.1:7890
mode all | include 代理模式(all 或 include)
proxyHosts string[] include 模式下的主機清單
noProxy string all 模式下的豁免清單

命令與工具

插件提供命令行工具與 Web 交互接口。

/proxy 命令

在 DSH Web 界面或終端中可直接調用以下命令:

/proxy on [代理地址]
/proxy off
/proxy status

proxy_env 工具

提供程序化控制接口,支持 on / off / status 動作,以及 url、mode、proxyHosts、noProxy 參數。

依賴與兼容性

  • 運行時依賴:schemastery、undici。
  • DSH 版本要求:兼容 dsh >= 0.1.2-rc.1。
  • 卸載注意:Host 側卸載插件時,會通過 ctx.effect 還原 dispatcher 與環境變量,確保系統狀態恢復。

總結

dsh-proxy-env 爲 DSH 提供了一套輕量級的代理環境管理方案,適用於需要精細化控制網絡流量的工作流開發場景。開發者可通過設置頁或命令行快速切換代理狀態,無需修改系統環境變量。

  • 插件目錄:https://www.skillhub.cn/plugins/localSummer/dsh-proxy-env
  • 源碼地址:https://github.com/localSummer/dsh-proxy-env
羽毛球分组比赛记分
小程序二维码

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

小夜