[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83252":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":16,"starSnapshotCount":16,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},83252,"openclaw-windows-node","openclaw\u002Fopenclaw-windows-node","openclaw","Windows companion suite for OpenClaw - System Tray app, Shared library, Node, and PowerToys Command Palette extension",null,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw-windows-node","C#",1813,212,11,25,0,124,400,372,19.99,false,"main","2026-06-12 02:04:32","# 🦞 OpenClaw Windows Hub\n\n![OpenClaw Windows Node banner](docs\u002Fassets\u002Freadme-banner.jpg)\n\nA native Windows companion suite for [OpenClaw](https:\u002F\u002Fopenclaw.ai) - the AI-powered personal assistant.\n\n*Made with 🦞 love by Scott Hanselman and Molty*\n\n![OpenClaw Windows Hub tray menu](docs\u002Fimages\u002Fopenclawwindows1.png)\n\n![OpenClaw Windows Hub command center](docs\u002Fimages\u002Fopenclawwindows2.png)\n\n![OpenClaw Windows Hub pairing and connection settings](docs\u002Fimages\u002Fopenclawwindows3.png)\n\n![OpenClaw Windows Hub activity and diagnostics](docs\u002Fimages\u002Fopenclawwindows4.png)\n\n## Projects\n\nThis monorepo contains the Windows hub, shared client libraries, and CLI utilities:\n\n| Project | Description |\n|---------|-------------|\n| **OpenClaw.Tray.WinUI** | System tray application (WinUI 3) for quick access to OpenClaw |\n| **OpenClaw.Shared** | Shared gateway client library |\n| **OpenClaw.Cli** | CLI validator for WebSocket connect\u002Fsend\u002Fprobe using tray settings |\n\n## 🚀 Quick Start\n\n> **End-user installer?** Download the latest stable x64 or ARM64 installer from the [OpenClaw Windows docs](https:\u002F\u002Fdocs.openclaw.ai\u002Fplatforms\u002Fwindows), or see [docs\u002FSETUP.md](docs\u002FSETUP.md) for step-by-step installation (no build required).\n>\n> **Managed WSL gateway?** Local setup creates a locked-down app-owned `OpenClawGateway` distro. See [docs\u002FWSL_GATEWAY_ADMIN.md](docs\u002FWSL_GATEWAY_ADMIN.md) for editing `openclaw.json` as the `openclaw` user and using root for protected-file administration.\n\nDirect downloads from the latest OpenClaw release:\n\n- [OpenClawCompanion-Setup-x64.exe](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Freleases\u002Flatest\u002Fdownload\u002FOpenClawCompanion-Setup-x64.exe)\n- [OpenClawCompanion-Setup-arm64.exe](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Freleases\u002Flatest\u002Fdownload\u002FOpenClawCompanion-Setup-arm64.exe)\n- [OpenClawCompanion-SHA256SUMS.txt](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Freleases\u002Flatest\u002Fdownload\u002FOpenClawCompanion-SHA256SUMS.txt)\n\n### Prerequisites\n- Windows 10 (20H2+) or Windows 11\n- .NET 10.0 SDK - https:\u002F\u002Fdotnet.microsoft.com\u002Fdownload\u002Fdotnet\u002F10.0\n- Windows 10 SDK (for WinUI build) - install via Visual Studio or standalone\n- WebView2 Runtime - pre-installed on modern Windows, or get from https:\u002F\u002Fdeveloper.microsoft.com\u002Fmicrosoft-edge\u002Fwebview2\n\n### Build\n\nUse the build script to check prerequisites and build:\n\n```powershell\n# Check prerequisites\n.\\build.ps1 -CheckOnly\n\n# Build all projects\n.\\build.ps1\n\n# Build specific project\n.\\build.ps1 -Project WinUI\n```\n\nOr build directly with dotnet:\n\n```powershell\n# Build all (use build.ps1 for best results)\ndotnet build\n\n# Build WinUI (requires runtime identifier for WebView2 support)\ndotnet build src\u002FOpenClaw.Tray.WinUI\u002FOpenClaw.Tray.WinUI.csproj -r win-arm64  # ARM64\ndotnet build src\u002FOpenClaw.Tray.WinUI\u002FOpenClaw.Tray.WinUI.csproj -r win-x64    # x64\n\n# Build MSIX package (for camera\u002Fmic consent prompts)\ndotnet build src\u002FOpenClaw.Tray.WinUI -r win-arm64 -p:PackageMsix=true  # ARM64 MSIX\ndotnet build src\u002FOpenClaw.Tray.WinUI -r win-x64 -p:PackageMsix=true    # x64 MSIX\n```\n\n### Run Tray App\n\n```powershell\n# Build and launch the unpackaged WinUI tray app\n.\\run-app-local.ps1\n\n# If you already built, skip rebuild and launch the existing Debug output\n.\\run-app-local.ps1 -NoBuild\n\n# Run isolated from your normal tray settings so multiple worktrees can run together\n.\\run-app-local.ps1 -Isolated\n\n# Alpha update testing from a Release build\n.\\run-app-local.ps1 -Configuration Release -Isolated -UpdateChannel alpha\n\n# Optional: launch through WinAppCLI with Package.appxmanifest\n.\\run-app-local.ps1 -UseWinApp -NoBuild\n```\n\nThe default path starts the unpackaged executable directly. `-UseWinApp` requires\nMicrosoft WinAppCLI (`winget install Microsoft.WinAppCLI`) and is only needed when\nyou want manifest\u002FMSIX-adjacent launch validation.\n\n### Run CLI WebSocket Validator\n\nUse the CLI to validate gateway connectivity and `chat.send` outside the tray UI.\n\n```powershell\n# Show help\ndotnet run --project src\u002FOpenClaw.Cli -- --help\n\n# Use tray settings from %APPDATA%\\OpenClawTray\\settings.json and send one message\ndotnet run --project src\u002FOpenClaw.Cli -- --message \"quick send validation\"\n\n# Loop sends and also probe sessions\u002Fusage\u002Fnodes APIs\ndotnet run --project src\u002FOpenClaw.Cli -- --repeat 5 --delay-ms 1000 --probe-read --verbose\n\n# Override gateway URL\u002Ftoken for isolated testing\ndotnet run --project src\u002FOpenClaw.Cli -- --url ws:\u002F\u002F127.0.0.1:18789 --token \"\u003Ctoken>\" --message \"override test\"\n```\n\n## 📦 OpenClaw.Tray (Molty)\n\nModern Windows 11-style system tray companion that connects to your local OpenClaw gateway.\n\n### Features\n- 🦞 **Lobster branding** - Pixel-art lobster tray icon with status colors\n- 🎨 **Modern UI** - Windows 11 flyout menu with dark\u002Flight mode support\n- 💬 **Quick Send** - Send messages via global hotkey (Ctrl+Alt+Shift+C)\n- 🔄 **Auto-updates** - Automatic updates from GitHub Releases\n- 🌐 **Web Chat** - Embedded chat window with WebView2\n- 📊 **Live Status** - Real-time sessions, channels, and usage display\n- 🧭 **Command Center** - Dense gateway, channel, usage, node, pairing, and allowlist diagnostics from one window\n- ⚡ **Activity Stream** - Command Center page for live session, usage, node, and notification events\n- 🔔 **Toast Notifications** - Clickable Windows notifications with [smart categorization](docs\u002FNOTIFICATION_CATEGORIZATION.md)\n- 📡 **Channel Control** - Start\u002Fstop Telegram & WhatsApp from the menu\n- 🖥️ **Node Observability** - Node inventory with online\u002Foffline state and copyable summary\n- ⏱ **Cron Jobs** - Quick access to scheduled tasks\n- 🚀 **Auto-start** - Launch with Windows\n- ⚙️ **Settings** - Full configuration page\n- 🎯 **First-run onboarding** — 6-screen setup wizard (connection, permissions, chat, configuration)\n\n#### Quick Send scope requirement\n\nQuick Send uses the gateway `chat.send` method and requires the operator device to have `operator.write` scope.\n\nIf Quick Send fails with `missing scope: operator.write`, Molty now copies identity + remediation guidance to your clipboard, including:\n\n- operator role and `client.id` used by the tray app\n- gateway-reported operator device id (if provided)\n- currently granted scopes (if provided)\n\nFor this specific error (`missing scope: operator.write`), the cause is an **operator token scope issue**. Update the token used by the tray app so it includes `operator.write`, then retry Quick Send.\n\nIf Quick Send fails with `pairing required` \u002F `NOT_PAIRED`, that is a **device approval** issue. Approve the tray device in gateway pairing approvals, reconnect, and retry.\n\n### Menu Sections\n- **Status** - Gateway connection status with click-to-view details\n- **Command Center** - Hub with diagnostics, channel health, usage, sessions, nodes, and copyable repair commands\n- **Sessions** - Active agent sessions with preview and per-session controls\n- **Usage** - Provider\u002Fcost summary with quick jump to activity details\n- **Channels** - Telegram\u002FWhatsApp status with toggle control\n- **Nodes** - Online\u002Foffline node inventory and copyable summary\n- **Recent Activity** - Timestamped event stream for sessions, usage, nodes, and notifications\n- **Actions** - Dashboard, Web Chat, Quick Send, Activity Stream, History\n- **Support & Debug** - Logs, config, diagnostics folder, redacted support context, browser setup, port\u002Fcapability\u002Fnode\u002Fchannel\u002Factivity summaries, and managed SSH tunnel restart\n- **Settings** - Configuration and auto-start\n\n### Mac Parity Status\n\nComparing against [openclaw-menubar](https:\u002F\u002Fgithub.com\u002Fmagimetal\u002Fopenclaw-menubar) (macOS Swift menu bar app):\n\n| Feature | Mac | Windows | Notes |\n|---------|-----|---------|-------|\n| Menu bar\u002Ftray icon | ✅ | ✅ | Color-coded status |\n| Gateway status display | ✅ | ✅ | Connected\u002FDisconnected |\n| PID display | ✅ | ✅ | Command Center shows gateway listener process\u002FPID |\n| Channel status | ✅ | ✅ | Mac: Discord \u002F Win: Telegram+WhatsApp |\n| Sessions count | ✅ | ✅ | |\n| Last check timestamp | ✅ | ✅ | Shown in tray tooltip |\n| Gateway start\u002Fstop\u002Frestart | ✅ | ⚠️ | Windows can restart the managed SSH tunnel from tray Support & Debug and Command Center; external gateway process control is not implemented |\n| View Logs | ✅ | ✅ | |\n| Open Web UI | ✅ | ✅ | |\n| Refresh | ✅ | ✅ | Auto-refresh on menu open |\n| Launch at Login | ✅ | ✅ | |\n| Notifications toggle | ✅ | ✅ | |\n\n### Windows-Only Features\n\nThese features are available in Windows but not in the Mac app:\n\n| Feature | Description |\n|---------|-------------|\n| Quick Send hotkey | Ctrl+Alt+Shift+C global hotkey |\n| Embedded Web Chat | WebView2-based chat window |\n| Toast notifications | Clickable Windows notifications |\n| Channel control | Start\u002Fstop Telegram & WhatsApp |\n| Modern flyout menu | Windows 11-style with dark\u002Flight mode |\n| Deep links | `openclaw:\u002F\u002F` URL scheme with IPC |\n| First-run onboarding | 6-screen guided setup wizard (Welcome → Connection → Wizard → Permissions → Chat → Ready) |\n\n### 🔌 Node Mode (Agent Control)\n\nWhen Node Mode is enabled in Settings, your Windows PC becomes a **node** that the OpenClaw agent can control - just like the Mac app! The agent can:\n\n| Capability | Commands | Description |\n|------------|----------|-------------|\n| **System** | `system.notify`, `system.run`, `system.run.prepare`, `system.which`, `system.execApprovals.get`, `system.execApprovals.set` | Show Windows toast notifications, execute commands with policy controls |\n| **Canvas** | `canvas.present`, `canvas.hide`, `canvas.navigate`, `canvas.eval`, `canvas.snapshot`, `canvas.a2ui.push`, `canvas.a2ui.pushJSONL`, `canvas.a2ui.reset` | Display and control a WebView2 window |\n| **Screen** | `screen.snapshot`, `screen.record` | Capture screenshots and fixed-duration MP4 screen recordings |\n| **Camera** | `camera.list`, `camera.snap`, `camera.clip` | Enumerate cameras and capture still photos or short video clips |\n| **Speech-to-text** | `stt.transcribe` | Capture audio from the default microphone for a bounded duration and return transcribed text. Default-off; opt-in via Settings. When enabled, advertised to both gateway callers (subject to gateway allowlist) and local MCP clients (subject to bearer token). |\n| **Location** | `location.get` | Return Windows geolocation when permission is available |\n| **Device** | `device.info`, `device.status` | Return Windows host\u002Fapp metadata and lightweight status |\n| **Text-to-speech** | `tts.speak` | Speak text aloud through Windows speech synthesis, or ElevenLabs when configured |\n\nPackaged installs declare camera, microphone, and location capabilities. Windows may ask for consent the first time a node capability uses one of those protected resources.\n\n#### Node Setup\n\n1. **Enable Node Mode** in Settings (enabled by default)\n2. **First connection** creates a pairing request on the gateway\n3. **Approve the device** on your gateway:\n   ```bash\n   openclaw devices list          # Find your Windows device\n   openclaw devices approve \u003Cid>  # Approve it\n   ```\n4. **Configure gateway allowCommands** - Add the commands you want to allow under `gateway.nodes` in `~\u002F.openclaw\u002Fopenclaw.json`:\n   ```json\n   {\n     \"gateway\": {\n       \"nodes\": {\n         \"allowCommands\": [\n           \"system.notify\",\n           \"system.run\",\n           \"system.run.prepare\",\n           \"system.which\",\n           \"system.execApprovals.get\",\n           \"system.execApprovals.set\",\n           \"canvas.present\",\n           \"canvas.hide\",\n           \"canvas.navigate\",\n           \"canvas.eval\",\n           \"canvas.snapshot\",\n           \"canvas.a2ui.push\",\n           \"canvas.a2ui.pushJSONL\",\n           \"canvas.a2ui.reset\",\n           \"screen.snapshot\",\n           \"camera.list\",\n           \"camera.snap\",\n           \"camera.clip\",\n           \"location.get\",\n           \"device.info\",\n           \"device.status\",\n           \"tts.speak\"\n         ]\n       }\n     }\n   }\n   ```\n    > ⚠️ **Important**: The gateway has a server-side allowlist. Commands must be listed explicitly - wildcards like `canvas.*` don't work! Privacy-sensitive commands such as `screen.record` and agent-driven audio playback via `tts.speak` should only be added to `allowCommands` when you explicitly want to allow them.\n\n5. **Test it** from your Mac\u002Fgateway:\n   ```bash\n    # Show a notification\n    openclaw nodes notify --node \u003Cid> --title \"Hello\" --body \"From Mac!\"\n    \n    # Open a canvas window\n    openclaw nodes canvas present --node \u003Cid> --url \"https:\u002F\u002Fexample.com\"\n    \n    # Execute JavaScript (note: CLI sends \"javaScript\" param)\n    openclaw nodes canvas eval --node \u003Cid> --javaScript \"document.title\"\n    \n    # Render A2UI JSONL in the canvas (pass the file contents as a string)\n    openclaw nodes canvas a2ui push --node \u003Cid> --jsonl \"$(cat .\u002Fui.jsonl)\"\n    \n    # Take a screenshot\n    openclaw nodes invoke --node \u003Cid> --command screen.snapshot --params '{\"screenIndex\":0,\"format\":\"png\"}'\n\n    # Record a short screen clip (requires explicitly allowing screen.record on the gateway)\n    openclaw nodes screen record --node \u003Cid> --duration 3000 --fps 10 --screen 0 --no-audio --out \u002Ftmp\u002Fopenclaw-windows-screen-record-test.mp4 --json\n\n    # List cameras\n    openclaw nodes invoke --node \u003Cid> --command camera.list\n\n    # Take a photo (NV12\u002FMediaCapture fallback)\n    openclaw nodes invoke --node \u003Cid> --command camera.snap --params '{\"deviceId\":\"\u003Cdevice-id>\",\"format\":\"jpeg\",\"quality\":80}'\n\n    # Speak text aloud on the Windows node (requires TTS enabled in Settings and tts.speak allowed on the gateway)\n    openclaw nodes invoke --node \u003Cid> --command tts.speak --params '{\"text\":\"Hello from OpenClaw\",\"provider\":\"windows\"}'\n\n    # Execute a command on the Windows node\n    openclaw nodes invoke --node \u003Cid> --command system.run --params '{\"command\":\"Get-Process | Select -First 5\",\"shell\":\"powershell\",\"timeoutMs\":10000}'\n\n    # View exec approval policy\n    openclaw nodes invoke --node \u003Cid> --command system.execApprovals.get\n\n    # Update exec approval policy (add custom rules)\n    openclaw nodes invoke --node \u003Cid> --command system.execApprovals.set --params '{\"rules\":[{\"pattern\":\"echo *\",\"action\":\"allow\"},{\"pattern\":\"*\",\"action\":\"deny\"}],\"defaultAction\":\"deny\"}'\n    ```\n    > 📷 **Camera permission**: Desktop builds rely on Windows Privacy settings. Packaged MSIX builds will show the system consent prompt.\n    \n    > 🔒 **Exec Policy**: `system.run` is gated by an approval policy on the Windows node at `%LOCALAPPDATA%\\OpenClawTray\\exec-policy.json` (schema: `{ \"defaultAction\": \"...\", \"rules\": [...] }`). This is separate from gateway-side `~\u002F.openclaw\u002Fexec-approvals.json`.\n    >\n    > Rules are matched against the full command line. Known wrapper payloads such as `cmd \u002Fc ...`, `powershell -Command ...`, `pwsh -EncodedCommand ...`, and `bash -c ...` are also evaluated before execution. Dangerous environment overrides like `PATH`, `PATHEXT`, `NODE_OPTIONS`, `GIT_SSH_COMMAND`, `LD_*`, and `DYLD_*` are rejected.\n\n#### Command Center diagnostics\n\nOpen the status detail\u002FCommand Center from the tray menu or with `openclaw:\u002F\u002Fcommandcenter`. It shows:\n\n- channel health from gateway `health` events, including node-mode health received without a separate operator connection\n- active sessions, usage\u002Fcost data, node inventory, declared commands, and Mac parity notes\n- allowlist diagnostics that separate safe companion commands from privacy-sensitive opt-ins like `screen.record`, `camera.snap`, and `camera.clip`\n- copyable repair commands for safe allowlist fixes and pending pairing approval\n- recent activity and node invoke results through the Activity Stream, storing command names\u002Fstatus\u002Fduration only (not payloads, screenshots, recordings, or secrets)\n    >\n    > ```bash\n    > openclaw nodes invoke --node \u003Cid> --command system.execApprovals.set --params '{\"rules\":[{\"pattern\":\"powershell.exe\",\"action\":\"allow\"},{\"pattern\":\"pwsh.exe\",\"action\":\"allow\"},{\"pattern\":\"echo *\",\"action\":\"allow\"},{\"pattern\":\"*\",\"action\":\"deny\"}],\"defaultAction\":\"deny\"}'\n    > ```\n\n    > 🔐 **Web Chat secure context**: Remote web chat requires `https:\u002F\u002F` (or localhost). If using a self-signed cert, trust it in Windows (Trusted Root Certification Authorities) or use an SSH tunnel to localhost.\n\n#### Node Status in Tray Menu\n\nThe tray menu shows node connection status:\n- **🔌 Node Mode** section appears when enabled\n- **⏳ Waiting for approval...** - Device needs approval on gateway\n- **✅ Paired & Connected** - Ready to receive commands\n- Click the device ID to copy it for the approval command\n\n### Deep Links\n\nOpenClaw registers the `openclaw:\u002F\u002F` URL scheme for automation and integration:\n\n| Link | Description |\n|------|-------------|\n| `openclaw:\u002F\u002Fsettings` | Open the Settings page |\n| `openclaw:\u002F\u002Fsetup` | Open Setup Wizard |\n| `openclaw:\u002F\u002Fchat` | Open the Chat page |\n| `openclaw:\u002F\u002Fcommandcenter` | Open Command Center diagnostics |\n| `openclaw:\u002F\u002Factivity` | Open the Activity page |\n| `openclaw:\u002F\u002Fhistory` | Open the Activity page filtered to notification history |\n| `openclaw:\u002F\u002Fdashboard` | Open Dashboard in browser |\n| `openclaw:\u002F\u002Fdashboard\u002Fsessions` | Open specific dashboard page |\n| `openclaw:\u002F\u002Fdashboard\u002Fchannels` | Open Channels dashboard page |\n| `openclaw:\u002F\u002Fdashboard\u002Fskills` | Open Skills dashboard page |\n| `openclaw:\u002F\u002Fdashboard\u002Fcron` | Open Cron dashboard page |\n| `openclaw:\u002F\u002Fhealthcheck` | Run a manual health check |\n| `openclaw:\u002F\u002Fcheck-updates` | Run a manual update check |\n| `openclaw:\u002F\u002Flogs` | Open the current tray log file |\n| `openclaw:\u002F\u002Flog-folder` | Open the logs folder |\n| `openclaw:\u002F\u002Fconfig` | Open the config folder |\n| `openclaw:\u002F\u002Fdiagnostics` | Open the diagnostics JSONL folder |\n| `openclaw:\u002F\u002Fsupport-context` | Copy redacted support context |\n| `openclaw:\u002F\u002Fdebug-bundle` | Copy a combined debug bundle for support |\n| `openclaw:\u002F\u002Fbrowser-setup` | Copy browser.proxy\u002Fbrowser-control setup guidance |\n| `openclaw:\u002F\u002Fport-diagnostics` | Copy gateway\u002Fbrowser\u002Ftunnel port diagnostics with owner PID stop hints |\n| `openclaw:\u002F\u002Fcapability-diagnostics` | Copy permissions, allowlist, and parity diagnostics |\n| `openclaw:\u002F\u002Fnode-inventory` | Copy node capabilities, commands, and policy status |\n| `openclaw:\u002F\u002Fchannel-summary` | Copy channel health and start\u002Fstop availability |\n| `openclaw:\u002F\u002Factivity-summary` | Copy recent tray activity for troubleshooting |\n| `openclaw:\u002F\u002Fextensibility-summary` | Copy channel, skills, and cron dashboard surface guidance |\n| `openclaw:\u002F\u002Frestart-ssh-tunnel` | Restart the tray-managed SSH tunnel when enabled |\n| `openclaw:\u002F\u002Fsend?message=Hello` | Open Quick Send with pre-filled text |\n| `openclaw:\u002F\u002Fagent?message=Hello` | Send message directly to the connected gateway |\n\nDeep links work even when Molty is already running - they're forwarded via IPC.\n\n## 📦 OpenClaw.Shared\n\nShared library containing:\n- `OpenClawGatewayClient` - WebSocket client for gateway protocol\n- `IOpenClawLogger` - Logging interface\n- Data models (SessionInfo, ChannelHealth, etc.)\n- Channel control (start\u002Fstop channels via gateway)\n\n## Development\n\n### Project Structure\n```\nopenclaw-windows-node\u002F\n├── src\u002F\n│   ├── OpenClaw.Shared\u002F           # Shared gateway library\n│   └── OpenClaw.Tray.WinUI\u002F       # System tray app (WinUI 3)\n├── tests\u002F\n│   ├── OpenClaw.Shared.Tests\u002F     # Shared library tests\n│   └── OpenClaw.Tray.Tests\u002F       # Tray app helper tests\n├── docs\u002F\n│   └── images\u002F                    # Screenshots\n├── openclaw-windows-node.slnx     # Solution file\n├── README.md\n├── LICENSE\n└── .gitignore\n```\n\n### Configuration\n\nSettings are stored in:\n- Settings: `%APPDATA%\\OpenClawTray\\settings.json`\n- Logs: `%LOCALAPPDATA%\\OpenClawTray\\openclaw-tray.log`\n- Easy-button setup summary: `%LOCALAPPDATA%\\OpenClawTray\\Logs\\Setup\\easy-setup-latest.txt`\n- Easy-button setup JSONL: `%LOCALAPPDATA%\\OpenClawTray\\Logs\\Setup\\easy-setup-latest.jsonl`\n\nDefault gateway: `ws:\u002F\u002Flocalhost:18789`\n\n### First Run\n\nOn first run, Molty launches a guided onboarding wizard that walks you through setup:\n\n1. **Welcome** — introduces OpenClaw and starts the setup flow\n2. **Connection** — choose Local gateway, Remote gateway, or configure later. Paste a setup code or enter gateway URL and token manually. Tests the connection with Ed25519 device authentication.\n3. **Wizard** — gateway-driven configuration steps (AI provider selection, personality setup, communication channels). Steps are defined by your gateway.\n4. **Permissions** — reviews Windows system permissions (notifications, camera, microphone, screen capture, location) and links to system settings to grant them.\n5. **Chat** — meet your agent in a live chat powered by the gateway's web UI.\n6. **Ready** — summary of available features, option to launch at startup, and a Finish button.\n\nFor detailed setup instructions, see [docs\u002FSETUP.md](docs\u002FSETUP.md). For the full onboarding architecture, see [docs\u002FONBOARDING_WIZARD.md](docs\u002FONBOARDING_WIZARD.md).\n\n## License\n\nMIT License - see [LICENSE](LICENSE)\n\n---\n\n*Formerly known as Moltbot, formerly known as Clawdbot*\n","OpenClaw Windows Hub 是一个为 OpenClaw 人工智能个人助手设计的 Windows 伴侣套件，包含了系统托盘应用、共享库、节点以及 PowerToys 命令面板扩展。其核心功能包括通过 WinUI 3 构建的系统托盘应用程序以快速访问 OpenClaw，一个用于网关连接的共享客户端库，以及一个用于验证 WebSocket 连接、发送和探测的命令行工具。该项目使用 C# 开发，适用于希望在 Windows 平台上更便捷地与 OpenClaw 交互的用户，支持 Windows 10 (20H2+) 和 Windows 11 系统。",2,"2026-06-11 04:10:41","trending"]