[BUG]mcp-client 工具调用参数流式传输断裂,导致空参数和死循环 #3568
AgainstFire
started this conversation in
General
Replies: 1 comment
|
你贴的 delta 里有个细节值得先核一下——根因可能不在重组逻辑,而在模型发出来的 JSON 本身就是坏的。 把你贴的三段按顺序拼起来: 这不是合法 JSON—— {"connection_name": "43-MySQL"}如果重组是对的,那么
怎么区分这两种
如果确认是模型漏引号那这条的诉求应该改成两点,而且都比"修重组"更普适:
边界我上面全是从你贴的三段 delta 反推的,没有看你附件里的完整日志,也没有复现过。如果拼出来的字符串其实是带引号的,那我这条就不成立,以你的日志为准。 我们不修 利益相关:我维护 pi2dsh(Pi 生态兼容层)。这条回复里没有任何要你装的东西——在根因还没定之前推荐换 MCP 运行时是不负责任的,那可能只是把同一个坏 JSON 交给另一个解析器。 |
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.
环境
@dbx-app/mcp-serverv0.4.61@deepseek-ai/dsh-mcp-client复现步骤
cordis.patch.yml中配置 DBX MCP:实际行为
模型生成工具调用
dbx_list_tables,意图传入{"connection_name": "43-MySQL"},但参数在流式传输过程中断裂:最终发送给 MCP Server 的参数变为空
{},导致报错"Either connection_id or connection_name is required"。模型无法纠正,陷入死循环(17+ 步重复调用)。期望行为
参数应完整传输:
{"connection_name": "43-MySQL"}根因
@deepseek-ai/dsh-mcp-client的流式参数重组逻辑存在 bug。argumentsDelta分片追加后,最终arguments字段未正确组装。附件
session.txt
All reactions