> ## Documentation Index
> Fetch the complete documentation index at: https://agentcontrol-abhi-agent-control-auth-contract-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# UI Quickstart

> Launch the Agent Control dashboard to manage controls and monitoring from your browser.

The Agent Control dashboard lets you manage [controls](/concepts/controls) and monitor agent activity — no code changes required.

## Prerequisites

Before starting the UI, make sure the **Agent Control server** is already running. If you haven't set it up yet, follow the [Quickstart](/core/quickstart) first.

You also need:

* **Node.js 20+** (CI uses 20; 18+ may work)
* **pnpm 9+** — install from [pnpm.io](https://pnpm.io/) or run `corepack enable && corepack prepare pnpm@latest --activate`

> **Note:** If you started the server using **One-line setup** from the [Quickstart](/core/quickstart), the UI is already running at [http://localhost:4000](http://localhost:4000). You can skip the setup steps below and jump directly to [viewing the dashboard](#create-controls-from-the-ui).

## Start the UI Server

<Steps>
  <Step title="Install and start the dashboard">
    From the root of the `agent-control` repository, run the following commands in a **separate terminal**:

    ```bash theme={null}
    cd ui
    pnpm install
    pnpm dev
    ```

    The dashboard is now running at [http://localhost:4000](http://localhost:4000).

    <Tip>
      Keep the Agent Control server (`make server-run`) and the UI (`pnpm dev`) running in separate terminal windows. The dashboard communicates with the server at `http://localhost:8000` by default.
    </Tip>
  </Step>

  <Step title="Verify the dashboard is running">
    Open [http://localhost:4000](http://localhost:4000). You should see an empty state — this is expected before any controls are registered.

    <img src="https://mintcdn.com/agentcontrol-abhi-agent-control-auth-contract-docs/dkRtv_kxIeJOTeuq/images/no-controls-at-startup.png?fit=max&auto=format&n=dkRtv_kxIeJOTeuq&q=85&s=8f5dd467d82a9b1c52e1197b196bcf98" alt="Dashboard with no controls at startup" width="2580" height="930" data-path="images/no-controls-at-startup.png" />

    The dashboard reflects the server's current configuration. Controls appear here automatically once you create them.
  </Step>
</Steps>

## Create Controls from the UI

You can create controls directly in the dashboard — no scripts or SDK code required.

<Steps>
  <Step title="Add a new control">
    Click the **Add Control** button from the controls page to start creating a new control.

    <img src="https://mintcdn.com/agentcontrol-abhi-agent-control-auth-contract-docs/dkRtv_kxIeJOTeuq/images/add-control.png?fit=max&auto=format&n=dkRtv_kxIeJOTeuq&q=85&s=7beed1a15e86fa3e1498f4bdb7c3ee2b" alt="Add a new control" width="2148" height="1076" data-path="images/add-control.png" />
  </Step>

  <Step title="Select the control type">
    Choose an [evaluator](/concepts/evaluators/overview) type for your control. Options include [Regex](/concepts/evaluators/built-in-evaluators#regex-evaluator), [List](/concepts/evaluators/built-in-evaluators#list-evaluator), [JSON](/concepts/evaluators/json), [SQL](/concepts/evaluators/sql), and [AI-powered](/concepts/evaluators/custom-evaluators) evaluators.

    <img src="https://mintcdn.com/agentcontrol-abhi-agent-control-auth-contract-docs/dkRtv_kxIeJOTeuq/images/select-control-type-to-create.png?fit=max&auto=format&n=dkRtv_kxIeJOTeuq&q=85&s=1289712ddc9bd7c7788d2619911f4637" alt="Select the control type to create" width="1274" height="936" data-path="images/select-control-type-to-create.png" />
  </Step>

  <Step title="Configure the control">
    Fill in the control details. See [Controls](/concepts/controls) for a full explanation of each field.

    <img src="https://mintcdn.com/agentcontrol-abhi-agent-control-auth-contract-docs/dkRtv_kxIeJOTeuq/images/configure-selected-control-type.png?fit=max&auto=format&n=dkRtv_kxIeJOTeuq&q=85&s=9dd9ec72fc69823a6a51efa5d38c6656" alt="Configure the selected control type" width="1230" height="1208" data-path="images/configure-selected-control-type.png" />

    | Field                       | Description                                                             |
    | --------------------------- | ----------------------------------------------------------------------- |
    | **Control name**            | A unique identifier for the control                                     |
    | **Enabled**                 | Toggle the control on or off                                            |
    | **Stages**                  | When to evaluate — `Pre` (before execution) or `Post` (after execution) |
    | **Selector path**           | The data path to evaluate (for example, `*` for all fields)             |
    | **Action**                  | What happens on a match — `Deny` blocks the request                     |
    | **Execution environment**   | Where evaluation runs — `Server` or `Client`                            |
    | **Evaluator configuration** | Type-specific settings (values, logic, match mode, case sensitivity)    |

    Click **Save** to register the control. It takes effect immediately — no redeployment needed.
  </Step>
</Steps>

## Regenerate API Types (Optional)

If you update the server API and need fresh UI types, regenerate them from the running server:

```bash theme={null}
pnpm fetch-api-types  # fetches from http://localhost:8000/openapi.json
```

## Monitoring

The monitoring dashboard shows real-time control activity across all agents:

<img src="https://mintcdn.com/agentcontrol-abhi-agent-control-auth-contract-docs/dkRtv_kxIeJOTeuq/images/monitor-controls.png?fit=max&auto=format&n=dkRtv_kxIeJOTeuq&q=85&s=63f01fe33165612a94b239e2b0412244" alt="Control monitoring dashboard" width="2570" height="1294" data-path="images/monitor-controls.png" />

* **Total evaluations** — Requests processed per control
* **Block count** — Requests denied per control
* **Pass/block ratio** — Visual breakdown of allowed vs. blocked operations
* **Activity timeline** — Recent evaluations with timestamps

Use this view to verify controls are working, spot patterns that need tuning, and audit which controls triggered on which agent.

<Note>
  Monitoring data populates as agents process requests. Run the [Agent Control Demo](/examples/agent-control-demo) to generate sample data:

  ```bash theme={null}
  uv run python examples/agent_control_demo/demo_agent.py
  ```
</Note>

## Next Steps

<CardGroup cols={2}>
  <Card title="Agent Control Demo" icon="play" href="/examples/agent-control-demo">
    Full end-to-end walkthrough with runnable scripts.
  </Card>

  <Card title="Controls" icon="shield" href="/concepts/controls">
    Learn how to define controls using the SDK or API.
  </Card>

  <Card title="Evaluators" icon="magnifying-glass" href="/concepts/evaluators/overview">
    Explore built-in and custom evaluator types.
  </Card>

  <Card title="Configuration" icon="gear" href="/core/configuration">
    Server configuration, authentication, and deployment options.
  </Card>
</CardGroup>
