Use the Web GUI

The Web GUI ships inside the daemon: start it, open a browser, and work with agents, work items, skills, and files without the terminal. This page covers the first session and the main screens.

Quick Start

# Start the daemon (Web GUI is enabled by default)
holon daemon start

Then open http://127.0.0.1:7878/ in a browser.

The Web GUI is served from embedded assets compiled into the holon binary. The default CORS configuration permits localhost origins so the GUI works out of the box on the same machine.

Note: If you configured a custom listen address or port, adjust the URL accordingly.

Authentication and Login

When connecting remotely or running with authentication enabled, navigate to /login to authenticate:

For full IdP setup and session timeouts, see Configure OIDC authentication.

Pages

Dashboard

The Dashboard provides a runtime overview:

Agent Conversation

Select an agent from the Dashboard to open its conversation page:

Search

Search across agent memory from the browser.

Results include:

Agent Templates

Browse, install, and create agents from templates directly in the Web GUI. Available at /templates:

For CLI-based template management, see Agent Templates Guide.

Skill Management

Manage the Skill Library and agent skills from the browser:

The Skill Management page is available at /skills in the Web GUI. It is also accessible from the navigation sidebar when the daemon is running with the embedded GUI.

Skill installation through the Web GUI is non-blocking — when you add a skill via the browser, the install runs as a background job (see Job API). A progress indicator shows the current status, and the job state persists in localStorage so you can track it across page reloads.

The Skills page also supports updating installed skills. A skill that has a newer version published in its remote source shows an update button. Clicking it queues a catalog update job that fetches the latest version. Success and error feedback appears inline after the job completes, and update jobs run as background tasks (see Job API). Skill catalog updates also run as jobs, with progress tracked in the job list.

For CLI-based skill management, see Skills Guide.

Workspace File Browser

Open Files in the context side panel, or follow a file reference in a conversation. Selecting a file opens its preview. Markdown supports Preview and Source modes; text files support syntax highlighting.

Files are resolved against registered workspaces and execution roots. Path traversal and symlink escapes are blocked. Text previews are capped at 1 MB; downloads can retrieve the complete file.

Optional Finder integration (macOS)

When Holon runs directly on the same Mac as your browser, explicitly enable desktop integration at startup:

holon daemon start --access local --desktop-integration
# To enable it on an already running local instance, restart intentionally:
holon daemon restart --access local --desktop-integration

The Holon macOS menu app adds --desktop-integration automatically when it starts or restarts its managed daemon. The file actions menu then offers Show in Finder. It locates the selected file without opening or executing its contents. Other platforms continue to support preview, copying, and downloading.

Direct CLI launches default to off and require an explicit option. The menu app enables it on each start and restart; a CLI restart retains the setting unless overridden with --desktop-integration=false. The runtime requires a loopback-only listener. Do not enable it for a forwarded port, reverse proxy, or container: a loopback address does not prove that files belong to the computer displaying the browser. The connection indicator says Loopback address, rather than claiming that the runtime is local.

Settings

Configure Holon from the browser:

Internationalization (i18n)

The Web GUI uses react-i18next for full internationalization. A language selector in the Settings page lets you switch between English and Simplified Chinese. All interface text — including navigation items, button labels, form hints, status messages, and error pages — translates instantly on selection. Translation resources are compiled into the embedded build alongside the UI assets, so no external files or network access are required.

The Settings page also includes a search provider section for configuring web search and native search providers through the browser.

UI Icons

Status indicators, navigation icons, and file browser icons now use lucide icons (via lucide-react) throughout the Web GUI, replacing the previous Unicode symbol approach. Tooltips have been streamlined for clarity, and panel titles use a consistent label(N) format.

Inspector (Right Panel)

When viewing an agent or the Dashboard, the right panel shows:

The right panel also hosts contextual detail views. For example, clicking a task in the Dashboard opens a Task Detail panel showing status, kind, command, workdir, and output right alongside the main view.

The right panel supports an expanded fullscreen mode, and the model menu renders through a fixed-position portal so it is never clipped by layout overflow.

Remote Access

The Web GUI works with Holon's remote access modes. When the daemon is configured for remote access (tunnel, tailnet, or LAN), open the GUI URL through the same endpoint:

# Example: LAN access from another machine on the same network
http://<daemon-host>:7878/

Configure CORS if accessing from a different origin. See Remote Access and Configuration for details.

Embedded vs Development Build

ModeHow to accessWhen to use
Embedded (default)holon daemon start → /Normal use
Dev servercd web-gui/app && npm run devUI development

The embedded build is compiled into the holon binary at release time via rust-embed. No separate npm install or build step is required for production use.

To run the development server for UI work:

cd web-gui/app
npm install
npm run dev

The dev server includes hot reload and uses fixture data when no Holon server is running. Set HOLON_API_PROXY_TARGET to point the dev server's /api proxy at a running Holon daemon (it defaults to http://127.0.0.1:7878).

Performance Diagnostics

The Web GUI exposes runtime performance metrics at /api/control/runtime/performance. This endpoint returns granular timing data grouped by phase:

GroupMetrics
turn.*Total turn time, context build, provider round, tool execution, cleanup
provider.*Request build, round total, retry latency
tool.executionCumulative tool execution timing
storage.*Event append and state persistence timing
projection.*Agent state projection substeps (tasks, timers, work items, etc.)
http.*Per-route HTTP response timing
scheduler.*Poll latency by outcome

Each metric includes count, total_ms, max_ms, and avg_ms. Use this to diagnose slow turns, identify expensive tools, or track provider latency over time.

Job Monitoring

Long-running operations such as skill installation run as tracked jobs instead of blocking the request:

See Also