Skip to content

Web dashboard (Phase 1: REST API + agent management) #60

@matt-bedda

Description

@matt-bedda

Overview

Build a web-based dashboard for managing Familiar's agents, crons, sessions, and configuration.

Phase 1 Scope

  1. REST API — Extend the existing webhook server with a router:

    • GET /api/agents — list all agents (cron jobs + sub-agents)
    • GET /api/agents/:id/runs — run history for a specific agent
    • GET /api/cron — cron schedule and status
    • POST /api/cron/:id/run — trigger a cron job manually
    • GET /api/sessions — active sessions
    • GET /api/config — current configuration (sanitized)
    • PUT /api/config — update configuration
  2. Static file serving — Serve a Lit-based SPA from dist/dashboard/

  3. Agent Store — SQLite-backed store for agent metadata, workspaces, run history

Architecture

  • Extend src/webhooks/server.ts with new routes
  • Token auth (reuse existing webhook token)
  • Lit web components for the frontend
  • Vite build pipeline for the dashboard

Acceptance Criteria

  • REST API endpoints working with auth
  • Basic dashboard showing agent list + cron status
  • Run history viewable per agent
  • Manual cron trigger working from UI

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions