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:- Docker with Compose, Python 3.12 or later and Node.js 24 or later.
ancha execution prepareto install the local runtime. Seeancha execution.- A container agent:
ancha agent add ... --container-image <image>, thenancha agent prepare <id>. Seeancha agent. - A world:
ancha world create --name ... --tools .... Seeancha world.
Without the runtime, it exits
2 with Set up the local execution runtime before starting a playground.
Run tasks
--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
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>.