Skip to content

[Bug] 内置 http_request 硬超时导致长请求误判 + 对话/任务执行途中无故中断 #1202

Description

@lwy521

一句话总结

两个长任务稳定性 bug:① 内置 http_request 有无法配置的硬超时(约 10~15s),慢请求(如生图 20s+)必超时;② 对话/多步任务会无征兆中途打断停止。两者叠加导致长任务几乎无法稳定跑完。


【问题一】内置 http_request 工具存在硬超时,长请求被误判超时

环境

  • 客户端:Operit App
  • 涉及工具:宿主内置 http_request(含 toolCall({name:"http_request"}) 与 extended_http_tools:http_request)
  • 自研插件 packages/universal-toolkit.js 通过该内置工具发起生图请求

问题描述

内置 HTTP 客户端存在一个无法通过参数控制的硬超时,阈值约 10~15 秒。请求耗时超过阈值时,直接抛错 Error executing HTTP request: timeout,且传入 timeout 参数不生效。

复现步骤

  1. 调用生图模型 sensenova-u1.5-lite(单张图耗时约 20~30 秒)
  2. POST https://www.apiznn.xyz/v1/images/generations,body 含 model: sensenova-u1.5-lite, size: 1024x1024
  3. 固定返回 image gen error: Error executing HTTP request: timeout

对比验证

  • 内置 http_request 请求同接口 → 超时失败
  • Node.js(code_runner)直连同接口、同参数 → 20~22 秒正常返回 200,图片成功生成下载

补充

自研插件已在请求里传了 timeout: 180000(universal-toolkit.js 第 255 行),但宿主内置 http_request 未识别该参数,等于白设。

期望

  1. 内置 http_request 支持可配置超时,或默认超时提升到 180s+
  2. 识别并生效调用方传入的 timeout 参数

【问题二】对话 / 任务执行途中会突然中断停止

环境

  • 客户端:Operit App
  • 场景:普通对话,以及多步工具调用任务(生图、文件操作、脚本执行等)

问题描述

模型在正常输出回复或执行任务过程中,会无征兆地中途终止、打断停止。表现为:

  • 回复输出到一半戛然而止
  • 任务执行到某一步突然停住,不再继续
  • 需重新发送请求才能继续,且可能再次中断

复现步骤

  1. 发起较长或多步的对话/任务(如连续排查问题、多工具调用流程)
  2. 观察模型在输出或执行途中,无报错、无提示地直接停止
  3. 需重新发送「继续」或原请求才可能续上

影响

  • 长任务几乎无法一次跑完,频繁重试
  • 多步工具调用流程被打断后,上下文可能丢失或状态错乱
  • 叠加【问题一】的超时问题,长任务体验极差

可能方向(供排查)

  • 客户端/服务端是否存在单次响应最大时长或 token 上限,到达后被硬截断
  • 流式输出通道(SSE)是否中途断开未自动重连
  • 是否存在空闲超时或心跳缺失导致连接被重置
  • 多工具调用时,是否某个子调用触发中断

期望

  1. 长任务能稳定执行到底,不无故中断
  2. 若触发上限,给出明确报错或提示,而非无声停止
  3. 流式/多步任务中断后支持自动恢复或续传

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions