DSH Plugins
返回列表
🤖

dsh-fetch-timeouts

模型推理 更新于 2026.09.03

在终端中运行以下命令:

dsh plugin install d3vmeh/dsh-fetch-timeouts

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

在终端执行 dsh plugin install d3vmeh/dsh-fetch-timeouts 即可安装,插件源码位于 https://github.com/d3vmeh/dsh-fetch-timeouts 。

插件介绍

Node 内置 fetch 在 300 秒未收到响应头或 300 秒未收到任何 body 字节时就会放弃连接,而 dsh 的 streamIdleTimeoutMs 和 timeoutMs 各自作用于不同层级,调大它们只会把报错信息从一种换成另一种。实际结果是 Ollama、LM Studio 这类本地模型在长时间推理或一次性生成大文件工具调用时,恰好被掐在 5:00 整,抛出 UND_ERR_HEADERS_TIMEOUT 或 UND_ERR_BODY_TIMEOUT。dsh-fetch-timeouts 做的就是一件事:以配置的 undici Agent 替换 Node 全局 fetch dispatcher,把这两个计时器默认拉到 30 分钟,让模型拥有完整的推理与生成窗口。

改动是进程级的。所有经过 Node 全局 dispatcher 的请求——模型调用、web 搜索、HTTP MCP server、云端 provider——都会获得同样的宽松限制;web_fetch 因为自建 per-request agent 而不受影响。代价是真正断开的连接可能要等到配置时长才被告别,因此建议同时调高 streamIdleTimeoutMs,让 dsh 的空闲看门狗成为唯一兜底。单用户机器上完全合理,共享主机上则需三思。

适合跑 Ollama、LM Studio 或任何不发 keepalive ping 的本地后端、且反复撞上 5 分钟静默超时的用户。llama.cpp 的 llama-server 默认每 30 秒发一次 ping,这些用户通常不需要本插件。一旦 dsh 未来原生暴露这两个超时参数,本插件即自动失效。

使用场景

  • Ollama 生成整文件工具调用时 5 分钟被静默切断
  • LM Studio 推理大 tool call 期间触发 UND_ERR_HEADERS_TIMEOUT
  • 本地后端不发送 keepalive ping 导致长连接超时断开

适合人员

  • 使用 Ollama 或 LM Studio 进行本地推理的开发者和研究者
  • 反复遭遇 5 分钟静默超时且模型实际仍在工作的用户
  • 单用户机器上运行慢速本地模型服务、需要更长生成窗口的场景