Skip to content
Free tool · BYO key

Harness Playground

The companion to the Harness Designer: instead of only scoring a harness on paper, you run it. Paste a designer share link (or compose a minimal harness — system prompt, guardrail rules, a couple of tool stubs, recursion and verifier toggles) and execute it as a bounded ReAct loop against your own model API key, entered client-side. The run renders a governance-flavoured step trace — which guardrail fired, which tool stub was called, and the estimated tokens and cost per step — with a clear STOP button and hard caps. Your key never leaves this browser, and nothing is uploaded.

Your key never leaves this browser. It is stored only here (localStorage) and every model request goes directly from your browser to OpenRouter — never through PlayCISO servers, and it is never logged. The shareable link carries the config only, never your key. Tool calls are simulated stubs, and token counts are estimates — this is a playground, not production.

Your key, model & pricing

No key yet — get one at openrouter.ai/keys.

Import a harness

Paste a Harness Designer share link (or a playground link) to run that exact design. Or just edit the harness below.

Compose the harness

Guardrails (regex on each model output)
Tool stubs (simulated — canned responses)

Verifier (critic gate)

Check each candidate answer before accepting.

Recursion (self-refine)

Let a failed verdict bounce the answer back.

Run the harness to see a step-by-step governance trace — which tool was called, which guardrail fired, and the estimated tokens and cost per step.

TL;DR

What this tool is

  • A free, bring-your-own-key playground that RUNS the agent harness you designed in the Harness Designer as a bounded ReAct loop, so you can watch the governance behaviour instead of only scoring it on paper.
  • Paste a Harness Designer share link (or compose a minimal harness here — system prompt, guardrail rules, a couple of tool stubs, and recursion / verifier toggles) and run it against your own model API key, entered client-side.
  • The key never leaves your browser: it is stored only in this browser and every model request goes straight from your browser to OpenRouter, never through PlayCISO servers, and is never logged. The shareable permalink carries the config only — never the key.
  • Each run produces a governance-flavoured step trace: which guardrail fired (flag or hard block), which tool stub was called, and the estimated tokens and running cost per step — with a clear STOP button and hard step and token caps so it cannot run away.
  • It is a playground, not production: tool calls are simulated canned stubs unless you wire a real fetch yourself, and token counts are estimates (characters ÷ 4) because the browser-side helper returns completion text only.

Seeing the harness behave is a different kind of evidence

A scorecard tells you a harness should be safer or cheaper. Running it tells you how it actually behaves on a concrete task: whether the guardrail you wrote truly fires on the output you feared, whether the critic gate catches a confidently-wrong draft, and roughly what the loop costs in tokens before it converges. Because the whole run is bring-your-own-key and client-side, you can rehearse all of that against a real model without standing up any infrastructure — and without sending a single request or key through our servers.

Keep the limits in mind. Tool calls are simulated — the agent sees the canned response you typed, which is exactly what you want when the point is to study the control loop and the guardrails rather than to integrate live systems. Token and cost figures are estimates, useful for comparing one design against another, not for billing. And the step and token caps are deliberate: a self-refining loop with no ceiling is the failure mode, not the feature. When a design earns its keep here, promote it with real tools and real usage accounting in your own stack.

Frequently asked questions

Where does my API key go?

Only into your own browser and then directly to your chosen provider (OpenRouter). The key is stored in this browser (localStorage) via the same bring-your-own-key helper the other PlayCISO in-browser tools use; it is placed in the Authorization header of a request your browser sends straight to openrouter.ai. It never passes through, and is never stored or logged by, PlayCISO servers. The shareable permalink encodes the harness configuration only — it never contains the key.

How does it run the harness?

As a bounded ReAct loop. The composed system prompt, the guardrail policy and the tool catalogue are assembled into a single system message; the model then reasons one step at a time, optionally emitting an Action + Action Input that calls one of your tool stubs, until it produces a Final Answer. If the verifier (critic gate) is on, each candidate answer is checked before it is accepted, and if recursion (self-refine) is on, a rejected answer is sent back for another attempt. Every model output is tested against your guardrails before any action is taken.

Are the tool calls real?

No. Tool calls are simulated: when the agent calls a tool, it receives the canned response you typed for that stub, not the result of a live API call. That keeps the playground safe and free to run, and lets you rehearse how a harness behaves — including how guardrails react to tool output — without wiring real integrations. It is explicitly a playground, not production.

How accurate are the token and cost numbers?

They are honest estimates. The browser-side helper returns only the completion text, not the provider’s usage object, so tokens are estimated at roughly four characters per token and the cost is that estimate multiplied by the per-million-token prices you enter (like the other PlayCISO cost tools). Treat them as a directional read on the relative cost of a harness design, not a billing figure.

What stops it from running away?

A hard step cap (1–12 iterations) and a hard estimated-token budget, both enforced inside the loop and clamped in the UI, plus a STOP button that aborts the in-flight request immediately. The loop also halts the moment a block-level guardrail fires on a model output. If the model never produces a final answer, the step cap ends the run cleanly.

🎉 New here? Use code WELCOME10 for 10% off any plan at checkout
Harness Playground — Run Your Agent Harness (BYO Key) · PlayCISO