← Back to PRs

#6624: Web Configure Wizard: channels + skills + agent runtime + diff + doctor tools

by Oruga420 open 2026-02-01 21:53 View on GitHub →
app: web-ui gateway commands
Implements the web Configure Wizard MVP+ end-to-end. Highlights: - Configure wizard sections: Gateway, Web tools, Model API keys, Channels (basic + allowlists), Skills (install deps), Agent runtime. - Advanced channel routing: Discord guild/channel allowlisting + Telegram groups. - Config preview: git-style unified diff + explicit confirm before writing. - Secrets: support 1Password op:// references during config load (fallback to plaintext/env vars). - Control UI Setup tab: Download/Import openclaw.json + run doctor (non-interactive) via new gateway method doctor.run. Branch: Oruga420:oruga/web-configure-wizard <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR adds an end-to-end web “Configure Wizard” flow through the gateway wizard session system, plus a new Setup tab in the UI for running the configure wizard, downloading/importing `openclaw.json`, and running a non-interactive `doctor` via a new `doctor.run` gateway method. It also introduces utility helpers for unified diff previews and resolves `op://...` 1Password references during config load. The overall architecture fits the existing gateway RPC handler pattern (`server-methods/*`) and the wizard session runner mechanism, with UI state wired into the existing Lit-based app rendering and navigation. <h3>Confidence Score: 3/5</h3> - This PR is mostly safe to merge, but there are a couple of user-visible error-handling and type-roundtrip issues worth fixing first. - The changes are additive and follow existing patterns, but (1) `op://` secret resolution failures currently cause config load to fall back to `{}` and (2) the UI wizard select control coerces all values to strings, which can break some wizard steps. The new doctor RPC wrapper also risks misreporting success/failure depending on how `doctorCommand` uses `runtime.exit()`. - src/config/io.ts, ui/src/ui/views/setup.ts, src/gateway/server-methods/doctor.ts <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> <!-- /greptile_comment -->

Most Similar PRs