polyclaw v5.0.0

Prerequisites

Required

These are needed regardless of which deployment target you choose.

DependencyVersionPurpose
BunlatestRuns the TUI (app/tui)
Docker20+Builds and runs the Polyclaw container
GitanyCloning the repository

The TUI installs its own Node dependencies automatically via bun install on first run.

The container image includes Python, Node.js, the frontend build, and all runtime dependencies. You do not need to install them on your host machine.

Optional – Azure Container Apps Target

If you want to deploy to Azure instead of running locally, you also need:

DependencyPurpose
Azure CLI (az)Provisioning ACA, ACR, storage, and VNet resources
Azure subscriptionHosting the Container App and associated resources

The TUI checks for az availability and login status automatically. If az is not found or you are not logged in, the ACA target is disabled in the picker with a descriptive message.

Log in before launching the TUI:

az login

Optional – Extended Features

These are not required for basic operation but enable additional capabilities once polyclaw is running. Items marked auto-deployed are set up automatically during the initial deployment; the rest require manual configuration.

Service / ToolRequired ForDeployed
Cloudflare CLI (cloudflared)Tunnel to expose bot endpointauto-deployed
Playwright (npx playwright install chromium)Browser automation MCP serverauto-deployed
Azure Bot ServiceTelegram channel messagingauto-deployed
Azure Communication ServicesInbound and outbound voice callsmanual
Azure Key VaultCentralized secret managementmanual
Azure Container Apps Dynamic SessionsSandboxed code executionmanual
Azure OpenAIRealtime voice model (gpt-4o-realtime)manual
GitHub CLI (gh)GitHub MCP server pluginmanual

These services are configured through the TUI setup screen or the web dashboard after initial deployment.

Verification

Open the admin web dashboard and navigate to the Preflight Check page. It validates all required and optional dependencies inside the running container and shows their status at a glance.