dsh-smart-proxy:为 DSH 桌面版串起代理、自检与 SSE 超时保护

前言

在国内或企业网络里用 DeepSeek Harness(DSH)桌面版时,常见现象是对话请求报 Transport Failed,而浏览器或 curl 访问同一 API 域名却正常;另一类是 HTTPS 被公司网关或杀毒软件做中间人,TLS 校验失败;深度思考类模型的流式输出还可能在中途断连。单靠改系统代理或手动调 Node 环境变量,往往难以把「选代理 → 验证连通 → 长连接保活」固定成可重复流程。下面介绍社区插件 dsh-smart-proxy(维护者 Jack-jiang421),它把上述环节做成可配置、可热重载的链路,并把网络状态暴露为 Agent 工具,便于在对话里直接诊断。

这是什么

dsh-smart-proxy 是面向 DSH 的智能网络代理管理插件(当前版本 1.2.1,MIT 许可证)。定位可以概括为:为 DSH 桌面版提供可切换的代理模式、启动连通性自检和 SSE 流式超时保护,针对 Transport Failed 与 TLS 证书拦截类问题。插件通过 Cordis patch 接入 DSH 生态;要求 DSH >=0.2.0、Cordis ^4.0.1。

仓库与目录页:

核心功能

资料中明确列出的能力如下。

三种代理模式

  • system:跟随系统代理
  • manual:手动指定 proxyUrl
  • direct:强制直连

启动自检与超时保护

  • 启动时探测 DeepSeek API 连通性;失败时在日志中给出原因(可通过 autoTest 控制,默认开启)。
  • 单独放大 SSE 流式超时(默认 600000 毫秒,即 10 分钟),降低长回答被截断的概率。
  • 支持 TCP 连接超时、keepAlive、传输层错误自动重试及 maxRetries 等网络参数。

热重载与诊断工具

  • 修改 cordis.patch.yml 中 smart-proxy 配置后可即时生效,无需重启 DSH。
  • 在对话中可触发 Agent 工具查看状态或切换模式(见下文「典型用法」)。

TLS 与绕过列表

  • ignoreTlsErrors 可在自签或中间人环境下临时忽略证书错误(默认 false;开启会降低安全性,仅应在明确知晓风险时使用)。
  • bypassDomains 可配置不走代理的域名,默认包含 localhost、127.0.0.1、::1。

安装与启用

先做环境确认:DSH 版本不低于 0.2.0。安装命令以仓库 README 为准。

Web 或插件中心:

dsh plugin --profile web add dsh-smart-proxy

桌面版:

dsh plugin --profile desktop add dsh-smart-proxy

安装后重启 dsh web,在「设置 → 插件」中确认 smart-proxy 已启用。

配置

在 ~/.dsh/profiles/<profile>/cordis.patch.yml 中覆盖 smart-proxy 段。下面示例将模式设为手动代理并指定本地 HTTP 代理地址:

- id: smart-proxy
  config:
    mode: manual
    proxyUrl: "http://127.0.0.1:7890"

完整配置项(类型与默认值以 README 为准):

参数 类型 默认值 说明
mode string system system / manual / direct
proxyUrl string http://127.0.0.1:7890 manual 模式使用的代理地址
streamTimeout number 600000 SSE 流式超时(毫秒)
connectTimeout number 30000 TCP 连接超时(毫秒)
keepAlive boolean true 启用 TCP Keep-Alive
retryOnTransportError boolean true 传输层错误自动重试
maxRetries number 3 最大重试次数
ignoreTlsErrors boolean false 忽略 TLS 证书错误
bypassDomains string[] ["localhost", "127.0.0.1", "::1"] 不走代理的域名
autoTest boolean true 启动时自动测试连通性

典型用法

插件注册了 Agent 工具,可用自然语言触发。README 给出的对应关系如下。

说法 工具
「看一下当前代理状态,顺便测下连通性」 smart-proxy.status
「切换到直连模式」 smart-proxy.switch-mode

smart-proxy.status 会返回当前模式、代理地址、TLS 豁免状态、连通性结果与延迟;smart-proxy.switch-mode 支持 direct / manual / system,并可同时传入新的 proxyUrl。

排查 Transport Failed

仓库 README 建议按顺序尝试:

  1. 将 mode 改为 direct,确认问题是否由代理引起。
  2. 核对 proxyUrl 端口与本机代理软件一致(例如 Clash 常见 7890,V2Ray 常见 10809)。
  3. 在代理规则里将 api.deepseek.com 设为 DIRECT,避免规则误判。
  4. 临时关闭杀毒软件的 HTTPS 流量扫描。
  5. 在日志中搜索 [dsh-smart-proxy] 获取完整诊断信息。

适用场景与注意

适合经常在 DSH 桌面版中调用 DeepSeek API、且网络环境涉及系统代理、手动代理或 TLS 拦截的开发者。插件与 DSH 进程同权限运行,安装前建议在 GitHub 查看源码与 MIT 许可证,确认符合本机安全策略;不要轻易长期开启 ignoreTlsErrors。

DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等社区目录由社区维护,与 DeepSeek / 幻方无官方从属关系,本文安装与配置均以插件仓库说明为准。

结尾

dsh-smart-proxy 把代理选择、连通性验证和长连接参数串成一条可配置链路,并辅以对话内诊断工具,便于在 Transport Failed 或流式断连时快速定位。需要安装或查配置时,可打开 社区目录页 或 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye