




















@@ -11,6 +11,7 @@ import { getCurrentPluginMetadataSnapshot } from "../plugins/current-plugin-meta
1111import { resolveInstalledManifestRegistryIndexFingerprint } from "../plugins/manifest-registry-installed.js";
1212import type { PluginMetadataSnapshot } from "../plugins/plugin-metadata-snapshot.js";
1313import { resolveOpenClawAgentDir } from "./agent-paths.js";
14+import { resolveAgentWorkspaceDir, resolveDefaultAgentId } from "./agent-scope.js";
1415import { MODELS_JSON_STATE } from "./models-config-state.js";
1516import { planOpenClawModelsJson } from "./models-config.plan.js";
1617@@ -44,6 +45,7 @@ async function buildModelsJsonFingerprint(params: {
4445config: OpenClawConfig;
4546sourceConfigForSecrets: OpenClawConfig;
4647agentDir: string;
48+workspaceDir?: string;
4749pluginMetadataSnapshot?: Pick<PluginMetadataSnapshot, "index">;
4850}): Promise<string> {
4951const authProfilesMtimeMs = await readFileMtimeMs(
@@ -60,6 +62,7 @@ async function buildModelsJsonFingerprint(params: {
6062 envShape,
6163 authProfilesMtimeMs,
6264 modelsFileMtimeMs,
65+workspaceDir: params.workspaceDir,
6366 pluginMetadataSnapshotIndexFingerprint,
6467});
6568}
@@ -152,14 +155,17 @@ export async function ensureOpenClawModelsJson(
152155): Promise<{ agentDir: string; wrote: boolean }> {
153156const resolved = resolveModelsConfigInput(config);
154157const cfg = resolved.config;
158+const workspaceDir = resolveAgentWorkspaceDir(cfg, resolveDefaultAgentId(cfg));
155159const pluginMetadataSnapshot =
156-options.pluginMetadataSnapshot ?? getCurrentPluginMetadataSnapshot({ config: cfg });
160+options.pluginMetadataSnapshot ??
161+getCurrentPluginMetadataSnapshot({ config: cfg, workspaceDir });
157162const agentDir = agentDirOverride?.trim() ? agentDirOverride.trim() : resolveOpenClawAgentDir();
158163const targetPath = path.join(agentDir, "models.json");
159164const fingerprint = await buildModelsJsonFingerprint({
160165config: cfg,
161166sourceConfigForSecrets: resolved.sourceConfigForSecrets,
162167 agentDir,
168+ workspaceDir,
163169 ...(pluginMetadataSnapshot ? { pluginMetadataSnapshot } : {}),
164170});
165171const cached = MODELS_JSON_STATE.readyCache.get(targetPath);
@@ -181,6 +187,7 @@ export async function ensureOpenClawModelsJson(
181187sourceConfigForSecrets: resolved.sourceConfigForSecrets,
182188 agentDir,
183189 env,
190+ workspaceDir,
184191existingRaw: existingModelsFile.raw,
185192existingParsed: existingModelsFile.parsed,
186193 ...(pluginMetadataSnapshot ? { pluginMetadataSnapshot } : {}),
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。