Skip to main content
ancha playground runs your agent the way the hosted console does: each attempt gets its own container for the agent and its own copy of the tools on a private network. Tasks are plain-language prompts; attempts with checks are graded.

Before you start

Playground runs need, once per project:
  1. Docker with Compose, Python 3.12 or later and Node.js 24 or later.
  2. ancha execution prepare to install the local runtime. See ancha execution.
  3. A container agent: ancha agent add ... --container-image <image>, then ancha agent prepare <id>. See ancha agent.
  4. A world: ancha world create --name ... --tools .... See ancha world.
Check before spending model tokens:
Without the runtime, it exits 2 with Set up the local execution runtime before starting a playground.

Run tasks

Use --tasks tasks.json for several tasks, or --test <test-id> for a saved test. start stays in the foreground and prints the run ID and the results. Ctrl-C stops the run and keeps what was captured. tasks.json is an array:
tasks.json
A run holds up to 20 tasks. --concurrency allows up to 10 attempts at once; the local runtime admits at most three attempts of a run at a time and may run fewer.

Retrying safely

Give --idempotency-key a value you choose. If a start’s response is lost, repeat the same command with the same key to get the original run instead of starting a second, paid one. Reusing a key with different input is rejected.

Saved tests

A test pins the agent, the world revision, the tasks and the concurrency. Start it with ancha playground start --test <test-id>. Updates create a revision and need the current --revision.

Inspect runs

show groups attempts by task and gives their IDs. attempt prints the agent’s response, its tool activity and the final tool data. compare puts two attempts of the same task side by side.
rerun repeats the original tasks and pinned data with your current agent code.

Compare agents

group.json
A group holds up to 10 entries and 100 attempts. The inspection commands above work on group runs too.

Inside an attempt

The container’s root is read-only. The project is copied into a writable, temporary /workspace. The agent cannot reach host folders, the Docker socket, other attempts or the internet, except the model provider hosts its profile allows. Nothing falls back to running on the host. Event task input, Slack Socket Mode and Google Ads are not supported in playground runs.

Legacy configuration

These keep older agent-keyed tool configurations working. Use worlds for new work.

Exit codes

Run IDs look like play_<uuid> and attempt IDs like attempt_<uuid>.