formerly CAM local-first

One dashboard for every coding agent.

Coding agents stop and wait for you. Aperio watches every agent you run, whoever built it, and puts them in one place: one agent list, one approval queue, one notification history — in your browser, your terminal, or your phone. Agents and code stay on your own machine.

  • Claude Code
  • Codex
  • Gemini CLI
  • Qoder
  • Mistral Vibe
  • + your own
curl -fsSL https://github.com/jcyLite/cam-releases/releases/latest/download/install-remote.sh | bash

macOS · Linux x86_64 · Android APK. The local dashboard bridge needs Node.js 18+. Free for local use, forever →

The Aperio dashboard listing every agent across projects, grouped by review, waiting, working and idle. Project names and task titles are pixelated.

Real screenshots from a running Aperio dashboard. Project names, paths and session content are pixelated.

01The problem

You are the integration layer.

Every vendor ships a way to watch its own agent. None of them will ever show you a competitor’s. If your day is Claude Code in one repo, Codex in another and Gemini CLI for a quick script, you are the glue. Aperio is that layer.

Without Aperio

Three terminals, three places to get stuck.

  • claudewaiting for permission
  • codexwaiting for a design decision
  • geministopped on an error

You, tabbing between them.

With Aperio

One place for all of it.

  1. One agent listEvery agent, every project, whoever built it.
  2. One approval queuePermission requests from all agents, each tagged with an auto-assessed risk level.
  3. One notification historyDeduplicated, so one event is one alert.

In your browser, your terminal, or your phone.

02How it works

From “needs input” to “continues” in five steps.

  1. Agent needs input

    A permission prompt, a design decision, an error.

  2. Aperio detects

    Agent-native hooks plus terminal polling.

  3. Dashboard · TUI · phone

    A structured, deduplicated notification lands where you are looking.

  4. You reply

    Tap an option, or type your own answer.

  5. Agent continues

    Your reply is sent back into the agent’s session.

Agents run inside tmux. Aperio combines agent-native hooks with terminal polling to decide whether an agent is working, idle, waiting for input, or asking for approval — then builds a structured notification, deduplicates it, and routes it to whichever surface you are actually looking at.

03Product

Real screens, not mockups.

Captured from a live Aperio dashboard (Chinese UI). Everything that identifies a project or a session is pixelated.

B / Approvals

Terminal prompts become buttons.

Aperio reads the agent’s question out of the terminal and turns it into structured, tappable options. You approve from a phone without typing into a TTY.

  • Live terminal beside the parsed options
  • No option fits? Type a custom reply
  • Your reply goes straight back into the agent’s session
Aperio dashboard showing an agent’s pending question: the terminal in the middle and parsed Approve / Deny / Approve-all buttons on the right.
Pending approval — terminal in the middle, parsed options on the right.

3D / Agent Base

Walk the floor of your agent team.

Agent Base turns your agents into a 3D office: every agent has a desk, and its state shows on the name tag above it. Follow the camera or switch to first person, and work the “waiting on you” queue from the side panel.

  • 3D and 2D views, follow or first-person camera
  • A queue of agents waiting on you, oldest first
  • Jump from a desk straight into that agent’s session
Aperio Agent Base: a 3D office with agents at their desks, status name tags above them, and a queue of agents waiting for you on the right.
Agent Base — a 3D office where each agent has a desk.

A / Sessions

Step into any agent.

Real-time status, live terminal preview and a team view. Open an agent to watch its terminal beside the agent list, with quick keys and a message box below.

Aperio dashboard terminal view: agent list on the left, a live terminal in the middle and the message panel with Accept / Reject buttons on the right.
Web dashboard — agent list, live terminal and message panel.

T / Tasks

Track the work, not just the agents.

The task board follows each task from start to acceptance: which agents ran it, what is pending, which execution units are done, and what is waiting for your review.

Aperio task board: task counters at the top, the task list on the left and a task’s detail with status, acceptance criteria and execution units on the right.
Task board — every task from dispatch to acceptance.

M / Mobile

Approve from your phone.

The same agent list and approval queue on a phone: tap an option instead of typing into a terminal. Releases include an Android APK.

Get the Android APK
Aperio on a phone: the agent list with status counters and project filters.
Aperio on a phone: a pending question with Approve, Deny and Approve-all buttons, quick keys and a message box.
Mobile — the same agent list, and a pending question as buttons.

