

























@@ -77,6 +77,7 @@ export async function finalizeSetupWizard(
7777options: FinalizeOnboardingOptions,
7878): Promise<{ launchedTui: boolean }> {
7979const { flow, opts, baseConfig, nextConfig, settings, prompter, runtime } = options;
80+const suppressGatewayTokenOutput = opts.suppressGatewayTokenOutput === true;
8081let gatewayProbe: { ok: boolean; detail?: string } = { ok: true };
8182let resolvedGatewayPassword = "";
8283@@ -392,7 +393,7 @@ export async function finalizeSetupWizard(
392393tlsEnabled: nextConfig.gateway?.tls?.enabled === true,
393394});
394395const authedUrl =
395-settings.authMode === "token" && settings.gatewayToken
396+settings.authMode === "token" && settings.gatewayToken && !suppressGatewayTokenOutput
396397 ? `${links.httpUrl}#token=${encodeURIComponent(settings.gatewayToken)}`
397398 : links.httpUrl;
398399if (opts.skipHealth || !gatewayProbe.ok) {
@@ -419,7 +420,7 @@ export async function finalizeSetupWizard(
419420await prompter.note(
420421[
421422t("wizard.finalize.webUiUrl", { url: links.httpUrl }),
422-settings.authMode === "token" && settings.gatewayToken
423+settings.authMode === "token" && settings.gatewayToken && !suppressGatewayTokenOutput
423424 ? t("wizard.finalize.webUiWithTokenUrl", { url: authedUrl })
424425 : undefined,
425426t("wizard.finalize.gatewayWsUrl", { url: links.wsUrl }),
@@ -450,24 +451,22 @@ export async function finalizeSetupWizard(
450451}
451452452453if (gatewayProbe.ok) {
453-await prompter.note(
454-[
455-t("wizard.finalize.gatewayTokenShared"),
456-t("wizard.finalize.gatewayTokenStored"),
457-t("wizard.finalize.gatewayTokenView", {
458-command: formatCliCommand("openclaw config get gateway.auth.token"),
459-}),
460-t("wizard.finalize.gatewayTokenGenerate", {
461-command: formatCliCommand("openclaw doctor --generate-gateway-token"),
462-}),
463-t("wizard.finalize.dashboardTokenMemory"),
464-t("wizard.finalize.dashboardOpenAnytime", {
465-command: formatCliCommand("openclaw dashboard --no-open"),
466-}),
467-t("wizard.finalize.dashboardTokenPrompt"),
468-].join("\n"),
469-"Token",
470-);
454+const tokenNotes = [
455+t("wizard.finalize.gatewayTokenShared"),
456+t("wizard.finalize.gatewayTokenStored"),
457+t("wizard.finalize.gatewayTokenView", {
458+command: formatCliCommand("openclaw config get gateway.auth.token"),
459+}),
460+t("wizard.finalize.gatewayTokenGenerate", {
461+command: formatCliCommand("openclaw doctor --generate-gateway-token"),
462+}),
463+suppressGatewayTokenOutput ? undefined : t("wizard.finalize.dashboardTokenMemory"),
464+t("wizard.finalize.dashboardOpenAnytime", {
465+command: formatCliCommand("openclaw dashboard --no-open"),
466+}),
467+suppressGatewayTokenOutput ? undefined : t("wizard.finalize.dashboardTokenPrompt"),
468+].filter(Boolean);
469+await prompter.note(tokenNotes.join("\n"), "Token");
471470}
472471473472const hatchOptions: { value: "tui" | "web" | "later"; label: string }[] = [
@@ -505,14 +504,20 @@ export async function finalizeSetupWizard(
505504controlUiOpenHint = formatControlUiSshHint({
506505port: settings.port,
507506basePath: controlUiBasePath,
508-token: settings.authMode === "token" ? settings.gatewayToken : undefined,
507+token:
508+settings.authMode === "token" && !suppressGatewayTokenOutput
509+ ? settings.gatewayToken
510+ : undefined,
509511});
510512}
511513} else {
512514controlUiOpenHint = formatControlUiSshHint({
513515port: settings.port,
514516basePath: controlUiBasePath,
515-token: settings.authMode === "token" ? settings.gatewayToken : undefined,
517+token:
518+settings.authMode === "token" && !suppressGatewayTokenOutput
519+ ? settings.gatewayToken
520+ : undefined,
516521});
517522}
518523await prompter.note(
@@ -553,6 +558,7 @@ export async function finalizeSetupWizard(
553558gatewayProbe.ok &&
554559settings.authMode === "token" &&
555560Boolean(settings.gatewayToken) &&
561+!suppressGatewayTokenOutput &&
556562hatchChoice === null;
557563if (shouldOpenControlUi) {
558564const browserSupport = await detectBrowserOpenSupport();
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。