Skip to main content
Palyra provides three primary frontend surfaces for human operators to interact with the daemon and manage agent lifecycles. These applications are built using a shared set of protocol definitions and UI patterns to ensure consistency across the web, desktop, and browser environments.

Overview of Frontend Surfaces

The frontend ecosystem is designed around the Console API, a specialized HTTP/JSON interface exposed by the daemon for administrative and interactive tasks.
ApplicationTechnologyPrimary RoleDeployment
Web ConsoleReact / ViteFull administration, memory management, and session orchestration.Hosted by palyrad or standalone VPS.
Desktop AppTauri / Rust / ReactSidecar supervision (palyrad/browserd), local node management, and ambient voice/chat.Local installation (Win/macOS).
Browser ExtensionManifest V3DOM snapshots, loopback relay, and secure pairing.Browser stores (Chrome/Edge).

System Relationship Diagram

The following diagram illustrates how the different frontend entities relate to the palyrad daemon and its internal services. Sources: apps/web/src/consoleApi.ts#1-23, apps/desktop/src-tauri/src/supervisor.rs#1-41, crates/palyra-daemon/src/transport/http/handlers/console/memory.rs#1-12

10.1. Web Console (React)

The Web Console is the most feature-complete interface for Palyra. It is a React-based Single Page Application (SPA) that communicates with the daemon via the ConsoleApiClient apps/web/src/consoleApi.ts#147-148.

Key Architecture Components

For deep technical details on the console architecture, state management, and the A2UI renderer, see Web Console (React). Sources: apps/web/src/consoleApi.ts#147-148, apps/web/src/console/useConsoleAppState.tsx#1-53, apps/web/src/console/sections/MemorySection.tsx#39-112

10.2. Desktop Application (Tauri)

The Desktop Application serves as a control center for local Palyra instances. It uses Tauri to bridge a React-based UI with a Rust-based supervisor that manages local sidecar processes apps/desktop/src-tauri/src/supervisor.rs#1-18.

Supervisor and Sidecars

The desktop app supervises the lifecycle of three primary services:
  1. Gateway (palyrad): The main daemon apps/desktop/src-tauri/src/supervisor.rs#52-52.
  2. Browserd: The browser automation service apps/desktop/src-tauri/src/supervisor.rs#53-53.
  3. Node Host: The local capability execution host apps/desktop/src-tauri/src/supervisor.rs#54-54.

Desktop-Specific Features

For details on the supervisor, desktop state persistence, and onboarding flows, see Desktop Application (Tauri). Sources: apps/desktop/src-tauri/src/supervisor.rs#48-87, apps/desktop/src-tauri/src/lib.rs#32-44, apps/desktop/src-tauri/src/desktop_state.rs#1-27

10.3. Browser Extension and Mobile Apps

The Browser Extension provides the “eyes” for the agent within the user’s web browser, while the mobile apps provide on-the-go access to approvals and voice notes.

Extension Capabilities

  • DOM Snapshots: Capturing the current state of a webpage for the agent.
  • Loopback Relay: Securely dispatching requests from the browser to the local daemon.
  • Pairing Flow: Facilitating the trust handshake between the browser and the Palyra node.

Mobile Companion

The ConsoleApiClient includes specific endpoints for mobile bootstrap and voice note creation, allowing mobile stubs to interact with the same backend infrastructure as the web console apps/web/src/consoleApi.test.ts#121-150. For details on the Manifest V3 extension architecture and mobile integration, see Browser Extension and Mobile Apps. Sources: apps/web/src/consoleApi.test.ts#121-150, apps/desktop/src-tauri/src/desktop_state.rs#91-104

Shared Contracts and Communication

All frontend applications rely on a unified set of contracts defined in the palyra-common crate and shared Protobuf schemas.

Frontend Communication Entities

Sources: apps/web/src/consoleApi.ts#243-250, apps/desktop/src-tauri/src/supervisor.rs#129-139, apps/desktop/src-tauri/src/desktop_state.rs#1-27

Child Pages