Replies: 1 comment
|
这个“provider 来自父会话、model 落到另一个默认值”的非法拼接,在 Pi 子代理替代路线里已经按整对路由处理并通过真机验证。它不是 DSH 原生 spawn 的修复: dsh plugin --profile <你的-profile> add pi2dsh
dsh plugin --profile <你的-profile> add @tintinweb/pi-subagents创建无显式模型的子代理时,pi2dsh 从父会话最后一条真实 E2E 在 stock TUI 里先让父会话跑官方路由,再 复现与证据: |
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.
spawn 子代理路由两源拼接:provider 继承父会话、model 落全局默认,多 provider 下产生非法组合(UNKNOWN_MODEL)
环境:dsh web,多 LLM provider 配置(llm-pi-ai 多 provider + 抽屉切换)
复现步骤:
抽屉切换默认模型到非 DeepSeek 原生 provider(如 opencode-go-free / ox-alpha-free)
触发任何走 spawn 且未显式指定模型的子代理(如 auto-memory 的压缩员)
子代理 turn 立即失败:pi-ai provider "opencode-go-free" has no configured model "deepseek-v4-flash" (code=UNKNOWN_MODEL)
根因:子代理路由为两源拼接——provider 继承父会话上下文,model 落到宿主全局默认(deepseek-v4-flash)。两者来自不同来源,多 provider 下必然拼出父 provider 目录中不存在的组合。
证据:子代理会话日志 turn/end reason.kind=error, code=UNKNOWN_MODEL;同父会话本体使用 ox-alpha-free 正常。
期望行为:子代理未显式指定模型时,应整对继承父会话路由(provider+model 成对);仅当用户显式提供完整 route 时才覆盖。
建议修复:spawn 解析处改为 pair inheritance;或至少在 UNKNOWN_MODEL 时回退父会话实际模型。
All reactions