TUI / Terminal

Prefer the terminal?

cam tui opens a four-panel terminal dashboard: agent list, terminal preview, notification history and details.

Four-panel layout (schematic).

04Supported agents

Vendor-neutral by design.

A unified adapter layer normalizes the differences between agents. Adding a new CLI agent is a config entry, not a fork.

Supported agents, adapter type and detection mode
AgentAdapterDetection
Claude CodeDedicatedHooks + session JSONL
Codex CLIDedicatedHooks + polling
QoderDedicatedHooks
Gemini CLIGenericPolling
Mistral VibeGenericPolling
Your own CLI agentCustomPolling — configure it in Settings

Adapters declare their own detection strategy — HookOnly, HookWithPolling or PollingOnly — so hook-capable agents get instant events while everything else still works through terminal polling.

05Features

What’s in the box.

  • Remote approval

    Monitor and approve agent requests from the dashboard, the TUI or your phone.

  • Web dashboard

    Real-time status, live terminal preview and a team view.

  • 3D Agent Base

    Your agent team as a 3D office, with a queue of who is waiting on you.

  • Task board

    Follow each task through agent runs, pending results and acceptance.

  • TUI dashboard

    Four panels: agent list, terminal preview, notifications, details.

  • AI-powered extraction

    Reads notification content out of terminal snapshots instead of hardcoded regex. Optional.

  • Risk assessment

    Auto-rates bash commands low, medium or high to support approval decisions.

  • Agent Teams

    Multi-agent orchestration: team creation, task assignment, progress tracking.

  • Notification dedup

    Persistent dedup plus burst protection, so one event is one alert.

  • Service mode

    Installs as a launchd service, starts on boot, keeps monitoring in the background.

  • MCP server

    Drive Aperio from any MCP client, or from chat in natural language.

  • Local dashboard + NAS bridge

    Remote control over WebSocket/SSE, with Wake-on-LAN support.

06Local-first

Your machine. Your code. Your key.

  • Agents stay put. They run in tmux on your machine, and your code never moves.
  • History is a file. Notification history is a local JSONL file.
  • AI is opt-in. Optional AI extraction calls the model provider you configure, with your own API key.
  • Remote when you want it. The local dashboard bridge gives you remote control over WebSocket/SSE.

07Pricing

If it runs on your machine, it’s free.

Everything Aperio does locally is free, now and later: no seat limits, no feature gates, no trial that expires. Paid plans will only cover what needs our servers or your whole team.

Available now

Local

Freeforever

  • Agent list, approval queue and notification history
  • Web dashboard, TUI and Android APK
  • 3D Agent Base, task board and Agent Teams
  • MCP server, risk assessment, AI extraction with your own key
  • Remote access through your own dashboard bridge
Install Aperio

Coming soon

Pro

For individuals

  • Hosted relay: open your dashboard from anywhere, no tunnel to set up
  • Push notifications to your phone and chat apps
  • Agents from all your machines in one dashboard
  • The relay forwards encrypted traffic and stores nothing

Coming soon

Team

For teams and companies

  • Audit log of every command your agents ran
  • Shared approval queue with team-wide approval rules
  • Token spend across vendors and projects
  • Self-hosted deployment with SSO

Our promise: what is free today stays free. We will never move a local feature behind a paywall.

Get early access to Pro and Team

One email when it launches, plus early-supporter pricing. Nothing else.

Plan

We only use your email to tell you when paid plans launch. No tracking, never shared.

08Install

One line to install.

No build toolchain — Rust and npm are not required. The local dashboard bridge needs Node.js 18+; the installer tells you if it is missing. The command-line tool is still called cam for now.

  1. 1

    Install

    curl -fsSL https://github.com/jcyLite/cam-releases/releases/latest/download/install-remote.sh | bash
  2. 2

    Set up

    cam bootstrap

    Interactive setup — detects your agents and config.

  3. 3

    Watch

    cam tui

    Launch the TUI dashboard.

  4. 4

    Start an agent

    cam start "implement a TODO app"
Prefer a background service? Install with services enabled:
curl -fsSL https://github.com/jcyLite/cam-releases/releases/latest/download/install-remote.sh | CAM_INSTALL_SERVICES=1 bash

Or download a build

Open the latest release
  • macOSDMG · tar.gz
  • Linuxx86_64
  • AndroidAPK