前言¶
在 DeepSeek Harness(DSH)里跑智能体时,常见路径是经中继把流式请求打到兼容 /v1/messages 的 LLM 服务。链路偶发变慢时,往往卡在「等响应头」这一段:客户端已经发出请求,但首包时间(TTFT)被拖长,对话体感就会发钝。
常见做法是整次重试或换模型,代价是可能重复计费、或白白丢掉已经建立好的连接上下文。下面介绍的 dsh-ttft-hedge(维护者 r-ayin,分类:模型推理)针对这一类流式调用,在 DSH 侧用 hedged request(对冲请求) 做 TTFT 优化,并附带统计能力。
这是什么¶
dsh-ttft-hedge 是 DSH 社区插件,仓库 r-ayin/dsh-ttft-hedge,当前目录页版本为 v0.0.1(SkillHub 目录)。一句话定位:对发往 LLM 中继的 流式 /v1/messages 调用做对冲——在约定 deadline 内若仍未收到响应头,则并行发起第二次尝试并 竞速(race),先到先用;同时对 5xx/504、4xx/429 按 README 描述的策略处理,并记录统计信息。
插件由 dsh-super-injector 的 dev_scaffold_plugin 生成,以 Cordis 补丁(cordis.patch.yml)形式注入 DSH 运行时,依赖 @deepseek-ai/dsh-llm、@deepseek-ai/dsh-tools 等 peer 包(见仓库 package.json)。
核心功能¶
以下能力均来自仓库 README 与 package.json 中的描述,未在资料中出现的配置字段或 CLI 不在本文展开。
响应头 deadline 与对冲竞速¶
对流式 /v1/messages 请求:若在 deadline 内未收到响应头,插件会 再发一次 并行请求,并对两路(或多路)尝试做竞速,先返回可用响应头的一方 被选用,用于压低 TTFT 长尾。
HTTP 状态与重试策略¶
- 5xx / 504:立即重试(README 表述为「立即重抽」)。
- 4xx / 429:原样透传,不由插件擅自改写为成功或静默吞掉。
统计¶
README 写明提供 统计工具 与 stats 文件;具体字段、路径与查看方式需以仓库源码与后续文档为准,安装后可在本机核对生成物。
构建与注入¶
资料中的官方步骤是 本地构建 + 注入器注入,而非本文臆造的 dsh plugin add 命令。在插件仓库根目录执行:
bash scripts/build.sh
构建产物入口为 lib/index.js(package.json 中 main)。在 dsh-super-injector 注入器环境 内,对本目录执行注入:
dev_inject_plugin <本目录>
将 <本目录> 替换为 dsh-ttft-hedge 克隆或解压后的绝对路径。运行环境要求 Node.js >= 20(engines 字段)。
若你通过 SkillHub 等社区目录安装,请以目录页与仓库 README 当时公布的命令为准;本文只复述已抓取资料中的上述两条。
典型用法(行为层面)¶
README 未给出独立的「配置片段 + 一次对话」端到端示例,因此这里只说明插件 挂在哪条链路上:
- DSH 经
@deepseek-ai/dsh-llm向中继发起 streaming/v1/messages调用。 - 插件在对冲与竞速逻辑生效后,对 响应头是否按时返回 做判断;超时则触发第二次并行尝试。
- 上游返回 5xx/504 时走立即重试;4xx/429 直接返回给调用方。
- 统计结果写入 README 所称的 stats 机制,便于事后查看对冲与 TTFT 相关数据。
具体启用条件、deadline 默认值及 stats 文件位置,请在安装后阅读仓库 lib 与 cordis.patch.yml,勿凭插件名猜测配置项。
适用场景与注意¶
适合谁:已经在 DSH 里使用流式 /v1/messages、且 TTFT 偶发拖慢、愿意用 并行多请求竞速 换更稳首包体验的开发者。分类上属于 模型推理 链路优化,不是通用 HTTP 代理。
权限与安全:插件与当前 DSH 进程同权限 运行,会参与对外 LLM 请求;安装前请通读 GitHub 源码 与 MIT 许可证(package.json),确认对冲与重试策略符合你的合规与计费预期(并行尝试可能增加上游请求次数)。
生态说明:DSH 奉行「一切皆插件」;SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-ttft-hedge 把 hedged request 用在流式 /v1/messages 上:响应头错过 deadline 则并行第二枪并竞速,5xx/504 立即重试,4xx/429 透传,并带统计。需要源码与构建步骤时见 GitHub;浏览元信息与版本见 SkillHub 目录页。