Replies: 2 comments
|
给你的诊断补一个下层实测,能把修复位置钉得更死: 故障注入打真 pi-ai 0.84.1 传输层( 含义:底层传输的重试能力是现成的、而且已经覆盖你撞到的错误族——session 直接终止只能来自上层 边界说明:注入的是错误形状,不是你的具体网络环境;Windows 上 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
概要
LLM API 返回 TCP 读取错误时(如 "read tcp 1... is not valid JSON"),
classifyPiAiError没有匹配到read tcp,将其归类为PI_AI_ERROR。由于
PI_AI_ERROR不在DEFAULT_RETRYABLE_CODES中,session 直接终止而非重试。环境
错误信息
{"type":"turn/end","reason":{"kind":"error","error":{ "message":"Unexpected token 'r', \"read tcp 1\"... is not valid JSON", "code":"PI_AI_ERROR" }}}根因
packages/llm/llm-pi-ai/src/index.ts中classifyPiAiError的 TRANSPORT 正则:正则没有匹配
read tcp,导致 TCP 读取错误被归类为PI_AI_ERROR,而该错误码不可重试。修复建议
在 TRANSPORT 正则中加上
read\s+tcp:临时绕过
在 settings.yaml 的 provider 配置中手动加上
PI_AI_ERROR到可重试列表:All reactions