Skip to main content
Run agent-owned Docker workloads on managed cloud compute (ECS/Fargate). Three types: service (long-running, optional public URL, scale-to-zero), job (run-to-completion), and schedule (cron-for-code). Billed by the second; a stopped service costs ~nothing.

Create & manage

# Long-running service (optionally expose a public URL with --port)
naive compute create --name bot --type service --image ghcr.io/me/bot:latest --port 8080

# One-off job, and a cron-for-code schedule
naive compute create --name ingest --type job --image me/etl:latest --command "python ingest.py"
naive compute create --name nightly --type schedule --image me/etl:latest --schedule "cron(0 9 * * ? *)"

naive compute list
naive compute show <id>
naive compute delete <id>

Lifecycle, runs & logs

naive compute run <id>                 # trigger a job/schedule now
naive compute runs <id>
naive compute logs <id> --limit 200
naive compute start <id>               # wake a scaled-to-zero service
naive compute stop <id>                # scale a service to zero
naive compute scale <id> 3

Secrets

# Encrypted env vars injected into tasks (saving auto-redeploys the workload)
naive compute secret set <id> OPENAI_API_KEY sk-...
naive compute secret list <id>
naive compute secret delete <id> OPENAI_API_KEY

Interactive shell (ECS Exec / SSM)

naive compute exec <id> "ls -la"       # one-off command
naive compute ssh <id>                 # interactive shell
ssh opens an interactive shell into a running container over ECS Exec — no port 22, no SSH keys, no inbound access. It requires the AWS session-manager-plugin installed locally, and the image must contain /bin/sh.

Governance

Creating a workload and exec/ssh are sensitive — depending on the user’s Account Kit they may require human approval (the command returns status: "pending_approval" and runs after naive approvals approve <id>). Pair compute with naive queue for a worker pipeline. Full guide: /docs/getting-started/compute.