Skip to content

v0.6.0-alpha.4

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 May 04:55
· 102 commits to main since this release

OpenClaw Windows Hub v0.6.0-alpha.4

Downloads

  • Installer (x64): OpenClawCompanion-Setup-x64.exe - Intel/AMD 64-bit
  • Installer (ARM64): OpenClawCompanion-Setup-arm64.exe - Windows on ARM (Surface, etc.)
  • Portable x64: OpenClawTray-0.6.0-709-win-x64.zip
  • Portable ARM64: OpenClawTray-0.6.0-709-win-arm64.zip

Features

  • 🦞 System tray integration with gateway status
  • 🔄 Auto-updates from GitHub Releases
  • ✅ Code-signed with Azure Trusted Signing

Requirements

  • Windows 10 version 1903 or later
  • WebView2 Runtime
  • OpenClaw gateway running locally

Quick Start

  1. Run the installer for your architecture (or sideload the MSIX for camera consent)
  2. Launch from Start Menu or system tray
  3. Right-click tray icon → Settings to configure

What's Changed

  • eng: add --no-restore to CI build steps after dotnet restore by @AlexAlves87 in #200
  • [Repo Assist] eng: enforce TreatWarningsAsErrors in test projects by @github-actions[bot] in #190
  • [Repo Assist] test: add HandleRequestError coverage for auth/scope/unknown-method paths by @github-actions[bot] in #202
  • [Repo Assist] perf: eliminate LINQ Skip allocations in ExecShellWrapperParser by @github-actions[bot] in #193
  • [Repo Assist] improve: pool receive buffer in WebSocketClientBase via ArrayPool by @github-actions[bot] in #204
  • [Repo Assist] improve: use FrozenSet for ExecEnvSanitizer blocked-names lookup by @github-actions[bot] in #194
  • [Repo Assist] improve: modernize Substring→range syntax; consolidate TruncateLabel duplicate by @github-actions[bot] in #180
  • [Repo Assist] perf: pre-allocate arrays from JSON array length; replace LINQ sort with Array.Sort by @github-actions[bot] in #189
  • [Repo Assist] improve: modernize HandleRunAsync syntax; add exec-policy regression tests by @github-actions[bot] in #181
  • improve: FrozenDictionary command dispatch map in WindowsNodeClient by @shanselman in #205
  • fix: stop aggressive retry on auth failures, show setup nudge by @shanselman in #206
  • feat: add camera.clip, location.get, and canvas local file serving by @shanselman in #210
  • eng: handle repo-assist easy wins by @shanselman in #218
  • fix: audit transitive packages and update System.Drawing.Common by @shanselman in #219
  • Bump xunit.runner.visualstudio from 3.1.4 to 3.1.5 by @dependabot[bot] in #227
  • chore(deps): bump github/gh-aw-actions from ba90f2186d7ad780ec640f364005fa24e797b360 to abea67e08ee83539ea33aaae67bf0cddaa0b03b5 by @dependabot[bot] in #223
  • Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.4.0 by @dependabot[bot] in #226
  • chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #220
  • chore(deps): bump microsoft/setup-msbuild from 2 to 3 by @dependabot[bot] in #222
  • feat: local MCP HTTP server mode for the Windows tray by @codemonkeychris in #234
  • chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #228
  • chore(deps): bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #229
  • chore(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #230
  • chore(deps): bump github/gh-aw-actions from 0.68.3 to 0.71.1 by @dependabot[bot] in #231
  • chore(deps): bump actions/setup-dotnet from 4 to 5 by @dependabot[bot] in #232
  • [Repo Assist] test: add CommandCenterDiagnostics and ScreenCapability coverage by @github-actions[bot] in #233
  • [Repo Assist] feat: wire WebView2 bidirectional native↔SPA bridge in WebChatWindow by @github-actions[bot] in #192
  • feat: native WinUI A2UI renderer + MCP/security hardening by @codemonkeychris in #239
  • feat(tray): add onboarding wizard updates by @indierawk2k2 in #241
  • feat: winnode CLI for invoking node commands over local MCP by @codemonkeychris in #250
  • [Repo Assist] fix(security): catch all-wildcard allow patterns in exec approval policy by @github-actions[bot] in #247
  • [Repo Assist] fix(security): block dangerous stem+wildcard allow patterns in execApprovals.set by @github-actions[bot] in #255
  • [Repo Assist] test: add coverage for SshTunnelCommandLine, ExecApprovalV2Result, and McpToolBridge gaps by @github-actions[bot] in #245
  • refactor(tray): remove two unused tray menu helpers (~240 lines) by @AlexAlves87 in #251
  • [Repo Assist] perf(mcp): eliminate LINQ and ToArray() allocations in McpToolBridge by @github-actions[bot] in #243
  • [Repo Assist] fix: McpHttpServer localhost prefix and Linux test compatibility by @github-actions[bot] in #238
  • Add Windows node text-to-speech by @RBrid in #253
  • feat(device): enhance device.status with rich system health sections … by @RBrid in #249
  • feat: add structural input validation for system.run exec approvals by @AlexAlves87 in #244
  • chore(deps): bump github/gh-aw-actions from 0.71.1 to 0.71.3 by @dependabot[bot] in #266
  • chore(deps): bump actions/github-script from 373c709c69115d41ff229c7e5df9f8788daa9553 to 3a2844b7e9c422d3c10d287c895573f7108da1b3 by @dependabot[bot] in #267
  • Companion application refactoring by @RBrid in #272
  • fix: graceful chat error handling when gateway offline + tray menu bottom spacing by @ranjeshj in #273
  • Remove fake/sample data from 6 UI pages by @ranjeshj in #275
  • [Repo Assist] fix(canvas): skip GetFinalPathFromHandle containment check on non-Windows by @github-actions[bot] in #264
  • [Repo Assist] test(tray): add WindowsFactAttribute; skip DPAPI test on non-Windows by @github-actions[bot] in #265
  • [Repo Assist] test: expand TokenSanitizer coverage + refactor ExecApprovalPolicy.Save() by @github-actions[bot] in #263
  • [Repo Assist] test: expand HttpUrlRiskEvaluator and BrowserProxy coverage by @github-actions[bot] in #271
  • fix: restore consistent v0.68.3 SHA in repo-assist.lock.yml by @Copilot in #278
  • fix: standardize titlebar treatment across all windows by @christineyan4 in #277
  • Agent events UI cleanup and redesign by @christineyan4 in #284
  • fix: connection stability — stop node reconnect storms, fix bootstrap token handling by @ranjeshj in #287
  • [Repo Assist] refactor: extract BaseOptions constant in SshTunnelCommandLine by @github-actions[bot] in #290
  • [Repo Assist] chore(deps): bump Microsoft.Windows.SDK.BuildTools to 10.0.28000.1839 (supersedes #268) by @github-actions[bot] in #282
  • feat: wire WebView2 native↔SPA bridge in CanvasWindow by @AlexAlves87 in #259
  • [Repo Assist] perf: vectorize ASCII control/whitespace scan in ExecEnvSanitizer.IsBlocked by @github-actions[bot] in #289
  • audio: Whisper STT + Piper TTS as MCP-callable node capabilities by @RBrid in #288
  • feat: video capture frontend — consent, notifications, activity stream & settings by @christineyan4 in #292
  • fix: enforce min window size and pin navigation sidebar by @christineyan4 in #293
  • [Repo Assist] fix(security): stop echoing ex.Message into node capability error responses by @github-actions[bot] in #291
  • [Repo Assist] perf: pre-compile redaction and UI regexes (CommandCenterTextHelper, WizardPage, SchemaConfigEditor, QuickSendDialog) by @github-actions[bot] in #286
  • [Repo Assist] fix(security): handle all PowerShell -EncodedCommand abbreviations and separator forms in ExecShellWrapperParser by @github-actions[bot] in #270
  • Quick Send: align custom titlebar behavior and remove focus/z-order interference by @Copilot in #285
  • feat: normalize, resolve, and build canonical command identity by @AlexAlves87 in #260
  • feat(onboarding): WSL local gateway setup, onboarding wizard, and security hardening by @indierawk2k2 in #274
  • Connection architecture refactoring: manager-owned lifecycle, setup integration, diagnostics by @ranjeshj in #304
  • [Repo Assist] fix(wsl): terminate process tree on caller cancellation in WslExeCommandRunner by @github-actions[bot] in #303
  • [Repo Assist] fix(security): apply TokenSanitizer to WSL diagnostic output by @github-actions[bot] in #300
  • [Repo Assist] fix(security): stop leaking ex.Message in CanvasCapability and BrowserProxyCapability by @github-actions[bot] in #294
  • fix: setup flow, connection page, and chat token bugs by @ranjeshj in #305
  • Bump Microsoft.ML.OnnxRuntime from 1.25.1 to 1.26.0 by @dependabot[bot] in #309
  • fix(onboarding): verify bootstrap message rendered before consuming one-shot gate by @indierawk2k2 in #307
  • chore(repo): keep squad artifacts out of git by @indierawk2k2 in #314
  • feat(cron): Redesign Cron Jobs page with card UI, inline editing, and run history by @christineyan4 in #313
  • chore(deps): bump github/gh-aw-actions from 0.71.3 to 0.73.0 by @dependabot[bot] in #308
  • refactor(tray): extract CommandCenterStateBuilder from App.xaml.cs by @AlexAlves87 in #297
  • fix(cron): address post-merge review feedback from PR #313 by @christineyan4 in #318
  • Add Test Voice Input button to Voice & Audio settings by @christineyan4 in #317
  • fix(onboarding): restore post-wizard handoff and chat connection; properly bootstrap hatching prompt by @indierawk2k2 in #312
  • feat(uninstall): WSL gateway uninstall — engine, CLI, Inno hook, MSIX docs, Settings UI by @indierawk2k2 in #310
  • feat(connection): auto-reconnect to last successful gateway on startup by @ranjeshj in #321
  • MXC AppContainer sandboxing for system.run + Sandbox settings page by @bkudiess in #319
  • feat: add ExecApprovalsStore read path by @AlexAlves87 in #295
  • Native WinUI chat experience by @RBrid in #315
  • fix(usage): make 7/30 day toggle work + redesign with Fluent SelectorBar by @bkudiess in #322
  • fix: native chat UX improvements — focus, flickering, bubbles, notifications by @ranjeshj in #326
  • feat(nodes): rich node cards with rename, forget, and tray cleanup by @bkudiess in #324
  • fix(onboarding): surface gateway wizard terminal-error status instead of silent complete by @indierawk2k2 in #332
  • fix(setup): WSL gateway easy-button hardening + wizard navigation + error surface by @indierawk2k2 in #329
  • docs(agents): note --no-restore first-run gotcha in test validation by @indierawk2k2 in #333
  • Fix incomplete onboarding Finish recovery by @shanselman in #334
  • UI fixes: skills redesign, workspace caching, sidebar/voice width by @christineyan4 in #335
  • refactor: extract CopyDiagnostic helper for diagnostic copy methods by @AlexAlves87 in #336
  • Refactor WinUI clipboard text copies by @shanselman in #339
  • Merge Capabilities into Permissions; redesign Settings & Permissions with Fluent rows by @bkudiess in #373
  • feat: unify Sessions and Conversations into single Sessions page by @samanthamsong in #352
  • [Repo Assist] fix(wsl): add mountFsTab=false + [time] section to wsl.conf; make IsAlreadyConfigured probe section-aware by @github-actions[bot] in #301
  • [Repo Assist] fix(security): stop leaking ex.Message in node client, device capability, and approval prompts by @github-actions[bot] in #306
  • [Repo Assist] fix(security): remove residual ex.Message leak in canvas jsonlPath error path by @github-actions[bot] in #328
  • fix(onboarding): skip wizard for paired operators and make "Keep my setup" actually dismiss by @indierawk2k2 in #340
  • fix: use node.pair.approve for node command auto-approval by @ranjeshj in #382
  • refactor(tray): extract TrayTooltipBuilder from App.xaml.cs by @AlexAlves87 in #376
  • Bump Windows tray clients to advertise protocol v4 (unblocks fresh-install pairing) by @indierawk2k2 in #384
  • Consolidate 6 gateway pages under Advanced nav group by @samanthamsong in #385
  • Fix startup setup check for per-gateway node tokens by @shanselman in #375
  • fix(exec-shell): add zsh/dash/ash/ksh/fish to V1 POSIX shell recognizer by @AlexAlves87 in #377
  • fix(exec-approvals): reject Allow rules with absolute file paths by @AlexAlves87 in #379
  • fix(node): route capture/record toasts through App.ShowToast by @AlexAlves87 in #378
  • Tray menu (right-click): Fluent style tray-menu redesign by @kenehong in #383
  • Visual refinement + bugs fix by @kenehong in #405
  • refactor(app): extract OnUiThread helper, replace dispatcher enqueue boilerplate by @AlexAlves87 in #410
  • Rebuild Nodes page as cross-platform Instances page by @bkudiess in #407
  • refactor: extract OpenClaw.Connection project for independent testability by @ranjeshj in #409
  • Finish V2 setup conversion by @indierawk2k2 in #411
  • feat(sandbox): inline scope clarity, rename to "Node Sandbox" by @bkudiess in #415
  • refactor: extract tray menu builder out of App.xaml.cs by @AlexAlves87 in #412
  • Rebuild Connection page (replaces Home) by @bkudiess in #418
  • Unify easy-button gateway comms through GatewayConnectionManager by @indierawk2k2 in #413
  • Introduce single AppState model + service extractions by @ranjeshj in #423
  • feat(wizard): three QoL polish fixes to gateway wizard by @indierawk2k2 in #422
  • ConnectionPage polish + per-page "Back to Connection" link by @bkudiess in #419
  • Colorful Fluent sidebar icons + Fluent Emoji lobster by @bkudiess in #425
  • Diagnostics page: friendlier reorganization of the Debug surface by @bkudiess in #427
  • Initialize hub title bar status on bind by @ranjeshj in #428
  • Rebuild the Channels page by @bkudiess in #430
  • Fix Repo Assist bundle checkout depth by @Copilot in #387
  • refactor: remove AppDispatcherQueue and move AppLogger to its own file by @AlexAlves87 in #421
  • Add exec approval evaluator, typed outcomes, and allowlist matcher by @AlexAlves87 in #327
  • chore(deps): align CommandPalette Windows SDK BuildTools by @shanselman in #433
  • Add localization audit automation by @shanselman in #436
  • [Repo Assist] fix(scripts): derive TFM dynamically in validate-wsl-gateway.ps1 by @github-actions[bot] in #434
  • test: ignore generated XAML in localization validation by @shanselman in #438
  • Improve async loading states for list pages by @shanselman in #440
  • Harden deep-link IPC handling by @shanselman in #441
  • fix(v2-wizard): pre-seed gateway.reload.mode=hot to keep wizard.next alive across config writes by @indierawk2k2 in #450
  • Fix tray disconnected behavior by @ranjeshj in #451
  • Chat revamp: file attachments, abort, session switching, voice UI, mute sync, overlay disable by @christineyan4 in #424
  • Fix zero-state chat trap + auto-approve own-node sub-pairing by @ranjeshj in #457
  • Keep WSL gateway alive across tray restarts and Windows logon by @indierawk2k2 in #455
  • fix(wizard): restore static 'Configuring Gateway' heading; step title back in card by @indierawk2k2 in #454
  • Fix node capability binding diagnostics by @ranjeshj in #461
  • fix: ID-based parallel tool call tracking with truthful Interrupted state by @ranjeshj in #466
  • feat: add exec approval V2 prompt adapter interface by @AlexAlves87 in #447
  • Avoid reserializing gateway event logs by @shanselman in #452
  • [Repo Assist] fix(node): fire-and-forget capability dispatch to unblock WS receive loop by @github-actions[bot] in #426
  • Update README screenshots by @shanselman in #470
  • Dedupe chat surface selection by @shanselman in #473
  • Chat UI polish: cross-client sync, auto-reload, voice/speaker toggle, scroll preservation by @christineyan4 in #469
  • Debounce Hub gateway nav hiding by @shanselman in #477
  • test(msix): publish update feed endpoint by @indierawk2k2 in #478
  • revert(msix): remove temporary update feed endpoint by @indierawk2k2 in #486
  • Add MXC preflight diagnostics by @shanselman in #480
  • feat(connection): show shared token chip, auto-fill token, default URL by @ranjeshj in #485
  • fix: unify capability count across all UI surfaces by @ranjeshj in #488
  • fix: MCP server runtime toggle & AppCapability MCP-only separation by @ranjeshj in #483
  • Add Run system tools permission toggle by @shanselman in #490
  • Fix Windows node gateway metadata by @indierawk2k2 in #475
  • polish(tray): tighten 'System tools' strings + add missing tray toggle by @bkudiess in #492
  • feat: tool metadata cache, tool call toggle, stale-closure fix, and perf optimizations by @christineyan4 in #479
  • refactor: remove dead recording handler and extract two static helpers from App.xaml.cs by @AlexAlves87 in #493
  • feat: add ExecApprovalsCoordinator and ICanPresentEvaluator by @AlexAlves87 in #471
  • [Repo Assist] test(tray): add unit tests for NodeCapabilityGating.GetLocalNodeCapabilities by @github-actions[bot] in #495
  • Add easy setup diagnostics logging by @indierawk2k2 in #497
  • feat(tray): consolidate app version + add user feedback to 'Check for Updates' feature by @RBrid in #481
  • [Repo Assist] fix(uninstall): clean up empty wsl\ parent dir after VHD removal by @github-actions[bot] in #472
  • Chat UI: composer polish, reducer dedup, tool-card layout fixes by @kenehong in #484
  • [Repo Assist] test(shared): add DeepLinkParser unit tests by @github-actions[bot] in #456
  • [Repo Assist] fix(mcp): add missing tool descriptions for location.get, device.info, device.status, browser.proxy by @github-actions[bot] in #448
  • [Repo Assist] fix(chat): surface incompatible-gateway state when handshake lacks session key by @github-actions[bot] in #482
  • [Localization Audit] loc: add x:Uid to hard-coded strings in ChatPage and InstancesPage by @github-actions[bot] in #442
  • docs: refresh repository documentation audit by @shanselman in #499
  • MXC: replace Node bridge with direct wxc-exec.exe spawn by @bkudiess in #487
  • polish(tray/chat): replace reconnecting spinner with skeleton timeline + composer by @kenehong in #498
  • Remove Quick Send feature entirely by @ranjeshj in #500
  • fix(chat): dedupe duplicate assistant bubbles and align continuation bubbles by @kenehong in #501
  • [Repo Assist] test+docs: add AppVersionInfo tests and update TEST_COVERAGE.md by @github-actions[bot] in #502
  • fix(chat): ID-based grouped session dropdown + UI alignment, scroll, multi-agent nav by @christineyan4 in #503
  • chore(deps): Bump github/gh-aw-actions from 0.72.1 to 0.74.4 by @dependabot[bot] in #446
  • Localize hard-coded XAML strings across 17 WinUI files (#491) by @bkudiess in #504
  • Tidy Agent Events page UI (Fluent / WinUI design) by @bkudiess in #511
  • Organize Bindings page to match Fluent / Win11 Settings pattern by @bkudiess in #513
  • Fix Diagnostics page width to match Permissions by @bkudiess in #517
  • Skills page: align with Fluent / Win 11 Settings conventions by @bkudiess in #509
  • Settings page: match canonical page sizing (centered Stretch+MaxWidth=900) by @bkudiess in #516
  • Reorganize Config page UI to follow Fluent guidelines by @bkudiess in #510
  • Organize Voice & Audio page per Fluent design guidelines by @bkudiess in #515
  • Tidy Usage page and recover from disconnected gateway by @bkudiess in #508
  • Sandbox page: match Permissions width and soften gateway-scope copy by @bkudiess in #518
  • [Repo Assist] test(chat): add 19 tests for untested ChatTimelineReducer event paths by @github-actions[bot] in #506
  • Refine companion navigation title bar by @kenehong in #520
  • Clean up Cron page UI to follow Fluent guidelines by @bkudiess in #512
  • Redesign Sessions page (Fluent 2 + deep-link to Chat) by @bkudiess in #514
  • fix: usage cost off-by-one drop & rename Agent Events to Event Stream by @christineyan4 in #519
  • Expand CI test coverage by @shanselman in #524
  • Update WinNode CLI live tool discovery by @shanselman in #525
  • [Repo Assist] test(shared): add 45 unit tests for MenuDisplayHelper and MenuSizingHelper by @github-actions[bot] in #522
  • Redesign local gateway setup as out-of-process SetupEngine by @ranjeshj in #529
  • [Repo Assist] test(shared): add 22 tests for ChannelStartResult and ConfigPatchResult computed properties by @github-actions[bot] in #528
  • [Repo Assist] perf(shared): eliminate LINQ sort and repeated Contains calls in ChannelsAggregator by @github-actions[bot] in #532
  • [Repo Assist] test(tray): expand ActivityStreamService coverage with 20 new tests by @github-actions[bot] in #535
  • [Repo Assist] test(connection): add OperatorScopeHelper and ChatNavigationReadiness tests by @github-actions[bot] in #530
  • [Repo Assist] test(connection): make node auto-approve tests deterministic by @github-actions[bot] in #540
  • [Repo Assist] eng(tests): add NuGetAuditMode=all to tests/Directory.Build.props by @github-actions[bot] in #539
  • Improve local test runtime gating by @ranjeshj in #542
  • Revamp config page editor by @ranjeshj in #541
  • test: improve test quality and coverage by @shanselman in #544
  • Fix tray menu toggle flicker by @kenehong in #545
  • Add markdown rendering (incl. tables) to native chat bubbles by @RBrid in #546
  • Fix native chat UI bugs in tray app by @RBrid in #549
  • Fix QQSHI13 issue hardening pass by @shanselman in #564
  • Improve chat voice input readiness UX by @kenehong in #565
  • Render thinking state inside assistant bubble by @kenehong in #561
  • docs: refresh local run and script guidance by @shanselman in #568
  • Fix chat tool call visibility toggle by @shanselman in #574
  • Fix installer uninstall cleanup by @ranjeshj in #572
  • Fix local dev setup: Node.js prereq, log link, WSL diagnostics by @kmahone in #575
  • Simplify local app launch wrapper by @shanselman in #573
  • Guard release executable signing by @shanselman in #579

New Contributors

Full Changelog: v0.5.0...v0.6.0-alpha.4