Skip to main content
The Web Dashboard is a React-based Single Page Application (SPA) that serves as the primary operator interface for the Palyra ecosystem. It provides a unified surface for agent interaction, system monitoring, configuration management, and human-in-the-loop approvals. The dashboard communicates with the palyrad daemon via the Console API.

High-Level Architecture

The dashboard is built using React and Vite apps/web/vite.config.ts#19-20. It utilizes a centralized state management pattern via a custom hook that orchestrates several domain-specific hooks (Auth, Browser, Config, etc.). Sources: apps/web/src/App.tsx#11-33, apps/web/src/console/useConsoleAppState.tsx#164-165, apps/web/src/console/ConsoleRoutedShell.tsx

Authentication and Session Lifecycle

The dashboard implements a multi-stage boot process to ensure secure access. It supports standard token-based login and a specialized “desktop handoff” mechanism for seamless transition from the Palyra Desktop companion app. For details on the sign-in/sign-out lifecycle and session management, see Console API Client and State Management.

State Management and API Integration

The dashboard uses a “Domain Hook” pattern where useConsoleAppState aggregates state from various features like useChannelCoreState, useBrowserDomain, and useOverviewDomain apps/web/src/console/useConsoleAppState.tsx#17-25.
ComponentResponsibility
ConsoleApiClientLow-level fetch wrapper handling CSRF, NDJSON streaming, and error normalization apps/web/src/consoleApi.ts.
useConsoleAppStateCentralized orchestrator for UI state, notifications, and section routing apps/web/src/console/useConsoleAppState.tsx#164.
Auto-Refresh EngineA TTL-based logic that triggers data refreshes based on the active section (e.g., 10s for Overview) apps/web/src/console/useConsoleAppState.tsx#42-54.
Sources: apps/web/src/console/useConsoleAppState.tsx#42-72, apps/web/src/consoleApi.ts#1-49

Chat and Agent Interaction

The core of the operator experience is the Chat Console. This section facilitates real-time communication with agents, including:
  • Slash Commands: Built-in commands for context management and tool invocation.
  • Human-in-the-Loop: Approval blocks that pause agent execution until an operator grants permission.
  • Memory Management: UI for inspecting and managing the RAG (Retrieval-Augmented Generation) vector store.
For details on the composer and transcript features, see Chat Console and Memory Interface.

Dynamic UI (A2UI)

Palyra features a specialized protocol called A2UI (Agent-to-UI). This allows agents to push structured JSON payloads that the dashboard renders as interactive UI components (forms, tables, charts) within the chat transcript. For details on the A2UI renderer and security model, see A2UI (Agent-to-UI) Renderer.

Management Sections

Beyond chat, the dashboard provides several administrative and operational views:
  • Operations: Management of background runs and task queues.
  • Inventory: Browsing and configuring Agents, Skills, and Secrets.
  • Browser: Integrated view for agent-driven browser automation sessions.
  • Usage: Token tracking, cost estimation, and rate limit monitoring apps/web/src/consoleApi.ts#124-162.
For details on these views, see Console Sections: Operations, Browser, and Admin Views.

Key Code Entities

Sources: apps/web/src/App.tsx#11-33, apps/web/src/console/useConsoleAppState.tsx#164-165, apps/web/src/consoleApi.ts#36-42

Child Pages