paseo.cafe
All plugins

agent-monitor

by omercnet

A Paseo plugin that provides a host-wide agent triage roster.

v3.0.0 Requires Paseo ^0.12.0

Gallery

Install

npmjs · Paseo 0.9+

paseo plugin add npm:@omercnet/paseo-agent-monitor@3.0.0
Previewv3.0.0-next.278.2 · npm dist-tag: next

Preview releases are unreleased plugin code. Install only if you want to test it; stable remains the default. Published 2026-10-20.

Security scan passed · 0 blocking · 0 advisory.

paseo plugin add npm:@omercnet/paseo-agent-monitor@3.0.0-next.278.2

GitHub · Paseo 0.8 fallback

paseo plugin add omercnet/paseo-plugins --ref 01ba4209e099c0f27a5b85ca6a911def76bc0b2a --path agent-monitor

Git security status and fallback installation are pinned to commit 01ba4209e099.

From the plugin's README

Requires Paseo ^0.12.0, whose background workspaces the monitor lists. Development uses the 0.12 SDK line from the workspace catalog.

Install the published package on the daemon host:

paseo plugin install npm:@omercnet/paseo-agent-monitor
paseo plugin update agent-monitor

README

agent-monitor

One roster for every agent on a daemon: an Agent monitor screen in the sidebar plus a global Command Center item (Open agent monitor). The sidebar row also counts the agents that need attention.

Answers "which of my 38 agents needs me right now" without walking the workspace tree.

Demo

https://github.com/user-attachments/assets/3c841799-ed98-4ec4-86a0-a7917e3894fc

Screenshots

Agent, project, and workspace names come from an isolated synthetic workspace. Both PNGs were captured at 2× pixel density after browser DevTools replaced the local host label and verified that no private organization names remained in the rendered page.

Project-first roster

Monitor settings

What it shows

  • Counts and filters by triage bucket: Attention, Running, Idle, Closed. Attention covers requiresAttention, status === "error", and pending permission requests.
  • Default layout groups agents by project, then by workspace under each project. Open the gear beside Refresh for the host-native Monitor settings screen, which can switch to workspace groups or a flat compact list.
  • Settings also control float-pinned sorting, agent sort (triage / recently updated / title), collapse of matching workspace headers, density, default bucket, whether Closed stays out of All, and display toggles for diffs, pin markers, model, wait age, subagent counts, last error, and compact placement. Preferences are a typed, host-scoped document shared by connected clients.
  • Workspace headers show up to two workspace labels and current +additions −deletions (additions in the success color, deletions in danger when color diffs are on).
  • Per row: a status dot that separates errors (danger) from agents waiting on you (warning) and running agents (success), state and wait age on a right-aligned rail (attentionTimestamp, falling back to updatedAt), model, and lastError inline.
  • Parent rows show their subagent count; child rows use a left indent guide.
  • Text filter over title, agent id, provider, model, cwd, project, and workspace.
  • Select an agent row to open that agent, or select a workspace header (or its folder button when collapsed) to open its workspace through Paseo's cross-platform navigation API.
  • Archive one agent, or sweep every closed agent (two taps).

Sidebar row

  • The row's badge counts the Attention bucket, using the same rule as the roster. It shows no number while the roster loads or after a refresh fails, and N+ once the agent list reaches the 2,000-agent page limit.
  • Press the badge for a popover of those agents, longest waiting first (up to eight), with Open monitor, which opens the roster filtered to Attention.
  • The monitor screen accepts a bucket param (attention, running, idle, closed, or all) as its initial filter, so a link such as …/surface/monitor?param.bucket=attention opens filtered and keeps that filter on reload. Chips then filter in place without changing the URL.

How it reads state

usePaseo().agents.list() pages the daemon agent directory, usePaseo().workspaces.list() reads workspace pin state, project id, and diff stats (200 per page, up to 10 pages each), and usePaseo().projects.list() supplies registered project names, including custom renames, so an agent whose workspace is beyond the paged workspace list still lands under its real project. Rows refresh from agent, workspace, and project subscription deltas, debounced 750ms, with a 30s backstop refetch. The screen, the sidebar row, and its popover share that query, subscription set, and backstop; on web and desktop, refreshes pause while the window is hidden and catch up when it returns. The plugin borrows the selected host's connection; it opens no socket of its own. Agents and workspaces in background workspaces are included.

Limits

Interrupting a turn is not part of PaseoApi, so archive is the only lifecycle action here.

The sidebar popover lists agents but cannot open them: Paseo 0.12 gives popovers no navigation. Open the monitor and select the agent there.

Install

Requires Paseo ^0.12.0, whose background workspaces the monitor lists. Development uses the 0.12 SDK line from the workspace catalog.

Install the published package on the daemon host:

paseo plugin install npm:@omercnet/paseo-agent-monitor
paseo plugin update agent-monitor

Develop

bun install
bun run check
bun run test
bun run test:coverage
bun run typecheck

Release Please maintains the version, changelog, component tag, and GitHub release from Conventional Commits in the monorepo.

The project supports Paseo ^0.12.0 and pins @getpaseo/plugin, @getpaseo/client, @getpaseo/protocol, and @getpaseo/cli to the 0.12 SDK line through the workspace catalog. Renovate groups @getpaseo/* updates so the SDKs move together.

React 19.1 and React Native 0.81 intentionally match the versions supplied by Paseo.

Scanned 23 Oct 2026, 13:11 UTC from omercnet/paseo-plugins/agent-monitor.