🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

按需出海路由 gswenxue/dsh-egress-router

DeepSeek Harness
gswenxue29 天前有提交已提供中文文档扫描:含敏感能力

给 DeepSeek Harness 的按需网络出海:粘贴节点链接,智能体就能在直连被阻断时临时走代理。

29.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add gswenxue/dsh-egress-router
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/04·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 29 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 20 处,展示前 18 条)
  • 发起网络请求
    lib/index.js:955
    async fetch(request) {
  • 写入剪贴板
    lib/client.js:431
    await globalThis.navigator.clipboard.writeText(url)
  • 读取本地文件
    lib/core.js:50
    return (await stat(path)).isFile()
  • 写入本地文件
    lib/core.js:79
    const file = createWriteStream(destination, { mode: 0o755 })
  • 写入本地文件
    lib/core.js:122
    await mkdir(directory, { recursive: true })
  • 删除本地文件
    lib/core.js:131
    await unlink(`${target}.part`).catch(() => {})
  • 写入本地文件
    lib/core.js:134
    await rename(`${target}.part`, target)
  • 写入本地文件
    lib/core.js:135
    await chmod(target, 0o755)
  • 写入本地文件
    lib/core.js:141
    await rename(`${extraTarget}.part`, extraTarget)
  • 删除本地文件
    lib/core.js:149
    await unlink(`${coreBinaryPath(dataDir)}.part`).catch(() => {})
  • 写入本地文件
    lib/core.js:251
    await mkdir(dataDir, { recursive: true })
  • 执行外部命令来自配置/变量
    lib/core.js:262
    const probe = spawn(binary, ['version'], { stdio: ['ignore', 'pipe', 'pipe'] })
  • 执行外部命令来自配置/变量
    lib/core.js:356
    const spawned = spawn(binary, ['run', '-c', configFile], {
  • 读取本地文件
    lib/core.js:454
    return typeof binary === 'string' && existsSync(binary)
  • 读取本地文件
    lib/store.js:193
    state = sanitizeState(JSON.parse(await readFile(file, 'utf8')))
  • 写入本地文件
    lib/store.js:204
    await mkdir(dirname(file), { recursive: true })
  • 写入本地文件
    lib/store.js:206
    await writeFile(temporary, `${JSON.stringify(state, null, 2)}\n`, 'utf8')
  • 写入本地文件
    lib/store.js:207
    await rename(temporary, file)
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 仅被墙流量走代理
  • 直连失败自动回退

给 DeepSeek Harness 的按需出海路由插件:导入 vless/vmess/trojan/ss 节点,只把被墙流量(GitHub、pip、npm)走节点,失败自动回退,绝不自动删节点。

README

由 DeepSeek 最新模型翻译生成
dsh-egress-router 给 DeepSeek Harness 的按需网络出海:粘贴节点链接,智能体就能在直连被阻断时临时走代理。 Listed on dsh-plugin.org 它解决什么问题 github.com 连不上、pip install 卡住、智能体抓不到网页——但你又不想让所有流量都绕道境外。 这个插件做的是选择性出海:导入你自己的 vless / vmess / trojan / ss 节点,然后只让该走节点的流量走节点,其余保持直连,直连失败时自动回退。 装完在 设置 → 网络代理 里粘贴链接即可;智能体侧会多出一个 net_proxy 工具,终端里的 curl / git / pip / npm 也会自动按同一策略走,不用每条命令加 -x。
展开完整文档(README 剩余 1 节)
dsh-egress-router

给 DeepSeek Harness 的按需网络出海:粘贴节点链接,智能体就能在直连被阻断时临时走代理。

Listed on dsh-plugin.org

它解决什么问题

github.com 连不上、pip install 卡住、智能体抓不到网页——但你又不想让所有流量都绕道境外。
这个插件做的是选择性出海:导入你自己的 vless / vmess / trojan / ss 节点,然后只让该走节点的流量走节点,其余保持直连,直连失败时自动回退。

装完在 设置 → 网络代理 里粘贴链接即可;智能体侧会多出一个 net_proxy 工具,终端里的 curl / git / pip / npm 也会自动按同一策略走,不用每条命令加 -x。

特性

- 三种模式:关闭(全直连)/ 智能(名单内走节点,其余直连,失败自动回退)/ 全局(都走节点)
- 按实测速度选路,而不是按名单猜(默认开启「测速优先」,可在面板关掉):
- 竞速:名单内的域名,直连与节点同时起跑,谁先送回首字节谁赢,输的那条立刻拆掉,客户端已发出的 TLS 字节被补发到赢家 —— 所以「名单内但直连更快」再也不会被硬塞进节点
- 名单外的域名先给直连 700ms 独跑,没动静才拉节点来比(不惊动节点,也不白等)
- 决策记忆:赢家记入内存(直连赢 10 分钟、节点赢 5 分钟),不是每个请求都竞速;面板「重新探测」可随时清空
- 吞吐惩罚:首字节快但随后被限速的路由,会在建立后 1.2 秒的采样里暴露(采样不足 8KB 即降级 2 分钟),期间让另一条路先起跑 —— 「能连但很慢」的直连会被换成节点,反之亦然
- 两条路都建不起来时,客户端会在 12 秒内收到明确失败,而不是一直挂着
- 节点有状态:正常 / 失效 / 本机不可用(例如本机没有 IPv6 出口时的 IPv6 单栈节点)。绝不自动删除节点;失效只改状态并让后续调用避开,删除只在你手动点击时发生
- 注释可见:你给节点写的备注,智能体调用时也能看到(list 返回备注与状态)
- 四种链接:vless://(含 Reality)、vmess://、trojan://、ss://,可多行批量导入
- 内核随用随取:sing-box 以 Release 附件分发,首次需要时自动下载并校验 SHA-256,不占仓库体积
- 不碰 Harness 的出站策略:只注入子进程的代理环境变量,从不替换 Harness 自己的网络 dispatcher,模型调用不会被代理拖累或中断

安装

推荐:直接从 GitHub 安装(插件名 dsh-egress-router)
dsh plugin --profile web add github:gswenxue/dsh-egress-router

装完后重启一次 DSH Web(或让 profile 就绪后重新打开页面),设置里就会出现 网络代理。

其他安装方式

用仓库地址(等价)
dsh plugin --profile web add https://github.com/gswenxue/dsh-egress-router

从 Release 的源码压缩包安装
dsh plugin --profile web add https://github.com/gswenxue/dsh-egress-router/archive/refs/tags/v0.1.0.tar.gz

本地开发:把工作副本 link 进 profile package.json: "dsh-egress-router": "link:/path/to/dsh-egress-router" 并加入 dsh.profile.bundles

也可以在 Web 界面 设置 → 插件 → 添加插件 里粘贴同样的地址。

快速上手

1. 导入节点:设置 → 网络代理 → 粘贴一条或多条分享链接 → 导入(备注取链接里的 # 片段,可再改)
2. 测一下:点节点上的「测试」,或工具条的「测试全部」,状态会变成 正常
3. 选模式:默认就是 智能,通常不用改;需要全部走节点时切 全局
4. 用起来:智能体直接干活即可

界面

设置 → 网络代理:内核状态与端口、三种模式、本地代理地址、导入区,一屏看全。

设置 → 网络代理

节点列表、智能模式路由名单、失效管理与批量测试

节点与路由名单

内核(sing-box)

内核不放在仓库里(每个平台 50–65 MB),而是作为 Release 附件 提供:
| 平台 | 附件 | 说明 |
| Linux x64 | sing-box-linux-amd64 | 上游 linux-amd64-musl 构建,静态链接 |
| Linux arm64 | sing-box-linux-arm64 | 上游 linux-arm64-musl 构建,静态链接 |
| macOS Intel | sing-box-darwin-amd64 | 上游 darwin-amd64 构建 |
| macOS Apple silicon | sing-box-darwin-arm64 | 上游 darwin-arm64 构建 |
| Windows x64 | sing-box-windows-amd64.exe(+ libcronet-windows-amd64.dll) | 上游 windows-amd64 构建 |

- 设置页点 「下载内核」 即可自动完成:下载 → 校验 SHA-256 → 落盘 <DSH_HOME>/integrations/dsh-net-proxy/bin/sing-box → 启动
- 下载地址与哈希固定在 lib/core-manifest.js,可自行核对
- 本机访问 GitHub 受限? 两种办法:
1. 把 「镜像地址」 指向任何能提供同名文件的地址(例如某个 GitHub 加速前缀:https://<mirror-host>/https://github.com/gswenxue/dsh-egress-router/releases/download/v0.1.0),插件会在其后拼接附件名
2. 手动下载后放到 <DSH_HOME>/integrations/dsh-net-proxy/bin/sing-box(Windows 为 sing-box.exe),插件会直接使用;也可以放在插件包内的 bin/ 目录
- 用的是未修改的上游构建,来源与许可见 THIRD_PARTY_NOTICES.md

给智能体的能力

| 入口 | 说明 |
| net_proxy 工具 | status / list / import / remove / use / mode / route / test / clean / fetch / core。fetch 经节点取网页(自动挑正常节点逐个回退,复测确认失效才标记) |
| 本地 HTTP 代理 | 默认 http://127.0.0.1:30810,可直接 curl -x http://127.0.0.1:30810 https://github.com |
| 内核 mixed 入口 | 默认 127.0.0.1:30811(HTTP + SOCKS5,始终走当前选中节点) |
| 子进程环境变量 | 开启「注入 Agent shell 环境」后,http_proxy / https_proxy / all_proxy / no_proxy 指向本地路由器;关闭或切到 关闭 模式会原样还原 |

权限与安全(请先读)

- 插件在本机以你的用户权限运行,会:
- 监听 127.0.0.1 上的三个端口(默认 30810 本地代理 / 30811 内核 mixed / 30812 内核 Clash API,均只绑定回环地址)
- 启动一个 sing-box 子进程,并按需下载该可执行文件(仅在你点击「下载内核」或首次需要时)
- 读写 <DSH_HOME>/integrations/dsh-net-proxy/(state.json 节点库、sing-box.json 生成配置、sing-box.log 内核日志)
- 按设置覆盖当前进程的代理环境变量,使 Agent 启动的子进程走本地代理(卸载时会还原)
- 节点信息只存在本地:state.json 含节点链接(内含 UUID/密码等凭据),请勿把该文件分享出去;本仓库不含任何节点数据
- 不收集遥测、不访问除你配置的节点与内核下载地址之外的任何服务
- 插件不修改 Harness 的全局 dispatcher:Harness 自身的 web_fetch 按设计豁免进程级代理,模型调用与遥测也不受影响

配置项

| 位置 | 项 | 默认 |
| 设置 → 网络代理 | 模式 | 智能 |
| 设置 → 网络代理 | 注入 Agent shell 环境 | 开 |
| 设置 → 网络代理 | 路由名单(智能模式强制走节点的域名后缀) | github.com、githubusercontent.com、huggingface.co、google.com、x.com … |
| 设置 → 网络代理 | 镜像地址 | 空(用固定 Release 地址) |
| 设置 → 网络代理 | 测速优先(按实测速度选直连/节点) | 开(关闭 = 名单内一律走节点) |
| state.json | routerPort / mixedPort / clashPort | 30810 / 30811 / 30812 |

实测输出(本机真实结果)

$ curl -sS -o /dev/null -w "%{http_code} %{time_total}s\n" https://github.com
200 4.410922s

$ curl -sS https://api.github.com/rate_limit | head -c 60
{"resources":{"code_search":{"limit":60,"remaining":56,"r

$ git clone --depth 1 https://github.com/octocat/Hello-World /tmp/hello && git -C /tmp/hello log --oneline -1
7fd1a60 Merge pull request #6 from Spaceghost/patch-1

$ net_proxy test
节点测试结果:
- 节点A · 203.0.113.10:443 · 正常 713ms
- 节点B · node.example.com:443 · 正常 1530ms

被阻断域名的自动回退(路由器决策日志,via 为最终走向):

github.com → proxy
ghproxy.com → fallback(直连 4000ms 无回应)→ proxy registry.npmjs.org → direct

兼容性

- DSH:实测于 0.2.0-rc.2(Web profile)。插件不声明强制 DSH peer 范围,安装不会被版本检查拦下
- Node:随 DSH 运行时(实测 Node 22)
- 平台:Linux / macOS / Windows,见上文内核表;其他架构需自行准备内核
- 不支持的输入:订阅链接(http(s)://)、hysteria / tuic / wireguard 等协议暂不支持

已知限制

- Harness 自带的 web_fetch 不走代理:DSH 的这个调用点故意把请求钉在已校验地址上,官方设计上豁免进程级 dispatcher。要取被阻断站点,请用 net_proxy 工具或终端里的 curl
- ws 路径里的查询串:path=/xxx?ed=2048 中的 ed 是 Xray 的客户端早发数据指令,不属于 HTTP 请求行;本插件已把它翻译成 sing-box 的 max_early_data(否则会被转义成 %3F 导致服务端 404)
- 本机没有 IPv6 出口时,IPv6 单栈节点标为「本机不可用」并跳过:不算失效、不会被删除,换台有 IPv6 的机器即可用
- 路由记忆是进程内的:dsh-web 重启后重新测量,首个请求会付一次竞速开销(通常几百毫秒)
- 端口被占用时可换:插件热重载时旧实例可能短暂占着 routerPort;新版会先强制断开旧连接并退避重试,仍失败则面板会显示「本地代理未在监听:…EADDRINUSE」,把 state.json 里的 routerPort 换成别的端口即可立即恢复(重启 dsh-web 会彻底清理)
- 吞吐采样有窗口:只观察建立后的 1.2 秒,本身响应就慢的站点可能被误判;降级 2 分钟后会自动重测
- 插件不支持自动更新:升级请卸载后重装
- 节点数上限 200,单次 fetch 默认截断 60000 字节

第三方组件

内核为 sing-box(SagerNet/sing-box,GPL-3.0-or-later,附加上游许可条款)的未修改上游构建,按 Release 附件分发。详见 THIRD_PARTY_NOTICES.md。

License

MIT © 2026 gswenxue

dsh-egress-router — 为 DeepSeek Harness 提供按需出口路由。导入你自己的 vless / vmess / trojan / ss 节点,然后只让需要走节点的流量走节点:auto 模式把一份可配置的域名列表路由到节点,其余流量保持直连,直连被黑洞时回退到节点(watchdog + TLS 字节重放)。节点保留状态(ok / failed / unavailable here),永不自动删除,节点备注通过 net_proxy 工具对智能体可见。sing-box 内核从 GitHub Release 附件获取,带 SHA-256 校验,因此仓库保持小巧。

安装:dsh plugin --profile web add github:gswenxue/dsh-egress-router

以你的用户权限运行:绑定三个回环端口,启动 sing-box 内核,把节点库存放在 $DSH_HOME/integrations/dsh-net-proxy/ 下,并在启用时把智能体子进程的代理环境变量指向本地路由器。
无遥测。MIT 许可;内置内核是未修改的 GPL-3.0 上游构建。
预览分享卡片长什么样 ↓gswenxue/dsh-egress-router
分享 · DeepSeek Harness Hub
gswenxue/dsh-egress-router

给 DeepSeek Harness 的按需网络出海:粘贴节点链接,智能体就能在直连被阻断时临时走代理。

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部