reviewmy / Products / 03 · Agent Console

See what your agents did, and what it cost.

Post each run and its events to one endpoint, and the console lists them as they arrive: model calls, tokens and cost per run, and every event inside it. It watches. It never controls a run.

What it does today

Every run, every event, what it cost.

Four things, each working now on your own runs. What the console is growing into is further down, under its own heading.

  • Runs as they arrive

    The live screen lists each run as its events land and refreshes every few seconds: the agent, its status, model calls, tokens in and out, and cost. Open a run to see every event inside it.

  • Cost you can check

    A model call costs what you send with it, or our rate for a model we know. A model we cannot price counts as $0 and the run is flagged as unpriced, rather than guessed at.

  • Keys and a monthly cap

    Each tier sets how many keys you can hold and how many events a month it accepts. A key is shown once, stored as a hash and revocable. Past the cap, ingest refuses with a plain message rather than charging for overage.

  • Watches, never controls

    There is no pause, no kill and no approve anywhere in the console. It records what your agents report, and nothing it shows can change a run.

Integration

One HTTP call, from anything.

No SDK to install and nothing to import. Post a run and its events to one endpoint from whatever language the agent is written in, and the run appears on the live screen within seconds.

await fetch('https://review-my-site.com/api/agents/ingest', {
  method: 'POST',
  headers: { authorization: 'Bearer agk_...', 'content-type': 'application/json' },
  body: JSON.stringify({
    run: { id: runId, agent: 'support-bot', environment: 'prod' },
    events: [
      { seq: 1, kind: 'start' },
      { seq: 2, kind: 'model_call', name: 'plan', model: 'claude-sonnet-5',
        input_tokens: usage.input_tokens, output_tokens: usage.output_tokens },
      { seq: 3, kind: 'end', detail: { status: 'succeeded' } },
    ],
  }),
});

Without a subscription you get 1 key and 10,000 events a month. Watch takes 100,000 events a month. Audit raises that to 500,000, and Govern to 2,000,000.

Pricing

Priced on what you ingest, not on seats.

The Agent Console is metered separately from the review plans. Watching agents scales with how many runs there are, not with how many page reviews you buy. A tier buys keys and events; nothing listed as coming below is part of any tier yet.

Watch

Per month
$15
Per year
$150/year
API keys
3
Events a month
100,000

Audit

Per month
$29
Per year
$290/year
API keys
10
Events a month
500,000

Govern

Per month
$99
Per year
$990/year
API keys
25
Events a month
2,000,000

Free is the absence of a subscription, not a trial. It does not expire, nothing auto-converts, and doing nothing charges nothing. Every figure above is read from the same catalogue the checkout charges against, so a price shown here cannot differ from a price taken.

Coming, not shipped

Where the console is going.

Designed, and running below on one sample run built to tell a story rather than to benchmark anything. None of it reads your runs yet, and none of it is part of what a tier buys today. Each tab says what it is.

  • Step by step replay

    One playhead over a run, with a lane per agent, the diff each step wrote, and spend and tokens adding up as it plays.

  • Flag a step back to the agent

    A brief drafted from the step you flag, collected by the agent over MCP and marked as raised by a human.

  • Policies and budget alerts

    Rules checked after a run finishes, and an alert when an environment passes its budget. Advisory: neither would stop a run.

  • AI reviewers and a copilot

    Reviewers over a finished run that publish their hit rates so you can switch one off, and a copilot that cites the step behind every claim.

  • Runtime attribution

    Per-step tokens and tool arguments from Claude Code, commands and exit codes from Codex, and run totals from anything else.

What happened in this runclaude-sonnet · written 30 Aug 2026, 14:02

The Planner read the component named in the brief, then grepped for its call sites before writing a four-step plan.

The Coder added an empty-string guard and surfaced the API error.

It then re-ran that identical command nine more times across nine seconds without changing a line, which is the single largest cost in the run.

The fix was one line in the test file: awaiting the mock.

The Reviewer read both files, raised two notes, built a preview and opened the pull request.

See the cost breakdown

A model wrote this from the run data. Every claim links to the step it came from.

TimelineCoder · run_tests · retry 3–11
0:26 / 1:02$0.5645,200 tok

Planner

claude-sonnet

Coder

claude-sonnet

Reviewer

gpt-5-codex

tool callfile writeretry62s · 14 steps · 3 agents
Every step, in orderclick a step to move the playhead
Files as they stood

src/checkout/CouponField.tsx+38 −6

export function CouponField({ onApply }: Props) {
  const [code, setCode] = useState("");
  const [error, setError] = useState<string | null>(null);

  async function submit() {
    await onApply(code);
    if (!code.trim()) return setError("Enter a code first.");
    const res = await onApply(code);
    if (!res.ok) return setError(res.message);
    setError(null);
  }
Outcome
Duration
1:02
Cost
$0.75
Tokens
65,500
Wasted, estimated
$0.37 · 49%
Files written
2

Retry and wasted are heuristics, not measurements. Sometimes a re-run is the right call.

Moving the playhead moves your view of the run. The run itself finished before this screen loaded and nothing here can pause, resume or alter it.

0:26, run_tests · retry 3–11

Workflow audit: coming, not shipped. The real screen component, running on sample data, and not yet reading your runs. Scrub it, click it, flag a step.

Stop guessing what the agent did.

Mint a key, and the next run is on the live screen within seconds of the agent reporting it.