前言¶
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 单栈节点会被标记为“本机不可用”,不会自动删除。