Skip to main content
Polpo comes with a modern web dashboard built with Vite, React 19, and shadcn/ui.

Setup

  1. Start the Polpo server
    polpo serve --port 3000
    
  2. Install web UI dependencies
    cd ui
    npm install
    
  3. Configure the server URL Create ui/.env.local:
    VITE_POLPO_URL=http://localhost:3000
    
  4. Start the dev server
    npm run dev
    
    Open http://localhost:5173 in your browser.

Pages

Dashboard

Overview of the entire project:
  • Stats cards: Total tasks, running, done, failed counts
  • Active agents: Live agent activity with shimmer animation
  • Event feed: Real-time SSE event stream
  • Mission progress: Visual progress for active missions

Tasks

Full task management:
  • DataTable: Sortable, filterable task list
  • Detail sheet: Click any task to see full details, assessment scores, and logs
  • Actions: Retry, kill, reassess from the UI

Missions

Mission management:
  • Mission list: All missions with status badges
  • Execute/abort: Control mission lifecycle
  • Progress tracking: Per-mission task completion

Team

Agent management:
  • Agent list: All registered agents with role and model info
  • Add/remove: Manage team composition
  • AI generation: Generate teams from natural language descriptions

Memory

Project memory editor:
  • Monospace editor: Full-featured text editor for .polpo/memory.md
  • Keyboard shortcuts: Ctrl+S to save
  • Unsaved indicator: Badge shows when changes need saving

Logs

Event log viewer:
  • Session list: Browse log sessions
  • Event stream: Filterable event list with payloads

Chat

Conversational interface powered by Polpo’s 37 built-in tools:
  • Full agent capabilities: Create tasks, generate missions, manage the team, check status — all through conversation
  • Status commands: /status, /idle, /failed
  • Local processing: Common commands handled client-side

Settings

Connection and configuration:
  • Connection status: Real-time server connection indicator
  • Config display: Current orchestrator settings

React SDK

The web UI is built on the @polpo-ai/react package, which provides type-safe hooks:
import {
  PolpoProvider,
  useTasks,
  useAgents,
  useMissions,
  useProcesses,
  useEvents,
  useStats,
  useMemory,
} from "@polpo-ai/react";

function App() {
  return (
    <PolpoProvider
      baseURL="http://localhost:3000"
      projectId="my-project"
      apiKey="optional-key"
    >
      <Dashboard />
    </PolpoProvider>
  );
}
See the React SDK Reference for full documentation.

Command Palette

Press Ctrl+K (or Cmd+K) to open the command palette with:
  • Navigate: Jump to any page
  • Task actions: Retry all failed, clear finished, kill all running, reassess
  • Mission actions: Execute draft missions, abort active missions
  • AI generation: Quick access to team and mission generators
  • Go to task: Jump directly to any task

Tech Stack

ComponentTechnology
FrameworkVite + React 19
RoutingReact Router v7
UI Libraryshadcn/ui (Radix UI primitives)
State@polpo-ai/react (SSE + useSyncExternalStore)
StylingTailwind CSS v4
IconsLucide React
ToastsSonner
Tablescmdk (command palette)
ChartsRecharts
AI ChatVercel AI SDK (@ai-sdk/react)
The SDK uses useSyncExternalStore with push-based SSE for real-time updates. No polling — events are streamed as they happen.