Web interface for the Pons platform.
A single-page application for interacting with Pons agents in the browser. Built with React 19, Vite, and TailwindCSS.
- WebSocket streaming — real-time message streaming, tool call updates, and interaction requests
- Agent management — create, configure, and switch between agents
- Session history — persistent conversation sessions with transcript view
- Skill management — browse and configure agent skills
- Workflow support — visual workflow creation and execution
- Slash commands — invoke agent commands directly from chat input
- Auth gate — Bearer token authentication with the gateway
- Deno v2.0+
deno install# Start Vite dev server with HMR
deno task dev
# Production build
deno task build
# Serve built assets
deno task serveThe gateway module must be running for the frontend to connect — it provides the REST API and WebSocket endpoint.
src/
main.tsx React DOM render + auth bootstrap
App.tsx Router + layout shell
hooks/ useWebSocket, useAgents, useConfig, useSessions, ...
lib/ api.ts (HTTP client), gateway.ts, identity.ts
components/ UI components (ChatArea, AgentPanel, ToolEvent, ...)
- All server communication goes through HTTP REST and WebSocket — no direct module imports
- Auth token is fetched from
/api/auth/tokenon load and stored for subsequent requests - Message rendering uses
react-markdownwithremark-gfm - Icons from
lucide-react, routing viareact-router - TailwindCSS v4 — utility-first styles, no separate CSS modules
See CONTRIBUTING.md for development setup and guidelines.