Skip to content
Discussion options

You must be logged in to vote

这个现象可以确认是当前子代理继承路径的问题,不是同名模型导致的正常路由选择。\n\n当前实现中,in-process driver 创建子代理时会调用 resolveChildAgentOptions(parent, request.agentOptions);该函数默认复制的是 parent.options.providerparent.options.modelparent.options.maxTokens:\n\n- resolveChildAgentOptions\n- in-process driver 的调用位置\n\n问题在于 parent.options 是父代理创建时的配置快照。Web UI 后续切换当前会话的 provider/model 时,实际请求可以已经走 OpenCode-Go,但创建时的快照仍可能是 deepseek-official / deepseek-v4-flash。子代理继续读取这个旧快照,就会选中 DeepSeek 官方 route,并使用该 route 对应的 Key。即使两个渠道的模型名相同,provider 不同也足以产生你看到的扣费。\n\n这与 #1581 报告的是同一根因;该讨论也已有 current master 上的复现和测试补丁。正确修复方向应是:创建子代理时优先继承父会话最近一次有效 request/header 中的 provider/model,创建快照只作为父会话尚未发出请求时的 fallback;显式的 child override 再保持最高优先级。\n\n在官方修复进入发行版之前,建议先这…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by Hyl209
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants