openclaw/apps/macos/Sources/Clawdbot
Claude 45c34558c4
feat(mac): add simplified Easy Setup wizard for first-time users
Adds a streamlined 4-step onboarding flow for non-technical users:
- Welcome page with feature overview
- One-click OAuth sign-in with auto-clipboard detection
- Simplified permissions page (core permissions only)
- Auto-setup of gateway, CLI, and workspace

The Easy Setup is now shown by default on first launch. Power users
can click "Advanced Setup" to access the full onboarding wizard with
gateway mode selection, remote configuration, etc.

This makes the DMG install experience much simpler for laymen who
just want to download and go.
2026-01-26 05:32:29 +00:00
..
Logging chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
NodeMode fix: avoid duplicate exec approval prompts 2026-01-22 09:53:36 +00:00
Resources chore: bump version to 2026.1.23 2026-01-23 22:14:56 +00:00
AboutSettings.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
AgeFormatting.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
AgentEventStore.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
AgentEventsWindow.swift fix(macos): resolve AnyCodable alias conflicts 2026-01-20 17:27:45 +00:00
AgentWorkspace.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
AnthropicAuthControls.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
AnthropicOAuth.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
AnthropicOAuthCodeState.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
AnyCodable+Helpers.swift fix: bridge gateway anycodable payloads 2026-01-20 15:48:52 +00:00
AppState.swift feat: add exec host approvals flow 2026-01-18 04:27:41 +00:00
AudioInputDeviceObserver.swift Voice Wake: preserve mic selection across disconnects 2026-01-08 01:36:15 +00:00
CameraCaptureService.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CanvasA2UIActionMessageHandler.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CanvasChromeContainerView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasFileWatcher.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CanvasManager.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CanvasScheme.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasSchemeHandler.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CanvasWindow.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasWindowController.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CanvasWindowController+Helpers.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasWindowController+Navigation.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasWindowController+Testing.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CanvasWindowController+Window.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
ChannelConfigForm.swift style: tidy macOS config UI formatting 2026-01-17 17:22:42 +00:00
ChannelsSettings.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ChannelsSettings+ChannelSections.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ChannelsSettings+ChannelState.swift fix: harden Mattermost plugin gating (#1428) (thanks @damoahdominic) 2026-01-23 01:23:23 +00:00
ChannelsSettings+Helpers.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ChannelsSettings+View.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ChannelsStore.swift fix: harden Mattermost plugin gating (#1428) (thanks @damoahdominic) 2026-01-23 01:23:23 +00:00
ChannelsStore+Config.swift style: tidy macOS config UI formatting 2026-01-17 17:22:42 +00:00
ChannelsStore+Lifecycle.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
ClawdbotConfigFile.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
ClawdbotPaths.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CLIInstaller.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
CLIInstallPrompter.swift fix(macos): restore gateway launch agent build 2026-01-12 04:58:38 +00:00
CommandResolver.swift macOS: allow SSH agents without identity file 2026-01-21 17:19:51 +00:00
ConfigFileWatcher.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
ConfigSchemaSupport.swift style: tidy macOS config UI formatting 2026-01-17 17:22:42 +00:00
ConfigSettings.swift test(macos): cover gateway host resolution 2026-01-21 03:34:51 +00:00
ConfigStore.swift fix: prevent config clobbering 2026-01-15 04:06:11 +00:00
ConnectionModeCoordinator.swift fix(macos): clear stale gateway failures 2026-01-22 01:48:41 +00:00
ConnectionModeResolver.swift test: cover doctor launchctl env overrides (#1037) 2026-01-16 19:40:45 +00:00
Constants.swift fix: auto-save voice wake words across apps 2026-01-23 23:59:08 +00:00
ContextMenuCardView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
ContextUsageBar.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
ControlChannel.swift fix: improve gateway ssh auth handling 2026-01-22 06:54:08 +00:00
CostUsageMenuView.swift Usage: add cost summaries to /usage + mac menu 2026-01-19 00:05:06 +00:00
CritterIconRenderer.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CritterStatusLabel.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CritterStatusLabel+Behavior.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CronJobEditor.swift refactor: centralize channel ui metadata 2026-01-20 13:11:49 +00:00
CronJobEditor+Helpers.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
CronJobEditor+Testing.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
CronJobsStore.swift fix(macos): resolve AnyCodable alias conflicts 2026-01-20 17:27:45 +00:00
CronModels.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CronSettings.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
CronSettings+Actions.swift refactor(macos): drop duplicate AnyCodable 2026-01-07 19:42:49 +00:00
CronSettings+Helpers.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
CronSettings+Layout.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
CronSettings+Rows.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
CronSettings+Testing.swift refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
DebugActions.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
DebugSettings.swift fix: gateway summary lookup + test browser opens 2026-01-23 05:54:51 +00:00
DeepLinks.swift fix: finish channels rename sweep 2026-01-13 08:40:40 +00:00
DeviceModelCatalog.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
DevicePairingApprovalPrompter.swift fix: pass android lint and swiftformat 2026-01-19 11:14:27 +00:00
DiagnosticsFileLog.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
DockIconManager.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
EasySetupView.swift feat(mac): add simplified Easy Setup wizard for first-time users 2026-01-26 05:32:29 +00:00
ExecApprovals.swift fix(exec-approvals): stabilize allowlist ids (#1521) 2026-01-23 19:00:45 +00:00
ExecApprovalsGatewayPrompter.swift test: cover exec approval prompt gating 2026-01-22 10:00:55 +00:00
ExecApprovalsSocket.swift fix: avoid duplicate exec approval prompts 2026-01-22 09:53:36 +00:00
FileHandle+SafeRead.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
GatewayAutostartPolicy.swift refactor: remove mac attach-only setting 2026-01-12 04:58:38 +00:00
GatewayConnection.swift fix: harden Mattermost plugin gating (#1428) (thanks @damoahdominic) 2026-01-23 01:23:23 +00:00
GatewayConnectivityCoordinator.swift refactor: unify gateway connectivity state 2026-01-21 05:01:32 +00:00
GatewayDiscoveryMenu.swift refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
GatewayDiscoveryPreferences.swift refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
GatewayEndpointStore.swift test: cover exec approval prompt gating 2026-01-22 10:00:55 +00:00
GatewayEnvironment.swift fix: pass android lint and swiftformat 2026-01-19 11:14:27 +00:00
GatewayLaunchAgentManager.swift feat(macos): add attach-only launchd override 2026-01-22 23:08:56 +00:00
GatewayProcessManager.swift fix: gateway summary lookup + test browser opens 2026-01-23 05:54:51 +00:00
GeneralSettings.swift fix: improve gateway ssh auth handling 2026-01-22 06:54:08 +00:00
HealthStore.swift fix(macos): prefer linked channel in health summaries 2026-01-22 23:09:28 +00:00
HeartbeatStore.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
HoverHUD.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
IconState.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
InstancesSettings.swift feat: render native chat markdown via Textual 2026-01-16 09:02:27 +00:00
InstancesStore.swift refactor: migrate iOS gateway to unified ws 2026-01-19 10:08:33 +00:00
LaunchAgentManager.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
Launchctl.swift refactor(macos): centralize process pipe draining 2026-01-17 08:53:10 +00:00
LaunchdManager.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
LogLocator.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
MenuBar.swift feat(mac): add simplified Easy Setup wizard for first-time users 2026-01-26 05:32:29 +00:00
MenuContentView.swift feat: unify device auth + pairing 2026-01-19 10:07:56 +00:00
MenuContextCardInjector.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
MenuHighlightedHostView.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
MenuHostedItem.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
MenuSessionsHeaderView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
MenuSessionsInjector.swift feat: add sessions preview rpc and menu prewarm 2026-01-22 10:21:50 +00:00
MenuUsageHeaderView.swift fix(macos): wrap usage errors in menu 2026-01-11 02:04:27 +01:00
MicLevelMonitor.swift Voice Wake: preserve mic selection across disconnects 2026-01-08 01:36:15 +00:00
ModelCatalogLoader.swift fix: bundle mac model catalog 2026-01-21 19:58:19 +00:00
NodePairingApprovalPrompter.swift refactor: migrate iOS gateway to unified ws 2026-01-19 10:08:33 +00:00
NodeServiceManager.swift feat(mac): manage node service in remote mode 2026-01-18 22:50:02 +00:00
NodesMenu.swift feat: surface node core/ui versions in macOS 2026-01-18 16:00:36 +00:00
NodesStore.swift feat: surface node core/ui versions in macOS 2026-01-18 16:00:36 +00:00
NotificationManager.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
NotifyOverlay.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
NSAttributedString+VoiceWake.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Onboarding.swift macos: keep CLI install build suffix 2026-01-17 17:45:04 +00:00
OnboardingView+Actions.swift refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
OnboardingView+Chat.swift fix: hide onboarding chat when configured 2026-01-11 10:34:23 +00:00
OnboardingView+Layout.swift refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
OnboardingView+Monitoring.swift Move provider to a plugin-architecture (#661) 2026-01-11 11:45:25 +00:00
OnboardingView+Pages.swift refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
OnboardingView+Testing.swift refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
OnboardingView+Wizard.swift fix: macOS Swift cleanup 2026-01-04 17:57:53 +01:00
OnboardingView+Workspace.swift feat: wire multi-agent config and routing 2026-01-09 12:48:42 +00:00
OnboardingWidgets.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
OnboardingWizard.swift fix(macos): resolve AnyCodable alias conflicts 2026-01-20 17:27:45 +00:00
PeekabooBridgeHostCoordinator.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
PermissionManager.swift Move provider to a plugin-architecture (#661) 2026-01-11 11:45:25 +00:00
PermissionsSettings.swift feat(macos): move location access to permissions tab 2026-01-22 04:50:03 +00:00
PointingHandCursor.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
PortGuardian.swift fix: improve gateway ssh auth handling 2026-01-22 06:54:08 +00:00
PresenceReporter.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
Process+PipeRead.swift refactor(macos): centralize process pipe draining 2026-01-17 08:53:10 +00:00
ProcessInfo+Clawdbot.swift test(macos): isolate env + defaults 2026-01-07 20:32:15 +00:00
RemotePortTunnel.swift macOS: allow SSH agents without identity file 2026-01-21 17:19:51 +00:00
RemoteTunnelManager.swift fix: improve gateway ssh auth handling 2026-01-22 06:54:08 +00:00
RuntimeLocator.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
ScreenRecordService.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
ScreenshotSize.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SessionActions.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
SessionData.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
SessionMenuLabelView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SessionMenuPreviewView.swift feat: add sessions preview rpc and menu prewarm 2026-01-22 10:21:50 +00:00
SessionsSettings.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SettingsComponents.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SettingsRootView.swift Config: schema-driven channels and settings 2026-01-17 00:43:05 +00:00
SettingsWindowOpener.swift Move provider to a plugin-architecture (#661) 2026-01-11 11:45:25 +00:00
ShellExecutor.swift fix(macos): stabilize bridge tunnels 2026-01-10 22:26:47 +01:00
SkillsModels.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SkillsSettings.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SoundEffects.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
StatusPill.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
String+NonEmpty.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
SystemRunSettingsView.swift fix(exec-approvals): stabilize allowlist ids (#1521) 2026-01-23 19:00:45 +00:00
TailscaleIntegrationSection.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
TailscaleService.swift refactor: satisfy swiftlint 2026-01-22 00:59:41 +00:00
TalkAudioPlayer.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
TalkModeController.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
TalkModeRuntime.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
TalkModeTypes.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
TalkOverlay.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
TalkOverlayView.swift chore: lint and format cleanup 2026-01-04 16:24:17 +01:00
TerminationSignalWatcher.swift feat: unify device auth + pairing 2026-01-19 10:07:56 +00:00
UsageCostData.swift Usage: add cost summaries to /usage + mac menu 2026-01-19 00:05:06 +00:00
UsageData.swift fix: hide menubar usage errors 2026-01-18 23:18:10 +00:00
UsageMenuLabelView.swift fix: pass android lint and swiftformat 2026-01-19 11:14:27 +00:00
ViewMetrics.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VisualEffectView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoicePushToTalk.swift refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
VoiceSessionCoordinator.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeChime.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeForwarder.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
VoiceWakeGlobalSettingsSync.swift refactor: migrate iOS gateway to unified ws 2026-01-19 10:08:33 +00:00
VoiceWakeHelpers.swift fix: auto-save voice wake words across apps 2026-01-23 23:59:08 +00:00
VoiceWakeOverlay.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayController+Session.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayController+Testing.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayController+Window.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayTextViews.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeOverlayView.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
VoiceWakeRuntime.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
VoiceWakeSettings.swift macOS: fix trigger word input disappearing when typing and on add (#1506) 2026-01-23 20:08:12 +00:00
VoiceWakeTestCard.swift Mac: stabilize voice wake test flow 2026-01-08 01:36:15 +00:00
VoiceWakeTester.swift SwiftFormat: format macOS sources 2026-01-16 01:56:23 +00:00
VoiceWakeTextUtils.swift style: align voice wake text utils format 2026-01-08 01:49:29 +00:00
WebChatManager.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
WebChatSwiftUI.swift fix(macos): resolve AnyCodable alias conflicts 2026-01-20 17:27:45 +00:00
WindowPlacement.swift chore: rename project to clawdbot 2026-01-04 14:38:51 +00:00
WorkActivityStore.swift fix: use canonical main session keys in apps 2026-01-15 08:59:05 +00:00