


























@@ -1,5 +1,8 @@
11import { normalizeProviderId } from "../agents/model-selection.js";
2-import { normalizeAgentModelRefForConfig } from "../config/model-input.js";
2+import {
3+normalizeAgentModelMapForConfig,
4+normalizeAgentModelRefForConfig,
5+} from "../config/model-input.js";
36import type { OpenClawConfig } from "../config/types.openclaw.js";
47import {
58normalizeLowercaseStringOrEmpty,
@@ -109,33 +112,11 @@ function normalizeAgentModelConfigForWrite(value: unknown): unknown {
109112return next;
110113}
111114112-function mergeModelEntryConfig(existing: unknown, incoming: unknown): unknown {
113-if (!isPlainRecord(existing) || !isPlainRecord(incoming)) {
114-return incoming;
115-}
116-117-const existingParams = isPlainRecord(existing.params) ? existing.params : undefined;
118-const incomingParams = isPlainRecord(incoming.params) ? incoming.params : undefined;
119-return {
120- ...existing,
121- ...incoming,
122- ...(existingParams || incomingParams
123- ? { params: { ...existingParams, ...incomingParams } }
124- : undefined),
125-};
126-}
127-128115function normalizeAgentModelMapForWrite(value: unknown): unknown {
129116if (!isPlainRecord(value)) {
130117return value;
131118}
132-133-const next: Record<string, unknown> = {};
134-for (const [key, entry] of Object.entries(value)) {
135-const normalizedKey = normalizeAgentModelRefForConfig(key);
136-next[normalizedKey] = mergeModelEntryConfig(next[normalizedKey], entry);
137-}
138-return next;
119+return normalizeAgentModelMapForConfig(value);
139120}
140121141122function normalizeConfigModelRefsForWrite(cfg: OpenClawConfig): OpenClawConfig {
@@ -200,7 +181,9 @@ export function applyDefaultModel(
200181opts?: { preserveExistingPrimary?: boolean },
201182): OpenClawConfig {
202183const normalizedModel = normalizeAgentModelRefForConfig(model);
203-const models = { ...cfg.agents?.defaults?.models };
184+const models = {
185+ ...normalizeAgentModelMapForConfig(cfg.agents?.defaults?.models ?? {}),
186+};
204187models[normalizedModel] = models[normalizedModel] ?? {};
205188206189const existingModel = cfg.agents?.defaults?.model;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。