From 90af2e7e675d5557ed3afe66dd9e52b01dd42287 Mon Sep 17 00:00:00 2001 From: MarsDoge Date: Wed, 18 Mar 2026 16:14:50 +0800 Subject: [PATCH] fix(agents): restore correct precedence: subagents.model > defaults.subagents.model > agent.primary --- src/agents/model-selection.test.ts | 4 ++-- src/agents/model-selection.ts | 4 ++-- .../openclaw-tools.subagents.sessions-spawn.model.test.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/agents/model-selection.test.ts b/src/agents/model-selection.test.ts index c95940e0208..008a87a3c57 100644 --- a/src/agents/model-selection.test.ts +++ b/src/agents/model-selection.test.ts @@ -829,7 +829,7 @@ describe("normalizeModelSelection", () => { }); describe("resolveSubagentConfiguredModelSelection", () => { - it("prefers the target agent primary model over the global subagent default", () => { + it("prefers the target agent subagents.model over global defaults.subagents.model and agent.primary", () => { const cfg = { agents: { defaults: { @@ -841,7 +841,7 @@ describe("resolveSubagentConfiguredModelSelection", () => { } as OpenClawConfig; expect(resolveSubagentConfiguredModelSelection({ cfg, agentId: "research" })).toBe( - "opencode/claude", + "minimax/MiniMax-M2.5", ); }); }); diff --git a/src/agents/model-selection.ts b/src/agents/model-selection.ts index 78b911909ba..acc29a32bf9 100644 --- a/src/agents/model-selection.ts +++ b/src/agents/model-selection.ts @@ -381,8 +381,8 @@ export function resolveSubagentConfiguredModelSelection(params: { const agentConfig = resolveAgentConfig(params.cfg, params.agentId); return ( normalizeModelSelection(agentConfig?.subagents?.model) ?? - normalizeModelSelection(agentConfig?.model) ?? - normalizeModelSelection(params.cfg.agents?.defaults?.subagents?.model) + normalizeModelSelection(params.cfg.agents?.defaults?.subagents?.model) ?? + normalizeModelSelection(agentConfig?.model) ); } diff --git a/src/agents/openclaw-tools.subagents.sessions-spawn.model.test.ts b/src/agents/openclaw-tools.subagents.sessions-spawn.model.test.ts index 0587024a511..786c1c033a6 100644 --- a/src/agents/openclaw-tools.subagents.sessions-spawn.model.test.ts +++ b/src/agents/openclaw-tools.subagents.sessions-spawn.model.test.ts @@ -244,7 +244,7 @@ describe("openclaw-tools: subagents (sessions_spawn model + thinking)", () => { }, runId: "run-agent-primary-over-subagent-default", callId: "call-agent-primary-over-subagent-default", - expectedModel: "opencode/claude", + expectedModel: "minimax/MiniMax-M2.5", }); });