Skip to main content
The Palyra Web Dashboard (apps/web) provides a multi-section operator interface for managing the daemon’s lifecycle, security posture, and resource utilization. Each section maps to specific gRPC and HTTP surfaces within palyrad, primarily targeting the /console/v1 and /admin/v1 endpoints.

Operations and Diagnostics

The OperationsSection serves as the technical nerve center, aggregating runtime health, audit logs, and self-healing status. It transitions technical details away from the high-level Overview to provide a dedicated troubleshooting surface.

Diagnostics Mapping

UI EntityCode EntitySource
Model Provider Statemodel_provider.stateapps/web/src/console/sections/OperationsSection.tsx#87
Connector Dead Lettersobservability.connector.dead_lettersapps/web/src/console/sections/OperationsSection.tsx#145
Self-Healing Incidentsself_healing.summary.activeapps/web/src/console/sections/OperationsSection.tsx#157
Sources: apps/web/src/console/sections/OperationsSection.tsx#49-166, apps/web/src/console/fixtures/m56ControlPlane.ts#73-88

Usage and Cost Governance

The UsageSection tracks token consumption, run throughput, and latency. It leverages backend-driven aggregation to avoid heavy processing in the browser. Sources: apps/web/src/console/sections/UsageSection.tsx#95-143, apps/web/src/console/sections/UsageSection.tsx#168-188

Access and Identity Management

The AccessSection manages the trust boundary between the daemon and external nodes/devices. It handles the lifecycle of pairing codes and mTLS device enrollment.

Node Pairing Workflow

  1. Minting: Operator generates a NodePairingCode with a specific TTL apps/web/src/console/sections/AccessSection.tsx#182.
  2. Request: A remote node uses the code to submit a NodePairingRequest.
  3. Approval: The operator reviews the request in the “Pending approvals” list and calls approveSupportPairingRequest apps/web/src/console/sections/AccessSection.tsx#123.
  4. Enrollment: The device is added to the InventoryDeviceRecord with a trusted state apps/web/src/console/sections/AccessSection.tsx#98.
Sources: apps/web/src/console/sections/AccessSection.tsx#118-135, crates/palyra-daemon/src/transport/http/handlers/console/nodes.rs#1-50, apps/web/src/console/hooks/useInventoryDomain.ts#1-20

Provider Auth and Profiles

The AuthSection manages credentials for LLM providers (OpenAI, Anthropic). It supports two primary flows: Static API Keys and OAuth Bootstrap.

Auth Entity Relationship

Sources: apps/web/src/console/hooks/useAuthDomain.ts#130-166, crates/palyra-daemon/src/openai_surface.rs#18-78, apps/web/src/console/sections/AuthSection.tsx#158-185

Config and Secret Management

The ConfigSection and SecretsSection provide controlled mutation of the system state. Sources: apps/web/src/App.config-access-support.test.tsx#41-150, crates/palyra-control-plane/src/models.rs#95-128

Specialized Sections

Memory and Learning

Manages the vector-backed memory and the “Learning” subsystem. Operators can monitor “Reflections” (background tasks that synthesize facts) and purge specific memory namespaces apps/web/src/console/sections/OperationsSection.tsx#115-119.

Browser and Channels

Support and Recovery

The SupportSection facilitates the generation of diagnostic bundles. Sources: apps/web/src/console/sections/OperationsSection.tsx#54-75, apps/web/src/console/fixtures/m56ControlPlane.ts#95, apps/web/src/console/fixtures/m56ControlPlane.ts#180-205