Commit Graph

45 Commits

Author SHA1 Message Date
Scott Hanselman
e885802052 feat: warn before enabling node mode
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:49:11 -07:00
Scott Hanselman
2758faca3b feat: add node capability settings
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:44:45 -07:00
Scott Hanselman
ed218e9607 feat: detect expired setup codes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:37:21 -07:00
Scott Hanselman
9e319da08d feat: clarify setup pairing expectations
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:34:25 -07:00
Scott Hanselman
08834cb0e3 docs: document node command allowlists
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:27:06 -07:00
Scott Hanselman
ccf5f70bdf feat: add dangerous command opt-in guidance
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:25:19 -07:00
Scott Hanselman
bd8b1c5892 feat: add capability diagnostics copy action
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:23:09 -07:00
Scott Hanselman
df777cc7b1 feat: harden exec environment overrides
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:19:24 -07:00
Scott Hanselman
7dcad4f8d3 feat: add exec approval base hash checks
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:16:04 -07:00
Scott Hanselman
5dc1544142 feat: add command center extensibility links
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:10:11 -07:00
Scott Hanselman
f762c5a609 feat: add interactive exec approval prompt
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 01:05:54 -07:00
Scott Hanselman
7a41446c38 feat: add command center channel actions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:57:41 -07:00
Scott Hanselman
df70014092 feat: add browser proxy password auth retry
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:51:08 -07:00
Scott Hanselman
ad323b86c8 feat: add command center activity summary
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:48:04 -07:00
Scott Hanselman
6bcf34fa0f feat: add command center cost trend bars
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:42:59 -07:00
Scott Hanselman
2d8cfdbf1d feat: add richer command center summaries
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:38:49 -07:00
Scott Hanselman
ff923514af feat: add local browser proxy bridge
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:34:23 -07:00
Scott Hanselman
17991ac9ae feat: harden remote exec approval updates
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:27:20 -07:00
Scott Hanselman
9795fa56d2 feat: add gateway topology setup presets
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:24:46 -07:00
Scott Hanselman
ae8da1f471 feat: add command center support actions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:22:58 -07:00
Scott Hanselman
f3bbe577bd feat: add command center permissions matrix
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:05:58 -07:00
Scott Hanselman
263058ed33 feat: add browser proxy feasibility diagnostics
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-27 00:02:03 -07:00
Scott Hanselman
a40fcb6757 feat: classify explicit wsl gateway hosts
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 23:59:54 -07:00
Scott Hanselman
bd0121478f feat: add privacy-safe diagnostics jsonl
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 23:58:31 -07:00
Scott Hanselman
1c0f497e28 feat: add read-only port diagnostics
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 23:55:28 -07:00
Scott Hanselman
a365839494 feat: surface gateway self metadata
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 23:52:45 -07:00
Scott Hanselman
652f552f0d feat: harden ssh tunnel command state
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 23:47:11 -07:00
Scott Hanselman
521cf14b92 feat: add mission control topology diagnostics
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 23:41:04 -07:00
Scott Hanselman
99f803e5ba feat: add tray command center diagnostics
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 23:11:00 -07:00
Scott Hanselman
f121395b06 feat: add safe device parity commands
Add canvas.a2ui.pushJSONL as a Mac-compatible alias for the existing A2UI JSONL push handler.

