For plaintext private-network ws:// targets (trusted networks only), set
FLUFFBUZZ_ALLOW_INSECURE_PRIVATE_WS=1 in the onboarding process environment.Non-interactive custom provider:
--custom-api-key is optional in non-interactive mode. If omitted, onboarding checks CUSTOM_API_KEY.LM Studio also supports a provider-specific key flag in non-interactive mode:
--custom-base-url defaults to http://127.0.0.1:11434. --custom-model-id is optional; if omitted, onboarding uses Ollama’s suggested defaults. Cloud model IDs such as kimi-k2.5:cloud also work here.Store provider keys as refs instead of plaintext:
With --secret-input-mode ref, onboarding writes env-backed refs instead of plaintext key values.
For auth-profile backed providers this writes keyRef entries; for custom providers this writes models.providers.<id>.apiKey as an env ref (for example { source: "env", provider: "default", id: "CUSTOM_API_KEY" }).Non-interactive ref mode contract:
Set the provider env var in the onboarding process environment (for example OPENAI_API_KEY).
Do not pass inline key flags (for example --openai-api-key) unless that env var is also set.
If an inline key flag is passed without the required env var, onboarding fails fast with guidance.
Gateway token options in non-interactive mode:
--gateway-auth token --gateway-token <token> stores a plaintext token.
--gateway-auth token --gateway-token-ref-env <name> stores gateway.auth.token as an env SecretRef.
--gateway-token and --gateway-token-ref-env are mutually exclusive.
--gateway-token-ref-env requires a non-empty env var in the onboarding process environment.
With --install-daemon, when token auth requires a token, SecretRef-managed gateway tokens are validated but not persisted as resolved plaintext in supervisor service environment metadata.
With --install-daemon, if token mode requires a token and the configured token SecretRef is unresolved, onboarding fails closed with remediation guidance.
With --install-daemon, if both gateway.auth.token and gateway.auth.password are configured and gateway.auth.mode is unset, onboarding blocks install until mode is set explicitly.
Local onboarding writes gateway.mode="local" into the config. If a later config file is missing gateway.mode, treat that as config damage or an incomplete manual edit, not as a valid local-mode shortcut.
--allow-unconfigured is a separate gateway runtime escape hatch. It does not mean onboarding may omit gateway.mode.
Unless you pass --skip-health, onboarding waits for a reachable local gateway before it exits successfully.
--install-daemon starts the managed gateway install path first. Without it, you must already have a local gateway running, for example fluffbuzz gateway run.
If you only want config/workspace/bootstrap writes in automation, use --skip-health.
On native Windows, --install-daemon tries Scheduled Tasks first and falls back to a per-user Startup-folder login item if task creation is denied.
Interactive onboarding behavior with reference mode:
Choose Use secret reference when prompted.
Then choose either:
Environment variable
Configured secret provider (file or exec)
Onboarding performs a fast preflight validation before saving the ref.
If validation fails, onboarding shows the error and lets you retry.
Non-interactive Z.AI endpoint choices:Note: --auth-choice zai-api-key now auto-detects the best Z.AI endpoint for your key (prefers the general API with zai/glm-5.1).
If you specifically want the GLM Coding Plan endpoints, pick zai-coding-global or zai-coding-cn.
quickstart: minimal prompts, auto-generates a gateway token.
manual: full prompts for port/bind/auth (alias of advanced).
When an auth choice implies a preferred provider, onboarding prefilters the
default-model and allowlist pickers to that provider. For Volcengine and
BytePlus, this also matches the coding-plan variants
(volcengine-plan/*, byteplus-plan/*).
If the preferred-provider filter yields no loaded models yet, onboarding
falls back to the unfiltered catalog instead of leaving the picker empty.
In the web-search step, some providers can trigger provider-specific
follow-up prompts:
Grok can offer optional x_search setup with the same XAI_API_KEY
and an x_search model choice.
Kimi can ask for the Moonshot API region (api.moonshot.ai vs
api.moonshot.cn) and the default Kimi web-search model.
--json does not imply non-interactive mode. Use --non-interactive for scripts.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FluffBuzz","description":"Self-hosted gateway that connects Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo, and more to AI coding agents. Run one Gateway process on your own machine and message your AI assistant from anywhere.","colors":{"primary":"#FF5A36","light":"#FF8A6B","dark":"#FF5A36"},"logo":{"light":"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8","dark":"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8"},"favicon":"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8","navbar":{"links":[{"icon":"github","href":"https://github.com/fluffbuzz/fluffbuzz","label":"GitHub"},{"icon":"package","href":"https://github.com/fluffbuzz/fluffbuzz/releases","label":"Releases"},{"icon":"discord","href":"https://discord.com/invite/buzz","label":"Discord"}]},"fonts":{"heading":{"family":"DM Sans"},"body":{"family":"Fragment Mono"}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"min-light","dark":"min-dark"}},"latex":true},"navigation":{"languages":[{"language":"en","href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fluffbuzz","hasAudioNarration":false,"actualSubdomain":"fluffbuzz","customDomains":["docs.fluffbuzz.com"],"gitSource":{"type":"github","owner":"fluffbuzz","repo":"fluffbuzz","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21d3e170c69447c7253106","collectionId":"ed17b4fc-264c-4fbe-86d2-09225735a998","schemaVersion":"v2"},"entitlements":{},"buildId":"6ae94919bf5f6a4758f2bb8e:success","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"en","tag":"Reference","count":81},{"language":"en","tag":"Tools \u0026 Plugins","count":76},{"language":"en","tag":"Gateway \u0026 Ops","count":57},{"language":"en","tag":"Models","count":54},{"language":"en","tag":"CLI commands","count":52},{"language":"en","tag":"Providers","count":49},{"language":"en","tag":"Tools","count":38},{"language":"en","tag":"Gateway","count":36},{"language":"en","tag":"Channels","count":32},{"language":"en","tag":"Install","count":30}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"#content>h1:first-of-type{display:none!important}.nav-tabs{position:relative}.nav-tabs-item>div{opacity:0}.nav-tabs-underline{position:absolute;left:0;bottom:0;height:1.5px;width:var(--nav-tab-underline-width, 0);transform:translateX(var(--nav-tab-underline-x, 0));background-color:rgb(var(--primary));border-radius:999px;pointer-events:none;opacity:0;transition:transform 260ms ease-in-out,width 260ms ease-in-out,opacity 160ms ease-in-out;will-change:transform,width}html.dark .nav-tabs-underline{background-color:rgb(var(--primary-light))}.nav-tabs-underline-ready .nav-tabs-underline{opacity:1}.showcase-actions a,.showcase-hero,.showcase-jump-links a{border:1px solid color-mix(in oklab,rgb(var(--primary)) 24%,transparent);border-radius:8px}.showcase-hero{display:grid;gap:18px;margin:8px 0 22px;padding:clamp(18px,3vw,30px);background:color-mix(in oklab,rgb(var(--primary)) 5%,transparent);box-shadow:0 18px 48px -34px rgba(0,0,0,.45)}.showcase-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.showcase-lead{margin:0;max-width:48rem;font-size:clamp(18px,2vw,23px);line-height:1.6}.showcase-actions,.showcase-jump-links{display:flex;flex-wrap:wrap;gap:10px}.showcase-actions a,.showcase-jump-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-bottom:1px solid color-mix(in oklab,rgb(var(--primary)) 24%,transparent);background:color-mix(in oklab,rgb(var(--primary)) 4%,transparent);text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}.showcase-actions a:first-child{background:color-mix(in oklab,rgb(var(--primary)) 12%,transparent);border-color:color-mix(in oklab,rgb(var(--primary)) 36%,transparent)}.showcase-actions a:hover,.showcase-jump-links a:hover{transform:translateY(-1px);border-color:color-mix(in oklab,rgb(var(--primary)) 46%,transparent)}.showcase-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.showcase-highlight,.showcase-video-card{border:1px solid color-mix(in oklab,rgb(var(--primary)) 18%,transparent);border-radius:8px;background:color-mix(in oklab,rgb(var(--primary)) 3%,transparent)}.showcase-highlight{padding:14px}.showcase-highlight strong{display:block;margin-bottom:6px}.showcase-highlight span,.showcase-section-intro,.showcase-video-card p{opacity:.74}.showcase-jump-links{margin:18px 0 28px}.showcase-section-intro{margin:0 0 16px}.showcase-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 28px}.showcase-video-card{padding:14px;box-shadow:0 18px 44px -32px rgba(0,0,0,.48)}.showcase-video-card h3{margin:0 0 8px}.showcase-video-card p{margin:0 0 12px}.showcase-video-card a{border-bottom:0}.showcase-video-shell{position:relative;margin-bottom:14px;padding-bottom:56.25%;overflow:hidden;border-radius:8px;background:#0a0a0a}.showcase-video-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media (max-width:960px){.showcase-highlights,.showcase-video-grid{grid-template-columns:1fr}}"}],"page":{"pagePath":"cli/onboard","slug":"/cli/onboard","pageMetadata":{"summary":"CLI reference for `fluffbuzz onboard` (interactive onboarding)","read_when":["You want guided setup for gateway, workspace, auth, channels, and skills"],"title":"Onboard","description":null,"href":"/cli/onboard"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`fluffbuzz-onboard`,children:_jsx(_components.code,{children:`fluffbuzz onboard`})}),`\n`,_jsx(_components.p,{children:`Interactive onboarding for local or remote Gateway setup.`}),`\n`,_jsx(Heading,{level:`2`,id:`related-guides`,children:`Related guides`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`CLI onboarding hub: `,_jsx(_components.a,{href:`/start/wizard`,children:`Onboarding (CLI)`})]}),`\n`,_jsxs(_components.li,{children:[`Onboarding overview: `,_jsx(_components.a,{href:`/start/onboarding-overview`,children:`Onboarding Overview`})]}),`\n`,_jsxs(_components.li,{children:[`CLI onboarding reference: `,_jsx(_components.a,{href:`/start/wizard-cli-reference`,children:`CLI Setup Reference`})]}),`\n`,_jsxs(_components.li,{children:[`CLI automation: `,_jsx(_components.a,{href:`/start/wizard-cli-automation`,children:`CLI Automation`})]}),`\n`,_jsxs(_components.li,{children:[`macOS onboarding: `,_jsx(_components.a,{href:`/start/onboarding`,children:`Onboarding (macOS App)`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`examples`,children:`Examples`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --flow`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` quickstart`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --flow`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` manual`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --mode`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` remote`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --remote-url`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` wss://gateway-host:18789`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For plaintext private-network `,_jsx(_components.code,{children:`ws://`}),` targets (trusted networks only), set\n`,_jsx(_components.code,{children:`FLUFFBUZZ_ALLOW_INSECURE_PRIVATE_WS=1`}),` in the onboarding process environment.`]}),`\n`,_jsx(_components.p,{children:`Non-interactive custom provider:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --non-interactive`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --auth-choice`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` custom-api-key`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --custom-base-url`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"https://llm.example.com/v1\"`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --custom-model-id`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"foo-large\"`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --custom-api-key`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"$CUSTOM_API_KEY\"`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --secret-input-mode`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` plaintext`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --custom-compatibility`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` openai`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`--custom-api-key`}),` is optional in non-interactive mode. If omitted, onboarding checks `,_jsx(_components.code,{children:`CUSTOM_API_KEY`}),`.`]}),`\n`,_jsx(_components.p,{children:`LM Studio also supports a provider-specific key flag in non-interactive mode:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --non-interactive`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --auth-choice`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` lmstudio`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --custom-base-url`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"http://localhost:1234/v1\"`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --custom-model-id`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"qwen/qwen3.5-9b\"`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --lmstudio-api-key`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"$LM_API_TOKEN\"`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --accept-risk`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Non-interactive Ollama:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --non-interactive`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --auth-choice`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` ollama`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --custom-base-url`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"http://ollama-host:11434\"`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --custom-model-id`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"qwen3.5:27b\"`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --accept-risk`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`--custom-base-url`}),` defaults to `,_jsx(_components.code,{children:`http://127.0.0.1:11434`}),`. `,_jsx(_components.code,{children:`--custom-model-id`}),` is optional; if omitted, onboarding uses Ollama’s suggested defaults. Cloud model IDs such as `,_jsx(_components.code,{children:`kimi-k2.5:cloud`}),` also work here.`]}),`\n`,_jsx(_components.p,{children:`Store provider keys as refs instead of plaintext:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --non-interactive`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --auth-choice`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` openai-api-key`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --secret-input-mode`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` ref`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --accept-risk`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`With `,_jsx(_components.code,{children:`--secret-input-mode ref`}),`, onboarding writes env-backed refs instead of plaintext key values.\nFor auth-profile backed providers this writes `,_jsx(_components.code,{children:`keyRef`}),` entries; for custom providers this writes `,_jsx(_components.code,{children:`models.providers.\u003cid>.apiKey`}),` as an env ref (for example `,_jsx(_components.code,{children:`{ source: \"env\", provider: \"default\", id: \"CUSTOM_API_KEY\" }`}),`).`]}),`\n`,_jsxs(_components.p,{children:[`Non-interactive `,_jsx(_components.code,{children:`ref`}),` mode contract:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Set the provider env var in the onboarding process environment (for example `,_jsx(_components.code,{children:`OPENAI_API_KEY`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`Do not pass inline key flags (for example `,_jsx(_components.code,{children:`--openai-api-key`}),`) unless that env var is also set.`]}),`\n`,_jsx(_components.li,{children:`If an inline key flag is passed without the required env var, onboarding fails fast with guidance.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Gateway token options in non-interactive mode:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`--gateway-auth token --gateway-token \u003ctoken>`}),` stores a plaintext token.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`--gateway-auth token --gateway-token-ref-env \u003cname>`}),` stores `,_jsx(_components.code,{children:`gateway.auth.token`}),` as an env SecretRef.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`--gateway-token`}),` and `,_jsx(_components.code,{children:`--gateway-token-ref-env`}),` are mutually exclusive.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`--gateway-token-ref-env`}),` requires a non-empty env var in the onboarding process environment.`]}),`\n`,_jsxs(_components.li,{children:[`With `,_jsx(_components.code,{children:`--install-daemon`}),`, when token auth requires a token, SecretRef-managed gateway tokens are validated but not persisted as resolved plaintext in supervisor service environment metadata.`]}),`\n`,_jsxs(_components.li,{children:[`With `,_jsx(_components.code,{children:`--install-daemon`}),`, if token mode requires a token and the configured token SecretRef is unresolved, onboarding fails closed with remediation guidance.`]}),`\n`,_jsxs(_components.li,{children:[`With `,_jsx(_components.code,{children:`--install-daemon`}),`, if both `,_jsx(_components.code,{children:`gateway.auth.token`}),` and `,_jsx(_components.code,{children:`gateway.auth.password`}),` are configured and `,_jsx(_components.code,{children:`gateway.auth.mode`}),` is unset, onboarding blocks install until mode is set explicitly.`]}),`\n`,_jsxs(_components.li,{children:[`Local onboarding writes `,_jsx(_components.code,{children:`gateway.mode=\"local\"`}),` into the config. If a later config file is missing `,_jsx(_components.code,{children:`gateway.mode`}),`, treat that as config damage or an incomplete manual edit, not as a valid local-mode shortcut.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`--allow-unconfigured`}),` is a separate gateway runtime escape hatch. It does not mean onboarding may omit `,_jsx(_components.code,{children:`gateway.mode`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D32F2F`,\"--shiki-dark\":`#F97583`},children:`export`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` FLUFFBUZZ_GATEWAY_TOKEN`}),_jsx(_components.span,{style:{color:`#D32F2F`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:`\"your-token\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --non-interactive`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --mode`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` local`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --auth-choice`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` skip`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --gateway-auth`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` token`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --gateway-token-ref-env`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` FLUFFBUZZ_GATEWAY_TOKEN`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --accept-risk`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Non-interactive local gateway health:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Unless you pass `,_jsx(_components.code,{children:`--skip-health`}),`, onboarding waits for a reachable local gateway before it exits successfully.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`--install-daemon`}),` starts the managed gateway install path first. Without it, you must already have a local gateway running, for example `,_jsx(_components.code,{children:`fluffbuzz gateway run`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`If you only want config/workspace/bootstrap writes in automation, use `,_jsx(_components.code,{children:`--skip-health`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`On native Windows, `,_jsx(_components.code,{children:`--install-daemon`}),` tries Scheduled Tasks first and falls back to a per-user Startup-folder login item if task creation is denied.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Interactive onboarding behavior with reference mode:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Choose `,_jsx(_components.strong,{children:`Use secret reference`}),` when prompted.`]}),`\n`,_jsxs(_components.li,{children:[`Then choose either:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Environment variable`}),`\n`,_jsxs(_components.li,{children:[`Configured secret provider (`,_jsx(_components.code,{children:`file`}),` or `,_jsx(_components.code,{children:`exec`}),`)`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Onboarding performs a fast preflight validation before saving the ref.`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`If validation fails, onboarding shows the error and lets you retry.`}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Non-interactive Z.AI endpoint choices:`}),`\n`,_jsxs(_components.p,{children:[`Note: `,_jsx(_components.code,{children:`--auth-choice zai-api-key`}),` now auto-detects the best Z.AI endpoint for your key (prefers the general API with `,_jsx(_components.code,{children:`zai/glm-5.1`}),`).\nIf you specifically want the GLM Coding Plan endpoints, pick `,_jsx(_components.code,{children:`zai-coding-global`}),` or `,_jsx(_components.code,{children:`zai-coding-cn`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#C2C3C5`,\"--shiki-dark\":`#6B737C`},children:`# Promptless endpoint selection`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --non-interactive`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --auth-choice`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` zai-coding-global`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --zai-api-key`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"$ZAI_API_KEY\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#C2C3C5`,\"--shiki-dark\":`#6B737C`},children:`# Other Z.AI endpoint choices:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#C2C3C5`,\"--shiki-dark\":`#6B737C`},children:`# --auth-choice zai-coding-cn`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#C2C3C5`,\"--shiki-dark\":`#6B737C`},children:`# --auth-choice zai-global`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#C2C3C5`,\"--shiki-dark\":`#6B737C`},children:`# --auth-choice zai-cn`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Non-interactive Mistral example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` onboard`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --non-interactive`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --auth-choice`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` mistral-api-key`}),_jsx(_components.span,{style:{color:`#24292EFF`,\"--shiki-dark\":`#B392F0`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` --mistral-api-key`}),_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#FFAB70`},children:` \"$MISTRAL_API_KEY\"`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Flow notes:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`quickstart`}),`: minimal prompts, auto-generates a gateway token.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`manual`}),`: full prompts for port/bind/auth (alias of `,_jsx(_components.code,{children:`advanced`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`When an auth choice implies a preferred provider, onboarding prefilters the\ndefault-model and allowlist pickers to that provider. For Volcengine and\nBytePlus, this also matches the coding-plan variants\n(`,_jsx(_components.code,{children:`volcengine-plan/*`}),`, `,_jsx(_components.code,{children:`byteplus-plan/*`}),`).`]}),`\n`,_jsx(_components.li,{children:`If the preferred-provider filter yields no loaded models yet, onboarding\nfalls back to the unfiltered catalog instead of leaving the picker empty.`}),`\n`,_jsxs(_components.li,{children:[`In the web-search step, some providers can trigger provider-specific\nfollow-up prompts:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Grok`}),` can offer optional `,_jsx(_components.code,{children:`x_search`}),` setup with the same `,_jsx(_components.code,{children:`XAI_API_KEY`}),`\nand an `,_jsx(_components.code,{children:`x_search`}),` model choice.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Kimi`}),` can ask for the Moonshot API region (`,_jsx(_components.code,{children:`api.moonshot.ai`}),` vs\n`,_jsx(_components.code,{children:`api.moonshot.cn`}),`) and the default Kimi web-search model.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Local onboarding DM scope behavior: `,_jsx(_components.a,{href:`/start/wizard-cli-reference#outputs-and-internals`,children:`CLI Setup Reference`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Fastest first chat: `,_jsx(_components.code,{children:`fluffbuzz dashboard`}),` (Control UI, no channel setup).`]}),`\n`,_jsx(_components.li,{children:`Custom Provider: connect any OpenAI or Anthropic compatible endpoint,\nincluding hosted providers not listed. Use Unknown to auto-detect.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`common-follow-up-commands`,children:`Common follow-up commands`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes min-light min-dark`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#1f1f1f`,color:`#24292eff`,\"--shiki-dark\":`#b392f0`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` configure`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`fluffbuzz`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` agents`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:` add`}),_jsx(_components.span,{style:{color:`#D32F2F`,\"--shiki-dark\":`#F97583`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:`nam`}),_jsx(_components.span,{style:{color:`#2B5581`,\"--shiki-dark\":`#9DB1C5`},children:`e`}),_jsx(_components.span,{style:{color:`#D32F2F`,\"--shiki-dark\":`#F97583`},children:`>`})]}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`--json`}),` does not imply non-interactive mode. Use `,_jsx(_components.code,{children:`--non-interactive`}),` for scripts.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"min-light","dark":"min-dark"}},"config":{},"pageMetadata":{"summary":"CLI reference for `fluffbuzz onboard` (interactive onboarding)","read_when":["You want guided setup for gateway, workspace, auth, channels, and skills"],"title":"Onboard","description":null,"href":"/cli/onboard"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"fluffbuzz onboard","slug":"fluffbuzz-onboard","depth":1,"children":[]},{"title":"Related guides","slug":"related-guides","depth":2,"children":[]},{"title":"Examples","slug":"examples","depth":2,"children":[]},{"title":"Common follow-up commands","slug":"common-follow-up-commands","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/fluffbuzz/27fa1e35cfee10a0/nav-tabs-underline.js"],"subdomain":"fluffbuzz","siteName":"FluffBuzz","title":"Onboard - FluffBuzz","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/cli/onboard","matchLevel":0}}},"lastModified":"2026-04-25T04:30:16.753Z","originalFileLocation":"cli/onboard.md","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"FluffBuzz\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Onboard - FluffBuzz\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FluffBuzz\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fluffbuzz.com/cli/onboard\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fluffbuzz.mintlify.app/_mintlify/api/og/v2?division=Gateway+and+service\u0026amp;title=Onboard\u0026amp;theme=7c84968c96e6a1ff7bd83e0d\u0026amp;signature=8c5b3bd942cb5b160ee12f5fc1292777616fcd93d7d2319bf1d67173ff3b7e19\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Onboard - FluffBuzz\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fluffbuzz.mintlify.app/_mintlify/api/og/v2?division=Gateway+and+service\u0026amp;title=Onboard\u0026amp;theme=7c84968c96e6a1ff7bd83e0d\u0026amp;signature=8c5b3bd942cb5b160ee12f5fc1292777616fcd93d7d2319bf1d67173ff3b7e19\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/fluffbuzz/h_uS76i3fqM2yZ3M/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FluffBuzz\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF5A36\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fluffbuzz.com/cli/onboard\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/cli/onboard.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fluffbuzz.com/#organization\",\"name\":\"FluffBuzz\",\"url\":\"https://docs.fluffbuzz.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fluffbuzz/VO8hwd9kPKIfBD4j/assets/pixel-puppy.svg?fit=max\u0026auto=format\u0026n=VO8hwd9kPKIfBD4j\u0026q=85\u0026s=c7c49f589942c32b48525de4cc5cb3b8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fluffbuzz.com#website\",\"name\":\"FluffBuzz\",\"url\":\"https://docs.fluffbuzz.com\",\"publisher\":{\"@id\":\"https://docs.fluffbuzz.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fluffbuzz.com/cli/onboard#webpage\",\"url\":\"https://docs.fluffbuzz.com/cli/onboard\",\"name\":\"Onboard\",\"dateModified\":\"2026-04-25T04:30:16.753Z\",\"isPartOf\":{\"@id\":\"https://docs.fluffbuzz.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fluffbuzz.com/cli/onboard#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fluffbuzz.com/cli/onboard#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"CLI commands\",\"item\":\"https://docs.fluffbuzz.com/cli/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gateway and service\",\"item\":\"https://docs.fluffbuzz.com/cli/backup\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Onboard\",\"item\":\"https://docs.fluffbuzz.com/cli/onboard\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.fluffbuzz.com/cli/onboard#article\",\"headline\":\"Onboard\",\"name\":\"Onboard\",\"url\":\"https://docs.fluffbuzz.com/cli/onboard\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fluffbuzz.com/cli/onboard#webpage\"},\"dateModified\":\"2026-04-25T04:30:16.753Z\",\"publisher\":{\"@id\":\"https://docs.fluffbuzz.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fluffbuzz.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FluffBuzz\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FluffBuzz","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Install","pages":[{"title":"Install","href":"/install"}]},{"tab":"Channels","pages":[{"title":"Channels","href":"/channels"}]},{"tab":"Agents","pages":[{"title":"Agents","href":"/concepts/architecture"}]},{"tab":"Tools \u0026 Plugins","pages":[{"title":"Tools \u0026 Plugins","href":"/tools"}]},{"tab":"Models","pages":[{"title":"Models","href":"/providers"}]},{"tab":"Platforms","pages":[{"title":"Platforms","href":"/platforms"}]},{"tab":"Gateway \u0026 Ops","pages":[{"title":"Gateway \u0026 Ops","href":"/gateway"}]},{"tab":"Reference","groups":[{"group":"CLI commands","pages":[{"title":"CLI reference","href":"/cli"},{"group":"Gateway and service","pages":[{"title":"Backup","href":"/cli/backup"},{"title":"Daemon","href":"/cli/daemon"},{"title":"Doctor","href":"/cli/doctor"},{"title":"Gateway","href":"/cli/gateway"},{"title":"Health","href":"/cli/health"},{"title":"Logs","description":null,"href":"/cli/logs"},{"title":"Onboard","href":"/cli/onboard"},{"title":"Reset","description":null,"href":"/cli/reset"},{"title":"Secrets","href":"/cli/secrets"},{"title":"Security","href":"/cli/security"},{"title":"Setup","href":"/cli/setup"},{"title":"Status","href":"/cli/status"},{"title":"Uninstall","href":"/cli/uninstall"},{"title":"Update","href":"/cli/update"}]},{"group":"Agents and sessions","pages":[{"title":"Agent","href":"/cli/agent"},{"title":"Agents","href":"/cli/agents"},{"title":"Hooks","href":"/cli/hooks"},{"title":"Inference CLI","href":"/cli/infer"},{"title":"Memory","href":"/cli/memory"},{"title":"Message","href":"/cli/message"},{"title":"Models","href":"/cli/models"},{"title":"Sessions","href":"/cli/sessions"},{"title":"System","href":"/cli/system"},{"title":"`fluffbuzz tasks`","href":"/cli/tasks"}]},{"group":"Channels and messaging","pages":[{"title":"Channels","href":"/cli/channels"},{"title":"Devices","href":"/cli/devices"},{"title":"Directory","href":"/cli/directory"},{"title":"Pairing","href":"/cli/pairing"},{"title":"QR","href":"/cli/qr"},{"title":"Voicecall","href":"/cli/voicecall"}]},{"group":"Tools and execution","pages":[{"title":"Approvals","href":"/cli/approvals"},{"title":"Browser","href":"/cli/browser"},{"title":"Cron","href":"/cli/cron"},{"title":"Flows (redirect)","href":"/cli/flows"},{"title":"Node","href":"/cli/node"},{"title":"Nodes","href":"/cli/nodes"},{"title":"Sandbox CLI","href":"/cli/sandbox"}]},{"group":"Configuration","pages":[{"title":"Config","href":"/cli/config"},{"title":"Configure","href":"/cli/configure"},{"title":"Webhooks","href":"/cli/webhooks"}]},{"group":"Plugins and skills","pages":[{"title":"Plugins","href":"/cli/plugins"},{"title":"Skills","href":"/cli/skills"}]},{"group":"Interfaces","pages":[{"title":"Dashboard","href":"/cli/dashboard"},{"title":"TUI","href":"/cli/tui"}]},{"group":"Utility","pages":[{"title":"ACP","href":"/cli/acp"},{"title":"Clawbot","href":"/cli/clawbot"},{"title":"Completion","href":"/cli/completion"},{"title":"DNS","href":"/cli/dns"},{"title":"Docs","href":"/cli/docs"},{"title":"MCP","href":"/cli/mcp"},{"title":"Wiki","href":"/cli/wiki"}]}]},{"group":"RPC and API","pages":[{"title":"RPC adapters","href":"/reference/rpc"},{"title":"Device model database","href":"/reference/device-models"}]},{"group":"Templates","pages":[{"title":"Default AGENTS.md","href":"/reference/AGENTS.default"},{"title":"AGENTS.md template","href":"/reference/templates/AGENTS"},{"title":"BOOT.md template","href":"/reference/templates/BOOT"},{"title":"BOOTSTRAP.md template","href":"/reference/templates/BOOTSTRAP"},{"title":"HEARTBEAT.md template","href":"/reference/templates/HEARTBEAT"},{"title":"IDENTITY template","href":"/reference/templates/IDENTITY"},{"title":"SOUL.md template","href":"/reference/templates/SOUL"},{"title":"TOOLS.md template","href":"/reference/templates/TOOLS"},{"title":"USER template","href":"/reference/templates/USER"}]},{"group":"Technical reference","pages":[{"title":"Pi integration architecture","href":"/pi"},{"title":"Onboarding reference","sidebarTitle":"Onboarding Reference","href":"/reference/wizard"},{"title":"Token use and costs","href":"/reference/token-use"},{"title":"SecretRef credential surface","href":"/reference/secretref-credential-surface"},{"title":"Prompt caching","href":"/reference/prompt-caching"},{"title":"API usage and costs","href":"/reference/api-usage-costs"},{"title":"Transcript hygiene","href":"/reference/transcript-hygiene"},{"title":"Memory configuration reference","href":"/reference/memory-config"},{"title":"Rich output protocol","href":"/reference/rich-output-protocol"},{"title":"Date and time","href":"/date-time"}]},{"group":"Concept internals","pages":[{"title":"TypeBox","href":"/concepts/typebox"},{"title":"Markdown formatting","href":"/concepts/markdown-formatting"},{"title":"Typing indicators","href":"/concepts/typing-indicators"},{"title":"Usage tracking","href":"/concepts/usage-tracking"},{"title":"Timezones","href":"/concepts/timezone"}]},{"group":"Project","pages":[{"title":"Credits","href":"/reference/credits"}]},{"group":"Release policy","pages":[{"title":"Release policy","href":"/reference/RELEASING"},{"title":"Tests","href":"/reference/test"}]}]},{"tab":"Help","pages":[{"title":"Help","href":"/help"}]}]}]},"basePath":"","title":"Onboard - FluffBuzz","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}