import { normalizeProviderId } from "../agents/model-selection.js"; import { formatCliCommand } from "../cli/command-format.js"; import type { OpenClawConfig } from "../config/types.openclaw.js"; import { resolvePluginProviders } from "../plugins/providers.runtime.js";
export function buildProviderAuthRecoveryHint(params: {
provider: string;
config?: OpenClawConfig;
workspaceDir?: string;
env?: NodeJS.ProcessEnv;
includeConfigure?: boolean;
includeEnvVar?: boolean;
}): string { const loginCommand = resolveProviderAuthLoginCommand(params); const parts: string[] = []; if (loginCommand) {
parts.push(`Run \`${loginCommand}\``);
} if (params.includeConfigure !== false) {
parts.push(`\`${formatCliCommand("openclaw configure")}\``);
} if (params.includeEnvVar) {
parts.push("set an API key env var");
} if (parts.length === 0) { return `Run \`${formatCliCommand("openclaw configure")}\`.`;
} if (parts.length === 1) { return `${parts[0]}.`;
} if (parts.length === 2) { return `${parts[0]} or ${parts[1]}.`;
} return `${parts[0]}, ${parts[1]}, or ${parts[2]}.`;
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.13Bemerkung:
(vorverarbeitet am 2026-06-09)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.