DSH Plugins
返回列表
🧰

dsh-undici-timeout

联网工具 更新于 2026.10.15

在终端中运行以下命令:

dsh plugin install mqnu00/dsh-undici-timeout

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install mqnu00/dsh-undici-timeout 从 https://github.com/mqnu00/dsh-undici-timeout 安装本插件,装完后重启 DSH 生效。

插件介绍

在 DSH 里,大模型请求往往走 globalThis.fetch,背后其实是 Node 自带的 undici。它的连接阶段(DNS、TCP、TLS)被硬卡在约 10 秒,既不能调环境变量,也不能在调用侧改参数。网络稍慢、双栈探测踩到无出口的 IPv6,或上层每次重试都重新握手时,就容易在边界上被砍掉,表现为 TIMEOUT、TRANSPORT,重试越多越像「永远在连」。

本插件用一份可解析的 undici 自建 Agent,只接管你配置的直连域名(默认含 opencode.ai),把连接、响应头、保活等超时做成可配项,并在空闲连接上复用,减少「每次尝试都是新握手」的开销。检测到 http_proxy 等代理环境变量时会自动让路,与 dsh-net-proxy、dsh-net-autoswitch 等代理链路并存;同时默认关闭 HTTP/2,避免 undici 8 默认开 h2 时,Cloudflare 边缘对 SSE 长流掐断带来的另一类传输错误。

它是有明确边界的补丁:单文件、零依赖、可随时卸载。适合经常在直连 LLM 网关时卡在约 10 秒连接预算、或 WSL/本机 IPv6 无出口导致探测浪费的用户;若 DSH 或上游已支持自定义 dispatcher、连接超时,或 stats 里长期不再出现 TIMEOUT,就可以考虑摘掉。

使用场景

  • 直连 LLM 网关时经常在约 10 秒处出现 TIMEOUT 或 TRANSPORT
  • 重试频繁但每次仍是新 TCP/TLS 握手,延迟和失败率居高不下
  • 本机双栈或 IPv6 无出口导致内置 fetch 连接探测失败,而 curl -4 正常

适合人员

  • 在 DSH 中直连 opencode.ai 等白名单域名的日常用户
  • WSL 或弱网环境下需要更长连接预算的开发者
  • 需要与 net-proxy 共存、并靠状态路由排查联网问题的运维者