前言¶
在 DeepSeek Harness(DSH)裏跑智能體時,聯網往往分散在幾條路徑上:web.fetch 抓頁、搜索引擎委託、node:http(s) 腳本、以及面板自建的瀏覽器。若把整個系統代理打開,容易牽連模型 API 與其它進程;若完全直連,又可能在特定主機上延遲過高或無法連通。常見做法是手動切環境變量或在外部再起一層代理,和 Harness 內的通道開關對不齊。
下面介紹社區插件 dsh-clash-proxy(維護者 ll4514dvdvdb,當前版本 0.2.0)。它把 Clash / Mihomo 一類內核接到上述四條通道,並提供本地 Web 面板做開關、選節點與測速;默認全關,且不修改 Windows 系統代理、WinHTTP 或 TUN。
這是什麼¶
dsh-clash-proxy 是 DSH 的客戶端類插件:軟件層面的請求轉發與 GUI 集成,不是網絡服務。分類上屬於按需規則分流代理;GitHub 倉庫 ll4514dvdvdb/dsh-clash-proxy 採用 MIT 許可證。
插件不提供任何節點、訂閱鏈接、機場、賬號或服務器;使用者須自行準備合法可用的網絡訪問,並確保用途符合所在地法律法規。README 中有完整的免責聲明與使用條款,安裝或推薦前應完整閱讀並接受。
社區目錄頁 SkillHub · dsh-clash-proxy 與 GitHub 無 DeepSeek / 幻方官方從屬關係,只是獨立插件索引。
核心功能¶
獨立面板與總開關¶
GUI 中有「代理」頁籤;也可在 DSH 本地服務上打開:
http://127.0.0.1:55238/clash-proxy-panel/
總開關狀態寫入 panel.json,插件重載或 DSH 重啓後會恢復;關閉時各通道立即回落直連。
四條通道¶
| 通道 | 作用範圍 |
|---|---|
web.fetch |
Harness 的 ctx.web fetch |
search |
委託給上游搜索引擎的那次調用 |
scripts |
進程內 node:http(s) |
browser |
面板自建的 Chromium(Playwright,默認 msedge channel) |
每條通道可單獨開關,模式爲 auto / on / off。
auto 時先走規則引擎(國內域名/IP 直連),再 TCP 探測直連 RTT:RTT ≤ auto.directThresholdMs(默認 1500ms)則直連,否則走代理;結果按主機緩存 auto.cacheSeconds(默認 600s),後臺每 5s 預熱。
面板其它能力¶
- 連通性與帶寬:直連 vs 代理對比、節點延遲、帶寬採樣
- 節點:訂閱表、選用節點、填寫訂閱鏈接刷新
- 僞裝:UA、Accept-Language、時區、WebRTC、DNS、
navigator.webdriver等 - 決策日誌:記錄每次走/不走代理的原因
HTTP API 前綴爲 /clash-proxy-panel/api/(如 GET state、POST toggle 等);僅接受 loopback Host,且 API 需請求頭 x-clash-proxy: 1。
Harness 工具¶
| 工具 | 說明 |
|---|---|
proxy_control |
action:on / off / status / refresh / connectivity / bandwidth / select / env;可選 node、subscriptionUrl |
proxy_fetch |
參數 url、maxChars;經代理抓取正文(若關着會先打開,抓完保持開啓) |
數據目錄:Linux/macOS 爲 ~/.dsh/clash-proxy/,Windows 爲 %USERPROFILE%\.dsh\clash-proxy\,存放訂閱緩存、panel.json、state.json、瀏覽器 profile 等。
安裝與啓用¶
環境要求(來自 package.json):
- Node.js
>=20 - DSH 引擎
>=0.1.7-rc.1;文檔標註與0.2.1-rc.3兼容
README 未給出固定的 CLI 安裝命令。SkillHub 目錄頁提供「發送給 DeepSeek Harness 安裝」文案,插件標識爲 ll4514dvdvdb/dsh-clash-proxy,並要求安裝前先讀取 README 免責聲明。在 Harness 對話中按該頁說明發起安裝即可。
安裝後若 GUI 未出現「代理」頁籤,README 註明:頁籤依賴 GUI 重新加載頁面,插件熱重載只更新宿主側。
典型用法¶
1. 用面板打開總開關並選通道¶
打開 http://127.0.0.1:55238/clash-proxy-panel/,打開總開關,在「通道與作用範圍」裏爲 web.fetch、search 等設置 auto 或 on,在節點區填入自有訂閱鏈接並刷新,再選用節點。
2. 用 proxy_control 查狀態或導出環境變量¶
在 Harness 中調用工具 proxy_control,例如查看狀態、刷新訂閱、測連通性或執行 action: env 導出 HTTP(S)_PROXY 供外部腳本使用(與 scripts 通道的隧道邏輯配合)。
3. 用 proxy_fetch 經代理拉取 URL 正文¶
傳入 url 與可選 maxChars;插件在代理關閉時會先開啓,抓取完成後保持開啓狀態(行爲以 README 爲準)。
4. 開發者自檢(克隆倉庫後本地運行)¶
若在源碼樹中驗證,可執行 README 中的 smoke 腳本,例如:
node scripts/smoke-panel.mjs
node scripts/smoke-host.mjs
node scripts/smoke-controller.mjs
node scripts/smoke-client.mjs
適用場景與注意¶
適合:需要在 DSH 進程內(含面板自建瀏覽器)按規則分流、又不想動系統全局代理的開發者;在自有或已授權網絡下做連通性、延遲與帶寬測試;研究代理與規則引擎在 Harness 中的集成方式。
務必注意:
- 插件以當前 DSH 進程權限運行,安裝前應閱讀源碼與 MIT 許可證,並理解 README 免責聲明(不提供節點、無擔保、使用者自負合規責任)。
- 隻影響 Harness 進程內流量,不是系統級全局代理。
- 已知限制:純 JS 實現不覆蓋訂閱中的 hysteria2 / tuic / reality 節點;帶寬爲窗口式採樣(默認 8s);
dsh-reef瀏覽器無注入點,不受本插件 browser 通道影響。
結尾¶
dsh-clash-proxy 把 Clash 內核能力接到 DSH 的四條聯網通道,並用本地面板集中管理開關、節點與診斷日誌,在默認關閉的前提下按需出代理,避免牽連繫統代理與其餘進程流量。
- 目錄頁:https://www.skillhub.cn/plugins/ll4514dvdvdb/dsh-clash-proxy
- GitHub:https://github.com/ll4514dvdvdb/dsh-clash-proxy