DeepSeek Harness Hub
← 返回列表

代理自动回退sg88/dsh-proxy-switch

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

直连失败自动切换 HTTP 或 SOCKS5 代理重试

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/22 · 已提供中文文档

DSH 网络代理开关:直连失败自动回退到 HTTP/SOCKS5 代理,设置面板可配置代理地址

综合分
28.2
GitHub 分
28.2
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add sg88/dsh-proxy-switch
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-settings
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-proxy-switch

DSH(DeepSeek Harness)网络代理开关插件:直连网络不通时,自动改用配置的 HTTP/SOCKS5 代理重试,代理地址可在 DSH 设置面板中随时修改。

功能

- 🔌 直连失败自动回退:LLM 请求、网络搜索、web_fetch 等所有对外请求(均走 host 全局 fetch)直连失败(连接拒绝 / DNS 失败 / 超时 / 连接重置)时,自动用配置的代理重发一次。
- 🎛️ 设置面板分区:DSH Web 设置弹窗新增「代理」分区,可配置:
- 总开关(启用 / 停用代理回退)
- HTTP(S) 代理地址(默认 http://192.168.31.2:7890)
- SOCKS5 代理地址(默认 socks5://192.168.31.2:7891)
- 代理选择模式(自动 / 始终 HTTP / 始终 SOCKS5)
- 💾 持久化:设置写入 ~/.dsh/settings.yaml,修改后立即生效,无需重启 DSH。
- 🧹 零第三方依赖:CONNECT 隧道与 SOCKS5 握手均自实现,不引入任何外部包。

安装

dsh plugin --profile web add link:
例如:
dsh plugin --profile web add link:D:\deepseek\dsh-proxy-switch

安装后 重启 dsh web 生效(dsh web),然后打开 Web 设置 → 代理。

使用

1. 重启后在设置面板找到「代理」分区。
2. 打开「启用代理回退」开关。
3. 按需修改代理地址(HTTP 与 SOCKS5 可同时保留,模式选「自动」时 https 目标优先 HTTP 代理)。
4. 保存即生效:此后任何对外请求直连不通时会自动走代理。

配置项

| 字段 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| enabled | boolean | false | 总开关,关闭时所有请求保持直连 |
| httpProxy | string | http://192.168.31.2:7890 | HTTP(S) 代理地址 |
| socksProxy | string | socks5://192.168.31.2:7891 | SOCKS5 代理地址 |
| mode | string | auto | auto 自动(https 优先 HTTP)/ http 始终 HTTP / socks5 始终 SOCKS5 |

对应 ~/.dsh/settings.yaml 中的 proxy: 段。

工作原理

- host 端(lib/index.js)注册 proxy 设置命名空间,并包装 globalThis.fetch。
- 包装逻辑:先直连 → 抛网络层错误且 enabled=true 时 → 用配置的代理重发(lib/proxy-fetch.js)。
- 代理通道自实现:HTTP 代理走 CONNECT 隧道(RFC 7230),SOCKS5 走 RFC 1928 握手;TLS 由 Node tls 处理,响应保持流式(SSE 正常)。
- client 端(lib/client.js)通过设置面板 slot(settings.section)注册「代理」分区 UI。

开发

本地改动后(host 端 / client 端均无需构建,直接生效)
host 端改动需要重启 dsh web;client 端 bundle 内容变更会被 HMR 热载

许可

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群