前言¶
在国内或企业网络里用 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。
仓库与目录页:
- GitHub:https://github.com/Jack-jiang421/dsh-smart-proxy
- 社区目录:https://www.skillhub.cn/plugins/Jack-jiang421/dsh-smart-proxy
核心功能¶
资料中明确列出的能力如下。
三种代理模式¶
system:跟随系统代理manual:手动指定proxyUrldirect:强制直连
启动自检与超时保护¶
- 启动时探测 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 建议按顺序尝试:
- 将
mode改为direct,确认问题是否由代理引起。 - 核对
proxyUrl端口与本机代理软件一致(例如 Clash 常见 7890,V2Ray 常见 10809)。 - 在代理规则里将
api.deepseek.com设为DIRECT,避免规则误判。 - 临时关闭杀毒软件的 HTTPS 流量扫描。
- 在日志中搜索
[dsh-smart-proxy]获取完整诊断信息。
适用场景与注意¶
适合经常在 DSH 桌面版中调用 DeepSeek API、且网络环境涉及系统代理、手动代理或 TLS 拦截的开发者。插件与 DSH 进程同权限运行,安装前建议在 GitHub 查看源码与 MIT 许可证,确认符合本机安全策略;不要轻易长期开启 ignoreTlsErrors。
DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等社区目录由社区维护,与 DeepSeek / 幻方无官方从属关系,本文安装与配置均以插件仓库说明为准。
结尾¶
dsh-smart-proxy 把代理选择、连通性验证和长连接参数串成一条可配置链路,并辅以对话内诊断工具,便于在 Transport Failed 或流式断连时快速定位。需要安装或查配置时,可打开 社区目录页 或 GitHub 仓库。