连接中断与 agentic 工具超时

如果你的工具在回答输出前关闭连接,模型仍已处理你的提示词。这类请求会在用量记录中标记为“被你的应用中断”。

为什么仍然计费?

  • 按请求计费的模型:提示词一经处理,提供方即收取全额 → 费用固定。
  • 按 token 计费的模型:只按提供方的实际账单;差额自动退还。
  • 因 Geraikita 一侧故障中断:自动全额退款。

推荐设置

Claude Code

API_TIMEOUT_MS=600000

默认为 10 分钟 — 不要调低。在 ~/.claude/settings.json 的 env 中或通过环境变量设置。

OpenCode

opencode.json → provider.<id>.options.timeout: 600000

单位为毫秒。如果你也设置了 headerTimeout / chunkTimeout,至少使用 300000。

Kilo Code · Roo Code · Cline

提供方设置 → API 请求超时 ≥ 300 秒;关闭自动重试。不同版本的选项名称可能不同。

OpenAI / Anthropic SDK

timeout=600, max_retries=1, stream=True

timeout 单位为秒(Python)或毫秒(Node.js:600 * 1000)。使用流式输出,第一个 token 会更快出现。

Python requests / httpx

requests: timeout=(10, 600)httpx: httpx.Timeout(600, connect=10)

第一个数字 = 连接超时,第二个 = 读取超时。读取超时至少 300 秒。

自写脚本 / 代理

stream: trueUser-Agent: "nama-alatmu/1.0"

读取超时 ≥ 300 秒,开启流式输出,并在 User-Agent 中填写工具名称,方便我们协助排查。

自行核对数据

打开 Dashboard → 最近用量 → 筛选“被你的应用中断”。点按某一行可查看事件经过和扣费原因。

各工具完整指南(流式输出、重试、上下文大小、代码示例):Agentic 工具设置。