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.| Application | Technology | Primary Role | Deployment |
|---|---|---|---|
| Web Console | React / Vite | Full administration, memory management, and session orchestration. | Hosted by palyrad or standalone VPS. |
| Desktop App | Tauri / Rust / React | Sidecar supervision (palyrad/browserd), local node management, and ambient voice/chat. | Local installation (Win/macOS). |
| Browser Extension | Manifest V3 | DOM snapshots, loopback relay, and secure pairing. | Browser stores (Chrome/Edge). |
System Relationship Diagram
The following diagram illustrates how the different frontend entities relate to thepalyrad 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 theConsoleApiClient apps/web/src/consoleApi.ts#147-148.
Key Architecture Components
- ConsoleApiClient: A centralized client for all
/console/v1routes, handling CSRF tokens, session persistence, and streaming responses apps/web/src/consoleApi.ts#1-23. - useConsoleAppState: The root state machine for the console, managing global domains like
auth,memory,skills, andchannelsapps/web/src/console/useConsoleAppState.tsx#146-180. - Memory Section: A sophisticated UI for managing the RAG pipeline, including learning candidate review, workspace document editing, and retrieval diagnostics apps/web/src/console/sections/MemorySection.tsx#131-190.
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:- Gateway (
palyrad): The main daemon apps/desktop/src-tauri/src/supervisor.rs#52-52. - Browserd: The browser automation service apps/desktop/src-tauri/src/supervisor.rs#53-53.
- Node Host: The local capability execution host apps/desktop/src-tauri/src/supervisor.rs#54-54.
Desktop-Specific Features
- Process Supervision: Automatic restart logic with exponential backoff for sidecars apps/desktop/src-tauri/src/supervisor.rs#127-139.
- Companion Shell: Ambient UI features including a tray-based quick panel and a voice overlay for push-to-talk interaction apps/desktop/src-tauri/src/desktop_state.rs#50-57.
- Local Secrets: Management of encryption keys and admin tokens via the
DesktopSecretStoreapps/desktop/src-tauri/src/desktop_state.rs#23-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
TheConsoleApiClient 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 thepalyra-common crate and shared Protobuf schemas.