Skip to main content
The Palyra Desktop Application (or Desktop Companion) is a Tauri-based control center designed to manage the lifecycle of the Palyra daemon (palyrad) and the browser automation daemon (palyra-browserd). It provides a native shell for platform-specific features like system notifications, secure secret storage via OS keychains, and a streamlined onboarding experience for new nodes apps/desktop/README.md#3-5.

Core Role and Architecture

The application acts as a supervisor and a companion UI. It does not replace the core daemon’s logic but rather orchestrates its execution as a sidecar process apps/desktop/README.md#17-33.

Desktop System Context

The following diagram illustrates how the Desktop App (Code Entity: ControlCenter) bridges the user’s OS environment to the Palyra services. Diagram: Desktop Application Component Relationships Sources: apps/desktop/src-tauri/src/supervisor.rs#201-218, apps/desktop/src-tauri/src/commands.rs#53-62, apps/desktop/src-tauri/src/desktop_state.rs#231-232

Sidecar Supervisor and Process Lifecycle

The desktop application manages the runtime lifecycle of the daemon binaries. It uses a ControlCenter struct to maintain the state of ManagedService instances apps/desktop/src-tauri/src/supervisor.rs#97-107. For details, see Sidecar Supervisor and Process Lifecycle.

Desktop Onboarding and Companion UI

The onboarding flow is a state-machine driven sequence (DesktopOnboardingStep) that guides the user from initial setup to a fully functional node apps/desktop/src-tauri/src/desktop_state.rs#209-219. For details, see Desktop Onboarding and Companion UI.

Integration and Data Flow

The Desktop App communicates with the sidecars exclusively via loopback (127.0.0.1) apps/desktop/README.md#91-91. It uses a ControlPlaneClient to fetch diagnostics and status from the palyrad admin surface to build a unified ControlCenterSnapshot apps/desktop/src-tauri/src/snapshot.rs#173-182. Diagram: Data Aggregation Flow Sources: apps/desktop/src-tauri/src/snapshot.rs#204-216, apps/desktop/src-tauri/src/onboarding.rs#162-185

Technical Constraints

ConstraintValueSource
Supervisor Tick500msapps/desktop/src-tauri/src/lib.rs#1
Max Log Lines400 per serviceapps/desktop/src-tauri/src/lib.rs#2
Log Capacity2,048 eventsapps/desktop/src-tauri/src/lib.rs#3
Secret Max Size4,096 bytesapps/desktop/src-tauri/src/lib.rs#10
Supported OSWindows, macOSapps/desktop/README.md#9
Sources: apps/desktop/src-tauri/src/lib.rs#1-10, apps/desktop/README.md#9-11

Child Pages