Add device.info and device.status using the shared OpenClawKit payload shape, with Windows metadata/status sources plus tests and docs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 22:43:16 -07:00
Scott Hanselman
ea6cf23add docs: update Windows node parity audit 2026-04-26 22:26:56 -07:00
Scott Hanselman
dba534250c feat: add screen recording parity
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 22:18:59 -07:00
Scott Hanselman
00670860ed feat: improve QR setup pairing
Preserve setup bootstrap tokens separately from gateway tokens, support QR image and clipboard setup imports, and improve pairing notification copy flow.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-26 20:14:18 -07:00
Scott Hanselman
c1296be7fd
feat: add camera.clip, location.get, and canvas local file serving
Some checks are pending
Build and Test / test (push) Waiting to run
Build and Test / build (win-arm64) (push) Blocked by required conditions
Build and Test / build (win-x64) (push) Blocked by required conditions
Build and Test / build-msix (ARM64, win-arm64) (push) Blocked by required conditions
Build and Test / build-msix (x64, win-x64) (push) Blocked by required conditions
Build and Test / build-extension (arm64) (push) Blocked by required conditions
Build and Test / build-extension (x64) (push) Blocked by required conditions
Build and Test / release (push) Blocked by required conditions
Adds Windows node camera.clip, location.get, canvas local file serving/reload support, gateway command parity docs, and aligns screen capture with gateway-canonical screen.snapshot. Also makes camera.clip choose a supported Windows MediaCapture record stream and skips startup update prompts in debug builds for local node debugging.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-25 23:19:15 -07:00
github-actions[bot]
37a5f9453d
docs: add SETUP.md and POWERTOYS.md guides
Comprehensive Windows Node setup guide and PowerToys Command Palette extension documentation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-31 23:44:18 -07:00
Scott Hanselman
c85d4e7571
feat: complete Chinese localization + contributor guide (#60)
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build-msix (ARM64, win-arm64) (push) Has been cancelled
Build and Test / build-msix (x64, win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
Localize ~40 remaining hardcoded English strings (toasts, canvas, webchat, download dialog). Both en-US and zh-CN now have 163 resource keys, fully in sync.

- Add LocalizationHelper.SetLanguageOverride() for unpackaged app locale testing
- Add docs/LOCALIZATION.md contributor guide
- File issue #61 calling for community translations

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-17 21:12:45 -07:00
Scott Hanselman
882937299a docs: remove stale WinForms references, update test counts and capabilities
- README.md: Fix project table (OpenClaw.Tray → OpenClaw.Tray.WinUI),
  remove WinForms run command, add system.run.prepare and system.which
  to capability table and allowCommands JSON, remove '(investigating)'
  from canvas.a2ui commands
- DEVELOPMENT.md: Remove OpenClaw.Tray/ from structure, add
  OpenClaw.Tray.Tests/, update test counts (88 → 571), fix CI section
- build.ps1: Fix broken 'Tray' target to point at WinUI .csproj,
  remove WinForms from default build and run instructions
- docs/VERSIONING.md: Remove reference to deleted OpenClaw.Tray.csproj
- docs/TEST_COVERAGE.md: Full rewrite (88 → 571 tests, .NET 9 → 10)
- docs/CODE_REVIEW.md: Update project names, test counts, .NET version
- docs/WINDOWS_NODE_TESTING.md: Mark system.run as implemented, update
  capability descriptions
- docs/WINDOWS_NODE_ARCHITECTURE.md: Add historical planning note,
  update current state table (Node mode now implemented)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-17 20:38:13 -07:00
Copilot
0aebcc24f2
Fix auto-updater loop by removing hardcoded FileVersion and AssemblyVersion (#17) 2026-02-10 00:17:47 -08:00
Scott Hanselman
199f855729
feat: enhanced notification categorization pipeline (#12) (#15)
Replace keyword-only classification with a layered pipeline:
structured metadata (intent/channel) > user rules > keyword fallback.

- Add Channel, Agent, Intent, Tags fields to OpenClawNotification
- Extract NotificationCategorizer class with layered pipeline
- Add NotifyChatResponses toggle to suppress chat toasts
- Add UserNotificationRule model for custom regex/keyword rules
- Map error notifications to urgent setting
- Add 30+ unit tests for categorizer pipeline
- Document categorization system in docs/
2026-02-07 17:24:11 -08:00
Scott Hanselman
4003e58d8f feat: system.run + exec approval policy
Implement system.run command execution with swappable ICommandRunner
interface and glob-pattern-based exec approval policy for security.

ICommandRunner abstraction:
- ICommandRunner interface with CommandRequest/CommandResult models
- LocalCommandRunner: Process.Start with pwsh/cmd/powershell support
- Supports shell selection, cwd, timeout, env vars, args
- Designed for future DockerCommandRunner/WslCommandRunner swap-in

Exec approval policy:
- ExecApprovalPolicy engine with glob-pattern matching (*, ?)
- First-match-wins rule evaluation with Allow/Deny/Ask actions
- JSON persistence to exec-policy.json in data directory
- Default policy: allows read-only commands (echo, Get-*, hostname),
  denies destructive ops (rm, shutdown, Format-*, registry)
- system.execApprovals.get: retrieve current policy rules
- system.execApprovals.set: update policy remotely

Node integration:
- SystemCapability checks approval policy before executing commands
- Denied commands return error with policy rule explanation
- NodeService wires LocalCommandRunner + ExecApprovalPolicy

Tests (191 total, all passing):
- 30 exec approval tests: policy evaluation, persistence, patterns,
  SystemCapability integration, default rules validation
- system.run unit + integration tests
- Fixed: NodeCapabilityBase arg helpers guard default(JsonElement)

Docs updated:
- README: exec approvals commands, usage examples, gateway config
- Architecture doc: capability matrix, roadmap checkboxes updated
2026-02-07 14:16:15 -08:00
Scott Hanselman
b814a9eb65 docs: add Windows node roadmap 2026-02-03 21:25:46 -08:00
Scott Hanselman
e3eeef3367 feat: add Windows node mode capabilities
Implement node protocol, pairing, and invoke result handling.

Add canvas/screen/camera capabilities with WebView2, GDI capture, and MediaCapture frame reader fallback.

Expose node mode toggle/status in tray settings and update Windows node docs/testing guide.
2026-02-03 21:25:46 -08:00
Scott Hanselman
c658b1f517 Organize docs and add Windows Node architecture roadmap
- Move CODE_REVIEW.md, TEST_COVERAGE.md, XAML_COMPILER_BUG.md to docs/
- Add WINDOWS_NODE_ARCHITECTURE.md - comprehensive plan for evolving
  tray app into a first-class Windows node with canvas, camera, screen
  capture, and more
2026-02-01 21:26:10 -08:00
Scott Hanselman
83d61eb641 Fix Command Palette extension and bundle in installer
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
- Fix exe name mismatch: Moltbot.exe -> Moltbot.CommandPalette.exe in manifest
- Add AppListEntry=none to hide from Start Menu (only show in Command Palette)
- Use OpenUrlCommand from toolkit instead of custom DeepLinkCommand
- Add cmdpal-dev.ps1 script for local iteration (auto-detects arm64/x64)
- Update installer to optionally install Command Palette extension
- Add molty2.png to README
- Update CI to bundle Command Palette in installer
2026-01-28 23:33:32 -08:00
Scott Hanselman
40a68ec100 Modern Windows 11 UI overhaul with Mac parity
Some checks failed
Build and Test / test (push) Has been cancelled
Build and Test / build-extension (x64) (push) Has been cancelled
Build and Test / build (win-arm64) (push) Has been cancelled
Build and Test / build (win-x64) (push) Has been cancelled
Build and Test / build-extension (arm64) (push) Has been cancelled
Build and Test / release (push) Has been cancelled
- New ModernTrayMenu: Windows 11-style flyout replacing ContextMenuStrip
  - Dark/light mode auto-detection
  - Lobster branding header with accent colors
  - Clickable channel toggles (start/stop Telegram/WhatsApp)
  - Sessions link to /sessions, Cron Jobs to /cron
  - Status badges with color coding (READY/IDLE/ON/OFF)

- New ModernForm base class for all dialogs
  - Rounded corners via DWM APIs
  - Consistent theming across Settings, QuickSend, WebChat, etc.
  - Accent color support

- New WelcomeDialog for first-run experience
  - Guides users to get API token
  - Links to docs.molt.bot documentation
  - Opens Settings after onboarding

- Channel status parity: unified READY status for linked channels
- Service Health menu item (replaces Run Health Check)
- Test Notification button in Settings
- Various DPI and spacing fixes

- Updated README with screenshot and expanded feature list
2026-01-28 22:15:59 -08:00