Skip to content

feat(dashboard): add a first-run setup guide - #10329

Open
camera-2018 wants to merge 13 commits into
AstrBotDevs:masterfrom
camera-2018:codex/webui-first-run-guide
Open

camera-2018 wants to merge 13 commits into
AstrBotDevs:masterfrom
camera-2018:codex/webui-first-run-guide

Conversation

@camera-2018

@camera-2018 camera-2018 commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add a skippable first-run guide after account setup, using existing WebUI components.

  • Four-step setup: usage notice, model configuration, embedded chat trial, and messaging platform setup.
  • New installations only: automatically open the guide after first account setup on a fresh, unconfigured installation. Existing installations, upgrades, password resets, and later logins never trigger it automatically, including empty or partially configured instances.
  • Inline ChatUI trial: automatically start a session with the configured model. Keep text input and Send/Stop only; regular ChatUI is unchanged.
  • Editable configuration prefill: restore existing models and adapters, including configuration drawers and routing rules. Save edits without duplicating adapters; skipping discards drafts.
  • Reopen from Settings: return to the guide through Settings → Maintenance → Reopen setup without resetting configuration. ChatUI remains usable without a messaging adapter.
  • Completion screen: two stars rotate along curved entrance paths, followed by confetti. Supports reduced-motion preferences.

Includes four UI locales, Chinese/English documentation, and tests. Account setup returns an explicit onboarding eligibility flag. Plugin installation and computer-access settings remain outside the guide.

Demo

astrbot-onboarding-real.mp4

Real-backend walkthrough: model response, adapter setup, configuration reentry, and routing edits.

Testing

  • 101 frontend and 88 backend tests passed, production build and Ruff checks passed.
  • Real-backend E2E passed: fresh-install setup, restart before setup, invalid/repeated submissions, existing-instance upgrades and password resets without onboarding, plus a real model reply, configuration editing, draft discard, and restart persistence. Run instructions.
  • Desktop/mobile layouts and reduced-motion behavior checked. External messaging delivery was not tested.
Screenshots

Model configuration

Chat trial

Platform editor and routing rules

Completion

Checklist
  • New feature discussed with maintainers through an issue or email.
  • No breaking API or configuration changes.
  • Tests, screenshots, and video included.
  • Chinese/English documentation updated.
  • Dependencies: canvas-confetti 1.9.4; development-only @types/canvas-confetti and playwright 1.63.0. Removed unused axios-mock-adapter.
  • No malicious code introduced.

Copilot AI balanced review requested due to automatic review settings October 2, 2026 16:08

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="dashboard/src/components/OnboardingSetup.vue" line_range="32" />
<code_context>
+          <strong>{{ tm('guide.platformReady') }}</strong>
+        </div>
+        <AddNewPlatform v-else-if="!configError" ref="platformForm" embedded :show="true" :metadata="platformMetadata"
+          :config_data="platformConfig" @refresh-config="loadPlatforms" @update:busy="busy = $event"
+          @show-toast="platformError = $event.type === 'error' ? $event.message : ''" />
+        <v-btn v-else variant="text" @click="loadPlatforms">{{ tm('guide.retry') }}</v-btn>
</code_context>
<issue_to_address>
**issue (bug_risk):** Saving a new messaging adapter does not advance from step 4. `AddNewPlatform` emits `refresh-config` with the created platform ID, but the handler passes no ID to `loadPlatforms`; `nextStep` then returns immediately after starting `newPlatform()`, so the guide remains on the adapter step and requires a second click on Next.

**Triggers:** When the user successfully saves an adapter from the embedded platform form.

**Suggested fix:** Pass the emitted platform ID to `loadPlatforms` and advance to step 5 after the save completes, or have `nextStep` await a save result and increment the step itself.
</issue_to_address>

Sourcery assessment

Needs a human reviewer. 1 finding to address first, and the guide changes authenticated login and setup routing, can change computer-access permissions, and installs externally hosted plugins whose code and effects persist beyond reverting this UI change. A revert restores the old entry points but does not automatically remove installed plugins or undo permission changes.

Blocking findings: dashboard/src/components/OnboardingSetup.vue:32


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

Comment thread dashboard/src/components/OnboardingSetup.vue Outdated
@RC-CHN

RC-CHN commented Oct 3, 2026

Copy link
Copy Markdown
Member

宝宝我们男女搭配干活不累

@camera-2018
camera-2018 force-pushed the codex/webui-first-run-guide branch from baa6f6f to 33b49a2 Compare October 3, 2026 16:10
@Soulter

Soulter commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

good! 感觉第五和第六步可以先暂时去掉

@camera-2018

Copy link
Copy Markdown
Contributor Author

@Soulter 我把原来的欢迎主页面删了

如果把第5、6步删了的画 是不是要加回来原来的欢迎页?这样感觉有点冲突 欢迎太多了🤔

@Soulter

Soulter commented Oct 4, 2026 via email

Copy link
Copy Markdown
Member

@camera-2018
camera-2018 force-pushed the codex/webui-first-run-guide branch from ffe2f0c to 47af1ec Compare October 6, 2026 16:31

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants