
























@@ -2,6 +2,7 @@ import { describe, it, expect, vi } from "vitest";
22import type { OpenClawConfig } from "../config/types.js";
33import { resetLogger, setLoggerOverride } from "../logging/logger.js";
44import { createWarnLogCapture } from "../logging/test-helpers/warn-log-capture.js";
5+import { resolveAgentHarnessPolicy } from "./harness/policy.js";
56import { migrateLegacyRuntimeModelRef } from "./model-runtime-aliases.js";
67import { isModelKeyAllowedBySet, providerWildcardModelKey } from "./model-selection-shared.js";
78import {
@@ -2186,7 +2187,7 @@ describe("normalizeModelSelection", () => {
21862187});
2187218821882189describe("resolveSubagentConfiguredModelSelection", () => {
2189-it("prefers the agent primary model over agents.defaults.subagents.model", () => {
2190+it("prefers agents.defaults.subagents.model over the agent primary model", () => {
21902191const cfg = {
21912192agents: {
21922193defaults: {
@@ -2203,7 +2204,7 @@ describe("resolveSubagentConfiguredModelSelection", () => {
22032204} as OpenClawConfig;
2204220522052206expect(resolveSubagentConfiguredModelSelection({ cfg, agentId: "research" })).toBe(
2206-"anthropic/claude-opus-4-6",
2207+"openai/gpt-5.4",
22072208);
22082209});
22092210@@ -2228,6 +2229,34 @@ describe("resolveSubagentConfiguredModelSelection", () => {
22282229"google/gemini-2.5-pro",
22292230);
22302231});
2232+2233+it("keeps runtime policy attached to the configured default subagent model", () => {
2234+const cfg = {
2235+agents: {
2236+defaults: {
2237+subagents: { model: "anthropic/claude-sonnet-4-6" },
2238+models: {
2239+"anthropic/claude-sonnet-4-6": { agentRuntime: { id: "claude-cli" } },
2240+},
2241+},
2242+list: [{ id: "research", model: "anthropic/claude-opus-4-7" }],
2243+},
2244+} as OpenClawConfig;
2245+2246+const resolved = resolveSubagentConfiguredModelSelection({ cfg, agentId: "research" });
2247+2248+expect(resolved).toBe("anthropic/claude-sonnet-4-6");
2249+expect(
2250+resolveAgentHarnessPolicy({
2251+provider: "anthropic",
2252+modelId: "claude-sonnet-4-6",
2253+config: cfg,
2254+}),
2255+).toEqual({
2256+runtime: "claude-cli",
2257+runtimeSource: "model",
2258+});
2259+});
22312260});
2232226122332262describe("resolveSubagentSpawnModelSelection", () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。