前言¶
DeepSeek Harness 的生態強調插件化。在本地開發或運行 Agent 時,開發者常遇到 github.com、pip 或特定域名無法直連的情況。如果強制將所有流量通過代理,可能會拖累模型調用或增加延遲。dsh-egress-router 旨在解決這一矛盾:導入節點鏈接後,僅讓被阻斷的流量走代理,其餘流量保持直連,並支持自動回退。
插件介紹¶
該插件由 gswenxue 維護,採用 MIT 許可證。它利用 sing-box 內核提供代理能力,以用戶權限在本地運行,監聽 127.0.0.1 端口。
核心功能¶
插件提供以下能力:
- 三種運行模式:關閉(全直連)、智能(名單內走節點,其餘直連,失敗自動回退)、全局(全部走節點)。
- 按實測速度選路:
- 競速:名單內的域名,直連與節點同時起跑,首字節快者勝。
- 決策記憶:記錄贏家,減少重複競速開銷。
- 吞吐懲罰:檢測建立後 1.2 秒內的採樣,若被限速則降級。
- 節點狀態管理:節點有狀態(正常/失效/本機不可用),絕不自動刪除;失效只改狀態,刪除需手動。
- 協議支持:支持 vless/vmess/trojan/ss 四種鏈接。
- 內核隨用隨取:使用 sing-box,首次需要時自動下載並校驗 SHA-256。
- 環境變量注入:不修改 Harness 全局出站策略,只注入子進程的
http_proxy/https_proxy等環境變量。
安裝與啓用¶
使用官方安裝命令添加插件:
dsh plugin --profile web add github:gswenxue/dsh-egress-router
安裝完成後,重啓 DSH Web 或重新打開設置頁面,即可在 設置 → 網絡代理 中看到相關配置。
使用方法¶
導入節點¶
- 進入 設置 → 網絡代理。
- 粘貼一條或多條節點鏈接(支持 vless/vmess/trojan/ss)。
- 點擊導入,備註可取鏈接中的
#片段。
Agent 工具與終端集成¶
插件會向 Agent 注入 net_proxy 工具,支持以下命令:
status:查看內核與節點狀態。list:列出節點及其備註與狀態。import/remove/use/mode/route/test/clean/fetch/core:節點管理、模式切換、路由配置、測試與內核操作。
開啓 注入 Agent shell 環境 後,終端命令如 curl、git、pip、npm 會自動讀取本地代理地址(默認 http://127.0.0.1:30810),按智能策略走代理,無需手動添加 -x 參數。
注意事項¶
- 權限與端口:插件以用戶權限運行,監聽
127.0.0.1上的端口(默認 30810/30811/30812)。端口被佔用時可修改state.json中的端口配置。 - 數據安全:節點信息存儲在本地
state.json中,不收集遙測,不訪問除配置以外的服務。 - web_fetch 限制:Harness 自帶的
web_fetch不走此插件代理,要抓取被阻斷站點請使用net_proxy fetch或終端命令。 - 不支持自動更新:插件不提供自動更新功能,升級需卸載重裝。
- IPv6 限制:在 IPv4 機器上,IPv6 單棧節點會被標記爲“本機不可用”,不會自動刪除。