Skip to content

Add native desktop app via Wails v3 (hetty-desktop) - #156

Open
dindindudu0-lab wants to merge 1 commit into
dstotijn:mainfrom
dindindudu0-lab:feat/wails3-desktop-app
Open

Add native desktop app via Wails v3 (hetty-desktop)#156
dindindudu0-lab wants to merge 1 commit into
dstotijn:mainfrom
dindindudu0-lab:feat/wails3-desktop-app

Conversation

@dindindudu0-lab

Copy link
Copy Markdown

Summary

  • Extract Hetty HTTP server bootstrap into pkg/server so the CLI and a new desktop binary share the same stack (proxy, GraphQL API, embedded admin UI).
  • Add cmd/hetty-desktop: Wails v3 app that starts Hetty locally and opens the admin interface in a native window (default http://127.0.0.1:8080).
  • Desktop module uses its own go.mod (cmd/hetty-desktop/go.mod) so the main module stays on Go 1.23 without pulling Wails into the core CLI build.
  • make build-desktop builds hetty-desktop (requires CGO + Go 1.25 toolchain via GOTOOLCHAIN).

Motivation

Hetty today expects users to open a browser tab or use hetty --chrome. A native desktop shell improves discoverability on Linux/macOS/Windows and matches tooling expectations for security researchers who want a dedicated app window.

Test plan

  • go test ./pkg/...
  • make build (CLI)
  • make build-desktop on Linux with webkit2gtk + CGO
  • Manual: run ./hetty-desktop, verify admin UI loads and proxy logs work
  • Manual: close window → server shuts down cleanly

Linux build notes

Requires libwebkit2gtk-4.1-dev (or libwebkit2gtk-4.0-dev) and a C compiler. Documented in README.

Screenshots

Desktop window loads the existing embedded admin UI at the local Hetty URL — no frontend changes required.

Made with Cursor

Extract HTTP server bootstrap into pkg/server so the CLI and a new
hetty-desktop binary share the same stack. The desktop app embeds the
admin UI and opens it in a Wails v3 window on localhost.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants